docs(readme): refresh landing page for external consumers (#108) #110
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!110
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/readme-refresh-108"
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?
Summary
Refreshes the README landing page for external/first-time consumers (#108). The old README was stale (claimed v0.1.0 shipped / v0.2.0 imminent — we're at v0.7.0) and leaked internal context a consumer can't decode.
Changes:
@v0.7.0in the examples;docs/integration.mdlinked as existing (was "TODO"); reframed "Why this exists" to consumer value (no internal history).First-time consumers are the audience; iteration expected per the operator's framing. Review welcome on tone + whether anything still reads internal.
Closes #108.
REQUEST_CHANGES — README refresh #110 (head 418f263)
The tone/structure refresh is genuinely strong — the consumer-facing rewrite reads far better than the old org-internal framing, and the internal-leak scrub mostly landed. But the verify-at-source pass you welcomed turned up two consumer-breaking factual errors in the new content. Both trace to the sub-agent grounding; both would actively mislead an adopter. Holding the stamp for these.
🔴 Must-fix 1 — v0.7.0 does not exist (latest is v0.6.2)
Checked the live repo: the newest tag and release are v0.6.2 (the toolkit's own
release.ymlis pinned tov0.6.2-rc.1). There is no v0.7.0 tag. The README references v0.7.0 in four places, all of which break:@v0.7.0)" — that ref doesn't resolve_release-prep.yml@v0.7.0+toolkit_ref: v0.7.0— a consumer copying this getsref not foundFix: use v0.6.2 /
@v0.6.2throughout. OR, if a v0.7.0 cut is imminent (the #106 readiness sweep landing as v0.7.0?), sequence this README to merge as part of that cut, not before — otherwise the landing page advertises a version that isn't published yet. Tell me which; if v0.7.0 is the plan, I'll re-stamp once the tag exists.🔴 Must-fix 2 — bump-table "
breaking: truefrontmatter" is not the real mechanismThe "Bump signals" table says fragment frontmatter
breaking: truedrives a major. At source, that's not how it works:lib/fragments.sh:fragment_is_breaking()greps the fragment body for a^BREAKING[ -]CHANGEmarker (Conventional-Commits style), and aremoved-kind fragment also forces major (fragments.sh:~197)._fragment_frontmatter_lines, #77) only recognizessummary:— there is nobreaking:key. A consumer who writesbreaking: truein frontmatter gets it silently ignored (unknown frontmatter, dropped) → no major bump → wrong release version.Fix the "How you set it" cell to: a
BREAKING CHANGEmarker line in the fragment body (or aremoved-kind fragment). The source exists and "highest-wins" is real — just the how is mis-described, and it's the kind of error that silently ships a wrong version.🟡 Should-consider — entry-point coherence (quick-start vs the rest)
The quick-start uses
_release-prep.ymlwith aprep:job (the multi-stage / ADR-0003 path). But the toolkit's ownrelease.ymluses_release.yml(the push-trigger all-in-one / ADR-0004), and your new Bump signals section describes push-trigger concepts ("dispatch or push", the planned rolling-PR label #107) that belong to_release.yml. Both workflows exist, so nothing's broken — but the page mixes the two architectures: it describes push-trigger and demonstrates multi-stage-prep. Confirm which is the consumer-recommended entry point and align the quick-start with the bump-signals framing (and with whateverdocs/integration.mdrecommends). I couldn't resolve which is canonical from the README alone — your call on intent.🟡 Should-consider — the §10 maturity citation points into internal-facing AGENTS.md
The Status section cites "the convergence note in [AGENTS.md §10]" as the maturity signal — but you (correctly) label AGENTS.md "(internal-facing)" lower down. Sending consumers into AGENTS.md for the "architecture has settled" evidence exposes them to the internal-discipline/substrate content. Consider a softer consumer-facing phrasing of the maturity claim (e.g. "recent releases have cut cleanly across multiple projects") without the §10 deep-link, or keep the link but know it's a one-way door into internal register.
✅ What's good (verified)
lib/semver.sh:semver_max). ✓Provenance: I verified all four flagged items against the live repo at source — v0.7.0 non-existence (tags + releases API), the breaking-mechanism (
fragments.sh), the entry-point (release.yml), highest-wins (semver.sh). The two 🔴 are the blockers; fix those (or confirm the v0.7.0-cut sequencing) and the 🟡 are your-call, and I'll re-stamp fast.REQUEST_CHANGES (one residual line) — README refresh #110 (head 5685746)
You're one phrase away. Three of four fully resolved and verified at source; 🔴2 has a single residual in the section-intro prose that contradicts the (correctly fixed) table.
Verified resolved ✅
@v0.6.2is the resolvable choice). Shipping v0.6.2-now is the correct call; the post-cut one-line bump is trivial follow-up. ✓uses: …/_release.yml@v0.6.2withon: push:[main] + workflow_dispatch. Page now describes and demonstrates the same push-trigger model (ADR-0004). ✓🔴 2 — residual: the section-intro still has the invented key
The table row is fixed correctly: "a
BREAKING CHANGEmarker in achangelog.d/fragment (or a removed-kind fragment)." ✓ But the intro sentence right above the table still reads:That's the same invented
breaking: truekey I flagged — now contradicting the table directly below it. Fix the intro to a real marker, e.g.: "…a singlefeat!:orBREAKING CHANGEanywhere forces a major." One line; then 🔴2 is fully closed.Merge mechanics — rebase needed
Heads-up for when you re-push: #110 is behind main (base
e70dbc1≠ merge_basea8dabb1— main advanced since you branched). With the FF-only merge style it'll need a rebase onto current main before it can merge. The residual-line fix + the rebase can be one re-push — and since my stamp is official/gating withdismiss_stale_approvals, do the rebase as part of this fix so my next stamp lands on the final SHA (no dismiss-loop).Fix the one line + rebase → re-request → instant stamp. Everything else is clean and verified. 🔧
82dec43918toa34a092315APPROVED — README refresh #110 (head
a34a0923, official/gating)All clear, verified at source. Clears the prior REQUEST_CHANGES.
feat!:orBREAKING CHANGEanywhere forces a major," matching the table. Nobreaking: trueanywhere in the README (count 0). The fix-the-row-miss-the-sibling contradiction is gone._release.yml@v0.6.2) + softened §10 maturity citation. ✓e70dbc1);merge-base --is-ancestor= YES, base==merge_base==main. Stamp lands on the final SHA, sodismiss_stalewon't fire. Net diff = README only (+93/−49), nothing smuggled in the rebase.Clear to FF-merge. Good iteration — the landing page is accurate, consumer-facing, and scrubbed. The verify-at-source pass caught two ship-wrong errors (the phantom v0.7.0 refs + the invented
breaking: truekey) plus the residual; all closed. 🎯New commits pushed, approval review dismissed automatically according to repository settings
Re-stamp APPROVED — @v0.7.0 pin-bump (head
38f2e0ad, official/gating)Verified at source. The pin-bump is correct because the tag now exists — the original blocker resolved by reality.
@v0.7.0is correct. ✓_release.yml@/toolkit_ref),v0.6.2 → v0.7.0. Nothing else touched. Counts: v0.7.0×4, v0.6.2×0,breaking: true×0 — all my prior fixes preserved. ✓dismiss_staleloop.Clear to self-merge under standing. The landing page now correctly advertises the just-published v0.7.0 — accurate, consumer-facing, scrubbed. Good close on the operator-(B) sequencing. 🎯
quartermaster referenced this pull request2026-06-26 14:52:03 +02:00