Skip to content

fix(adr): a record freezes at the merge that lands it - #586

Merged
aaronsb merged 1 commit into
mainfrom
fix/adr-frozen-first-parent
Sep 27, 2026
Merged

aaronsb merged 1 commit into
mainfrom
fix/adr-frozen-first-parent

Conversation

@aaronsb

@aaronsb aaronsb commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Decided: the frozen-decision check walks first-parent history of the default branch. A record accepted on a PR branch and revised during review now freezes at the merge commit, which is where it lands. make test-adr also lints the repo's own records, so a red corpus fails CI.
  • Trades away: nothing observable. On a squash or rebase merge, first-parent history is the same as full history.
  • One-way? No.
  • Probes: Confident: the new golden v1-frozen-merged-branch fails without the fix and passes with it; -edited confirms that editing after the merge still errors. Not confident: CI's shallow checkout, where the history walk sees only HEAD. The check then can't fire there, so it produces no false errors, but it also catches nothing in CI.
  • Inversion: freeze at the first accepted commit anywhere in history, or at the commit that lands on the default branch. feat(adr): agent-ways adopts adr/v1 and migrates a first sample #581 already chose the second. This change makes the history walk honour it for merge commits.

Why

Since #581 and #583 merged, adr lint on main reports 4 errors: basis, targets and verb on ADR-179 and ADR-186 "changed after the decision left proposed". The changes were review fixes made on the PR branches before merge. Nothing in CI linted the repo's records, so main went red without a failing check. I found it while drafting ADR-306.

make test-adr: golden 105, macro 31, all passing. Repo lint: 0 errors, 0 warnings.

…'s first accepted commit

The frozen check walked every parent of the default branch, so a record
accepted on a review branch and revised there froze at the pre-review
commit. Main has carried two false errors on ADR-179 and ADR-186 since
#581 and #583 merged. The walk is now --first-parent (with -m for older
git). make test-adr lints the repo's own records, so this class of break
fails CI.
@aaronsb
aaronsb merged commit 2baafdf into main Sep 27, 2026
6 checks passed
@aaronsb
aaronsb deleted the fix/adr-frozen-first-parent branch September 27, 2026 16:14
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