1- # Spar toolchain architecture — 10 -crate Rust workspace
1+ # Spar toolchain architecture — 16 -crate Rust workspace
22
33artifacts :
44
@@ -8,9 +8,11 @@ artifacts:
88 type : feature
99 title : Spar AADL Toolchain
1010 description : >
11- 10 -crate Rust workspace implementing an AADL v2.2 toolchain
11+ 16 -crate Rust workspace implementing an AADL v2.2 toolchain
1212 with incremental computation (salsa), lossless syntax (rowan),
13- and arena allocation (la-arena).
13+ and arena allocation (la-arena). Crates: parser, syntax, annex,
14+ base-db, hir-def, hir, analysis, transform, cli, wasm, render,
15+ solver, sysml2, verify-macros, verify, codegen.
1416
1517 # ── Crate Components ──────────────────────────────────────────────────
1618
@@ -131,7 +133,7 @@ artifacts:
131133 type : design-decision
132134 title : spar-analysis
133135 description : >
134- 22 analysis passes implementing connectivity, scheduling, latency,
136+ 27 analysis passes implementing connectivity, scheduling, latency,
135137 resource budget, EMV2, ARINC 653, legality rules, mode reachability,
136138 and more. Trait-based Analysis framework with AnalysisRunner.
137139 fields :
@@ -343,7 +345,7 @@ artifacts:
343345 RTA, bus bandwidth, memory budget, and weight/power analysis passes
344346 are each independent modules implementing the existing Analysis trait.
345347 They register with AnalysisRunner and produce AnalysisDiagnostic
346- results, consistent with the 22 existing passes.
348+ results, consistent with the existing passes.
347349 fields :
348350 rationale : >
349351 Reusing the established Analysis trait + AnalysisRunner pattern keeps
@@ -620,7 +622,7 @@ artifacts:
620622
621623 - id : ARCH-CODEGEN-001
622624 type : design-decision
623- status : planned
625+ status : implemented
624626 title : " spar-codegen crate with dual output (WIT + native Rust)"
625627 description : >
626628 New spar-codegen crate generates both WIT interfaces and Rust crate
@@ -647,7 +649,7 @@ artifacts:
647649
648650 - id : ARCH-CODEGEN-002
649651 type : design-decision
650- status : planned
652+ status : implemented
651653 title : " Three-layer verification (build + test + proof)"
652654 description : >
653655 All generated code includes three verification layers: (1) build-time
@@ -672,7 +674,7 @@ artifacts:
672674
673675 - id : ARCH-CODEGEN-003
674676 type : design-decision
675- status : planned
677+ status : implemented
676678 title : " Dual build system (Cargo dev + Bazel CI)"
677679 description : >
678680 Generated workspace includes both Cargo.toml (development iteration)
@@ -693,7 +695,7 @@ artifacts:
693695
694696 - id : ARCH-CODEGEN-004
695697 type : design-decision
696- status : planned
698+ status : implemented
697699 title : " rivet frontmatter in generated design docs"
698700 description : >
699701 Each generated crate includes a design document with rivet YAML
@@ -713,7 +715,7 @@ artifacts:
713715
714716 - id : ARCH-SYSML2-002
715717 type : design-decision
716- status : planned
718+ status : implemented
717719 title : " Rowan-based KerML parser (spar-sysml2 crate)"
718720 description : >
719721 New spar-sysml2 crate with hand-written recursive descent parser for
@@ -735,7 +737,7 @@ artifacts:
735737
736738 - id : ARCH-SYSML2-003
737739 type : design-decision
738- status : planned
740+ status : implemented
739741 title : " SysML v2 → AADL lowering via SEI mapping rules"
740742 description : >
741743 Lowering from SysML v2 CST to AADL ItemTree implementing the SEI 2023
0 commit comments