README.md

Strata — Proposal

Strata (working name) is a typed, comptime-elaborated hardware language and integrated verification platform, designed from the ground up as a substrate for agent-amplified hardware and systems-assurance engineering. It aims to preserve one chain from typed design intent through generated verification, transformation permissions, physical implementation evidence, fault/lifecycle contracts, and release assurance. This directory is the proposal: a build charter written cleanly enough to extract a whitepaper or grant proposal from later.

Every document is two-track:

  • Committed sections describe what we intend to build, mapped to a phase in the roadmap.
  • North star sections describe the full design the committed work must not preclude, including known open problems.

Anything contestable is logged in the decisions register and will be adversarially probed (see status legend below).

Scope after the systems-safety probe wave

The 2026-07-21 probe wave adds ten axes: fault/health, DMA memory safety, compositional progress, architectural memory consistency, observer-indexed information flow, physical-constraint custody, power/reconfiguration lifecycle, numeric error budgets, DFT/debug authority, and generated assurance cases. The result is not ten more core typing judgments. Strata uses a three-layer architecture:

  1. a small semantic thin waist—identity/lineage, invalidation, memory events, observer projections, numeric denotation, and extensible authority;
  2. opt-in contract families—fault recovery, leases, progress, memory models, power/reconfiguration, relational security, and assumption ownership; and
  3. verification/evidence packages—fault campaigns, litmus/model checking, two-run checks, netlist-bound certificates, DFT translation validation, numeric certificates, and assurance graphs.

Ordinary FIFO or datapath code encounters none of those families unless it declares the corresponding contract. The executable probes establish the architecture and failure boundaries, not industrial-scale proof of RVWMO, analog leakage, electrical power behavior, unbounded liveness, or signoff-tool semantics. See the roadmap, decisions D-081–D-090, and the probe matrix.

Reading order

DocContents
00-vision.mdThesis, scope, thin-waist architecture, claims, and non-claims
01-design-principles.mdThe rules every other doc must obey
02-type-system-core.mdStratified judgments, phases, representation types, nominal identity, typestate
03-time-and-resources.mdEvents, temporal capabilities, guarded feedback, the three notions of time
04-protocols-and-streams.mdProtocol types, stream combinators as protocol transformers, duality and refinement
05-speculation-authority-effects.mdEpochs, authority capabilities, effect rows, reset semantics
06-refinements-and-evidence.mdTiered refinements, contracts, proof obligations, evidence lattice, and assurance custody
07-compiler-architecture.mdIR stack, semantic thin waist, CIRCT lowering, ledger custody, passes, and summaries
08-verification-platform.mdContracts → tests, monitors, campaigns, relational/model-backed checks, and evidence
09-agent-system.mdAgent roles, trust model, diagnostics contract, experiment database
10-fpga-loop.mdSynthesis feedback, netlist certificate custody, HIL campaigns, and physical evidence
11-roadmap.mdPhases, what lands where, what is deferred and why
12-related-work.mdAcademic and commercial prior art, nearest clusters, and defensible positioning
13-package-system.mdforge: manifest, mechanical semver, registry, modules, reproducible builds
14-toolchain.mdstrata fmt, strata lint, strata-ls — one tree, one ledger, one diagnostic vocabulary
15-syntax-requirements.mdSyntax input: R1–R50 probe-evidenced requirements; R37–R50 await a surface-design wave
16-syntax.mdThe committed core surface: charter, lexical rules, constructs, R1–R36 traceability, extension boundary
17-memory-model.mdmem storage class, read/write timing, port count, indexing safety, and pipeline ownership
18-grade-system.mdv0 usage grades: grade-0 erasure only, ghost wiring, and why grade-1/phases/typestate stay deferred
19-linearity.mdv0 grade-1 linearity: linear let, context-splitting exactly-once checking, and the OP-7 feedback disposition
20-guarded-feedback.mdv0 delay/Later<Clock, T>: the guarded-feedback typing judgment and the FIX-ω resolution (branch b)
decisions.mdEvery contestable call: rationale, alternatives, confidence, probe status
open-problems.mdKnown-unsolved interactions the design must eventually answer

Status legend

Used in decisions.md and inline in docs:

  • DRAFT — written, not yet probed
  • PROBING — under adversarial review
  • CONTESTED — probe found a real problem; decision being revisited
  • SETTLED — survived probing
  • DEFERRED — explicitly out of committed scope; north-star only

Context

This proposal consolidates and supersedes two working documents in the repo root: rough-1.md (the original platform proposal) and refine-1.md (a type-system deepening of it). Where they conflict, this directory is authoritative.