# iter ms.1 — Pipeline anyhow-chain preservation

**Date:** 2026-05-12
**Started from:** 8689f7a2386e0d7993609c374d91984bc28d215c
**Status:** DONE
**Tasks completed:** 3 of 3

## Summary

Two-character fix at `pipeline.rs:118`: `format!("check: {e}")` →
`format!("check: {e:#}")`. Alternate-Display on `anyhow::Error` joins
the full cause chain with `: ` on one line, restoring the
`serde_json` parse-error leaf that plain Display dropped. Survives
`strip_locations` (regex only collapses `\nCaused by:` blocks).

The bug surfaced during ms.2 planning recon: JSON-cohort feedback in
the cma.3 baseline showed uninformative top-line `"parsing JSON in
/tmp/..."` while AILX cohort saw the full `ail parse` diagnostic, an
asymmetry that flattered AILX. ms.1 lands the fix before ms.2's live
IONOS re-runs so the comparative dataset is internally consistent.

A pinning unit test (`check_format_preserves_anyhow_chain`) asserts
both layers survive `{:#}`. Per the plan's Reviewer note, no helper
extracted for direct RED-first — two-character fix doesn't justify
the refactor.

Test count: 14 (was 13). `cargo check` clean.

## Concerns

- Harness integration tests (`budget_abort`, `mock_full_run`,
  `verify_references`) need `AIL_BIN` set or `ail` on PATH. The
  14-green count assumes `AIL_BIN=target/release/ail`. Pre-existing
  cma.2 harness behaviour.

## Files touched

- `experiments/2026-05-12-cross-model-authoring/harness/src/pipeline.rs`

## Stats

bench/orchestrator-stats/2026-05-12-iter-ms.1.json
