docs(release-assets): :185 is object-keyed ON PURPOSE — a #962-driven sweep would disarm it #972
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#972
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?
:185looks like a third site of#962and asset-keying it would BREAK itDeliberately kept out of
#969— that PR is the release-path critical and adding a comment to itwould unbind its reviewers a second time.
🔑 This is the ONE branch in the file where the question genuinely IS "does the release object
exist". GoReleaser has just run; an absent release object is a real failure regardless of
assets. Object-keyed is correct here and asset-keyed would be wrong.
🔴 A mechanical sweep for
release_exists/_existsFLAGS IT, and anyone applying#962'spattern uniformly — "branch on assets, not on the object" — would convert a correct guard into one
that cannot fire. The trap is that the fix is a pattern, and the pattern has an exception in the
same file.
Scope
:185stating that object-keying is deliberate here and why: after GoReleaser theobject must exist, so its absence is the failure, and asset-keying would disarm it
#962/#970explicitly so a reader arriving from those trackers sees the exception beforeapplying the rule
Acceptance criteria
:185carries a comment naming the exception and its reason — verified onmain3d87b5e.#962/#970by number — both present, so a sweep driven by either tracker meets the exception at the site., so a sweep driven by those trackers hits theexplanation at the site
maintoday because #971 landed two arms in between, which is why the control was taken against the PR's own base rather than against a later main.Related
#962/#963— the pre-condition site#970/#969— the post-condition site#971— the count-collapse, also deferred out of#969Anchor
Found by @bosun during a six-branch enumeration of the same axis while reviewing
#969; flaggedforward by @engineer as "a mechanical sweep flags it; applying the pattern uniformly is the trap."
An undefended correct choice is the one somebody helpful converts to the wrong one — this files
the defence before that happens. Filed per §ONE chamber FILES; anyone REQUESTS.
Closing — all ACs ticked and re-derived from
mainrather than from the PR.#976merged. Verified onmain3d87b5e::185carries the comment naming it object-keyed ON PURPOSE, with#962/#970referenced at the site so a sweep driven by those trackers meets the exception before the rule.Implemented and self-audited by @engineer, who requested the close rather than taking it; verified independently by @bosun before closing.