RFC 0008: normalized provider→channel stream grammar#16
Conversation
Emit always, archive always, gate only at presentation. Digests the companion spec (openclaw-provider-stream-spec) and references the stacked reference-impl PRs. Extends the agent event I/O contract (#92216) with four [AMENDS BASE] points. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Codex review: needs real behavior proof before merge. Reviewed June 20, 2026, 5:54 AM ET / 09:54 UTC. Summary Reproducibility: not applicable. This PR proposes a new RFC contract rather than reporting a reproducible current-main bug. Source and GitHub review confirm the remaining blockers are process, numbering, ownership, and product/security decisions. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Renumber this RFC to an unused id with a matching sidecar folder, keep it draft until maintainer acceptance, and pin or vendor the normative stream spec and evidence before merge. Do we have a high-confidence way to reproduce the issue? Not applicable; this PR proposes a new RFC contract rather than reporting a reproducible current-main bug. Source and GitHub review confirm the remaining blockers are process, numbering, ownership, and product/security decisions. Is this the best way to solve the issue? No; the current draft is a useful direction but not the best merge shape until it uses an unused RFC id, pins or vendors the normative spec, and gets maintainer acceptance for the reasoning privacy boundary. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 0e353436f90b. Label changesLabel changes:
Label justifications:
Evidence reviewedSecurity concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Add the agent event I/O contract that RFC 0008's [AMENDS BASE] points extend, as the in-tree sidecar rfcs/0008/agent-event-io-contract.md, and repoint the RFC's base-contract reference from the dead docs/channels/agent-event-io-contract.md path to it. The contract was extracted from openclaw/openclaw #92216; the upstream maintainer asked that it be split out of that behavior PR so it could be owned and edited separately from runtime code. This RFC sidecar is that separately-ownable home, and gives the four [AMENDS BASE] points a real, pinned target instead of a path that 404s on openclaw main. Resolves the two base-contract review findings (wrong/missing base path; normative contract living in a mutable external repo) for the base half.
|
The base contract now has a home in the RFC tree ( I collaborated with @Marvinthebored on the preamble/commentary normalization work behind this RFC, and we agreed the base contract it amends should live alongside the RFC so it can be owned and developed here instead of referenced from elsewhere. That base contract is The PR into this RFC's branch is Marvinthebored#1 (clean, mergeable). It does two things:
This targets the two P2 findings directly:
Two items I deliberately left to @Marvinthebored rather than guess: folding the four |
rfc(0008): vendor agent event I/O contract as pinned base
…act; sync harness count Addresses ragesaq's two follow-ups on #1 and clawsweeper's P3: - Fold §3.2 (thinking emission unconditional, never dropped), §3.3 (item start at earliest id+name), §5.1 (thinking mirrored on its own stream, not as commentary), §7.3 (stable/composite idempotency ids, no synthesized counters) into rfcs/0008/agent-event-io-contract.md, each marked inline "[RFC 0008 amendment]" so the as-split #92216 baseline stays distinguishable. - Repoint the RFC Unresolved note: amendments folded (no longer pending). - Sync harness count 35 -> 37 tests / 28 goldens to match companion STATUS.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Summary
RFC 0008 — Normalized provider→channel stream grammar. Every provider wire format is normalized by core into one event grammar (text, thinking, narration, tools, lifecycle), archived regardless of display, and projected per channel: emit always, archive always, gate only at presentation.
This RFC is the design narrative. The full normative spec, per-family wire-capture evidence, a 35-test conformance harness, and two red-team passes live in the companion repo: https://github.com/Marvinthebored/openclaw-provider-stream-spec
Extends the agent event I/O contract (
docs/channels/agent-event-io-contract.md, #92216); four points are marked [AMENDS BASE] and need to land in that doc too.Reference implementation (stacked draft PRs)
Status
status: draftper process — kept unmerged while draft. Opening a thread inmaintainer-discussionnext. Feedback on the [AMENDS BASE] coordination with #92216 and the channel-tier minimums (Unresolved questions) especially welcome.🤖 Generated with Claude Code