AgentXchain v2.154.7
v2.154.7 is the BUG-52 third-variant discriminator repair release. It ships
the realistic PM needs_human handoff fix that v2.154.5 missed, while
preserving verification-gated QA safety for synthetic standing-gate recovery.
Bug Fixes
-
BUG-52 realistic human-signoff handoff:
agentxchain unblock <hesc>now advances a standing pending human-approval gate even when the accepted PM turn usedstatus: "needs_human", leftphase_transition_request: null, and setproposed_next_role: "human". The discriminator requires that the accepted turn contributed at least one of the gate's required files and that all required files exist on disk. -
BUG-52 verification-gated synthetic source safety: synthetic standing-gate transition sources no longer fabricate verification for gates that declare
requires_verification_pass: true. If the latest blocked turn did not pass verification,unblockresumes in the current phase instead of advancing. -
BUG-52 spec and decision alignment:
.planning/BUG_52_RECONCILE_SOURCE_RESOLUTION_SPEC.mdand.planning/DECISIONS.mdnow record the artifact-contribution discriminator and the verification-preserving synthetic-source guard.
Operator Notes
For BUG-52 closure, run the tester chain against this shipped package, not
v2.154.5. The target shape is a PM needs_human turn with no
phase_transition_request, proposed_next_role: "human", accepted and
checkpointed with planning gate artifacts present, followed by
agentxchain unblock <hesc>.
Decisions
DEC-BUG52-UNBLOCK-GATE-ARTIFACT-CONTRIBUTION-DISCRIMINATOR-001DEC-BUG52-STANDING-GATE-SYNTHETIC-SOURCE-HONORS-VERIFICATION-001
Evidence
- node --test --test-timeout=60000 test/beta-tester-scenarios/bug-52-gate-unblock-phase-advance.test.js -> 12 tests / 1 suite / 0 failures / 0 skipped
- node --test --test-timeout=60000 test/human-escalation.test.js test/run-schedule-e2e.test.js test/beta-tester-scenarios/bug-52-gate-unblock-phase-advance.test.js -> 26 tests / 3 suites / 0 failures / 0 skipped
Tester Re-Run Contract
Run the shipped package:
For BUG-52 closure, quote all of the following from a shipped-package run:
agentxchain statusreportsPhase: implementationafterunblockagentxchain gate show planning_signoffreportsStatus: passedphase_enteredis present afterunblock(standing-gate paths may reporttrigger: "reconciled_before_dispatch"ortrigger: "auto_approved", depending on policy)- the next active turn is assigned to
dev - no duplicate PM redispatch occurs
- no ghost recovery is required for the phase advance
BUG-52 remains open until that shipped-package quote-back lands. BUG-61, BUG-62, BUG-54, BUG-59, and BUG-53 remain open under their existing shipped package closure contracts.
For still-open BUG-62 closure, reproduce the tester drift scenario: make a safe
manual product-file commit on top of an agent checkpoint, run a continuous
session with reconcile_operator_commits: "auto_safe_only", and quote the
state_reconciled_operator_commits event emitted before the next dispatch.
Then make an unsafe operator commit that edits .agentxchain/state.json or
deletes .planning/acceptance-matrix.md; quote agentxchain status,
agentxchain status --json, operator_commit_reconcile_refused, the
error_class, and the recovery action.
For still-open BUG-53 closure proof, run the shipped package in continuous mode
and quote session_continuation events across chained runs. A bounded idle run
should end as idle_exit, not as a paused gate.
For still-open BUG-54 and BUG-59 closure proof, pin to [email protected] or
later and follow .planning/BUG_59_54_TESTER_QUOTEBACK_RUNBOOK.md. That runbook
covers the real adapter-path watchdog evidence (startup_latency_ms,
elapsed_since_spawn_ms, and any runtimes.<id>.startup_watchdog_ms override)
plus routine auto-approval ledger rows and credentialed hard-stop counter-evidence.
For still-open BUG-54 closure proof, use the BUG-54/BUG-59 runbook above. The closure evidence must come from the adapter path, not from a standalone spawn harness.
For still-open BUG-55 regression proof, run accept-turn followed by
checkpoint-turn on a turn that declares both product files and verification
outputs. Include verification.produced_files with at least one artifact or
ignored output, prove there are no undeclared_verification_outputs, and quote
git status --short after checkpointing.
Clean tree means BUG-55 is fixed for your reproduction.
The key operator chain is accept-turn followed by checkpoint-turn against
the same accepted turn.