feat: dogfood post_bump_hooks for own doc ref-pin updates (eliminate-the-class for #196) #209

Closed
opened 2026-06-27 16:22:53 +02:00 by quartermaster · 1 comment

Why

#208 closed the surface half of #196 (manually updated README + integration.md ref-pins from v0.13.0 → v0.15.0). The STRUCTURAL half — eliminate the drift class by dogfooding the toolkit's own post_bump_hooks mechanism for these doc refs — is filed separately because it's Engineer-shape substrate work.

The toolkit explicitly documents post_bump_hooks for exactly this use case (docs/integration.md: "updating a --version example in README.md to match the cut version"). Yet the toolkit doesn't use it on its own docs — Shipwright's #157 audit found this as a dogfooding gap.

Scope

  1. Create a hook script (e.g., scripts/hooks/update-doc-version-refs.sh) that:
    • Reads the NEW_TAG environment variable from the cut path
    • Sed-rewrites the example @vX.Y.Z / toolkit_ref: vX.Y.Z lines in:
      • README.md (Status line + quick-start example)
      • docs/integration.md (intro "Replace" + each example block)
    • Preserves historical "feature-since" refs (e.g., v0.13.0+, v0.5.0+) — match shape carefully
  2. Wire the hook in the toolkit's own release-toolkit.yml via post_bump_hooks
  3. Bats coverage: mutation-verify that the hook correctly distinguishes example pins from historical refs (regression guard)

Composition

  • Sister of #196 surface fix (closed by #208)
  • Dogfood pattern reinforces toolkit's own discipline-of-record
  • Will fire on each cut + auto-update docs to the cut version — no manual drift class possible

Refs

  • Shipwright #157 audit (the surfacing)
  • #208 (the surface-fix close)
  • docs/integration.md § "Post-bump hooks" (the documented mechanism being dogfooded)

priority/medium · size/M

## Why #208 closed the surface half of #196 (manually updated README + integration.md ref-pins from v0.13.0 → v0.15.0). The STRUCTURAL half — **eliminate the drift class** by dogfooding the toolkit's own `post_bump_hooks` mechanism for these doc refs — is filed separately because it's Engineer-shape substrate work. The toolkit explicitly documents `post_bump_hooks` for exactly this use case (`docs/integration.md`: "*updating a `--version` example in README.md to match the cut version*"). Yet the toolkit doesn't use it on its own docs — Shipwright's #157 audit found this as a dogfooding gap. ## Scope 1. Create a hook script (e.g., `scripts/hooks/update-doc-version-refs.sh`) that: - Reads the NEW_TAG environment variable from the cut path - Sed-rewrites the example `@vX.Y.Z` / `toolkit_ref: vX.Y.Z` lines in: - `README.md` (Status line + quick-start example) - `docs/integration.md` (intro "Replace" + each example block) - Preserves historical "feature-since" refs (e.g., `v0.13.0+`, `v0.5.0+`) — match shape carefully 2. Wire the hook in the toolkit's own `release-toolkit.yml` via `post_bump_hooks` 3. Bats coverage: mutation-verify that the hook correctly distinguishes example pins from historical refs (regression guard) ## Composition - Sister of #196 surface fix (closed by #208) - Dogfood pattern reinforces toolkit's own discipline-of-record - Will fire on each cut + auto-update docs to the cut version — no manual drift class possible ## Refs - Shipwright #157 audit (the surfacing) - #208 (the surface-fix close) - `docs/integration.md` § "Post-bump hooks" (the documented mechanism being dogfooded) priority/medium · size/M
Author
Owner

Closing as ghost tracker — implementation shipped via PR #237 (merged 2026-06-28 at cb321697) as part of the post_bump_hooks dogfood arc. The toolkit's own release-toolkit.yml now wires scripts/hooks/update-doc-version-refs.sh as a post_bump_hook; the hook auto-rewrites the v-pin references in README + integration.md on each cut. Eliminate-the-class for the #196 ref-pin drift surface.

Empirically validated through subsequent cuts (v0.17.0, v0.17.1, v0.18.0 all auto-updated the doc refs on cut without manual sweep).

Closing as ghost tracker — implementation shipped via PR #237 (merged 2026-06-28 at cb321697) as part of the post_bump_hooks dogfood arc. The toolkit's own `release-toolkit.yml` now wires `scripts/hooks/update-doc-version-refs.sh` as a post_bump_hook; the hook auto-rewrites the v-pin references in README + integration.md on each cut. Eliminate-the-class for the #196 ref-pin drift surface. Empirically validated through subsequent cuts (v0.17.0, v0.17.1, v0.18.0 all auto-updated the doc refs on cut without manual sweep).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#209
No description provided.