Architecture Decision Records#
This directory contains the ADRs (Architecture Decision Records) for
create-spec-driven-app. See CONTRIBUTING.md
for the policy on when and how to write an ADR.
Index#
| # | Title | Status | Date |
|---|---|---|---|
| 0001 | node:test over Jest | Accepted | 2026-05-12 |
| 0002 | Bash for init script | Superseded by ADR-0008 | 2026-05-12 |
| 0003 | JavaScript for expand engine | Accepted | 2026-05-12 |
| 0004 | YAML for pack format | Accepted | 2026-05-12 |
| 0005 | Multi-environment .env.* strategy | Accepted | 2026-05-12 |
| 0006 | Node.js engine for init | Accepted | 2026-05-12 |
| 0007 | Flip default engine to Node.js | Accepted | 2026-05-12 |
| 0008 | Remove Bash engine and validate_specs.sh | Accepted | 2026-05-12 |
| 0009 | SpecOps remote packs + .specops.lock | Accepted | 2026-05-12 |
| 0010 | SpecOps sync + diff | Accepted | 2026-05-12 |
| 0011 | Contracts pack + --strict-tdd gate | Accepted | 2026-05-13 |
| 0012 | plan + done implementation loop | Accepted | 2026-05-13 |
| 0013 | harness run — spec-driven delivery loop for AI agents | Accepted | 2026-05-14 |
| 0014 | pack infer — heuristic .feature → pack.yaml inference | Accepted | 2026-05-14 |
| 0015 | Change lifecycle — propose → review → archive | Accepted | 2026-08-15 |
| 0016 | Delta spec format — ADDED / MODIFIED / REMOVED | Accepted | 2026-08-15 |
| 0017 | The agent JSON contract | Accepted | 2026-08-15 |
| 0018 | Artifact schemas — a dependency graph, not a phase gate | Accepted | 2026-08-15 |
| 0019 | One studio surface — specgate studio, not a standalone app | Accepted | 2026-08-16 |
| 0020 | One pack format, with the JSON Schema as its authority | Accepted | 2026-08-17 |
| 0021 | The ALM is a mirror; inbound work enters through a change | Accepted | 2026-08-20 |
| 0022 | Patterns are optional; principles are not | Accepted | 2026-08-21 |
| 0023 | Checking content: a gate where it is decidable, a report where it is not | Accepted | 2026-08-26 |
| 0024 | The tool is renamed to Specgate; the on-disk format is not | Superseded in part by 0032 | 2026-08-26 |
| 0025 | Simulated adoption is GATE-G6, not GATE-G3 | Accepted | 2026-09-01 |
| 0026 | The default gate is the strong gate, from 1.0 | Accepted | 2026-09-02 |
| 0027 | Use cases are a layer, not a column | Accepted | 2026-10-07 |
| 0028 | Architecture conformance is part of the gate | Accepted | 2026-10-07 |
| 0029 | A brief becomes a draft change, not a spec | Accepted | 2026-10-08 |
| 0030 | Specgate verifies OpenSpec specs it did not write | Accepted | 2026-10-08 |
| 0031 | AGENTS.md is the agent contract; AI_RULES.md folds into it | Accepted | 2026-10-09 |
| 0032 | One name everywhere: the format is renamed too | Accepted | 2026-10-12 |
| 0033 | One front door, two engines: Specgate drives forja | Accepted | 2026-10-12 |
Template#
Copy docs/specs/adr/0001-node-test-over-jest.md as a starting point, or use
the template in CONTRIBUTING.md.