AgentXchain v2.155.58
v2.155.58 fixes BUG-104: roadmap-replenishment PM turns that emit typed structured verification observations inside verification.machine_evidence[] now preserve those observations by moving them into verification.evidence_summary before schema validation. This is the second blocker exposed by the same retained tusq.dev PM turn after BUG-103.
Bug Fixes
- BUG-104: structured machine evidence normalization. Recoverable typed evidence objects with non-empty
typeand no executable command record are removed frommachine_evidence[]and summarized inevidence_summary. - Command evidence remains strict. Valid executable command records with non-empty
commandand integerexit_codeare preserved unchanged. - Fail-closed malformed entries. Untyped malformed objects still fail schema validation; AgentXchain does not synthesize fake commands or exit codes.
- Prompt hardening. Dispatch instructions now say typed marker/file-grep/bucket/contract observations belong in
evidence_summary, whilemachine_evidence[]is only for executable command records.
Evidence
- npm test -- --test-timeout=60000 -> 7308 tests / 1481 suites / 0 failures / 5 skipped
Tester Re-Run Contract
Verify: npx --yes -p [email protected] -c "agentxchain --version"
For BUG-104: resume retained tusq.dev failed-acceptance turn turn_644dcda246f21bc1 on the shipped package. The staged result must accept without manual staging JSON edits because its typed structured verification observations are moved to evidence_summary while command-shaped machine evidence remains strict.
For BUG-103 carry-forward: the same retained PM turn must continue to normalize decisions[].title 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, while undeclared non-zero machine evidence under verification.status: "pass" remains fail-closed.
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, 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.