docs(adr): renumber SDD adoption ADR 041 -> 042 (collision with renovate ADR)
All checks were successful
CI / OCR Service Tests (pull_request) Successful in 23s
CI / Backend Unit Tests (pull_request) Successful in 4m48s
SDD Gate / RTM Check (pull_request) Successful in 15s
SDD Gate / Contract Validate (pull_request) Successful in 24s
CI / fail2ban Regex (pull_request) Successful in 46s
CI / Semgrep Security Scan (pull_request) Successful in 22s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m6s
SDD Gate / Constitution Impact (pull_request) Successful in 18s
CI / Unit & Component Tests (push) Successful in 4m58s
CI / OCR Service Tests (push) Successful in 24s
CI / Backend Unit Tests (push) Successful in 5m51s
CI / fail2ban Regex (push) Successful in 48s
CI / Semgrep Security Scan (push) Successful in 23s
CI / Compose Bucket Idempotency (push) Successful in 1m9s
CI / Unit & Component Tests (pull_request) Successful in 3m36s
All checks were successful
CI / OCR Service Tests (pull_request) Successful in 23s
CI / Backend Unit Tests (pull_request) Successful in 4m48s
SDD Gate / RTM Check (pull_request) Successful in 15s
SDD Gate / Contract Validate (pull_request) Successful in 24s
CI / fail2ban Regex (pull_request) Successful in 46s
CI / Semgrep Security Scan (pull_request) Successful in 22s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m6s
SDD Gate / Constitution Impact (pull_request) Successful in 18s
CI / Unit & Component Tests (push) Successful in 4m58s
CI / OCR Service Tests (push) Successful in 24s
CI / Backend Unit Tests (push) Successful in 5m51s
CI / fail2ban Regex (push) Successful in 48s
CI / Semgrep Security Scan (push) Successful in 23s
CI / Compose Bucket Idempotency (push) Successful in 1m9s
CI / Unit & Component Tests (pull_request) Successful in 3m36s
Two ADR-041 files landed on main in parallel (sdd-adoption and renovate-runner-setup). Renames the SDD one to 042 and repoints its references (SPEC_DRIVEN_DEVELOPMENT, constitution, .specify/adrs/README, sdd-gate.yml). The renovate ADR keeps 041; its references are left untouched. Riding this PR per request. Refs #778 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit was merged in pull request #824.
This commit is contained in:
@@ -3,7 +3,7 @@ name: SDD Gate
|
|||||||
# Spec-Driven Development quality gate. Runs on PRs.
|
# Spec-Driven Development quality gate. Runs on PRs.
|
||||||
#
|
#
|
||||||
# This project is ISSUE-ONLY: a feature's spec lives in its Gitea issue body, not a committed
|
# This project is ISSUE-ONLY: a feature's spec lives in its Gitea issue body, not a committed
|
||||||
# spec.md (see ADR-041). So CI cannot lint the spec text itself — instead it validates the SDD
|
# spec.md (see ADR-042). So CI cannot lint the spec text itself — instead it validates the SDD
|
||||||
# artifacts that DO live in git: the RTM, any committed OpenAPI contract, and the constitution.
|
# artifacts that DO live in git: the RTM, any committed OpenAPI contract, and the constitution.
|
||||||
#
|
#
|
||||||
# The first two jobs are NON-BLOCKING for now (continue-on-error) so the team can adopt the
|
# The first two jobs are NON-BLOCKING for now (continue-on-error) so the team can adopt the
|
||||||
@@ -11,7 +11,7 @@ name: SDD Gate
|
|||||||
#
|
#
|
||||||
# TODO: flip rtm-check and contract-validate to BLOCKING (remove `continue-on-error: true`)
|
# TODO: flip rtm-check and contract-validate to BLOCKING (remove `continue-on-error: true`)
|
||||||
# once SDD adoption has settled — target: after the first 5 features have shipped through
|
# once SDD adoption has settled — target: after the first 5 features have shipped through
|
||||||
# the workflow. Tracked in ADR-041.
|
# the workflow. Tracked in ADR-042.
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This project already keeps a mature, permanent ADR archive at
|
|||||||
next free `NNN` (verify against the directory on disk — parallel worktrees make
|
next free `NNN` (verify against the directory on disk — parallel worktrees make
|
||||||
issue-body numbers stale). Template: [`../templates/adr.md`](../templates/adr.md).
|
issue-body numbers stale). Template: [`../templates/adr.md`](../templates/adr.md).
|
||||||
- **The decision to adopt SDD itself** →
|
- **The decision to adopt SDD itself** →
|
||||||
[`docs/adr/041-sdd-adoption.md`](../../docs/adr/041-sdd-adoption.md) (this is the
|
[`docs/adr/042-sdd-adoption.md`](../../docs/adr/042-sdd-adoption.md) (this is the
|
||||||
"ADR-000" the SDD scaffold calls for, numbered to fit the existing sequence).
|
"ADR-000" the SDD scaffold calls for, numbered to fit the existing sequence).
|
||||||
- **Feature-local decisions** that are only meaningful within one in-flight feature →
|
- **Feature-local decisions** that are only meaningful within one in-flight feature →
|
||||||
beside that feature's spec, e.g.
|
beside that feature's spec, e.g.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
**Version:** v1.0.0
|
**Version:** v1.0.0
|
||||||
**Status:** Ratified
|
**Status:** Ratified
|
||||||
**Date:** 2026-06-13
|
**Date:** 2026-06-13
|
||||||
**Adoption ADR:** [docs/adr/041-sdd-adoption.md](../docs/adr/041-sdd-adoption.md)
|
**Adoption ADR:** [docs/adr/042-sdd-adoption.md](../docs/adr/042-sdd-adoption.md)
|
||||||
|
|
||||||
> The non-negotiable rules of this project. Every spec, every PR, and every AI agent is
|
> The non-negotiable rules of this project. Every spec, every PR, and every AI agent is
|
||||||
> bound by this document. Rules here are deliberately few and absolute — guidance and
|
> bound by this document. Rules here are deliberately few and absolute — guidance and
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
|
|
||||||
When this constitution changes, the author MUST, in the same PR:
|
When this constitution changes, the author MUST, in the same PR:
|
||||||
|
|
||||||
1. Bump the **Version** header per the semantic rule above and record the change in [docs/adr/041-sdd-adoption.md](../docs/adr/041-sdd-adoption.md)'s revision log (or a superseding ADR for a MAJOR change).
|
1. Bump the **Version** header per the semantic rule above and record the change in [docs/adr/042-sdd-adoption.md](../docs/adr/042-sdd-adoption.md)'s revision log (or a superseding ADR for a MAJOR change).
|
||||||
2. Re-read and reconcile every file that restates a rule changed here: `CLAUDE.md`, `COLLABORATING.md`, `CODESTYLE.md`, `CONTRIBUTING.md`, `.specify/AGENTS.md`, and the affected `.specify/personas/*.md` checklists.
|
2. Re-read and reconcile every file that restates a rule changed here: `CLAUDE.md`, `COLLABORATING.md`, `CODESTYLE.md`, `CONTRIBUTING.md`, `.specify/AGENTS.md`, and the affected `.specify/personas/*.md` checklists.
|
||||||
3. Update any `.specify/templates/*` section that quotes a changed rule.
|
3. Update any `.specify/templates/*` section that quotes a changed rule.
|
||||||
4. Run the `constitution-diff` CI job locally (or read its PR comment) and resolve every file it lists.
|
4. Run the `constitution-diff` CI job locally (or read its PR comment) and resolve every file it lists.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
How we turn a feature idea into merged, traceable code in this repo. SDD layers a uniform,
|
How we turn a feature idea into merged, traceable code in this repo. SDD layers a uniform,
|
||||||
machine-readable front-end onto the workflow we already run (Gitea issues → branch/PR →
|
machine-readable front-end onto the workflow we already run (Gitea issues → branch/PR →
|
||||||
multi-persona review → red/green TDD). It does not replace any of that — see
|
multi-persona review → red/green TDD). It does not replace any of that — see
|
||||||
[ADR-041](./docs/adr/041-sdd-adoption.md) for the why.
|
[ADR-042](./docs/adr/042-sdd-adoption.md) for the why.
|
||||||
|
|
||||||
- **The rules** live in [`.specify/constitution.md`](./.specify/constitution.md) (humans) and
|
- **The rules** live in [`.specify/constitution.md`](./.specify/constitution.md) (humans) and
|
||||||
[`.specify/AGENTS.md`](./.specify/AGENTS.md) (AI agents, every invocation).
|
[`.specify/AGENTS.md`](./.specify/AGENTS.md) (AI agents, every invocation).
|
||||||
@@ -179,7 +179,7 @@ issue body for you via the Gitea API.)
|
|||||||
when a project-wide rule genuinely changes. Bump the semantic version (MAJOR = rule
|
when a project-wide rule genuinely changes. Bump the semantic version (MAJOR = rule
|
||||||
removed/weakened, MINOR = rule added/tightened, PATCH = wording), run the §6 Sync Impact
|
removed/weakened, MINOR = rule added/tightened, PATCH = wording), run the §6 Sync Impact
|
||||||
review, and let the `constitution-diff` CI job list the files to reconcile. Record the bump
|
review, and let the `constitution-diff` CI job list the files to reconcile. Record the bump
|
||||||
in ADR-041's revision log (or a superseding ADR for MAJOR).
|
in ADR-042's revision log (or a superseding ADR for MAJOR).
|
||||||
- **AGENTS.md** — keep it under 200 lines. It cross-references the constitution; it must never
|
- **AGENTS.md** — keep it under 200 lines. It cross-references the constitution; it must never
|
||||||
duplicate or contradict it.
|
duplicate or contradict it.
|
||||||
- **ADRs** — project-wide/irreversible decisions go in [`docs/adr/`](./docs/adr/) (next free
|
- **ADRs** — project-wide/irreversible decisions go in [`docs/adr/`](./docs/adr/) (next free
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
# ADR-041 — Adopt Spec-Driven Development (SDD)
|
# ADR-042 — Adopt Spec-Driven Development (SDD)
|
||||||
|
|
||||||
**Status:** Accepted
|
**Status:** Accepted
|
||||||
**Date:** 2026-06-13
|
**Date:** 2026-06-13
|
||||||
**Issue:** SDD integration (docs/sdd-integration branch)
|
**Issue:** SDD integration (docs/sdd-integration branch)
|
||||||
|
|
||||||
> This is the "ADR-000" the SDD scaffold refers to, numbered 041 to fit the existing archive
|
> This is the "ADR-000" the SDD scaffold refers to, numbered 042 to fit the existing archive
|
||||||
> sequence rather than starting a parallel one. See [`.specify/adrs/README.md`](../../.specify/adrs/README.md).
|
> sequence (041 was taken by the Renovate runner-setup ADR merged in parallel). See
|
||||||
|
> [`.specify/adrs/README.md`](../../.specify/adrs/README.md).
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
Reference in New Issue
Block a user