614fd8bc93
Inline pinning test in pipeline.rs constructs the same chain
shape module_name_from_json produces on serde-parse failure
(leaf wrapped with "parsing JSON in <path>" context) and
asserts both layers survive the formatter. RED→GREEN against
the property, not against production line bytes — for a
two-character fix, extracting a helper just for testability
would be over-engineering.
The strip_locations regex collapses \nCaused by: chains; the
{:#} alternate Display joins with ': ' on one line, so the
collapser is a no-op on the fixed output. AILX cohort
unaffected — only the harness-side anyhow path (module
rename pre-check) was dropping cause information.
Harness suite: 14/14 green (was 13/13 + 1 new pin).
43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# 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
|