AgentXchain v2.155.22
v2.155.22 is a patch over v2.155.21 fixing BUG-75: stale idle-expansion
runs created before BUG-74 (v2.155.21) do not recover after upgrading. These
runs lack charter_materialization_pending in state, so the PM prompt never
receives the materialization directive, makes zero edits, and the semantic
coverage gate fails in a loop.
Bug Fixes
- BUG-75 stale idle-expansion recovery after upgrade:
loadProjectState()now detects active planning runs sourced frompm_idle_expansion_derivedintake that are missingcharter_materialization_pending. It tracesprovenance.intake_intent_idback to the intake event, confirms the category, and reconstructs the flag so the PM prompt receives the "You MUST create or update these planning artifacts" directive. Centralized inloadProjectStateso every lifecycle command (step,resume,reissue-turn) gets the same repair without per-command recovery code. - Recovery event: a
charter_materialization_requiredevent withsource: "stale_run_recovery"andrecovered_missing_flag: trueis emitted so event consumers can distinguish upgrade-time recovery from new-run or within-cycle materialization.
Evidence
- node --test --test-timeout=60000 cli/test/bug-75-stale-idle-expansion-run-recovery.test.js -> 6 tests / 1 suite / 0 failures / 0 skipped
- node --test --test-timeout=60000 cli/test/bug-74-new-run-charter-materialization.test.js cli/test/bug-70-charter-materialization.test.js -> 17 tests / 2 suites / 0 failures / 0 skipped (regression)
Tester Re-Run Contract
Run the shipped package:
For dogfood verification, resume DOGFOOD-EXTENDED-10-CYCLES cycle 03 using
[email protected] on the tusq.dev dogfood branch:
Closure requires the stale run to auto-recover charter_materialization_pending
on state load, emit charter_materialization_required with
source: "stale_run_recovery", and produce a PM prompt containing "Charter
Materialization Required" — without looping on gate_semantic_coverage.
For downstream closure proof, quote any startup_latency_ms,
elapsed_since_spawn_ms, and runtimes.<id>.startup_watchdog_ms evidence
relevant to adapter-path reliability while confirming the downstream flow still
uses the real runtime path. If a standing phase gate advances before dispatch,
quote phase_entered with reconciled_before_dispatch; if continuous mode
chains into another run, quote the session_continuation event.
For BUG-55 regression proof, continue using accept-turn followed by checkpoint-turn
and quote verification.produced_files,
undeclared_verification_outputs, and git status --short.
Clean tree means BUG-55 is fixed for your reproduction.