================================================================================
COLLABTUNES CANON CONFLICT TRIAGE SYSTEM
Version: 1.0 | Date: 5_13_26 | Status: AUTHORITATIVE
Owner: Mixed Claude / Tom
Purpose: Classify, prioritize, and route all canon conflicts to resolution.
         Apply this system before any generator run or deployment.
================================================================================

================================================================================
SECTION 1 — CONFLICT SEVERITY DEFINITIONS
================================================================================

CRITICAL CANON CONFLICT
────────────────────────
Definition: Conflict that, if unresolved, causes:
  - Incorrect or missing content gate on R+ content
  - User-facing broken page or 404 on a live collection
  - Two conflicting URLs both pointing to "canonical" content
  - Generator producing incorrect output for content safety

Effect on deployment: BLOCKS DEPLOYMENT
Resolution required: Before any LIVE_RUN or deployment package creation
Owner: Tom + Developer (gate issues require code change)

Identifier in system: CRITICAL
Prefix in blocker registry: BLOCK-L (routing/links) or BLOCK-G (generator)

────────────────────────────────────────────────────────────────────────────────

MODERATE CANON CONFLICT
────────────────────────
Definition: Conflict that causes:
  - Wrong chapter number shown to user (chapter drift)
  - Two valid URLs for same page with no canonical designated
  - Rating listed in two places with different values
  - Nav label and URL slug don't match

Effect on deployment: DEGRADES FUNCTION — ship with documented known issue
Resolution required: Before generator touches affected pages
Owner: Tom decision required for resolution path

Identifier in system: MODERATE
Prefix in blocker registry: BLOCK-H (HTML/nav) or BLOCK-C (canon) or BLOCK-M (metadata)

────────────────────────────────────────────────────────────────────────────────

LOW CONFLICT
─────────────
Definition: Conflict that causes:
  - Cosmetic inconsistency (title casing, whitespace)
  - Deprecated file still present with no SUPERSEDED_BY annotation
  - Minor naming drift (underscore vs hyphen in non-slug context)
  - Missing date stamp on non-critical file

Effect on deployment: COSMETIC — does not degrade function
Resolution required: Before generator prep phase, not before deployment
Owner: Mixed Claude can resolve most of these autonomously

Identifier in system: LOW
Prefix in blocker registry: BLOCK-O (organization) or BLOCK-N (naming)

================================================================================
SECTION 2 — CONFLICT TYPE CATALOG
================================================================================

TYPE 1: UNRESOLVED PLACEHOLDERS
─────────────────────────────────
Definition: Page exists in registry as PENDING but may have gone live,
            OR a live page is incorrectly marked PENDING in registry.

Detection: SGC-1 → items where expected_status=PENDING but http_status=200
           OR expected_status=LIVE but http_status ≠ 200

Severity mapping:
  PENDING page is actually LIVE:      MODERATE (registry out of date)
  LIVE page suddenly returns 404:     CRITICAL (live content broken)
  Placeholder still showing after     LOW (cosmetic/timing)
    planned launch date

Resolution path:
  1. SGC-1 confirms actual HTTP status
  2. Registry updated to match reality
  3. If page went live: verify gate, rating, metadata are correct
  4. If page went dead: create BLOCK-L entry, investigate

Current known unresolved placeholders:
  /future-ai-search-tools/       | Expected live: TBD
  /future-mood-playlists/        | Expected live: TBD
  /future-live-calendar/         | Expected live: TBD

────────────────────────────────────────────────────────────────────────────────

TYPE 2: NAMING DRIFT
─────────────────────
Definition: Same entity referred to by inconsistent names across files,
            registries, or pages.

Examples in Collabtunes context:
  "Song List 1" vs "SongList1" vs "SONG_LIST_1" in same context
  "Set List" vs "SetList" vs "set-list" in same context (outside slug)
  Collection titles with inconsistent punctuation or casing
  Chapter labels using different numbering formats

Detection:
  SGC-2 → NAMING_VIOLATION flags
  SGC-2 → MISPLACED_FILE flags
  Manual review of cross-file references

Severity mapping:
  Drift in slug = MODERATE (affects URL routing)
  Drift in metadata field = MODERATE (affects generator output)
  Drift in filename only = LOW (cosmetic)
  Drift in display label only = LOW (cosmetic, Tom decides canonical form)

Resolution path:
  LOW naming drift:
    1. Identify canonical form per GENERATOR_INPUT_REQUIREMENTS Section 6
    2. Update non-canonical uses
    3. Create new VOL if canon file was edited
    4. Mixed Claude can execute autonomously

  MODERATE naming drift:
    1. Identify canonical form
    2. Tom confirms canonical form is correct
    3. Update all affected files simultaneously (not one at a time)
    4. New VOL for any AUTHORITATIVE file touched
    5. SGC-2 re-run to confirm resolution

