test: correct changelog guard trio interaction #127
No reviewers
Labels
No labels
attention
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-ruling
needs-triage
offsite
post-merge
ready
release
scope:docs
scope:guards
scope:labels
scope:release-flow
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/ceremony#127
Loading…
Reference in a new issue
No description provided.
Delete branch "build/126-changelog-assembled-trio"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #126
Summary
Correct the changelog guard trio test after fragment-mode
changelog-armedchanged the dropped-entry outcome, and preserve the assembled-only-red claim on the existing hand-edited fixture.Worklog
not consumed; assembled names the lost entry.## Unreleasedentry citing (#126).bash test/changelog-assembled.test.shis green and its count grows (37 passed).changelog.d/).shellcheck -x test/changelog-assembled.test.shis clean.test/run.shis green (17/17 files).test/changelog-assembled.test.shandCHANGELOG.md.Acceptance criteria
test/run.shis green on a clean checkout ofmainwith this PR applied — 17/17 files.test/changelog-assembled.test.shrun alone is green, and the count grows to 37.git diff --stattouches onlytest/changelog-assembled.test.shandCHANGELOG.md.Test plan
bash test/changelog-assembled.test.sh— 37 passed, 0 failed.changelog.d/from the dropped fixture immediately before the trio rows; the amended armed row failed withexit 0, wanted 1; restored the tracked file exactly afterward.shellcheck -x test/changelog-assembled.test.sh— clean (the repository’s canonical sourced-file mode).test/run.sh— 17 passed, 0 failed.🔎 reviewing head
e37c2dfeef🔎 reviewing head
e37c2dfeefVerdict: approve
Reviewed against #126 at
e37c2dfeef2e7088b50f5a0bf543d1cc53c71f40.Acceptance criteria
test/run.shgreen, 17/17 filestest/changelog-assembled.test.shalone green; count growsnot consumed; monotonic green; assembled expectsNine landedallegedlyCHANGELOG.mdgit diff --stat origin/main...HEADis exactly those two paths## Unreleasedentry citing(#126)Verification run
bash test/changelog-assembled.test.sh→ 37 passed, 0 failedbash test/run.sh→ 17 files passed, 0 failedshellcheck -x test/changelog-assembled.test.sh→ cleanchangelog.d/from the dropped fixture before the amended armed row →FAIL: … exit 0, wanted 1— row is pinned to fragment mode, not a loose messageScope / constraints
No guard behavior changes under
actions/,bin/, orlib/— test amendment only, as #126 requires. Does not carry the out-of-scopetest/changelog.test.shhunk that belongs to #117/#125.Non-blocking: none that would hold a merge.
Approving this head.
Approve — head
e37c2dfeef2e7088b50f5a0bf543d1cc53c71f40, reviewed against issue #126's acceptance criteria.What I verified (ran, not read)
bash test/changelog-assembled.test.shon the head, alone: 37 passed, 0 failed. The count grew from 34 rows — the two dropped-entry rows were amended in place and the three hand-edited rows added, not swapped in.bash test/run.sh: 17 files passed, 0 failed — main's red row is fixed.shellcheck -x test/changelog-assembled.test.sh: clean.changelog.d/from thedroppedfixture immediately before the trio rows and re-ran. The amended armed row failed withexit 0, wanted 1(36 passed, 1 failed) — the row is pinned to #115's fragment mode itself, not merely to a message string. This reproduces the PR's worklog claim exactly.git diffagainst the merge base736733etouches exactlytest/changelog-assembled.test.shandCHANGELOG.md.Criteria walk
not consumed(armed names only the surviving file,changelog.d/9.md); the assembled row assertsNine landed— the lost entry's prose, which neither armed nor monotonic ever reports. The guard's distinct claim survives the interaction.agrees— the section is publishable and no fragment survives), monotonic green (still present), assembled the sole red (allegedly). #116's "only red" argument now stands on the tree where it actually holds.## Unreleasedciting (#126), inserted above the existing entries, heading untouched.No guard behavior changed; nothing under
actions/,bin/, orlib/is in the diff. #125 has not merged, so the issue is live and this is the right vehicle.🔎 reviewing head
e37c2dfeefApprove — head
e37c2dfeef2e7088b50f5a0bf543d1cc53c71f40, reviewed whole against issue #126's acceptance criteria.What I verified (ran, not read)
bash test/changelog-assembled.test.shalone at this head: 37 passed, 0 failed — count grows, rows added not swapped. ✓droppedfixture delete itschangelog.d/instead of restoring the fragment, re-ran — the amended rowtrio, dropped-entry tree: changelog-armed red too (unconsumed fragment)failed withexit 0, wanted 1, exactly as required. The row is pinned to fragment mode, not to a message. ✓git diff --stat origin/main...HEAD: onlytest/changelog-assembled.test.sh(+18/−7) andCHANGELOG.md(+1). ✓## Unreleasedciting(#126), inserted above the#115line — correct legacy-mode placement per CONTRIBUTING. ✓test/run.shandshellcheckcould not run on my box (node,jq,shellcheckabsent — every local failure traced tocommand not found, none to the diff). Both are covered by CI gates on this head: thetestjob (which runsshellcheck-all.shper.github/workflows/ci.yml:19) is green, as areself-guardsand the exercise jobs.Acceptance criteria
test/run.shgreen, 17/17testjob green on this headcheck ... "Nine landed" run dropped baseat exit 1; armed's red carries onlynot consumed, monotonic stays greenagrees, monotonic greenstill present, assembled redallegedly, all three new rows greenScope check
Nothing under
actions/,bin/, orlib/touched — the issue's "no guard behavior changes" holds. The out-of-scopechangelog.test.shhunk from the #125 branch is correctly absent.Non-blocking nit
The comment's trailing parenthetical (
#117's flip recorded the interaction as it now stands) reads a touch ahead of reality — #117 hasn't landed; this PR is what records the interaction. Harmless, and the comment carries its load either way.