Skip to content

docs: add an architecture decision log#10

Merged
kikashy merged 1 commit into
mainfrom
docs/adr-log
Jul 24, 2026
Merged

docs: add an architecture decision log#10
kikashy merged 1 commit into
mainfrom
docs/adr-log

Conversation

@kikashy

@kikashy kikashy commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Adds a lightweight architecture decision log so the cross-cutting stances behind the runtime -- the ones no single diff owns -- have a greppable, durable home.

Why

Commit and PR bodies here already carry good rationale, but a stance like "no packages/ umbrella" or "language plurality at the wire" is owned by no single change and can't be found in git log. The specification uses RFCs for normative, public, comment-before-commit proposals; the runtime needs a lighter record for implementation decisions already made.

What

MADR-format ADRs under docs/adr/:

# Decision Status
0000 Record runtime decisions with MADR ADRs (+ the RFC/ADR split) accepted
0001 Idiomatic Go single-module layout; no packages/ accepted
0002 Language plurality at the wire + thin clients, not polyglot packages accepted
0003 MCP is the integration/testing surface proposed
0004 Defer the HTTP API until validation-as-a-service is real proposed

0003 and 0004 are stubs, honest about status. 0003 records the settled constraints (MCP/stdio/keyless, Cline as reference client, examples read from a spec-repo checkout, Phase 0 -> review -> Phase 1) with the build gated on that review; 0004 records a deferral, not a design.

Also adds a ## Decisions section to docs/architecture.md linking the log, so architecture.md keeps describing the system as it is while the ADRs hold why and when.

Docs-only; no code, no behavior change.

🤖 Generated with Claude Code

Record the cross-cutting decisions no single commit represents, as MADR-format
ADRs under docs/adr/:

- 0000 adopts ADRs for the runtime and states the split from the specification's
  RFCs: implementation decisions are ADRs; normative, cross-implementation
  proposals stay RFCs.
- 0001 keeps the idiomatic Go single-module layout and rejects a packages/
  umbrella.
- 0002 places language plurality at the wire and in thin clients rather than in
  polyglot packages, governing the mcp and sdk seams.
- 0003 (proposed) makes MCP the integration and testing surface, with the build
  gated on a Phase 0 review; records the settled constraints -- stdio, keyless,
  Cline, spec-repo examples.
- 0004 (proposed) defers the HTTP API until validation-as-a-service is needed.

architecture.md gains a Decisions section linking the log, so it keeps
describing the system as it is while the ADRs hold why and when.

Docs only; no code or behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Brian Jin <35789537+kikashy@users.noreply.github.com>
@kikashy
kikashy merged commit 63eb693 into main Jul 24, 2026
4 checks passed
@kikashy
kikashy deleted the docs/adr-log branch July 24, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant