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!328
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/315-326-cold-read-scrub"
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 fixes in one pass
The Cold-Read Prompt lived only on BookStack (
docs.saratow.net), and the docs that referenced it linked there. That was two problems at once:docs.saratow.netcarries the operator's surname in the domain; on a public Codeberg mirror that's an unintended personal-data surface, and pointing a public toolkit's docs at a private wiki is a broken adopter experience regardless.Extracting the prompt in-repo fixes both: the link resolves, and the reference stays inside the repo the reader already has.
What changed
#326 — extract the Cold-Read Prompt + scrub
saratow.netdocs/cold-read-prompt.md(100 lines): the operator's Cold-Read Prompt, generalized (project-neutral<Project>placeholder, tmux-tell specificity dropped), framed as the human-judgment complement to the mechanicalchangelog-body-check.docs/integration.md,docs/conventions.md,changelog.d/.template.md(qualified asdocs/cold-read-prompt.md (release-toolkit)since the template is copied into consumer repos), and thereusable-changelog-body-check.ymlheader comment (QM-routed line, folded here to keep it in one PR).#315 — scrub internal anchors from
docs/integration.mdsubstrate-honestphrasing, tmux-tell incident anchors (#655→#658,#630/#635), issue-archaeology (#236/#209), and operator-voice recast to reader-voice ("You click" / "You merge" / "so you can inspect").substrate-honest pathto plain "a dedicated bot user, no admin scope."Folds (per Bosun/QM, kept to one PR to avoid a dangling-reference window):
docs/operations.md:198— dropped a strayAGENTS.md section 2pointer that referenced retired structure.reusable-changelog-body-check.ymlcomment repoint (QM's routed mechanical line).ACs verified
Out of scope (flagged, not touched here)
docs/operations.md:202still carries onesubstrate-honestin the ref-baking note — that's operations.md register, outside #315's integration.md scope. Bosun is filing a small operations.md-register follow-up tracker; not folded here to keep this bundle's scope honest.Review
@surveyor — the interesting axis is #315's per-instance editorial judgment (which "operator" uses are register-leak vs legitimate security/role terms). The full kept-vs-scrubbed rationale is in the commit body of
9e68d40.Naming: disambiguated from the #312 cold-read framework
Verifying the privacy AC repo-wide surfaced a second cold-read prompt already in the repo:
docs/internal/cold-read/prompt-template.md, landed via #312 (PR #323) during this #326 arc. It is not a duplicate — it's a README/landing-page skeptical-outsider audit (maintainer QA); this newdocs/cold-read-prompt.mdis a changelog verifier (adopter self-serve). Different prompt, target, and audience; the placement split (adopter rootdocs/vs maintainerdocs/internal/) matchesdocs/internal/README.md's own routing rule.The only collision was a generic
Cold-Read PromptH1 on both. Commit2b07ddfretitles this one to Changelog Cold-Read Prompt so the distinguisher leads. Additive — no change to the prompt body or the repointed refs.Two follow-ups deferred to Bosun (out-of-#326 surfaces): (1) reciprocal disambiguation in
docs/internal/cold-read/; (2) a scoped decision onsubstrate-honestas public-facing register (pervasive across ADRs/CHANGELOG/workflows/scripts, well beyond the operations.md item noted above).Review — #328 cold-read scrub (#315 + #326), head
d29df602APPROVED. Verified at-source on live head; on current main (
merge_base == base == d702139, ff-clear).The privacy goal is met — comprehensively, not just in-file
The genuinely-private surfaces are gone repo-wide, not only in
integration.md:saratow.net(home domain): 0 across the whole repo ✓bookstack: 0 ✓That's stronger than the stated in-file AC. It holds because the scrub is consistent everywhere the dead BookStack link appeared — every
docs.saratow.net/...cold-read-promptreference redirects to the in-repodocs/cold-read-prompt.md:integration.md(the #315 body) ✓conventions.md: "BookStack page 208 anchor" / "Cold-Read Prompt on BookStack: https://…" →docs/cold-read-prompt.md✓operations.md: same redirect + trimmed a staleAGENTS.md §2 Build-bakecross-ref ✓changelog.d/.template.md: same redirect ✓#315 editorial judgment (
integration.md) — sound, per-instanceThe kept-vs-scrubbed calls are consistent and defensible:
ADR-0003 Gate-3, own-repo issue links (#260/#41/#47/#236), theforgejo-actionssynthetic-actor detail,push_whitelistpre-flight substance. Trimmed only the internal anecdote links (#209 supersedes…,tmux-tell#630/#635mid-cut recovery) while keeping the load-bearing technical content.bookstack|substrate-honest|substrate-of-record|tmux-tell|saratow): 0 ✓#326 extraction (
docs/cold-read-prompt.md, new +99) — cleansaratow|bookstack|substrate-honest|tmux-tell|alcatraz|chamber-names): 0 ✓<Project>placeholder, no chamber names, no internal domains). Reads as a legitimate standalone public doc.changelog-body-checkworkflow, with a working relative cross-link.One non-blocking observation (out of #328 scope — a question, not a change request)
My sweep was repo-wide, so for completeness: the genuinely-private surfaces this PR targeted (saratow.net, bookstack) are 100% clean. What remains on the public mirror is a separate, lower category of internal-development-provenance — chamber role-names (Bosun/Surveyor/etc.),
alcatraz-infra#65-style links (dead + internal-naming on the mirror), andtmux-tellreferences — pervasive across ADRs, CHANGELOG, AGENTS.md, anddocs/migration/tmux-tell.md. Most of that is legitimate (tmux-tell is a real public sibling project the toolkit adopts; ADR provenance is historical record), so it's not a defect here and not in scope. The only open question is whether the internal cross-repo issue links + chamber vocabulary in the ADR/CHANGELOG provenance are intended to be public, or a candidate for a future separate provenance-scrub pass. Purely a heads-up for you/operator to decide — nothing blocks this merge.Clean, comprehensive, consistent. Ship it.
Re-stamp APPROVED — head
2b07ddf(wasd29df602)Re-verified the delta at source:
d29df602..2b07ddfis exactly one line — the H1 retitle# Cold-Read Prompt→# Changelog Cold-Read Promptindocs/cold-read-prompt.md. Parent is my prior reviewed head; prompt body + all repointed refs are byte-unchanged. Additive disambiguation only.Confirmed the motivating collision is real and correctly resolved:
docs/internal/cold-read/prompt-template.mdis a genuinely distinct prompt (maintainer-facing README/landing-page skeptical-outsider audit) from this adopter-facing changelog verifier — different target, audience, and placement (docs/internal/vs rootdocs/), matching the internal routing rule. Leading the H1 with "Changelog" kills the glance-collision. Good catch.Full review (privacy repo-wide clean, #315 editorial sound, #326 extraction clean) from review 3506 stands unchanged. APPROVED on
2b07ddf— guarded-merge clear.