Skip to main content

AgentXchain v2.148.0

v2.148.0 hardens the local-CLI adapter diagnostics for BUG-54 and lands both BUG-55 sub-defects at the source and release-boundary layers. BUG-54 is not closed — it remains open pending tester-quoted proof of >90% QA dispatch reliability on this shipped package. BUG-55 sub-A and sub-B fixes are both in the tarball and covered by packaged claim-reality preflight.

Bug Fixes

  • BUG-54 adapter timing diagnostics: local-cli-adapter now emits startup_watchdog_ms, startup_latency_ms, and elapsed_since_spawn_ms on the spawn_attached, first_output, startup_watchdog_fired, and process_exit diagnostic lines. Operators can compare observed startup against run_loop.startup_watchdog_ms from a single diagnostic row instead of diffing ISO strings.

  • BUG-54 real-Claude stdin proof: a CLAUDE-gated integration test now exercises the repo's actual authoritative Claude runtime contract (claude --print --dangerously-skip-permissions with prompt_transport: "stdin") across 10 consecutive dispatches. The probe fails loudly on timeout, non-zero, or malformed --version output and only skips on ENOENT. Handle growth stays bounded (<= 3), stdin_error count is zero, and the watchdog→SIGTERM→close cleanup path is backed by quoted diagnostic lines instead of a soft claim.

  • BUG-55 sub-A checkpoint completeness: checkpoint-turn now partitions declared files_changed paths into staged, already_committed_upstream, and genuinely_missing. It fails loudly only on genuinely_missing, which preserves the tester-reported dirty-survival gate while accepting the legitimate BUG-23 pattern where the actor committed a declared file before checkpoint ran. Staged paths still commit into the checkpoint; already-committed-upstream paths are surfaced on the result for audit.

  • BUG-55 sub-B undeclared verification outputs: acceptance rejects turns that declared verification.commands (or non-empty machine_evidence) but left undeclared fixture outputs dirty, emitting the dedicated error_code: 'undeclared_verification_outputs' with the remediation pointer verification.produced_files. Blank verification.commands[] / machine_evidence[].command entries are now rejected at validation time so the malformed-declaration fall-through cannot mask the dedicated error class.

  • BUG-55 packaged claim-reality proof: the shipped tarball now carries both BUG-55 behavioral rows — checkpoint-completeness commit-all-declared and rejection-then-acceptance on undeclared verification outputs — so package regressions cannot silently reintroduce either sub-defect.

Decisions

  • DEC-BUG55A-ALREADY-COMMITTED-UPSTREAM-002
  • DEC-BUG55B-UNDECLARED-VERIFICATION-OUTPUTS-001
  • DEC-BUG55B-REJECTION-OVER-AUTO-CLASSIFY-001
  • DEC-BUG55-VERIFICATION-COMMAND-NONEMPTY-001
  • DEC-BUG54-REAL-CLAUDE-EVIDENCE-001
  • DEC-BUG54-REAL-STDIN-PROOF-001
  • DEC-BUG54-CLAUDE-PROBE-FAIL-LOUD-001
  • DEC-V2148-RELEASE-GATE-READY-001

Operator Notes

  • Tight run_loop.startup_watchdog_ms values can starve real Claude startup when auth is cold or plugins init slowly. First-stdout latency is ~276ms with warm auth on a dev machine; cold-start can exceed a tight watchdog. Use the new startup_latency_ms diagnostic to observe actual startup on your environment before tuning the watchdog down.

Tester Re-Run Contract

Run the shipped package, not the source tree:

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

For closure evidence on v2.148.0, quote the exact command output or diagnostic lines for these checks. BUG-52 and BUG-53 fixes shipped in v2.147.0 are unchanged in v2.148.0; re-verify them against this shipped package so closure evidence is pinned to the latest published version.

  • BUG-54 QA startup reliability: run the tester's normal QA flow on v2.148.0 and quote the adapter diagnostic lines that include startup_latency_ms and elapsed_since_spawn_ms. Closure requires QA dispatches succeeding at >90% on the tester's real setup, not just "startup failures are detected." If QA still fails, quote the exact startup_failure_type and the surrounding spawn_prepare / spawn_attached / startup_watchdog_fired / process_exit lines.
  • BUG-55 sub-A checkpoint completeness: quote the accept-turn + checkpoint-turn result for a real QA turn and the resulting git status --short. The tree must be clean after checkpoint, and the already-committed-upstream path must not false-positive as missing.
  • BUG-55 sub-B verification outputs: first quote the failure showing undeclared_verification_outputs together with the verification.produced_files remediation pointer; then quote the clean acceptance path after the produced file is declared.
  • BUG-52 phase-gate reconciliation (rides along from v2.147.0): run the tester's exact CLI chain agentxchain accept-turnagentxchain checkpoint-turnagentxchain unblock <hesc-id>agentxchain resume on a real planning_signoff escalation. Quote the resulting dispatched turn's assigned_role (must be dev, not another PM) and the phase_entered event line containing trigger: "reconciled_before_dispatch". Repeat the same chain on a qa_ship_verdict escalation and quote that the next dispatched role is launch, not another QA. No manual state.json patching at any step.
  • BUG-53 continuous auto-chain (rides along from v2.147.0): run agentxchain run --continuous --max-runs 3 from a clean session. After the first run completes cleanly, quote the session_continuation event line (format session_continuation <previous_run_id> -> <next_run_id> (<next_objective>)) and confirm session status stays running, never transitions to paused between runs. On reaching --max-runs, status must end as completed or idle_exit, never paused.

The closure artifact is the tester's quoted shipped-package output. No source-tree run, local green test, or agent summary is sufficient for BUG-52, BUG-53, BUG-54, or BUG-55.

Status

  • BUG-54: adapter diagnostics + real-Claude stdin loop shipped, awaiting tester-quoted QA dispatch reliability proof on v2.148.0.
  • BUG-55 sub-A: checkpoint completeness refined to partition staged / already-committed-upstream / genuinely-missing; awaiting tester verification on v2.148.0.
  • BUG-55 sub-B: undeclared verification outputs rejection shipped; awaiting tester verification on v2.148.0.
  • BUG-52: v2.147.0 fix remains under tester verification — no changes in this release.
  • BUG-53: v2.147.0 fix remains under tester verification — no changes in this release.

Evidence

  • node --test cli/test/beta-tester-scenarios/*.test.js → 153 tests / 61 suites / 0 failures
  • node --test cli/test/claim-reality-preflight.test.js → 36 tests / 1 suite / 0 failures