Repository navigation
docs: bridge and chat records: keep the contracts, merge Hermes' Relay - #840
Conversation
bridge.md keeps what the bridge promises: which runtime runs an agent, the routes it calls, what an image sets, what it never does twice, restarts, a card outliving its turn, the activity socket's frames (a call's intent, its end, children's work), hand-offs and asks answered back, commands, SimpleX's contract, and Hermes' Relay frames, now written once here. hermes-relay.md goes; its settings are hermes-boot's own (`managed_config`, `gateway_env`). The mechanics engine.rs, relay/mod.rs, cards.rs, note.rs, simplex/ and hermes-boot already say are cut. chat-records.md keeps each channel's record shapes and their meaning: asks, history, observed steps, a call's intent (`turn.call`) and late card closures among them. "The page" is cut to what the page relies on beyond the shapes; the shell's frame messages are docs/api.md's. The listed fields are corrected to the template's (`asks`, `outcome`). References to deleted sections point at what survives, or at the code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexlwn123
left a comment
There was a problem hiding this comment.
Pass at 7fa67aaf63c7d8bbc6f07a73c332005371cfa362.
This consolidates the bridge, chat-record and Hermes Relay contracts while removing implementation narration. The retained claim/restart, late-card-answer and wire-record contracts agree with the surrounding implementation; the corrected listed fields match the chat template and shell. Source edits are comments only, and no references to the deleted Hermes Relay document remain. The reduction is appropriate to the stated purpose; I found no blocking regression.
Validation: git diff --check passed; CI check and e2e jobs passed. Images check and real-Hermes Docker checks are still pending. Runtime tests were not rerun locally for this documentation/comment-only change. The external engineering-style file named by AGENTS.md was unavailable at its prescribed path.
Fold #829 and #830 into the cut: "Stable and canary" is "Preview and production" (one image name, `hermes`; the upgrade check names production's digest beside it), and Durability carries #830's cut turn continued once. durable-computers.md stays deleted. The edits to api.md, bridge.md, chat-records.md and cloudflare-v1.md go back to master's: #825, #838 and #840 rewrite those files and resolve their references. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Folds #830's contract (a cut turn continued once) into the cut's terse form: bridge.md "A cut turn is continued once", chat-records' turn continuation. Takes master's cloudflare-v1.md, computers.md and MODEL.md: #838 and #839 rewrite them and resolve their references. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexlwn123
left a comment
There was a problem hiding this comment.
Pass at 79d811ad74d124fba6395e027af66db5be066034.
The prior head passed with no blockers. This rereview checks the merge's changes to the previously accepted documentation consolidation: the cut-turn continuation contract matches posted, continue_turn, the continuation ID and start notice, and the durability contract. Relative to the merged base, source changes remain comments only. The documentation reduction remains appropriate; no blocking regression found.
Non-blocking: the merge restored stale references in docs/cloudflare-v1.md:679 and docs/computers.md:1874 to the deleted docs/hermes-relay.md, and in docs/cloudflare-v1.md:854 and docs/computers.md:828 to the removed “A card keeps its computer awake” section. Repoint these to the surviving Relay/settings source and “A card outlives its turn.”
Validation: git diff --check HEAD^2 HEAD passed. CI e2e gate passed (its build/shards were skipped); check, images check and real-Hermes Docker are pending. Runtime tests were not rerun locally for this documentation/comment-only delta. The external engineering-style file remains unavailable at its prescribed path.
Folds #812's Claude runtime into the cut as "The Claude runtime", the section bridge/src/main.rs and runtime/claude.rs cite, and its BRIDGE_CLAUDE_* settings; and #844's history record (the messages after its summary). #839's pointer fixes fall away: the cut cites no durable-computers.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexlwn123
left a comment
There was a problem hiding this comment.
Pass at 88854f8e910a806a5abe8a811d713a32a8d63a6d.
The prior head passed with no blockers. Its non-blocking stale references are now resolved. This rereview checks the newly merged Claude runtime and session-history contracts: the condensed text agrees with the runtime's session, environment, card and interrupt handling, and with historyOf's summary/message selection. Relative to the merged base, executable behavior is unchanged; source edits remain comments only. The documentation reduction remains appropriate, with no blocking regression found.
Validation: git diff --check HEAD^2 HEAD passed. CI e2e gate passed (build/shards skipped); check, images check and real-Hermes Docker are pending. Runtime tests were not rerun locally for this documentation/comment-only delta. The external engineering-style file remains unavailable at its prescribed path.
The bridge's and the chat records' docs restated the code: tables of runtime commands and events, every bound, test lists, history. This keeps what other parties depend on and the code doesn't say, and deletes the rest.
docs/hermes-relay.mdmerges into bridge.md as "Hermes' Relay" and is deleted.Kept (docs/bridge.md):
called), its end (Hard-cut Hermes tool steps to supported observations #664), children's work;Kept (docs/chat-records.md):
chat,workandtasksand what it means: relayed messages through any door (Honor an owner's relayed message through any door, with no SimpleX core #803, A connector its owner alone edits, bound by them as their agent's door #804), asks and answers, history (the session archive), observed steps, a call's intent (turn.call, Durability phase 4: record each tool call's intent before it runs #823), and late card closures;Removed: narration of mechanics that
engine.rs,relay/,cards.rs,note.rs,simplex/and hermes-boot already state; "Proven in …" test lists; dated history; the page's UI behaviour (templates/chat/siteis its source); Hermes' settings (hermes-boot'smanaged_configandgateway_envare the source).Corrected to the code: the chat's listed fields are
asksandoutcome(templates/chat/fragment.json), as the shell reads them (cell/shell/chat-list.js). The "A card keeps its computer awake" references (a dead link on master) now point at "A card outlives its turn".References:
images/bridgeandimages/hermescomments are repointed, or a dead pointer is dropped. One-line edits elsewhere:AGENTS.md: the hermes-relay bullet goes.docs/cloudflare-v1.md(two),docs/computers.md(three) anddocs/MODEL.md(one).templates/chat/README.md: one clause.A trial merge of this PR with the other open docs PRs (#825, #838, #839) leaves no unresolved section references and no mention of a deleted doc.
cargo xtask checkpasses; images' clippy and tests pass.Decision for Paul:
images/bridge/src/simplex/door.rssays the agent's tools run as root. They run ashermes, with passwordless sudo (images/hermes/boot/src/main.rs,images/hermes/Dockerfile), assimplex/run.rsand the debt ledger's SimpleX entry say. Correct the comment to "a process as root (the bridge's user, and the agent's through its passwordless sudo) can read the key's file", or leave it to the ledger entry?🤖 Generated with Claude Code