098fa7e9be
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.
38 lines
902 B
TOML
38 lines
902 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/ailang-core",
|
|
"crates/ailang-check",
|
|
"crates/ailang-codegen",
|
|
"crates/ailang-surface",
|
|
"crates/ailang-prose",
|
|
"crates/ail",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
repository = "local"
|
|
rust-version = "1.80"
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
blake3 = "1"
|
|
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" }
|
|
ailang-codegen = { path = "crates/ailang-codegen" }
|
|
ailang-surface = { path = "crates/ailang-surface" }
|
|
ailang-prose = { path = "crates/ailang-prose" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|