Protocol contribution RFCs
This directory collects RFC-shaped documents that Burin Labs intends to
contribute to upstream agent-protocol working groups. Each RFC describes
a primitive that Harn already ships under a protocol's _meta
extensibility slot, so the upstream proposal can reference a running
reference implementation instead of starting from a design sketch.
Filing pattern#
The Harn convention for cross-protocol primitives is:
- Ship the reference implementation first under the protocol's
designated extensibility slot (
_metafor ACP / MCP, the JSON-RPC envelope'smetadatafor A2A). This proves the shape end-to-end without disturbing upstream consumers. - Author an RFC document in this directory. Each RFC is written as a neutral standards-grade proposal: problem statement, wire-format schema, compatibility story, reference-impl status, and open questions for maintainers. The wire-format snippet matches the upstream repo's preferred dialect (TypeScript for ACP, JSON Schema for MCP, A2A JSON-RPC envelope for A2A).
- Open an upstream discussion when the RFC is ready. Treat the RFC doc as source material, then do a public-filing pass before posting: lead with neutral protocol semantics, deployed peer behavior, and public prior art rather than Harn or Burin-specific adoption claims. Keep the scope fixed inside the filed thread so maintainers can triage one proposal at a time.
- Track outcomes here. When a proposal lands upstream, update the
RFC's "Status" header and migrate the Harn
_metaenvelope to the standardized field locations in a follow-up PR. When a proposal is declined, record the decision in the RFC and keep the_metashape stable for downstream consumers.
Current RFCs#
Every status below was verified against the upstream thread on 2026-08-22. The filing status ledger carries the per-thread reading notes behind them.
Across every open filing the pattern is the same: independent implementers engage, and no maintainer has issued a verdict either way. Nothing has been rejected. One proposal died for a different reason — see sampling budget caps.
Ambient reminder injection (#1829)#
| RFC | Thread | Status | Reference impl |
|---|---|---|---|
ACP session/inject_reminder | ACP #1224 | Open. Maintainer soft-parked it behind v2 draft triage on 2026-07-06 and asked for time. | session/remind JSON-RPC method plus _meta.harn.reminder on transcript events |
A2A InjectTaskReminder | A2A #2027 | Open, cold. Filed 2026-07-03, still no comments. | metadata.harn.reminder on outbound A2A task events |
MCP notifications/reminder | MCP #3007 | Open, no comments. At risk: SEP-2577 deprecated the adjacent Logging surface. | _meta.harn.reminder on MCP server-emitted notifications |
Suspend, resume, and paused state (#1848)#
| RFC | Thread | Status | Reference impl |
|---|---|---|---|
ACP session/suspend | ACP #1233 | Open, no maintainer reply. A peer implementer asked for an acknowledged request with a requested → quiescing → suspended state machine; we adopted that shape on 2026-07-25. | __host_worker_suspend builtin plus _meta.harn.suspend on session updates. Companion to the shipped session/resume (ACP #1726). |
A2A TASK_STATE_PAUSED | A2A #1858 | Open, no maintainer or TSC reply. Community converged on one PAUSED state plus structured pause metadata; the open question is whether that warrants a draft PR. | metadata.harn.pause on task status events |
Agent identity and provenance (#3330)#
| RFC | Thread | Status | Reference impl |
|---|---|---|---|
| A2A actor-chain extension | A2A #2028 | Open and the most active filing we have, at 24 comments. The thread separated well-formedness from proven authority, then established that per-hop scopes are derived from a validated credential rather than authorization-bearing. Two participants agree on a shared vector set, but no maintainer has ever replied — see the ledger caveat. | ActorChain under metadata.actor_chain in the harn-serve A2A adapter |
MCP authenticatedIdentity | MCP #3008 | Open. One implementer confirmed the gap on 2026-07-12; no maintainer reply. Needs a sponsor, because SEP progression is sponsor-gated. | Host-side "connected as" registry, tracked under harn#3331 |
| MCP/OAuth actor-token positioning | oauth-wg #73 | Open, and the ball is with us. A draft author pointed the actor-chain conversation at draft-mcguinness-oauth-actor-profile on 2026-07-25; that has not been answered. | ActorChain (RFC 8693 act shape) in harn-vm |
By protocol#
The same documents, grouped by the protocol they target:
| Protocol | Documents |
|---|---|
| ACP | session/inject_reminder · session/suspend · typed host-event injection (shipped extension, not filed upstream) |
| A2A | InjectTaskReminder · TASK_STATE_PAUSED · actor-chain extension |
| MCP | notifications/reminder · authenticatedIdentity · sampling budget caps (closed — SEP-2577 deprecated the surface it extended) |
| OAuth | actor-token positioning (implementer feedback, no new proposal) |
Scope#
Authoring RFC documents in this repository is in scope for these PRs. Filing upstream discussions, issues, or PRs is the maintainer's explicit action - not a step any Harn contributor should take without the project owner asking for it. See #1829 for the upstream work that remains open.
Related#
- Harn ACP/MCP extensions v1 - the
authoritative list of Harn-owned
_metafields that ride alongside upstream protocol payloads today. - System reminders - the language-level reminder primitive the reminder-injection RFCs are proposing to standardize.
- Transcript architecture - the underlying transcript event model that produces and consumes reminders.
suspend_agent/resume_agentbuiltins - the language-level cooperative suspend primitive the suspend/resume RFCs are proposing to standardize.- Filing status ledger - direct links and verification notes for the current upstream discussions, PRs, and issues.