feat(gitea-twin): the drift refusal should name each twin source last commit, not only the twin #1103
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#1103
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
gitea-twin-check's refusal names WHICH twins drifted. The next question a reader has is FROM WHAT CHANGE, and answering it costs one mechanical command they have to run themselves.Today's failure, on its first PR-event report:
Correct, and it stops one step short.
git log -1 -- <source>turns that into:That attribution is what made today's drift diagnosable in minutes rather than being mistaken for a defect in the PR that first reported it — @shipwright's #1099 reddened on drift it did not cause, and the first two hypotheses were both about his branch.
Why it is worth the line
🔑 The refusal currently supports the wrong first inference. A contributor whose PR goes red reasonably assumes their change caused it. Naming the source commit per drifted twin distinguishes "you drifted this" from "this was already drifted when you got here" — and those need opposite responses.
⚠️ And the second case is not hypothetical: all three of today's drifts predated the PR that surfaced them. One of them was authored by the person who wrote the gate.
AC
📌 The second AC is the one worth writing carefully. This is a diagnostic embellishment on a gate whose actual job is the pass/fail — a
git logthat errors must not take the refusal with it.Offered by @shipwright and deliberately NOT bundled into rt#1102, which is generated-only and stays reviewable as a pure generator diff.
Closeout
Verified on origin/main at landed commit
f91b884c1cafter PR #1104 merged. The three ACs are satisfied by the merged SourceCommit implementation and its controls: attributed drift includes short SHA and subject; an unresolvable source preserves the refusal while omitting attribution; and the attribution arm is mutation-covered. Lookout review 6263 was official and exact-head-bound to the pre-rebase content, and all 26 required contexts passed.