Skip to content

fix: expose exact lifecycle tool contracts - #130

Merged
veil-chow-fyaic merged 1 commit into
mainfrom
fix/m52-phase-tool-contracts
Sep 1, 2026
Merged

veil-chow-fyaic merged 1 commit into
mainfrom
fix/m52-phase-tool-contracts

Conversation

@veil-chow-fyaic

Copy link
Copy Markdown
Contributor

Observed blocker

Fresh real Codex attempt 4 on main@e052299 completed five role bootstraps and registered the sole kickoff turn, then failed threadmesh_lifecycle_publication_action_mismatch before the first event-pump dispatch. The live model selected the kickoff tool without being given the exact coordinator-bound lifecycle arguments required by the existing fail-closed publication contract. Normal cleanup passed 5/5.

Bounded correction

  • expose already-authorized lifecycle arguments through phase-specific dynamic-tool JSON Schemas;
  • keep exact action/event/material binding unchanged;
  • keep receiver decision choices constrained to the exact message;
  • let verifier copy the current evidence revision/head from the preceding read-tool result rather than embedding dynamic state at bootstrap;
  • retain the attempt in the canonical audit and status docs.

Evidence

  • npm test: 379/379 tests, schemas/transitions/docs clean;
  • focused exact-schema regression confirms kickoff/review fixed arguments and verifier dynamic head contract;
  • deterministic full event-pump gate remains green.

Boundary

This does not add a protocol field, relax lifecycle authority, script a phase prompt, add an adapter, or claim a live chain pass. A fresh real run is still required.

@veil-chow-fyaic
veil-chow-fyaic merged commit cbdccfb into main Sep 1, 2026
2 checks passed
@veil-chow-fyaic
veil-chow-fyaic deleted the fix/m52-phase-tool-contracts branch September 1, 2026 04:16
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