iter rt.1: roundtrip-invariant audit tests — 3 new tests, all PASS first-shot

Three new reader-only tests pin the .ail.json / .ailx bijection
plus AST-variant coverage. All three passed first observation
across the current corpus — no roundtrip, schema-coverage, or
CLI-drift gaps surfaced.

- every_ailx_fixture_matches_its_json_counterpart (replaces the
  3-pair handwritten exhibits): 57 paired .ailx fixtures pass.
- every_ast_variant_is_observed_in_the_fixture_corpus (new): 34/34
  AST variants exercised across 136 fixtures; exhaustive matches
  without _ wildcard so AST drift fails the build.
- cli_render_then_parse_preserves_canonical_bytes_on_every_fixture
  (new): 136 fixtures round-trip through ail render → tempfile →
  ail parse with BLAKE3 identity on canonical bytes.

No production code, no DESIGN.md changes (those follow in later
iterations). Tests are pure readers of the repo per spec
acceptance #7 — tempfile crate added as workspace dep for the CLI
roundtrip's intermediate file outside the repo.
This commit is contained in:
2026-05-12 09:31:38 +02:00
parent 10ccd1406c
commit 098fa7e9be
9 changed files with 1069 additions and 31 deletions
+1
View File
@@ -24,6 +24,7 @@ anyhow = "1"
thiserror = "1"
clap = { version = "4", features = ["derive"] }
indexmap = { version = "2", features = ["serde"] }
tempfile = "3"
ailang-core = { path = "crates/ailang-core" }
ailang-check = { path = "crates/ailang-check" }