Skip to content

test: a split-home deferral amendment is authorised by the node's owner - #825

Open
emooreatx wants to merge 1 commit into
mainfrom
test/deferral-split-home
Open

emooreatx wants to merge 1 commit into
mainfrom
test/deferral-split-home

Conversation

@emooreatx

Copy link
Copy Markdown
Contributor

Why

Every home claimed on 0.5.189 or later is a split home:

  • the engine signs as the agent key;
  • the owner-binding names a separate node key;
  • the agent is tied to the human only as an occurrence (self:delegates_to:agent_occurrence:v1, from the login ceremony).

I confirmed this shape against the production canonical's rows for a 0.5.237 gate node.

tests/agent_deferral.rs only built unsplit homes, where the engine key is the node key. So persist v60.1's new identity_amendment:v1 gate (#1120) could not be checked against the shape Server writes. That gate would have refused this shape until persist relaxed it (PR #1135, witness I1368).

What

The new test, a_split_home_amendment_is_authorised_by_the_nodes_owner, builds that home and runs the full deferral → approval → amendment chain:

  • engine on the agent key;
  • owner → node binding;
  • self_at_login anchoring the agent as the owner's occurrence.

It asserts the preconditions (owner_of(agent) = None, owner_of(node) = owner) and that the agent key signs the amendment.

It passes on persist v59, which has no gate. It runs first when we adopt persist 60.1.

The PR changes tests only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QriZxPx5aJvHXCGaTZmvKF

Every home claimed on 0.5.189 or later signs as the AGENT key, binds its owner
to a separate NODE key, and ties the agent to the human only as an occurrence
(`self:delegates_to:agent_occurrence:v1`). tests/agent_deferral.rs covered only
the unsplit home (engine key = node key), so persist's #1120 identity_amendment
gate could not be checked against the shape Server actually writes. This adds
it. Green on persist v59 (no gate); the first test to run at the persist 60.1
adoption, whose gate admits the shape via the occurrence anchor (CIRISPersist
PR #1135, witness I1368).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QriZxPx5aJvHXCGaTZmvKF
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-27T10:12:53.840082Z
We couldn’t complete this review. Comment @codex review to try again.
0a25b21 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

This branch has not been deployed

No deployments
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.

1 participant