00 — System Overview
Structural Model
The IDL structural model organises the system into six layers: Primitives, Tokens, Components, Patterns, Platforms, and Governance. Each layer depends only on the layers beneath it. Cross-layer dependencies in the upward direction are a specification violation. This layering is enforced by the compiler's reference-resolution rules, not by authoring convention.
The Six Layers
| Layer | Contents | Depends On |
|---|---|---|
| Governance | RFC process, versioning policy, deprecation, changelog | All layers (governance authority) |
| Platforms | Web, native, design tool, CI/CD emitter contracts | Components, Tokens |
| Patterns | Multi-component composition schemas | Components |
| Components | Props, slots, states, variants, composition rules | Tokens |
| Tokens | Primitive, Semantic, Component tier token declarations | Primitives |
| Primitives | Grammar, syntax, type system, axioms, invariants | (foundation — no dependencies) |
Dependency Direction
References flow downward only. A Component token may reference a Semantic token; a Semantic token may reference a Primitive token; a Primitive token references no other token. A component declaration may not reference another component's internal tokens. A platform emitter receives the validated AST from the compiler; it does not write back to the token or component layers.
Why Layering Matters
Strict layering makes each level of the system independently auditable. When a token value changes, the compiler can determine the full set of affected components without inspecting platform output. When a component's state machine changes, the compiler can validate all slot graphs that reference it without traversing platform-specific code. The architecture is designed for confident, large-scale change.