The Rust parser-only corpus slice is accepted. It closes the promoted KiCad corpus round-trip gate. Typed PCB, schematic, rendering, and downstream interchange expansion remained outside this decision until the later Phase 1 promotion review.
KM_CORPUS archive selection, suffix
selection, excluded output trees, and stable path ordering.
L1_022 passed all 1,774 Rust records. The largest
file was a 71,556,836-byte board and completed successfully.
L1_018 oracle passed the identical
resolved path set with both its corpus-wide and real-world assertions.
The build-operation envelope was initially private pending a handwritten TypeSpec-union semantic validator. Phase 1 closed that gate with kind/payload exclusivity, identity, depth, node-count, integer-range, bounded-output, native, and executable WASM evidence.
TypeSpec now also generates strict Python msgspec models and
strict TypeScript declarations. Rack rejects stale generated output,
unknown Python fields, and TypeScript consumer compilation failures.
The Phase 1 promotion review accepted the parser correctness and architecture boundary. Streaming, patch, and actual WASM resource-limit correctness are covered; additional performance measurements are advisory until a real typed-reader profile or pre-cutover review calls for them.
Begin the TypeSpec-first footprint reader/writer vertical slice. Further profiling is advisory until real typed-reader workloads or pre-cutover budgets require it.