Skip to content

S8b Rust port: sessions II — grants, last_reply, bind_work tests + parity grant steps (WI-1074) - #1083

Merged
thedancingdeveloper merged 4 commits into
rust-corefrom
wi-1074-s8b-sessions-ii-core
Oct 17, 2026
Merged

thedancingdeveloper merged 4 commits into
rust-corefrom
wi-1074-s8b-sessions-ii-core

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Contributor

WI-1074 (S8b). Reviewed at 49971bb: no blockers.

  • 10 grant tests in grants.rs against a stand-in engine (refusal stays pending, overseer-only asks, agent cannot self-nominate, rollback/race on approval, TTL expiry, revoke, audit, inbox); cfg(test) record seam only
  • 2 last-reply list tests in session_reads.rs; 7 bind_work session-side tests in session_work.rs
  • parity.py: loopback stand-in engine for "engine": true steps and {seen:<op>#<key>} references; grant_request → decide → revoke now runs on a real grant (grt_0001)
  • health.rs test no longer leaks VOGT_TEST_IDS=sequential process-wide

Golden 21c95f6 is deliberately not re-recorded; it needs one serialized re-record before parity.py check covers the new steps.

Gates (reviewer, at 49971bb): cargo fmt --check, clippy -D warnings clean; cargo test -p vogt-core 903+4+3 passed; parity record --impl rust --only session. 29 steps all match expected exits.

🤖 Generated with Claude Code

sprooty and others added 4 commits October 17, 2026 08:56
Adds engine-down parity steps for the session grant, history, bind_work,
last_reply, search_output, blocked report, changes, wait_any, commit_for,
economics and digest operations, and for agent_activity search and
summary. The golden is not re-recorded here: the 21c95f6 golden needs one
serialized re-record before `parity.py check` passes on these steps.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Signed-off-by: sprooty <sprooty@sprooty.com>
…I-1074)

WIP checkpoint. Adds the missing grant invariant tests against a stand-in
engine (refusal stays pending, overseer-only asks, requester is the
principal, self-nomination refused, rollback and race on approval, the one
named credential, TTL expiry, revoke, audit by name, inbox entry), a
cfg(test) record seam in grants.rs, list-level last-reply excerpt and
running-model tests, and the session side of bind_work (rebind/unbind,
declared branch, child and self binds, refusals, engine label refused,
unlinked binding). Parity step item (real grant for decide/revoke) is not
done yet. Golden not re-recorded.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Signed-off-by: sprooty <sprooty@sprooty.com>
…-1074)

The grant decide and revoke steps used a made-up id, so they failed as
not_found before the person gate ran. parity.py now serves a loopback
stand-in engine for steps marked "engine": true, and a param can name an
earlier step's answer with {seen:<op>#<dotted.key>}. The grant request
creates a real grant for a live worker, then the person decides and the
person revokes it. The CLI harness runs as the local person, so the
agent side of WI-983 is still covered only by the Rust unit tests. The
21c95f6 golden is not re-recorded.

Also: health.rs no longer sets VOGT_TEST_IDS process-wide, which made every
later context in the test process use sequential ids and collide when a
second context opened the same store.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Signed-off-by: sprooty <sprooty@sprooty.com>
…session steps (WI-1074)

mcp.json is left as recorded on rust-core: the MCP runner does not resolve
the ${seen} references the new grant steps use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: sprooty <sprooty@sprooty.com>
@thedancingdeveloper
thedancingdeveloper force-pushed the wi-1074-s8b-sessions-ii-core branch from 49971bb to 1286273 Compare October 17, 2026 09:10
@thedancingdeveloper
thedancingdeveloper merged commit ad9740e into rust-core Oct 17, 2026
2 of 7 checks passed
@thedancingdeveloper
thedancingdeveloper deleted the wi-1074-s8b-sessions-ii-core branch October 17, 2026 09:15
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