================================================================================
BULK_HTML_GENERATION_STANDARDS_5_12_26.txt
CollabORhythm / Collabtunes — Production Acceleration Prep Phase
Generated: 5.12.26
PURPOSE: Standards governing every generated HTML page — naming, structure, components
================================================================================

================================================================================
PART A — BULK HTML GENERATION STANDARDS
================================================================================

SECTION A1 — BEFORE GENERATING A SINGLE PAGE
================================================================================

CHECKLIST (all must be TRUE before starting):
  [ ] AIO_TEMPLATE_15_BLOCK_LOCKED_V[N].html exists and Tom has approved it
  [ ] Collection title confirmed in FINAL_CANON_AUTHORITY_REGISTRY
  [ ] Live URL confirmed in MASTER_URL_AUTHORITY_REGISTRY
  [ ] Rating confirmed OR pending badge planned
  [ ] All palette variables use CSS variables (no hardcoded hex in generated output)
  [ ] Rating gate JS is in template and targets correct minimum
  [ ] Rollback ZIP created: ROLLBACK_GENERATION_PRE_[COLLECTION]_[DATE].zip
  [ ] SOURCE_PULL badge CSS class is in template

HARD STOP CONDITIONS (do not generate if any of these are true):
  ✗ Template version not locked
  ✗ Collection title not in CANON_AUTHORITY_REGISTRY
  ✗ Defamation-flagged content identified for this collection without Tom clearance
  ✗ Chapter drift unresolved AND page links to Songbook chapters

================================================================================
SECTION A2 — NAMING STANDARDS FOR GENERATED PAGES
================================================================================

ALL-IN-ONE PAGES:
  SONG_LIST_[N]_[TITLE_SLUG_UPPERCASE]_AIO_[DATE].html
  SET_LIST_[N]_[TITLE_SLUG_UPPERCASE]_AIO_[DATE].html

TITLE SLUG RULES:
  - Uppercase, underscores only
  - Max 5 words from title (truncate if longer)
  - No articles (A, AN, THE) unless needed for disambiguation
  - Special characters removed (apostrophes, commas, slashes)

EXAMPLES:
  SONG_LIST_1_LAST_MAN_SINGING_AIO_5_15_26.html
  SONG_LIST_2_SHEILA_TEQUILA_AIO_5_15_26.html
  SET_LIST_7_TRAIN_OFF_TRACKS_AIO_5_15_26.html
  SET_LIST_12_WOUNDED_MASCULINITY_AIO_5_15_26.html
  SET_LIST_17_SMIRKS_SWEARS_MOANS_CRIES_AIO_5_15_26.html
  SET_LIST_24_BI_RIDE_OR_DIE_AIO_5_15_26.html

STAGING VERSIONS (pre-Tom approval):
  Append _STAGING to name:
  SONG_LIST_1_LAST_MAN_SINGING_AIO_STAGING_5_15_26.html

APPROVED/PRODUCTION VERSIONS:
  Remove _STAGING. Add _APPROVED:
  SONG_LIST_1_LAST_MAN_SINGING_AIO_APPROVED_5_15_26.html

================================================================================
SECTION A3 — REQUIRED METADATA IN EVERY GENERATED PAGE
================================================================================

In the HTML <head> section, include:

<meta name="collabtunes-collection" content="[SONG_LIST_N or SET_LIST_N]">
<meta name="collabtunes-title" content="[Full canonical title]">
<meta name="collabtunes-rating" content="[G|PG|PG-13|R|NC-17|X]">
<meta name="collabtunes-gx" content="[GX score or PENDING]">
<meta name="collabtunes-generated" content="[YYYY-MM-DD]">
<meta name="collabtunes-template-version" content="[V1|V2 etc]">
<meta name="collabtunes-source-status" content="[COMPLETE|PARTIAL|SKELETON]">

SOURCE STATUS VALUES:
  COMPLETE  = all 15 blocks populated from confirmed data
  PARTIAL   = some blocks have SOURCE_PULL badges
  SKELETON  = most blocks have SOURCE_PULL badges — structural only

================================================================================
SECTION A4 — CANONICAL PAGE STRUCTURE ORDER
================================================================================

Every generated page must follow this exact order:

1. <head> metadata block (ratings, title, template version)
2. Social media bar (10 platforms)
3. Page header / brand block
4. Rating badge + GX score (or PENDING badges)
5. Fast scroll navigation (top zone)
6. Block 1: Title Header
7. Block 2: Collection Identity
8. Block 3: Core Themes
9. Block 4: Content Flags / GX Matrix
10. Block 5: One Sentence Summary (or SOURCE_PULL badge)
11. Block 6: RS-Style Review (or SOURCE_PULL badge)
12. Block 7: Track List (confirmed tracks + SOURCE_PULL for missing)
13. Block 8: Track Notes (or SOURCE_PULL badge)
14. [Fast scroll mid-zone anchor]
15. Block 9: Category Tags (or SOURCE_PULL badge)
16. Block 10: Mood Tags
17. Block 11: Profanity / Adult Flags
18. Block 12: Related Material / External Links
19. Block 13: Internal Connections / Crosslinks
20. [Fast scroll lower-zone anchor]
21. Block 14: Canon Notes
22. Block 15: Reconstruction Status
23. Footer
24. Rating gate JavaScript (bottom of body)

================================================================================
SECTION A5 — BATCH GENERATION RULES
================================================================================

BATCH SIZE: Generate 5 pages max per session before verification pass.
  Do not generate all 34 in one unreviewed batch.
  After every 5: zip, spot-check 2, continue.

