Skip to main content

AgentXchain v2.155.65

v2.155.65 fixes BUG-110 from DOGFOOD-100: Claude local CLI credential failures are now typed dispatch blockers. The shipped v2.155.64 package proved BUG-109 by reaching natural QA dispatch, then the QA runtime failed with an explicit 401 auth response. That is runtime infrastructure, not a QA work-product failure, so it must not burn turn retries.

Bug Fixes

  • BUG-110: Claude auth failure classification. dispatchLocalCli() now detects Claude local CLI stdout/stderr auth markers such as authentication_failed, authentication_error, Invalid authentication credentials, and API Error: 401 when no staged result is produced.
  • Typed blocked path. agentxchain run now honors adapter blocked: true results by persisting a dispatch_error blocker through markRunBlocked() instead of routing the failure through rejectTurn().
  • Retained recovery. The blocked turn is retained with recovery guidance to refresh ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN, then resume with agentxchain step --resume.

Evidence

  • node --test cli/test/local-cli-adapter.test.js -> 37 tests / 5 suites / 0 failures
  • node --test --test-name-pattern='BUG-109|AT-BUG108' cli/test/continuous-run.test.js -> BUG-109 and BUG-108 focused regressions pass
  • node --test cli/test/checkpoint-turn.test.js -> 11 tests / 1 suite / 0 failures
  • npm test -- --test-timeout=60000 -> 7326 tests / 1484 suites / 0 failures / 0 skipped

Tester Re-Run Contract

Verify: npx --yes -p [email protected] -c "agentxchain --version"

For BUG-110: resume tusq.dev from continuous session cont-7dc5b5df and governed run run_083e290f5ee318f4 using the shipped package. If the Claude QA runtime still has invalid credentials, the run must stop once on dispatch:claude_auth_failed with retained-turn recovery guidance. It must not retry the QA turn into escalation:retries-exhausted:qa.

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, and runtimes.<id>.startup_watchdog_ms.
  • BUG-55/87 verification-output evidence should quote undeclared_verification_outputs, verification.produced_files, and git status --short after accept-turn followed by checkpoint-turn. Clean tree means BUG-55 is fixed for your reproduction.
  • BUG-52/53 continuous recovery evidence should quote phase_entered, reconciled_before_dispatch, and session_continuation.