spec/ — the canonical language-agnostic process
This is the source of truth for everything a conforming repo carries, independent of its
implementation language. A repo consumes these files by vendoring a read-only copy into its
own docs/process/ via the sync mechanism
(sync/SYNC.md);
it never edits a vendored copy. Edit the spec here.
The rule: this repo owns the SPEC (these files); each consuming repo owns its language’s IMPLEMENTATION. Nothing here is normatively language-specific.
| File | What it governs |
|---|---|
lifecycle.md |
The factory’s path from a one-line idea to a monitored service: each stage’s artifact, gate and decider, and how autonomy is granted by risk class. Start here. |
session-types.md |
The typed sessions that run the lifecycle, each a contract: trigger, inputs, outputs, gate, scope, who is in the loop, home. |
process-guide.md |
The engineering lifecycle: the phases and the Definition of Done a service moves through, with tools per phase. Informative; the other files are normative. |
service-conventions.md |
The §1–10 operational + HTTP contract surface: API description, health, telemetry, logging, trace propagation, container interface, event envelope, purity, variation behind a contract with every flag defaulted, the problem document. |
deployment-conventions.md |
The deployment contract: runtime reproducible from files, migrations as a release step, secrets and fail-fast, health wiring, the smoke gate, CD from main. |
gate-discipline.md |
What makes a gate script’s verdict trustworthy: one script, the gate order, declared inputs, committed failing fixtures, exit codes, coverage ratchets, nothing without a caller. |
adr-discipline.md |
How decisions are recorded (Context → Decision → Consequences), numbered, superseded; process-level vs repo-level ADRs. |
adr-template.md |
The single-ADR template to copy. |
concept-note-structure.md |
The learning curriculum: the fixed concept-note form and the onboarding-path discipline. |
session-ritual.md |
The begin/wrap work-session ritual, the handoff format, and the ephemeral-briefs lifecycle. |
Changing any file here is a spec change: bump the repo
VERSION per the
policy in
CLAUDE.md
(patch = clarification, minor = additive obligation, major = breaking), so consumers see the
drift and re-sync deliberately.