Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc6d5628a7 | ||
|
|
1f7f53e6c0 |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "skills",
|
||||
"description": "Mathias's engineering skills library, plus the hooks and MCP servers that make it enforceable: TDD, clean code, debugging, specs, discovery, CI, and secret hygiene.",
|
||||
"version": "0.18.0",
|
||||
"version": "0.18.1",
|
||||
"author": {
|
||||
"name": "Mathias",
|
||||
"url": "https://git.d-ma.be/mathias"
|
||||
|
||||
+21
-2
@@ -58,8 +58,8 @@ adr: 0004
|
||||
title: <the decision, as a sentence — not "database choice">
|
||||
status: proposed | accepted | superseded | amended
|
||||
date: 2026-08-29
|
||||
deciders: <who accepted it, by name — or "pending: <name>" while proposed>
|
||||
supersedes: <adr number, or ->
|
||||
deciders: <who accepted it, by name — or "pending: <name>" (QUOTED) while proposed>
|
||||
supersedes: <adr number, or null>
|
||||
---
|
||||
|
||||
# ADR-0004 — <same title>
|
||||
@@ -97,6 +97,25 @@ the condition that fires a revisit. An ADR with no validation section is a prefe
|
||||
with a template around it.
|
||||
```
|
||||
|
||||
### The frontmatter must actually parse
|
||||
|
||||
It exists to be machine-read, so a block that does not load is worse than no block at
|
||||
all: it drops that ADR silently out of every "what is still open?" query, while looking
|
||||
correct. Two shapes this template used to suggest are invalid YAML, and both were found
|
||||
live in the estate on 2026-09-05 — `openbanking-api` ADR-0001 and `infra` ADR-0019, each
|
||||
copied verbatim from here:
|
||||
|
||||
| Wrong | Why | Right |
|
||||
|---|---|---|
|
||||
| `supersedes: -` | a bare dash is a YAML *sequence entry*, not a string | `supersedes: null` |
|
||||
| `deciders: pending: Mathias` | the second, unquoted colon reads as a nested mapping | `deciders: "pending: Mathias"` |
|
||||
|
||||
Check before committing:
|
||||
|
||||
```sh
|
||||
python3 -c "import yaml,sys;yaml.safe_load(open(sys.argv[1]).read().split('---')[1]);print('ok')" docs/adr/0004-*.md
|
||||
```
|
||||
|
||||
## Preserving a productive tension
|
||||
|
||||
Some tradeoffs are not unresolved because nobody thought hard enough. They are
|
||||
|
||||
Reference in New Issue
Block a user