Skip to main content

AgentXchain v2.155.5

v2.155.5 is a dogfood unblock patch over v2.155.4. It fixes the second real tusq.dev idle-expansion sidecar shape: PM emitted kind: "new_intake_intent" with a harmless vision_exhausted: false sentinel. The acceptor now drops false/null exhaustion sentinels before strict validation.

Bug Fixes

  • BUG-64 false-sentinel tolerance: accept-turn accepts top-level idle_expansion_result objects and sibling idle-expansion-result.json sidecars that include vision_exhausted: false or vision_exhausted: null with kind: "new_intake_intent".
  • Strict contract preserved: truthy vision_exhausted objects remain valid only for kind: "vision_exhausted", and malformed idle-expansion results still fail schema validation.

Evidence

  • cd cli && node --test --test-timeout=60000 test/turn-result-validator.test.js test/beta-tester-scenarios/bug-60-perpetual-idle-expansion.test.js -> 108 tests / 21 suites / 0 failures / 0 skipped

Tester Re-Run Contract

Run the shipped package:

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

For BUG-64 closure, resume the tusq.dev dogfood branch and quote:

  • the same PM idle-expansion turn can be accepted without manually editing turn-result.json or idle-expansion-result.json
  • .agentxchain/staging/<turn>/idle-expansion-result.json is normalized into accepted history as idle_expansion_result
  • vision_exhausted: false is dropped for kind: "new_intake_intent" before strict schema validation
  • idle_expansion_ingested fires with payload.kind == "new_intake_intent"
  • the continuous session advances beyond the BUG-64 paused state

For regression proof, quote that a required vision_idle_expansion turn with neither top-level idle_expansion_result nor sibling sidecar still fails schema validation, and that a truthy vision_exhausted object with kind: "new_intake_intent" still fails.

For downstream closure, start from a clean checkpoint and quote:

  • functional downstream behavior remains fixed: continuous does not idle out in QA, QA advances, launch_ready unblock completes the run, and no duplicate dispatch occurs
  • quote any startup_latency_ms, elapsed_since_spawn_ms, and runtimes.<id>.startup_watchdog_ms evidence relevant to adapter-path reliability while confirming the downstream flow still uses the real runtime path
  • after final terminal approval, status is completed, pending_run_completion=null, and active_turns={}
  • durable events include both gate_approved for run_completion and run_completed
  • non-terminal phase recovery should still quote phase_entered with reconciled_before_dispatch if a standing gate advances before dispatch
  • .agentxchain/continuous-session.json no longer stays at paused with runs_completed=0; quote the terminal session shape after the run completes
  • session_continuation should still be quoted if the continuous session chains into another run; otherwise quote the terminal reason instead

For BUG-55 regression proof, continue using accept-turn followed by checkpoint-turn and quote verification.produced_files, undeclared_verification_outputs, and git status --short.

Clean tree means BUG-55 is fixed for your reproduction.