README.md
strata
The Strata toolchain — typed comptime HDL + integrated verification platform.
Design authority: ../proposal/ (decisions register D-001–D-080). Language surface: ../proposal/16-syntax.md.
Probe seeds being promoted (rewrite-with-tests-carried, never copied): ../probes/.
Workspace layout
crates/strata-syntax— lexer, lossless trivia-anchored tree, and resilient-LL parser (D-052/D-053/D-062; full 16-syntax grammar)crates/strata-fmt— deterministic source formatter overstrata-syntax, exposed for source files throughstrata fmtcrates/strata-hir— deterministic, syntax-anchored HIR for declarations, callable bodies, and name-resolution inputscrates/strata-width— canonical closed width algebra and normalization (D-037)crates/strata-check— package-aware Tier-A header checks plus the supported body-checking slice; unsupported bodies are reported as explicit tri-state deferralscrates/strata-cli—strata parse, source-filestrata fmt, andstrata checkdrivers with structured diagnostics
Package-wide formatter discovery and forge.toml formatting remain deferred with later architecture IR/ledger phases.
Invariants enforced from day one
- P-6: determinism everywhere; no wall clock, no env-dependence in any tool path
- D-053: parser losslessness and recovery invariants are CI-fuzzed (
text(tree) == input, including malformed input) - R-LS-1 lineage: one frontend — every tool is a driver over these crates