GENERATION ORDER (lowest risk first):
  Batch 1: SL1 only (test and lock template)
  Batch 2: SL2–SL6 (confirmed PG-13, similar theme profile)
  Batch 3: SL7–SL10 (varied — some pending content)
  Batch 4: SetList1–SetList6 (PG-13 estimated)
  Batch 5: SetList7–SetList12 (elevated content — R range)
  Batch 6: SetList13–SetList22
  Batch 7: SetList23–SetList24 (after source pull confirmed)

EACH BATCH ZIP:
  [N]_HTML_COLLABTUNES_AIO_BATCH_[BATCH#]_[COLLECTIONS]_STAGING_[DATE].zip
  Example: 5_HTML_COLLABTUNES_AIO_BATCH2_SONG_LISTS_2_THRU_6_STAGING_5_15_26.zip

================================================================================
PART B — DEPLOYMENT QA CHECKLIST
================================================================================

Run this checklist before declaring ANY page or batch deployment-ready.

================================================================================
SECTION B1 — LINK INTEGRITY
================================================================================

[ ] All internal links pull from MASTER_URL_AUTHORITY_REGISTRY
[ ] No link points to a conflict URL (duplicate ch.18, duplicate LadyWeaver)
[ ] No link points to /practice-head/ (internal dev page)
[ ] No link points to a placeholder/coming-soon page as if it has content
[ ] Switchboard link (/switchboard-quicklinks-to-every-page-of-website/) works
[ ] All 4 Quick Guide links are correct
[ ] LadyWeaver link uses single canonical URL (post-Decision 09)
[ ] No 404 links — test every internal link in browser, not just code review

================================================================================
SECTION B2 — NAVIGATION INTEGRITY
================================================================================

[ ] Chapter labels match URLs (or drift fix applied consistently)
[ ] No dev test pages in nav (HTML test1/2/3/(HTML 4) removed)
[ ] Revenue Streams URL fixed
[ ] Write Club URL fixed
[ ] No duplicate entries for same page in nav
[ ] Ch.18 duplicate resolved
[ ] Lady Weaver has one canonical entry
[ ] Fast scroll anchors functional (#top, #uppermid, #lowermid, #bottom)
[ ] Back to Switchboard button present and working on every AIO page

================================================================================
SECTION B3 — DUPLICATE URL DETECTION
================================================================================

[ ] No two pages share the same URL slug
[ ] YouTube lyric video URL canonicalized (one slug only)
[ ] Ch.18 duplicate resolved (one live ch.18 page)
[ ] LadyWeaver duplicate resolved (one canonical URL)
[ ] All references point to canonical URLs only

================================================================================
SECTION B4 — MISSING PAGE DETECTION
================================================================================

[ ] All 34 album pages have generated AIO files
[ ] All Songbook chapters 1–34 have live pages
[ ] All 6 HOW I GOT HERE versions have live pages
[ ] All 4 Quick Guide pages have live pages
[ ] PDF landing page built and linked
[ ] Website Mission Statement page built

================================================================================
SECTION B5 — RATING CONSISTENCY
================================================================================

[ ] No G/PG page has R+ content visible without gate
[ ] No X-rated page accessible without X/No Limits selection
[ ] Bouncer default state = ratings[0] = G/PG
[ ] Rating badges match confirmed ratings in RATINGS_INDEX
[ ] GX scores match verified data (not unverified calculated values)
[ ] All R+ pages have trigger warning block (Block 11) populated
[ ] SOURCE_PULL badges styled (not raw text) for all pending ratings

================================================================================
SECTION B6 — PLACEHOLDER LEAKS
================================================================================

[ ] No [SOURCE_PULL_REQUIRED] raw text visible in page body
[ ] All placeholders render as styled yellow badges
[ ] No empty blocks (every block has either data or a badge)
[ ] STAGING pages not deployed as production (check for _STAGING in filename)
[ ] No lorem ipsum or test content in any deployed page

================================================================================
SECTION B7 — JS-RENDER VERIFICATION
================================================================================

[ ] Rating gate tested in actual browser (Chrome + Firefox)
[ ] Bouncer tested: selecting each rating level shows correct content
[ ] Fast scroll tested: all 4 anchors reachable and functional
[ ] Social media bar links open correctly
[ ] No JS console errors on page load
[ ] Page renders correctly with JS disabled (graceful degradation)

================================================================================
SECTION B8 — MOBILE CHECKS
================================================================================

[ ] "Turn phone sideways" message displays on narrow mobile viewport
[ ] Fast scroll navigation usable on mobile landscape
[ ] Rating badges readable on small screen
[ ] Back to Switchboard button accessible on mobile
[ ] No horizontal scroll on any content block
[ ] Text uses --text-main (#d8d0bd) — readable on dark background on mobile

================================================================================
SECTION B9 — PALETTE / VISUAL COMPLIANCE
================================================================================

[ ] No #ffffff as reading text anywhere
[ ] Background is Gotham Navy (#070911) or approved panel colors
[ ] All accent elements use gold (#ffd21f / #d4af37)
[ ] No green matrix, red lava, or RGB gamer colors
[ ] SOURCE_PULL badges use gold-on-navy (#ffd21f bg / #070911 text)
[ ] Warning blocks use danger accent (#ff3131) appropriately

================================================================================
SECTION B10 — PROPAGATION FAILURES
================================================================================

[ ] Header/footer consistent across all pages in the batch
[ ] Social bar present on all full pages (or decision made to exclude)
[ ] Rating gate JS identical across all pages of same batch
[ ] Fast scroll structure consistent (same anchor names, same button labels)
[ ] Canon notes block consistent format across all pages

================================================================================
QA SIGN-OFF:

Batch: _______________
Date: _______________
Sections passed: ___/10
Issues found: _______________
Deploy ready: YES / NO
Tom approval needed: YES / NO

================================================================================
END BULK_HTML_GENERATION_STANDARDS_5_12_26.txt
================================================================================
