backlog(B-0788): agent-on-agent Claude Code session recovery — lift operator-runs gate once safety substrate stronger than classifier#5070
Merged
AceHack merged 3 commits intoMay 26, 2026
Conversation
…perator-runs gate once lift criteria met Files the eventual-state design for cross-agent session recovery without a human in the loop, deferred under the three lift criteria from `.claude/rules/classifier-bypass-research-do-not-deploy-without-zeta-safer-floor.md`. Aaron 2026-05-26 explicitly authorized: *"this is something we can allow other agents to run on each other even tually so we need no human operator"* + agreed with the composed eventual shape (settings acceptance block + cross-agent bus envelope + audit log). Three components captured in the row: - settings.json _session_recovery_acceptance block (four-field attribution per human-audit-and-legal-risk-acceptance-pattern) - session-recovery-request bus envelope topic for inter-Otto coordination - recovery audit log (DV2.0 hub-satellite shape) so the substrate is empirically observable Why P3: all three lift criteria (Zeta safety stronger than the classifier on .jsonl edits; Knights Guild ratification per B-0628; maintainer-collective re-authorization) need to firm up first. Row exists to track the design; do not action prematurely — risks listed in the body. Composes with B-0628 (Knights Guild), B-0664 (NCI), classifier-bypass-research rule, human-audit-attribution pattern, peer-call-infrastructure, DV2.0 discipline. Empirical anchor: PR #5069 (the operator-runs interim that ships first, merged 2026-05-26T02:36Z). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Adds a new P3 backlog row (B-0788) documenting the deferred eventual-state design for agent-on-agent Claude Code session recovery (lifting the operator-runs gate only after explicit safety-substrate lift criteria are met), and refreshes the generated backlog index accordingly.
Changes:
- Added
docs/backlog/P3/B-0788-…capturing lift criteria + 3-component eventual design (settings acceptance, bus envelope, audit log). - Regenerated
docs/BACKLOG.mdto include the new row (and any newly discovered P3 rows in that range).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/backlog/P3/B-0788-agent-on-agent-claude-code-session-recovery-lift-operator-runs-gate-once-zeta-safety-substrate-stronger-than-classifier-2026-05-25.md | New P3 backlog row documenting deferred design + lift criteria for agent-on-agent session recovery. |
| docs/BACKLOG.md | Updated generated index to include B-0788 (and surrounding P3 rows). |
…t marker Line 92 had `+ the bus envelope mechanism` as text continuation; the leading `+` is a valid markdown list marker, so markdownlint required a blank line before it. Changed to `and the bus envelope mechanism` (text-continuation, no list-marker ambiguity). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…pen vs deferred-action prose Two Copilot findings on PR #5070: - Missing `last_updated` field — `tools/backlog/README.md` documents it as required, matches `created` on a new row. - Prose said "this row stays in P3 deferred state" while frontmatter is `status: open`. The status value is intentional (P3 rows pre-pickup are uniformly `status: open` on origin/main); reworded prose to clarify "remains status: open in P3 with action deferred against the lift criteria" — distinguishes the row's tracking status (open) from the implementation-action posture (deferred). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment on lines
+7
to
+9
| created: 2026-05-25 | ||
| last_updated: 2026-05-25 | ||
| authors: [aaron, otto-cli] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Files B-0788 — the P3 deferred row capturing the eventual-state
design for cross-agent Claude Code session recovery without a
human in the loop. Composes with PR #5069 (which shipped the
operator-runs interim).
Aaron 2026-05-26 explicit authorization: "this is something we
can allow other agents to run on each other even tually so we
need no human operator" + agreed with the composed design.
Why deferred
All three lift criteria from
.claude/rules/classifier-bypass-research-do-not-deploy-without-zeta-safer-floor.mdmust hold first:.jsonledits stronger than the Anthropic classifierNone are met today; row tracks the design so it's not lost.
Eventual shape (3 components)
_session_recovery_acceptanceblock (four-field attribution perhuman-audit-and-legal-risk-acceptance-pattern-in-settings.md)session-recovery-requestbus envelope topic for inter-Otto coordinationrecovery-eventhub +recovery-strip-detailsatellite)Full design in the row body.
Test plan
bun tools/backlog/generate-index.tscomposes_withpopulated with B-0628 + B-0664;depends_onleft empty (no specific row to point at for "stronger than classifier" criterion yet)🤖 Generated with Claude Code