Skip to content

feat(decision-records): one template, and authoring discipline - #13

Merged
trungfinity merged 1 commit into
mainfrom
feat/decision-records-authoring-budget
Sep 7, 2026
Merged

trungfinity merged 1 commit into
mainfrom
feat/decision-records-authoring-budget

Conversation

@trungfinity

@trungfinity trungfinity commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

What

S2 of the convention refresh: kill the second template, and give the convention the authoring discipline it never had — without a length rule.

One template

Copying the accepted-record template was a loophole — it authors a decision directly, around the sign-off that promotion exists to enforce. The draft template in drafts/ is now the only one: a record is born a draft, and promote is the only door into accepted/ (it already mints the counter, flips status, rewrites the H1). install scaffolds one template; consumer repos delete their committed docs/decisions/_template.md copy when they bump the skill.

The discipline

The template, SKILL.md, and the scaffolded README now say what was previously unsaid: write the ruling, not the debate — cite the argument, don't restate it; delete a section with nothing to say (the template marks which may go); every sentence earns its place; a record that keeps growing is usually several rulings sharing a file. Consequences collapses from three fixed buckets to one list of lines someone will act on.

Deliberately no length rule

An earlier revision of this PR carried a ~30-line budget and a 60-line check WARN. Measured against the real corpora, that was wrong on both ends: lanh-ai's median accepted body is 230 lines (a threshold warns on all 55 records, forever — noise people learn to ignore) because records there legitimately carry specification, while the axie drafts everyone agrees are over-written run only ~32 lines — line count never measured the problem. Padding shows up at every length; that is what the bullets remove. No check, no number.

Verification

105 tests pass (install asserts the single template). validate_skills.py and pre-commit run --all-files clean.

Two templates invited a loophole: copying the accepted-record template
authors a decision directly, around the sign-off that promotion exists
to enforce. There is now one template, in drafts/ — a record is born a
draft, and promote is the only door into accepted/ (it already mints
the counter, flips the status, and rewrites the H1).

The convention also never said how to write a record, and dutiful
authors fill every section. The template, SKILL.md, and the scaffolded
README now carry the discipline: cite the argument rather than restate
it, delete a section with nothing to say (the template marks which may
go), every sentence earns its place, and a record that keeps growing
is usually several rulings sharing a file. Consequences collapses from
three fixed buckets to one list of lines someone will act on.

Deliberately NO length rule and no length check: measured against real
corpora, a pure ruling runs a few dozen lines while a record that also
carries specification legitimately runs hundreds (lanh-ai's median
accepted body is 230 lines — a threshold would warn on all 55). What
the discipline removes is padding, which shows up at every length.
@trungfinity
trungfinity force-pushed the feat/decision-records-authoring-budget branch from e5a5df2 to 8b49c8c Compare September 7, 2026 16:07
@trungfinity trungfinity changed the title feat(decision-records): one template, and an authoring budget feat(decision-records): one template, and authoring discipline Sep 7, 2026
@trungfinity
trungfinity merged commit cf54ad9 into main Sep 7, 2026
10 checks passed
@trungfinity
trungfinity deleted the feat/decision-records-authoring-budget branch September 7, 2026 16:17
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