AgentXchain v2.155.69
v2.155.69 tightens BUG-113 after the shipped v2.155.68 reverify on Tusq proved the detector was still too narrow. Real Claude Code old-Node failures can log the compiled helper throw TypeError("Object not disposable") without the cleaner TypeError: Object not disposable trailer, so the retained ghost blocker stayed exhausted instead of recovering.
Bug Fixes
- BUG-113: real Claude Code signature detection. Claude Node incompatibility detection now recognizes both the runtime error form and Claude Code's compiled helper form.
- Retained DOGFOOD recovery. The existing retained-turn recovery path can now match the actual Tusq
stdout.logevidence and reissue the QA turn through the compatible Node wrapper. - Regression fidelity. BUG-113 adapter and continuous-run tests now use the minified Claude Code log shape observed in Tusq instead of only a sanitized stderr line.
Evidence
- node --test --test-name-pattern='BUG-113|Claude stdout auth' test/local-cli-adapter.test.js -> 2 tests / 2 suites / 0 failures
- node --test --test-name-pattern='BUG-113|BUG-112|auto-reissues a paused ghost-blocked run' test/continuous-run.test.js -> 4 tests / 2 suites / 0 failures
- node --test test/local-cli-adapter.test.js -> 38 tests / 5 suites / 0 failures
- node --test test/continuous-run.test.js -> 83 tests / 13 suites / 0 failures
- npm test -- --test-timeout=60000 -> 7332 tests / 1485 suites / 0 failures / 0 skipped
Tester Re-Run Contract
Verify: npx --yes -p [email protected] -c "agentxchain --version"
For BUG-113: resume tusq.dev from continuous session cont-7dc5b5df, run run_73ffb608f7c8a510, and retained QA turn turn_07b1ca892daef9dc using the shipped package. The retained dispatch log contains the compiled Claude Code helper throw TypeError("Object not disposable"); startup must reissue the retained turn without agentxchain reissue-turn, manual state edits, or operator-side accept-turn.
If the recovered QA turn accepts, append counter value 98 to Tusq turn-counter.jsonl within the DOGFOOD-100 window.
For BUG-112 carry-forward: retained Claude provider Request timed out failures must still auto-reissue via auto_retried_productive_timeout only when explicit timeout markers exist.
For BUG-111 carry-forward: retained Claude 401/authentication failures must still reclassify to dispatch:claude_auth_failed before timeout or ghost 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: supplemental auto-checkpoint recovery must still run automatically under --auto-checkpoint.
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.
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.