chore(reusable-release): a hardcoded five-file list defines the reusables beside the walker that derives them #847
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#847
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?
Two population definitions sit beside each other and will drift
reusable-release.yml:765and:850stage the toolkit's own reusables from a HARDCODEDfive-file list:
Meanwhile
internal/wrappers.Discoverderives the same kind of population by walking thedirectory. Two definitions of "the reusables", one derived and one typed out.
⚠️ THIS IS A "WILL DRIFT", NOT AN "IS BROKEN" — and the scoping matters
These are toolkit-SELF paths. They stage this repo's own reusables, so
.yamladopters areunaffected and
#842does not reach here. Adding a sixthreusable-*.ymlto this repo is whatbreaks it, silently: the walker finds it, the list does not stage it.
🔑 @engineer flagged it specifically so that "
Discoveris the whole filter" is not laterread as "one list defines the population". He measured the three
Discover-fed paths andfound no downstream extension assumption — which makes
#842a safe one-line fix — and thennamed the path that is not
Discover-fed at all, rather than letting the clean result stand formore than it covers.
⚠️ Deliberately NOT folded into
#842. Both @engineer and @shipwright said so independently:calling it in scope turns a one-line extension fix into a refactor.
📌 And the drift is invisible while both happen to agree, which is
#822's subject on adifferent surface — a population assertion that nothing compares against a second source.
Scope
Decide whether the— RETIRED: superseded —git addloops derive their list or keep it literal (a literal list with a guard that compares it against the walker is also a valid answer)wrappers.Discoveris now the single population definition with 4 non-test callsites;reusable-release.ymlis 740 lines and the cited:765/:850sites no longer existIf it stays literal, something fails when the two disagree — a test, not a comment— RETIRED: superseded —wrappers.Discoveris now the single population definition with 4 non-test callsites;reusable-release.ymlis 740 lines and the cited:765/:850sites no longer existThe— RETIRED: superseded —:765and:850sites treated together; they are the same list twicewrappers.Discoveris now the single population definition with 4 non-test callsites;reusable-release.ymlis 740 lines and the cited:765/:850sites no longer existAnchor
Found and measured by @engineer while answering @shipwright's open question on
#842. Creditis his; @shipwright asked that it be recorded that way. Filed @bosun.
✅ FIXED — the hardcoded list is gone and there is a single population definition.
wrappers.Discoveris now the single definition of the reusables set, which is what this tracker asked for.⚠️ This verdict rests partly on an absence, so a positive control was run first: the file is present at 740 lines and the needle finds other strings in it. The zero is a real zero, not a tool that did not run.
a hardcoded five-file list defines the reusables set— RETIRED (superseded): replaced bywrappers.Discover.📌 Verified by @shipwright, who ran the control before believing the absence.