Architecture Decision Records

Numbered ADRs capturing committed Cortex design decisions. Each ADR states one decision with context, alternatives considered, and consequences.


On this page
  1. Current ADRs
  2. Writing a new ADR
  3. Related

Architecture Decision Records

Each ADR captures one committed design decision. Files use NNNN-kebab-slug.md naming. Status values: proposed, accepted, superseded, deprecated.

Current ADRs

#TitleStatus
0001Structured Document IRsuperseded
0002Cortex and Downstream Ownership Boundaryaccepted
0003Pulse Service and Host-Action Boundaryaccepted
0004Graph-Native Pulse Executionaccepted
0005Budgeted Rewrite Admission and Materializationaccepted
0006Compiled Workflow Artifact Boundaryaccepted
0007Latent-Branch Conditional Loweringaccepted
0008Pulse Operator Visibility Surfacesaccepted
0009Rewrite Provenance and Topology Integrityaccepted
0010Wire as Closed-Authority Language over the Graph/Circuit/Wire Stackaccepted
0011Compatibility Barriers and Fresh-Run Recoveryaccepted
0012Topological Memory as Deterministic Graph Queryaccepted
0013Artifact Provenance Contractaccepted
0014Model vs External Callproposed
0015Canonical Logos Archetypesproposed
0016Cortex Roots and Logos Pattern Extractionproposed
0017Wire Executor and Port Catalog Boundaryproposed
0018Canonical Haskell Module Treeproposed
0019Executor Registration and Bindingproposed
0020Wire Pure Output Equationsaccepted
0021Wire Source Elaborates to Circuitsproposed
0022Wire Node Clause Grammarproposed
0023CorePure Expression Surfaceproposed
0024Typed Executor Node Interfaceproposed
0025Configured Executor Valuesproposed
0026Wire Failure Taxonomyproposed
0027Typed LLM Output Bindingproposed
0028Wire Topology Composition and Boundary Labelsproposed
0029CorePure Structured Serializationproposed
0030Wire Node Implementation Formsproposed
0031Wire Binding Forms and Node Where Clausesproposed
0032Wire Boundary Contracts as Planning Resourcesproposed
0033Wire Select as Guarded Affine Collapseproposed
0034Pure Selectors and Restricted Actualization Authorityproposed
0035Wire Rewrite Algebra Formsproposed
0036Latent Branch Budget and Recovery Policyproposed
0037Wire Latent Structural Control Operatorsproposed
0038Wire Proof-Track Theorem Ledgerproposed
0039Wire Node Boundary Transform Normal Formproposed
0040Logos-Owned Reasoning Surfacesaccepted
0041Wire CLI Command Surfaceproposed
0042Wire Standard Effect Executorsproposed
0043Pulse In-Memory Runnerproposed
0044Wire Namespace Use Importsproposed
0045Wire Compile-Time Node-Body Kindsproposed
0046Wire Compile-Time Graph Formsproposed
0047Wire Frontier Linearity and Topology Operator Precedenceproposed
0048Wire Compile-Time Make for Bounded Node Generationproposed
0049Wire Phantom Record↔Ports Adapter for Topology Fansproposed
0050Wire CorePure Output Residueproposed
0051Wire Source Includes and Item Generationproposed
0052Wire Bounded Indexed Boundary Productsproposed
0053Executor Catalog Manifests and Pulse Runtime Bindingsproposed
0054Downstream Wire Packages and Host Runtime Bindingsproposed

Writing a new ADR

Use the template. Key discipline:

  • Each ADR is about one decision. If you find yourself writing two decisions in one ADR, split them.
  • Frontmatter lists status, date, and related issues.
  • Body has Context, Decision, Consequences sections at minimum.
  • An accepted ADR is canon — supersede it with a new numbered ADR rather than editing the original, except to update status and add a forward-pointer.