90977663ff52cb890302ff536f3cbbd62449db51
Iteration plan derived from `docs/specs/2026-05-21-schema-camelcase-fix.md` (commit55ce6d0, amended). Single-iteration milestone, four tasks: - **Task 1 (RED)**: add `lam_serialises_with_kebab_keys` pin to `design_schema_drift.rs` + extend `anchor_in_jsonc_block` walk to require the new tag spellings inside `data-model.md`'s `lam` fenced block. Verifies pin fires RED on current state. - **Task 2 (GREEN atomic schema swap)**: 10-step coupled migration of `ast.rs:492,494` + `workspace.rs:1925-1926` + `examples/test_loop_binder_captured_by_lambda.ail.json` + `experiments/.../master/examples/fn_with_lambda.ail.json` + `design/contracts/data-model.md:142-147`. All five files MUST move together — changing only `ast.rs` makes the JSON literals undeserialisable (no `#[serde(default)]` on `param_tys`/`ret_ty`, so the renamed-away key is a hard error). - **Task 3 (GREEN-2 rustdoc honesty)**: three pure-prose edits in `ast.rs:8`, `parse.rs:81`, `check/lib.rs:1707`. Decoupled from the schema swap — no compile or test consequence. - **Task 4 (Verify)**: exhaustive negative grep, full workspace test suite, round-trip invariance, forbidden-files check. Plan pre-recon by `ailang-plan-recon` (DONE_WITH_CONCERNS) caught the data-model.md + rustdoc layer the brainstorm initially missed — spec was amended in commit55ce6d0+ re-grounding-check PASS (9 claims ratified, 2 of them via exhaustive negative grep as "no-test-pins-this" Boss-overrideable shape). Self-review: 8/8 (spec coverage, no placeholders, name consistency, step granularity 2-5 min, no commit steps, pin/replacement contiguity, compile-gate threading complete within Task 2, verification filters all resolve to named real tests).
Description
No description provided
Languages
Rust
91.6%
Python
4.6%
C
1.8%
LLVM
1.6%
Shell
0.4%