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-hir — deterministic, syntax-anchored HIR for declarations, callable bodies, and name-resolution inputs
  • crates/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 deferrals
  • crates/strata-cli — strata parse and strata check drivers with structured strata-diag/0 output; strata fmt remains an honest unavailable-command diagnostic

The formatter and later architecture IR/ledger phases are not implemented yet.

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