Skip to content

Commit bab3348

Browse files
omarshahineclaudekevinslin
authored
RFC: renumber approval prompt markdown to 0002, resolve questions, align frontmatter (#13)
Renumber the Approval Prompt Markdown Contract from 0005 to 0002 per maintainer request, and resolve its three open questions into decisions: - Underline: excluded from the canonical subset (strict cross-channel intersection only); core never emits underline. - Capability: a field (approvalText) on the existing channel approval capability object, declared via the public SDK, defaulting to plaintext. - Exec fence language hints: a small fixed advisory set; channels may honor or safely drop them. Repo cleanup after the needs_refactoring reorg: - Vacate numeric prefixes on all parked RFCs (doctor-health-upgrades, policy-conformance, imessage-channel-configuration-cleanup) so the parked folder is uniformly number-free pending re-proposal. - Align frontmatter to the new RFC lifecycle by adding status/issue keys to the parked RFCs plus 0001-lts-release-policy and 0006-feeds. Co-authored-by: Omar Shahine <[email protected]> Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> Co-authored-by: kevinlin-openai <[email protected]>
1 parent 0e35343 commit bab3348

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)