WORK-079
ID:WORK-079Status:done

Align Playlist Transform to Standard Structure

Priority:highComplexity:moderateSource:SPEC-028
changeset-release/main View source

Criteria completion

No incremental history — criteria tracking started on Apr 19.

Branches 3
History 4
  1. 59ded4a
    Content editedby Claude
    Implement SPEC-037 plan package hardening: all 7 work items
  2. f262d7b
    Content editedby Claude
    Backfill source attributes on all 123 work items
  3. 4b7c0f4
    Content editedby Claude
    Mark WORK-079 as done
  4. 9aff526
    Created (done)by Claude
    Add work items WORK-076 through WORK-082 for SPEC-028

Summary

The playlist rune uses a custom header structure that diverges from the standard 3-section pattern (meta header, content wrapper with preamble, media zone). It also has missing config modifiers for schema-emitted meta tags. Align it to match the recipe reference implementation so it can participate in shared split layout CSS.

Acceptance Criteria

  • Playlist transform uses pageSectionProperties + <header data-name="preamble"> pattern instead of custom <div data-name="header"> with imperative title assignment
  • Description paragraphs wrapped as a blurb inside the preamble header
  • Config sections updated to recipe pattern: { meta: 'header', preamble: 'preamble', headline: 'title', blurb: 'description', media: 'media' }
  • Config declares modifiers for artistMeta, hasPlayerMeta, and id meta tags emitted by the schema
  • Media zone uses shared unwrap utility from WORK-077
  • Layout meta tags use shared utility from WORK-076
  • Identity transform output follows standard 3-section structure: meta div, media div, content div (with preamble inside)
  • Playlist CSS updated to target new BEM class names (e.g. __preamble instead of __header)
  • All existing tests pass (update snapshots for new structure)

Approach

  1. Refactor playlist.ts transform to use pageSectionProperties for preamble extraction
  2. Update config sections and add missing modifiers
  3. Apply shared utilities from WORK-076 and WORK-077
  4. Update playlist.css selectors to match new element names
  5. Update test snapshots

References

  • SPEC-028 (Standard 2 — Preamble Groups with Content)
  • SPEC-028 (Standard 3 — Config Must Match Schema Capabilities)
  • WORK-076 (shared layout meta utility)
  • WORK-077 (shared media unwrap utility)