Strata architecture and SDDMenu
On this page

Strata architecture and SDD

Strata is a structured server application layer for Angular and Analog, powered by H3. This directory separates implemented facts, architectural decisions, and unproven hypotheses. Documentation is in English to follow the existing OSS repository conventions.

Start here

I want to...Read
Install Strata and run the examplesGetting started
Use controllers with Analog/Nitro or H3, or use Server ComponentsControllers and server integrations
Know what is implemented and what was verifiedCurrent state
Maintain, validate or preview these docsDocumentation workflow

Sources of truth

QuestionAuthoritative document
What exists and what was actually checked?Current state, backed by source, lockfile and tests
What is Strata for?Vision
What owns each responsibility and boundary?Architecture
What happens next and what gates progress?Roadmap
What does upstream currently provide?Dated ecosystem research
Which combinations may we claim to support?Compatibility
What remains uncertain?Risk register
What evidence must tests produce?Testing strategy
How do Astra and implementation agents work?SDD workflow
When may we release 1.0?Release gates
How is the public repository configured?Repository operations
Why was a consequential decision made?Accepted records in adr/
What may the next implementation agent do?The single ready spec in specs/

Code is authoritative for existing behavior. An accepted ADR is authoritative for a design decision, not proof of implementation. The roadmap describes intent; a checked gate requires linked evidence. Research describes upstream claims, not Strata compatibility.

Current handoff

Reconciled 2026-09-24 at c671ba4 + SPEC-003 branch. See STATE.

  • H3 consumer qualification track: SPEC-001 and SPEC-002 executed; strict consumer types for @strata-sc/h3 remain upstream-blocked (H3/crossws declarations), so M1 stays Blocked. Review evidence and measured closure matrix remain current.
  • Analog integration track: @strata-sc/analog registers controllers on Nitro's router (baseline), with request input (PR #17), per-request controllers (PR #18) and request cleanup (PR #19). SPEC-003 reached a CONDITIONAL GO for Angular DI through consumer-owned injectors. A later cross-runtime check confirms the existing Node scenarios and records a local workerd NO-GO because Angular JIT code generation is refused; guard/interceptor composition with the DI-backed controller remains unqualified (report).
  • Server Components: three PoCs reached CONDITIONAL GO (graph, navigation, Cloudflare): document navigation only, Angular Router navigation NO-GO. The mechanism is the private, unpublished @strata-sc/server-components package (README); no production implementation or public API exists.
  • Packages are experimental 0.x; @strata-sc/core, @strata-sc/analog and @strata-sc/server-components are published to npm, stable releases on latest (ADR-004, ADR-005).
  • 1.0 requires production Server Components, automated boundary evidence and a real consumer.

Accepted decisions

DI, consumer compiler strategy, component protocol and navigation protocol have no accepted ADR yet. Their experiments are planned in the roadmap; their APIs are not frozen.

Source: docs/README.md

Generated by Entwine · Markdown remains the source of truth.