Skip to content

Commit fe4e655

Browse files
authored
Merge fa7e6b8 into 0e35343
2 parents 0e35343 + fa7e6b8 commit fe4e655

4 files changed

Lines changed: 35 additions & 10 deletions

File tree

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ title: Approval Prompt Markdown Contract
33
authors:
44
- omarshahine
55
created: 2026-05-30
6-
last_updated: 2026-05-30
6+
last_updated: 2026-06-11
7+
status: accepted
8+
issue:
79
rfc_pr: https://github.com/openclaw/rfcs/pull/4
810
---
911

@@ -105,6 +107,11 @@ Underline is excluded from the core subset because most channels cannot express
105107
it. iMessage may still map a channel-local marker if it wants, but core does
106108
not emit one.
107109

110+
Fenced code block language hints are part of the contract but advisory. Core
111+
emits a small fixed set (`sh` for a pending command, none or `txt` for a plain
112+
block). A channel may honor a hint for native syntax highlighting and must drop
113+
an unsupported hint safely, without altering the fenced content.
114+
108115
### Plugin SDK ownership
109116

110117
The plugin SDK owns:
@@ -117,7 +124,11 @@ The plugin SDK owns:
117124

118125
### Channel capability
119126

120-
Channels gain an explicit capability on their approval handler:
127+
Channels gain an explicit capability on their approval handler. It is a field,
128+
`approvalText`, on the existing channel approval capability object, declared
129+
through the public plugin SDK. It is not a separate standalone capability or a
130+
parallel registration path, which keeps the approval capability surface
131+
cohesive. The field defaults to `"plaintext"`.
121132

122133
- `approvalText: "markdown"` means the channel translates the canonical subset
123134
into its native styling. The channel owns the translation and any escaping.
@@ -192,11 +203,19 @@ emits incidentally rather than introducing a brand new format.
192203

193204
## Unresolved questions
194205

195-
- Should the canonical subset include underline given only iMessage can express
196-
it, or stay at the strict cross-channel intersection and let iMessage add a
197-
local marker out of band.
198-
- Whether the capability lives on the existing channel approval capability
199-
object or as a small standalone field, and how a plugin author declares it
200-
through the public SDK.
201-
- Whether the exec fence language hints (`sh`, `txt`) should be normalized as
202-
part of the contract or left to each channel to honor or drop.
206+
The questions raised during initial review are resolved as follows, and the
207+
decisions are reflected in the Proposal above. No open questions remain.
208+
209+
- **Underline in the canonical subset.** Resolved: no. The canonical subset
210+
stays at the strict cross-channel intersection, and core never emits
211+
underline. iMessage may map a channel-local marker out of band, but it is not
212+
part of the contract.
213+
- **Where the capability lives and how it is declared.** Resolved: it is a
214+
field, `approvalText`, on the existing channel approval capability object,
215+
declared through the public plugin SDK and defaulting to `"plaintext"`. There
216+
is no separate standalone capability or parallel registration path.
217+
- **Exec fence language hints.** Resolved: the contract defines a small fixed
218+
set of hints (`sh` for a pending command, none or `txt` for a plain block)
219+
and treats them as advisory. A channel may honor a hint for native syntax
220+
highlighting and must drop an unsupported hint safely, without altering the
221+
fenced content.

rfcs/needs_refactoring/0002-doctor-health-upgrades.md renamed to rfcs/needs_refactoring/doctor-health-upgrades.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ authors:
44
- giodl73-repo
55
created: 2026-05-27
66
last_updated: 2026-05-28
7+
status: accepted
8+
issue:
79
rfc_pr: https://github.com/openclaw/rfcs/pull/1
810
---
911

rfcs/needs_refactoring/0004-imessage-channel-configuration-cleanup.md renamed to rfcs/needs_refactoring/imessage-channel-configuration-cleanup.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ authors:
44
- omarshahine
55
created: 2026-05-27
66
last_updated: 2026-05-29
7+
status: accepted
8+
issue:
79
rfc_pr: https://github.com/openclaw/rfcs/pull/3
810
---
911

rfcs/needs_refactoring/0003-policy-conformance.md renamed to rfcs/needs_refactoring/policy-conformance.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ authors:
44
- giodl73-repo
55
created: 2026-05-27
66
last_updated: 2026-06-15
7+
status: accepted
8+
issue:
79
rfc_pr: https://github.com/openclaw/rfcs/pull/6
810
---
911

0 commit comments

Comments
 (0)