Canonical forms (do not deviate from these):
  In filenames:     SET_LIST_1  SONG_LIST_1  CH_7_OF_35_QUICK_GUIDE
  In HTML slugs:    /set-list-1/  /song-list-1/  /7-of-35-quick-guide/
  In metadata:      Set List 1  Song List 1  Chapter 7 of 35
  NEVER MIX these forms within the same file.

────────────────────────────────────────────────────────────────────────────────

TYPE 3: RECURRING-TRACK CONFLICTS
───────────────────────────────────
Definition: A song/track appears in multiple collections with inconsistent
            metadata (different title, different rating, different sequence position).

Examples:
  Track titled "X" appears in Set List 3 and Set List 7 but with different
  title capitalization or featuring credit.
  Track has R rating in one collection, PG-13 in another.

Detection:
  Manual cross-reference of MASTER_CONTENT_RATINGS_INDEX
  Cross-reference of track listings across affected collections

Severity mapping:
  Same track, conflicting RATING across collections: CRITICAL
    (Generator may apply wrong gate to a page because of rating conflict)
  Same track, conflicting TITLE across collections:  MODERATE
    (Display inconsistency)
  Same track, different sequence position:           LOW
    (Expected — ordering may intentionally differ by collection)

Resolution path:
  CRITICAL (conflicting ratings):
    1. Identify which collection's rating is authoritative
    2. Rule: Higher/more restrictive rating wins if in doubt
    3. Tom confirms
    4. Both instances updated in MASTER_CONTENT_RATINGS_INDEX
    5. New VOL created

  MODERATE (title inconsistency):
    1. Identify canonical title form
    2. Tom confirms
    3. Update all instances
    4. New VOL created

────────────────────────────────────────────────────────────────────────────────

TYPE 4: GX DISCREPANCIES
──────────────────────────
Definition: GX-related tracks or content have inconsistent treatment
            across collections, registries, or pages.

GX = Explicit/adult content tracks within a collection.
The GX data set affects:
  - Content rating of parent collection
  - Gate requirement of parent collection
  - mood_settings entries for that collection
  - AIO page generation for that collection

Detection:
  Cross-reference: collection's stated rating vs GX track count
  A collection with GX tracks must have R, NC-17, or X rating minimum
  A collection rated G/PG must have zero GX tracks

Severity mapping:
  Collection rated PG but contains GX tracks:        CRITICAL
  GX track listed in wrong collection:                MODERATE
  GX data present in mood_settings but not in        MODERATE
    MASTER_CONTENT_RATINGS_INDEX
  GX track count discrepancy between sources:         LOW if no rating impact
                                                      CRITICAL if rating impact

Resolution path:
  CRITICAL:
    1. Audit all GX track assignments for affected collections
    2. Confirm GX track count per collection
    3. Verify collection rating is >= R if GX present
    4. Update ratings index and mood_settings simultaneously
    5. New VOL for both files
    6. Tom review required

  MODERATE:
    1. Identify source of discrepancy
    2. Correct the non-authoritative source
    3. New VOL

────────────────────────────────────────────────────────────────────────────────

TYPE 5: CHAPTER DRIFT
──────────────────────
Definition: URL slug chapter number ≠ nav label chapter number.
Example: /18-of-35-business-plan/ displayed in nav as "Chapter 19 of 35"

Detection: SGC-1 chapter drift detector → conflict_type = CHAPTER_DRIFT

Known instances:
  BLOCK-H02: Chapter 18 URL / Chapter 19 nav label (delta = +1)

Severity mapping:
  Chapter drift on a deployed page:              MODERATE
  Chapter drift causes broken sequential nav:    MODERATE
  Chapter drift causes out-of-sequence display:  LOW (cosmetic)

Resolution path (TOM_REQUIRED):
  Option A: Rename URL slug to match label (requires redirect from old slug)
  Option B: Update nav label to match URL slug (simpler, no redirect needed)
  Tom decides which option.
  After decision:
    1. Execute chosen option
    2. Update MASTER_URL_AUTHORITY_REGISTRY
    3. Update FINAL_NAVIGATION_AUTHORITY_MAP
    4. Update FINAL_CANON_AUTHORITY_REGISTRY
    5. SGC-1 re-run to confirm drift resolved

────────────────────────────────────────────────────────────────────────────────

TYPE 6: DUPLICATE URL / SLUG CONFLICT
───────────────────────────────────────
Definition: Two different pages have the same or nearly-identical slug,
            or one page has two registered slugs in the registry.

Known instances:
  BLOCK-H04: Lady Weaver — /20-35-the-lady-weaver/ vs /36-35-lady-weaver/
  BLOCK-M01: YouTube — /lyric-videos-youtube-video/ vs /lyric-videos-video/

Severity mapping:
  Both URLs return HTTP 200 (two live pages):    CRITICAL
  One returns 200, one returns 404:              MODERATE (deprecate 404 slug)
  Both in registry but only one is live:         LOW (remove dead slug from registry)

