Skip to content

fix(carrier-binding): preserve root authority across recursive multi-hop delegation (#287) - #288

Merged
James3014 merged 4 commits into
mainfrom
codex/issue-287-multi-hop-delegation
Sep 26, 2026
Merged

James3014 merged 4 commits into
mainfrom
codex/issue-287-multi-hop-delegation

Conversation

@James3014

@James3014 James3014 commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

Related to #287 (NAB-E2). This PR intentionally does not close #287.

This implements the source-side recursive delegation carrier on top of the existing CarrierBinding authority owner. It preserves the invariant Authority(child) ⊆ Authority(parent) ⊆ Authority(root), permits bounded Worker -> Subagent delegation only when the parent carries remaining delegation depth, recursively validates ancestry/revocation/expiry, and binds effect/reconciliation identity to the delegation lineage and root authority.

During independent acceptance review the original candidate's hard-coded depth ceiling of 16 was removed. The implementation now reuses the existing carrier ancestry safety bound: MAX_DELEGATION_LINEAGE=32 and MAX_DELEGATION_DEPTH=31. This is a host safety ceiling, not a newly invented product default. A root without explicit delegation depth remains non-delegable.

The candidate retains the hostile controls for action/scope widening, controller/cutover authority, ancestor revocation/expiry, cross-root/repository/goal stitching, same-operation cross-chain conflict, chain truncation, one-hop compatibility, and no synthetic hops.

Verification on the repaired exact head:

  • TypeScript typecheck passed
  • carrier-binding.test.ts: 46/46 passed
  • carrier-binding-http.test.ts: 3/3 passed
  • chat-swarm-store.test.ts: 15/15 passed after aligning the pre-existing main migration assertion from v21 to current v22
  • git diff --check passed

Claim boundary: these tests prove the source/fixture contract. #287 explicitly requires a controlled physical Dev MCP witness with exact source/build/runtime identity for terminal acceptance. That live Main -> Worker -> Subagent -> consequential-effect canary has not yet been produced, so #287 must remain open after this PR merges.

Antigravity added 2 commits September 26, 2026 16:24
…hop delegation (#287)

- Extend CarrierContract with bounded delegation depth (maxDepth, remainingDepth)
- Allow intermediate worker carriers to delegate to subagents/workers with monotonic narrowing
- Enforce recursive ancestry validation, root-controller requirement, and cross-stitching defense
- Bind effect leases and reconciliation receipts to full delegation lineage and root authority
- Enforce hostile controls including anti-widening, ancestor revocation fencing, and cross-chain conflicts
- Add comprehensive test suite covering all 12 Mandatory Hostile Controls
@James3014
James3014 force-pushed the codex/issue-287-multi-hop-delegation branch from ce7d2d7 to c9ce38b Compare September 26, 2026 08:30
@James3014
James3014 merged commit be1d7a0 into main Sep 26, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P1 Security: preserve root authority across recursive multi-hop delegation to physical effects

1 participant