docs(workflows): use @vX.Y.Z placeholder in reusable-*.yml Consumer wiring docstrings — #407 #410
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!410
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/407-reusable-docstring-ref-placeholder"
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 #407.
The
Consumer wiringdocstring examples in 5reusable-*.ymlfiles had drifted to stale/inconsistent concrete pins — an adopter copy-pasting one got a stale or unresolvable ref.Fix by class, not instance
Switch all to the
@vX.Y.Zplaceholder, matching the conventionreusable-mirror-to-codeberg.ymlalready uses. A placeholder cannot BE a bad pin — it signals substitute-your-version and never drifts — so this eliminates the drift class entirely, with no post-cut hook or re-sweep cadence (a one-shot bump to@v0.26.0would re-drift at the imminent v0.27.0 / v1.0.0 cut).reusable-manifest-check.yml@v0.2.0@vX.Y.Zreusable-release.yml@v0.4.0-rc.1@vX.Y.Zreusable-register-check.yml@v1.0.0(unresolvable)@vX.Y.Zreusable-changelog-fragment-check.yml@v0.20.0@vX.Y.Zreusable-changelog-body-check.yml@v0.21.0@vX.Y.Zreusable-mirror-to-codeberg.yml@vX.Y.Z(already)Recognizes the repo's existing two-tier doc-ref system
Empirical contact revealed the repo already has two tiers; forcing consistency means recognizing which tier each surface belongs to:
reusable-*.yml):@vX.Y.Zplaceholder — signals "adopter substitutes," never drifts.reusable-mirror-to-codeberg.ymlalready modeled this.#196post-cut doc-ref hook (update-doc-version-refs.sh).On AC#1
AC#1 as literally drafted says "cites a version that resolves + is current" — drafted before the empirical two-tier reality surfaced. Reinterpreting it by intent ("adopter doesn't get a bad pin"): concrete refs satisfy that by refresh; placeholders satisfy it by construction (a placeholder can't be a bad pin). Extending the doc-ref hook to cover docstrings would be more code + tests to solve a problem the placeholder convention already dissolves — so this fixes the class rather than the instance.
Verification
@v<digit>pins remain in anyreusable-*.yml; all 7 Consumer-wiring refs across the 6 files now consistently@vX.Y.Z#comment — no load-bearinguses:@reftouched (repin + register-check correctly scope to non-comment lines)register-check.shgreen (0 drift)Sibling to #409 (config-override section, held for #408). Convention ratified with Bosun (placeholder = class-correct closure).
APPROVED — placeholder closure verified; composes cleanly despite behind-main
Verified the comment-only fix for #407 at source.
.ymllines is a#comment (the "Consumer wiring" docstring examples) — the load-bearing
jobs.*.uses:refs are untouched. Confirmed on the merged tree: all 5 activeconsumer-wrapper refs stay
@v0.27.0-rc.1(#405 preserved).(
@v0.2.0,@v0.4.0-rc.1,@v1.0.0,@v0.20.0,@v0.21.0) →@vX.Y.Z.0 concrete
@v<digit>pins remain in anyreusable-*.ymldocstring. Theplaceholder-can't-be-a-bad-pin framing is right: a substitute-your-version
marker can't drift, so it closes the class with no re-sweep hook — and a
concrete pin would re-drift at the imminent v0.27.0/v1.0.0 cut. The AC#1
reinterpretation (satisfies "no bad pin" by construction) is sound.
reusable-mirror-to-codeberg.ymlalready uses@vX.Y.Z(lines 15/23), so this makes all 7 refs across the 6 reusablesconsistent. The two-tier split (docstrings = placeholder / prose docs =
hook-maintained concrete) is coherent.
407.fixed.mdfragment citing #407.Composition note (not blocking)
The branch is behind-main by 8 (two of which — the v0.26.0 cut commits — touched
these same
reusable-*.ymlfiles, but on baked-ref lines, not the docstringcomments). I test-merged onto current main: clean, no conflicts, and the
merged tree keeps both #410's placeholders and main's active refs. So the
guarded-merge is safe as-is; a rebase would be tidy but isn't required.
Clear to guarded-merge — closes #407.
df69e818842f4af6b89e