Contributor-facing workflow commands referenced by the active specs are standardized through the
rum developer CLI. The main groups are:
cargo xtask verify ...cargo xtask coverage ...cargo xtask repo ...
For setup and day-to-day usage, see CONTRIBUTING.md.
| Spec | Title | Domain | Lines | Status |
|---|---|---|---|---|
| SPEC_0000 | Specification Writing Guidelines | process | ~258 | ACCEPTED |
| SPEC_0001 | DefId for Stable References | IR | ~128 | ACCEPTED |
| SPEC_0002 | Scope Tree for Name Lookup | IR | ~119 | ACCEPTED |
| SPEC_0007 | Compiler Pipeline and IR Contracts | architecture | ~326 | ACCEPTED |
| SPEC_0008 | Diagnostics, Traceability, and Phase-Local Errors | error | ~328 | ACCEPTED |
| SPEC_0018 | Tool Configuration Loading | tooling | ~329 | ACCEPTED |
| SPEC_0021 | Maintainability and Determinism Guidelines | convention | ~248 | ACCEPTED |
| SPEC_0022 | MLS Compiler Compliance (471 contracts) | MLS | ~1010 | REFERENCE |
| SPEC_0025 | Change Review Process | process | ~236 | ACCEPTED |
| SPEC_0029 | Crate Boundaries as Collaboration Guardrails | architecture | ~345 | ACCEPTED |
| SPEC_0031 | Compiler Scope and Philosophy | architecture | ~159 | REFERENCE |
| SPEC_0032 | Range-Preserving Tensor IR | IR | ~193 | ACCEPTED |
| SPEC_0033 | Development Process | process | ~175 | ACCEPTED |
| SPEC_0034 | eFMI/GALEC Algorithm Code Export | target/codegen | ~189 | DRAFT |
| SPEC_0035 | Complex Numeric Types in Solve IR | IR | ~196 | DRAFT |
| SPEC_0036 | Valid-by-Construction Compiler IR | IR | ~340 | DRAFT |
| SPEC_0037 | Verification Architecture for Checkers and Semantics | verification | ~215 | DRAFT |
| SPEC_0038 | Unified FMI Execution | target/runtime | ~249 | DRAFT |
| SPEC_0039 | Proof-Carrying Structural Sparsity | IR | ~153 | DRAFT |
| SPEC_0040 | IR Stage Contract Catalog | architecture | ~244 | REFERENCE |
| SPEC_0041 | Crate Ownership Catalog | architecture | ~142 | REFERENCE |
| SPEC_0042 | GALEC Language and Decision Catalog | target/codegen | ~67 | REFERENCE |
| SPEC_0043 | Valid-by-Construction Catalog | IR | ~680 | REFERENCE |
| SPEC_0044 | FMI Execution Contract Catalog | runtime/verification | ~539 | REFERENCE |
| SPEC_0045 | Solve Executable Vocabulary and Profiles | IR | ~165 | DRAFT |
| SPEC_0046 | Scheduled Discrete Ownership | IR/runtime | ~187 | DRAFT |
| SPEC_0047 | Solve Vocabulary and Target Refinement Catalog | IR/target | ~552 | REFERENCE |
| SPEC_0048 | Target Refinement and Prepared Products | target/codegen | ~114 | DRAFT |
| SPEC_0049 | Solve Grammar and Effect Catalog | IR | ~214 | REFERENCE |
| SPEC_0050 | Trace Evidence Catalog | process/verification | ~27 | REFERENCE |
| SPEC_0051 | Jacobian Synthesis by Forward-Mode Differentiation | phase/verification | ~212 | PROPOSED |
| SPEC_0052 | Rumoca plus Lean: Roadmap for Formally Verified Cyber-Physical Systems | architecture/verification | ~100 | PROPOSED |
| SPEC_0053 | Constrained State Selection | compiler/runtime | ~94 | DRAFT |
| SPEC_0054 | Playground Assistant | tooling/web | ~110 | PROPOSED |
SPEC_0040–SPEC_0044, SPEC_0047, SPEC_0049, and SPEC_0050 are REFERENCE annexes:
they carry the lookup catalogs split out of their parent spec under SPEC_0000
§3/§3a size budgets. Every row in an annex is normative by reference from the
parent section that links it (SPEC_0007→0040, SPEC_0029→0041, SPEC_0034→0042,
SPEC_0036→0043, SPEC_0038→0044, SPEC_0033→0050). SPEC_0047 serves three
parents — SPEC_0045, SPEC_0046, and SPEC_0048 — and each gate row names the
parent rule it covers. SPEC_0049 serves SPEC_0045 and SPEC_0048. It is bound
by SEV-001/002/007 (grammar and coverage), SEV-011/024 (contract
classes and element-kind splits), and TRP-042 (the capability profile keyed to
its rows). Annexes add no rules of their own; edit the parent when the
requirement itself changes.
Deferred specs are non-active future-work proposals. They do not gate reviews or CI, but remain worth preserving because the design direction is likely to be useful after the 0.9 stabilization work.
| Spec | Title | Domain | Lines | Status |
|---|---|---|---|---|
| SPEC_0012 | CST vs AST Distinction | parser/tooling | ~167 | DEFERRED |
| SPEC_0014 | Eval Memoization at Phase Boundaries | performance | ~189 | DEFERRED |
| SPEC_0015 | Token-Based Formatter | tooling | ~249 | DEFERRED |
| SPEC_0028 | Safety-Oriented Code Generation | codegen | ~97 | DEFERRED |