Resolution path (TOM_REQUIRED for Lady Weaver):
  1. Tom selects canonical URL
  2. Non-canonical URL gets 301 redirect to canonical (developer implements)
  3. Non-canonical removed from nav
  4. MASTER_URL_AUTHORITY_REGISTRY updated — canonical marked LIVE,
     non-canonical marked DEPRECATED
  5. SGC-1 re-run — STATUS_MISMATCH should be gone for the deprecated URL

================================================================================
SECTION 3 — RESOLUTION PRIORITY LADDER
================================================================================

Work through conflicts in this exact order. Do not skip tiers.

TIER 1 — RESOLVE FIRST (deployment blockers)
─────────────────────────────────────────────
  1a. GATE_MISSING on R pages          (BLOCK-L01, L02, L03 variants)
  1b. GATE_MISSING on NC-17 pages      (BLOCK-L01, L02, L03 variants)
  1c. GATE_MISSING on X pages          (BLOCK-L01, L02, L03 variants)
  1d. GX discrepancy causing incorrect lower rating on live page
  1e. Recurring-track rating conflict  (R/NC-17/X vs lower rating)
  1f. Placeholder marked LIVE that returns 404 (user-facing error)

TIER 2 — RESOLVE BEFORE GENERATOR RUN
────────────────────────────────────────
  2a. Duplicate URL conflicts where both return HTTP 200
  2b. Chapter drift on any chapter with active nav links
  2c. Rating conflict between mood_settings and ratings index
  2d. Generator input file at WORKING status (must reach AUTHORITATIVE)
  2e. AMBIGUOUS_VERSION on any generator input file
  2f. GX data missing from mood_settings but present in ratings index

TIER 3 — RESOLVE BEFORE DEPLOYMENT PACKAGE
────────────────────────────────────────────
  3a. Naming drift in slug form (URL inconsistency)
  3b. Duplicate URL conflicts where one returns 404
  3c. Orphan live pages with no nav registration
  3d. Placeholder-to-live transitions not reflected in registry

TIER 4 — RESOLVE IN NEXT MAINTENANCE CYCLE
────────────────────────────────────────────
  4a. Cosmetic naming drift (filename only, not slug)
  4b. Missing date stamps on non-critical files
  4c. Deprecated files without SUPERSEDED_BY annotation
  4d. Missing manifests on archive ZIPs
  4e. Files in wrong folders (non-canon folders)
  4f. Naming convention violations in staging files

================================================================================
SECTION 4 — TRIAGE DECISION MATRIX
================================================================================

Use this table to quickly assign severity to a new conflict:

CONFLICT DESCRIPTION                              | SEVERITY  | TIER | TOM?
--------------------------------------------------|-----------|------|------
Gate missing on X-rated page                      | CRITICAL  |  1   | NO (fix it)
Gate missing on R-rated page                      | CRITICAL  |  1   | NO (fix it)
GX track in collection rated G or PG              | CRITICAL  |  1   | YES
Two live URLs for same chapter                    | CRITICAL  |  2   | YES
Rating conflict: R vs PG-13 for same track        | CRITICAL  |  2   | YES
Generator input at WORKING not AUTHORITATIVE      | MODERATE  |  2   | NO
Chapter drift (URL ≠ nav label)                   | MODERATE  |  2   | YES
Duplicate URL, one 404                            | MODERATE  |  3   | YES
Orphan live page not in any nav                   | MODERATE  |  3   | NO
Rating PENDING on deployed AIO page               | MODERATE  |  3   | YES
Missing SUPERSEDED_BY annotation                  | LOW       |  4   | NO
Cosmetic naming drift (filename only)             | LOW       |  4   | NO
Missing date stamp on staging file                | LOW       |  4   | NO
File in wrong folder (non-critical)               | LOW       |  4   | NO
Missing ZIP manifest on archive ZIP               | LOW       |  4   | NO

================================================================================
SECTION 5 — CONFLICT LOG FORMAT
================================================================================

When a new conflict is found, log it here AND in BLOCKER_REGISTRY.
This section is for quick cross-reference during a triage session.

CONFLICT_ID | TYPE              | SEVERITY | TIER | STATUS      | DATE
------------|-------------------|----------|------|-------------|--------
CC-LW       | URL_DUPLICATE     | MODERATE |  2   | TOM_REQ     | pre-5_12_26
CC-CH18     | CHAPTER_DRIFT     | MODERATE |  2   | TOM_REQ     | pre-5_12_26
CC-YT-URL   | URL_DUPLICATE     | LOW      |  3   | TOM_REQ     | pre-5_12_26
CC-L01      | GATE_MISSING_HGIH | CRITICAL |  1   | OPEN        | 5_12_26
CC-L02      | GATE_MISSING_QG   | CRITICAL |  1   | OPEN        | 5_12_26
CC-L03      | GATE_MISSING_FTOL | CRITICAL |  1   | OPEN        | 5_12_26

Add new entries below:
            |                   |          |      |             |

================================================================================
END COLLABTUNES CANON CONFLICT TRIAGE SYSTEM
================================================================================
