Process Architecture Decision Records
Decisions that govern the process repo itself and bind every repo that follows the
process — as opposed to any single repo. Each captures one decision as
Context → Decision → Consequences, following ../spec/adr-discipline.md.
Repo-level decisions (a service’s bounded context, data store, stack, …) live in that
repo’s docs/adr/, not here. A decision lands here only when it binds every repo or
the process’s own machinery.
| # | Decision | Status |
|---|---|---|
| 0001 | Process repo structure + the template/sync consumption model: one spec, vendored read-only and pinned, drift surfaced as a red gate and a reviewable diff | Accepted |
| 0002 | Repo seeding: a new repo begins with its gate. scaffold/ is common/ + lang/<language>/ + a seeder; the language has no default; seeded files are owned, not synced |
Accepted |
| 0003 | The .claude/ boundary: a plugin-distributed normative core (the ritual, the skills) plus a repo-owned overlay; the sync manifest is not extended to .claude/ |
Accepted |
| 0004 | Gate inputs are declared data: a manifest, a meta-gate that needs no inputs and checks every caller, and a credential that declares its expiry | Accepted |
| 0005 | The service plan format, cited to its spec by digest, and a plan critic split into a mechanical gate and a judging agent | Proposed |
| 0006 | One problem-document convention: a URN type, snake_case codes, a shared vocabulary, validation_failed for every 400 |
Accepted |
| 0007 | The pipeline driver and chain: one session headless in the service repo, judged by the gate the workflow runs, retried within a cap, bounded by two ceilings | Proposed |
| 0008 | Auto-merge: one decision script, autonomy granted by risk class, and the reader reads every session before it can land | Proposed |
| 0009 | Every option in one registry, set in a reviewed .xal/factory.conf, with a default; switches act on the forge through the CLI |
Proposed |
Provenance. These decisions were made and proven in the author’s private repositories before this repo existed, and are re-recorded here with the product-specific context removed: 0001 to 0004 on 2026-09-20, 0005 to 0008 on 2026-10-05. The original dates are given in each record, and each lifted file is listed in
../docs/lift-ledger.md. A record that is Proposed at its source arrives Proposed here.