AgentXchain v2.155.66
v2.155.66 closes the retained-state half of BUG-110 as BUG-111. The shipped v2.155.65 package correctly classified new Claude local CLI auth failures, but the live Tusq DOGFOOD-100 session was already blocked by a pre-fix escalation:retries-exhausted:qa. Continuous startup now upgrades that retained state to the same typed dispatch blocker when the dispatch log proves Claude auth failure.
Bug Fixes
- BUG-111: retained Claude auth escalation reclassification.
agentxchain run --continuousnow inspects retained retries-exhausted dispatch escalations and reclassifies proven Claude 401/authentication failures todispatch:claude_auth_failed. - Shared auth markers. Fresh dispatch classification and retained-state startup reclassification now use the same Claude auth failure marker helper.
- Fail-closed guard. Generic retries-exhausted dispatch failures, non-Claude runtimes, missing logs, and retained staged results are not reclassified.
Evidence
- node --test --test-timeout=60000 cli/test/continuous-run.test.js cli/test/local-cli-adapter.test.js cli/test/run-loop.test.js -> 156 tests / 32 suites / 0 failures
- npm test -- --test-timeout=60000 -> 7328 tests / 1484 suites / 0 failures / 0 skipped
Tester Re-Run Contract
Verify: npx --yes -p [email protected] -c "agentxchain --version"
For BUG-111: resume tusq.dev from continuous session cont-7dc5b5df and governed run run_083e290f5ee318f4 using the shipped package. If the retained QA turn turn_f3e829f2485a7cee still has the Claude 401/auth dispatch log and no staged result, startup must reclassify the retained blocker to dispatch:claude_auth_failed with recovery guidance naming ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN. It must not preserve escalation:retries-exhausted:qa as the operator-facing recovery.
For BUG-110 carry-forward: fresh Claude local CLI auth failures must still block once as dispatch infrastructure instead of consuming turn retries.
For BUG-109 carry-forward: the supplemental checkpoint recovery must still run automatically under --auto-checkpoint and reach natural QA dispatch without operator-side checkpoint-turn.
For BUG-108 carry-forward: terminal blocked steps must surface once and must not re-enter paused-active recovery loops.
For BUG-107 carry-forward: paused active continuous sessions must still preserve the existing session ID and recover only when the governed run is active, unblocked, and dispatchable.
For BUG-106 carry-forward: undeclared non-zero verification.machine_evidence[] exit codes under verification.status: "pass" must still auto-normalize to matching expected_exit_code values.
For BUG-105 carry-forward: strict intent coverage must still search normalized verification evidence summaries and remaining command-shaped machine evidence after staged-result normalization.
For BUG-104 carry-forward: typed verification observations must still be moved out of machine_evidence[] while preserving them in evidence_summary.
For BUG-103 carry-forward: decisions[].title must still normalize into required statement fields before validation.
For BUG-102 carry-forward: deliberate negative-case verification commands with explicitly expected non-zero exits must still accept.
For BUG-101 carry-forward: decision objects that include summary plus rationale must still normalize summary into missing statement fields while decisions with no statement source fail closed.
For BUG-100 carry-forward: productive retries-exhausted local_cli timeout blockers must still auto-retry once with a 60-minute deadline, while silent/no-output failures remain fail-closed.
For BUG-99 carry-forward: pre-acceptance gate_semantic_coverage must still evaluate workflow-kit ownership with accepted turn history.
For BUG-98 carry-forward: retained QA skip-forward requests from implementation to launch must still normalize to immediate next phase qa, with stale proposed_next_role aligned only when routing-safe.
For BUG-97 carry-forward: retained active-turn run_id drift must still auto-normalize only when the staged turn_id proves active-turn ownership.
For BUG-96 carry-forward: decision entries that include existing decision text but omit rationale must still auto-normalize before schema validation.
For BUG-95 carry-forward: staged results that use files_modified instead of files_changed and omit runtime_id, summary, artifact, and proposed_next_role must still auto-normalize before schema validation.
For review-only carry-forward: a review_only role with missing or empty objections must still fail protocol challenge enforcement.
Carry-forward tester checks for shipped-package closure proof:
- BUG-54 startup watchdog evidence should quote
startup_latency_ms,elapsed_since_spawn_ms, andruntimes.<id>.startup_watchdog_ms. - BUG-55/87 verification-output evidence should quote
undeclared_verification_outputs,verification.produced_files, andgit status --shortafteraccept-turnfollowed bycheckpoint-turn. Clean tree means BUG-55 is fixed for your reproduction. - BUG-52/53 continuous recovery evidence should quote
phase_entered,reconciled_before_dispatch, andsession_continuation.