Skip to content

Decision log

Decision log

Architecture Decision Records — each one captures a single real design decision, the context that led to it, and its honest trade-offs, so nobody has to reconstruct "why did we do it this way?" from git blame later. See adr.github.io for the convention this follows. Numbers are sequential and never reused, even for a rejected or superseded decision — a reference to "ADR-0003" always points at the same file.

This is a different kind of document from docs/claude/plans/: a plan is written before a change lands, to think through how to make it; an ADR is a durable record of a decision already made, kept accurate after the fact (superseded by a new ADR when circumstances change, never rewritten in place).

# Decision Status
0001 Remote BuildKit builder, no local Docker-in-Docker accepted
0002 Credentials never touch argv, env history, or the clone URL accepted
0003 Registry resolution via server-side mapping rules accepted
0004 SSH host key verification is always enforced accepted
0005 The BDD suite runs on Thomas, a real-command framework accepted
0006 A reusable chart owns every test namespace, not --create-namespace accepted
0007 Structured registry auth, and an auto-rendered settings file accepted
0008 GET/DELETE /image for existence checks and best-effort deletion accepted
0009 Event-oriented structured logging, and log/trace correlation via OpenTelemetry accepted
0010 Capture git/docker subprocess output to files instead of stdout accepted
0011 GET /devcontainer: merged Dev Container metadata, read from the image accepted
0012 Dev Container → Kubernetes runtime mapping accepted (hostRequirements part superseded by 0014)
0013 A fallback image for repositories without a devcontainer.json accepted
0014 hostRequirements are minimums accepted
0015 customizations.kubernetes for pod resources and node placement accepted