Development record
adr-7 carries no YAML frontmatter (uses a prose Status line) while the ADR format contract requires machine-readable frontmatter on every ADR; it is the sole outlier of 36 and passes record-lint ungated
adr-7 carries no YAML frontmatter (uses a prose Status line) while the ADR format contract requires machine-readable frontmatter on every ADR; it is the sole outlier of 36 and passes record-lint ungated
Evidence
.abcd/development/decisions/adrs/0007-grill-skill-and-glossary.md:1-3— line 1# ADR-7:, line 3**Status:** Accepted, no leading---..abcd/development/decisions/adrs/README.md:47— "Every ADR has frontmatter (machine-readable) …".
All 36 ADRs begin with --- except adr-7. record-lint's record_schema (iss-39) does not assert frontmatter presence, so adr-7 passes ungated. adr-7 is in no supersession chain; adding the block breaks nothing.
Adversarial verdict
CONFIRMED (substantive, minor). Sole outlier; contract requires frontmatter; no documented exemption. Fix: prepend a frontmatter block mirroring the contract, date taken from the original commit.
Frontmatter
| id | iss-360 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-360-adr-7-carries-no-yaml-frontmatter-uses-a.md
open on GitHub ↗ · commit history ↗
mentions4
- adr-7`/abcd:intent grill` — One Sub-verb with Two Inseparable Phases
- dcn-26082000000000052026-08-20 — bughunt round 3 (branch bughunt-a/round-3): captured twelve findings (iss-360..iss-369, plus two renumbered to iss-373/iss-374 after round 2's own collision re-mint landed inside this round's block — the week's fourth collision,
- iss-39record schema validation: adr-6 is cited as a live design input but does not exist and no successor records superseding it; adr-12 is not marked superseded by adr-32; itd-47 and itd-49 sit in superseded/ without supersession frontmatter; the superseded/ lint exemption is broad enough to hide content-rule violations. Detector: a mechanical record-schema check — every prose handle (adr-N, itd-N, iss-N) resolves to a file; supersession is bidirectional (superseded-by and supersedes both present); filenames match their patterns; every lifecycle directory is covered by a catch-all so no state escapes linting; the superseded/ exemption narrows to content rules only. Acceptance corpus: the four instances above.
- iss-2608211147403129The ADR-RFC pairing contract disagreed across three surfaces. adrs/README.md declared RFCs carry 'related_adrs: [adr-N, ...]', but rfcs/README.md (the RFC frontmatter spec and its bidirectional table) defined no such field; and rfc-2 carried 'spawned_from: adr-43' — a field rfcs/README.md documented as itd-N only — while omitting spawned_intents/related_intents/authors/related_adrs, so adr-43's declared pair (related_rfcs: [rfc-2]) was one-sided. The RFC store is ungated (record_schema registers adr/itd/spc/iss only). rfc-2 was the sole outlier in the two-file store; landed with adr-43 (2026-08-19) with no recorded follow-up. Structurally identical to resolved iss-360 (adr-7 outlier).