# Architecture Decision Records Short, immutable records of the *why* behind decisions that shape this codebase. Code and docs say what the system does; ADRs say why it does it that way and what we gave up. Format: one file per decision, numbered, with Status / Context / Decision / Consequences. An ADR is never edited into a different decision — supersede it with a new one and cross-link. | # | Title | Status | |---|---|---| | [0001](0001-vendor-cordis-as-source.md) | Vendor Cordis as source, not npm dependencies | accepted | | [0002](0002-microkernel-event-taxonomy.md) | Microkernel: extension via Cordis event taxonomy, one concrete loop | accepted | | [0003](0003-event-sourced-sessions.md) | Event-sourced sessions with derived message history | accepted | | [0004](0004-own-content-block-vocabulary.md) | Provider-neutral content-block vocabulary owned by dsh-llm | accepted | | [0005](0005-custom-schema-dsl-over-schemastery.md) | Custom typed tool-schema DSL instead of schemastery | accepted | | [0006](0006-tool-schemas-in-prompt-assembly.md) | Tool schemas are part of the system-prompt assembly | accepted | | [0007](0007-quality-gates.md) | Mechanical quality gates over prose guidelines | accepted | | [0008](0008-tsdown-over-dumble.md) | tsdown for JS bundling instead of dumble | accepted |