Skip to content

docs(adr): unify the ADR practice with the sibling packages, enforce the index - #33

Merged
parisek merged 1 commit into
mainfrom
docs/unify-adr-practice
Jul 30, 2026
Merged

docs(adr): unify the ADR practice with the sibling packages, enforce the index#33
parisek merged 1 commit into
mainfrom
docs/unify-adr-practice

Conversation

@parisek

@parisek parisek commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Part of unifying ADR infrastructure across the four Composer packages (styleguide, timber-kit, definition-kit, acf-json-schema). tailwind-base is deliberately out of scope — it is not a Composer package.

Context

The good parts of the practice were split across repos. This one was already in the best shape of the four: five ADRs, all indexed, a full AGENTS.md section, the restraint rules, the template block — and, uniquely, the habit of citing an ADR at the point of the constraint it explains rather than only from the index (AGENTS.md:51"…the per-type branch lives in the generated field-item gate now (ADR 0005)"). That habit is being carried to the siblings.

What was missing were two rules and any enforcement.

What changes

  • Qualified cross-repo citations. tailwind-base ADR-0007, never a bare ADR 0007. Numbering spaces are per-repo, so a bare number sends the reader to this repo's docs/adr/ — where 0007 does not exist at all. In parisek/styleguide exactly that had happened: six comments in src/ cited a bare ADR 0007 that lives in tailwind-base, reading as a dangling reference.
  • The index is mandatory, and checked. scripts/check-adr-index.py — shared verbatim with the three siblings — fails on an ADR missing from the index, a duplicate number, an index entry with no file, or an off-convention filename. Wired as composer adr, folded into composer check, and as the CI job docs/adr/ index is in sync (~4 s, no PHP setup needed).
  • The merge-gate sentence: the ADR lands in the same PR as the work it describes.

This repo passes all four checks today. Nothing here is broken — the check is a guard against drift a sibling had already accumulated (a 429-line draft sitting in docs/adr/ off-convention and absent from the index, removed in parisek/timber-kit#96).

Not included

Introducing styleguide's full documentation-gate table (| You changed… | Update… |) into this repo. That is a larger unification than ADRs and deserves its own decision; the merge-gate sentence carries the same obligation for ADRs in the meantime.

composer.json stays normalized (composer normalize verified). No runtime code touched.

…the index

Adds the two rules this repo lacked — qualified cross-repo citations and a
mandatory index entry — plus the shared scripts/check-adr-index.py that enforces
the second (composer adr, CI job, folded into composer check).

docs/adr/ here is already clean on all four failure modes; the check guards
against the drift a sibling had already accumulated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KvMQkTAH56HnoeUHQTuAAk
@parisek
parisek merged commit ecce4c2 into main Jul 30, 2026
4 checks passed
@parisek
parisek deleted the docs/unify-adr-practice branch July 30, 2026 21:33
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