Skip to main content

AgentXchain v2.155.6

v2.155.6 is a dogfood unblock patch over v2.155.5. It fixes the next BUG-64 validation layer found in tusq.dev: after schema normalization accepted the PM sidecar, strict intent_coverage still ignored the sidecar-backed idle_expansion_result and failed the conditional idle-expansion acceptance contract.

Bug Fixes

  • BUG-64 idle-expansion intent coverage: accept-turn now evaluates vision_idle_expansion conditional acceptance items against the normalized idle_expansion_result.
  • Conditional branch handling: when kind is new_intake_intent, the vision_exhausted acceptance branch is not applicable, and the selected branch is checked for charter, acceptance contract, priority, and VISION traceability.
  • Strict contract preserved: missing sidecars, malformed sidecars, and truthy vision_exhausted objects under kind: "new_intake_intent" still fail before acceptance.

Evidence

  • cd cli && node --test --test-timeout=60000 test/intent-coverage-status.test.js test/turn-result-validator.test.js test/beta-tester-scenarios/bug-60-perpetual-idle-expansion.test.js -> 118 tests / 24 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
  • strict intent_coverage accepts the selected new_intake_intent branch and does not require the non-selected vision_exhausted branch
  • 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.