fix: strip bare-text and table-layout lyrics, not just <blockquote> ones#6
Merged
Conversation
The safe pass only removed lyrics wrapped in <blockquote>, so 12 song pages whose lyrics are laid out as bare <br>-separated lines or inside a layout <table> (soma, bird, buil, cosmic, must, shak, terr, push, grow, vict, lazr, pride) were published with their lyrics intact. Add a second case for those: strip the span from the end of the credit/copyright preamble to the first <a name=...> annotation seam, with two gates so non-lyric pages stay untouched — skip when the region has list markup (discographies, title-phrase nav like appl.html / tribute.html), and require a verse-dense span (>=10 <br>; real lyric spans have >=27, everything else <=5, a clean gap). Crucially this does NOT gate on "used by permission": lyrics also appear under "used with permission" (lazr), "used with kind permission" (push), and with no permission phrase at all (vict/pride/grow). Now strips 112 pages (100 blockquote + 12 bare). Verified: those 12 have no lyric block before the seam, every non-lyric page is untouched, and the audit introduces zero new broken links. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ds17f
added a commit
that referenced
this pull request
Jun 5, 2026
…nes (#6) The safe pass only removed lyrics wrapped in <blockquote>, so 12 song pages whose lyrics are laid out as bare <br>-separated lines or inside a layout <table> (soma, bird, buil, cosmic, must, shak, terr, push, grow, vict, lazr, pride) were published with their lyrics intact. Add a second case for those: strip the span from the end of the credit/copyright preamble to the first <a name=...> annotation seam, with two gates so non-lyric pages stay untouched — skip when the region has list markup (discographies, title-phrase nav like appl.html / tribute.html), and require a verse-dense span (>=10 <br>; real lyric spans have >=27, everything else <=5, a clean gap). Crucially this does NOT gate on "used by permission": lyrics also appear under "used with permission" (lazr), "used with kind permission" (push), and with no permission phrase at all (vict/pride/grow). Now strips 112 pages (100 blockquote + 12 bare). Verified: those 12 have no lyric block before the seam, every non-lyric page is untouched, and the audit introduces zero new broken links. Co-authored-by: Damian Silbergleith <14797221+ds17f@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug
The safe pass only removed lyrics wrapped in
<blockquote>. 12 song pages lay their lyrics out as bare<br>-separated lines or inside a layout<table>— so they were deployed with full lyrics intact. Caught viasoma.html("So Many Roads") andhigh.htmlreview.Affected:
soma,bird,buil,cosmic,must,shak,terr,push,grow,vict,lazr,pride.The fix
Add a second case to
strip_page: when there's no lyric<blockquote>in the region, strip the span from the end of the credit/copyright preamble to the first<a name=…>seam. Two gates keep non-lyric pages untouched:<li>→ discographies, title-phrase nav likeappl.html/tribute.html)<br>). Empirically real lyric spans have ≥27<br>, every non-lyric page ≤5 — a clean gap.Does NOT gate on "used by permission" — that was the trap: lyrics also appear under "used with permission" (
lazr), "used with kind permission" (push), and with no permission phrase at all (vict/pride/grow).Verification
<blockquote>+ 12 bare/table), idempotent.tribute,appl,sage,pass,stra,tons,cagdl,gdhome,index,nonsense,goose.Single-line epigraphs above the credit line and short lyric fragments quoted inside annotations are left in place — fragments, by the same fair-use reasoning that keeps the essays.
🤖 Generated with Claude Code