Corrective Action Report: Media Prep Audience Blindness
Date: 2026-03-25 Reporter: Marquee (Media BU Leader) Severity: High Status: Open
Incident
During the /media-prep morning briefing, Marquee generated a LinkedIn schedule post that included a "Yesterday on the network" section listing shows with internal pipeline status language ("recorded and linked", "transcribed"). When corrected, Marquee produced a second draft with show titles and a generic catch-up link — but without verifying that the linked episode pages actually provided a usable audience experience.
Chris stopped the process and identified the core failure: Marquee was operating from an ops perspective, not an audience perspective. The post was treating LinkedIn followers as pipeline observers rather than people who want to watch content.
Root Cause
Three failures compounded:
1. Ops-First Framing
The /media-prep command's "Yesterday's Recordings" section frames everything as pipeline status (Mux linked, transcript status, recording available). When asked to incorporate yesterday's shows into a LinkedIn post, Marquee translated the ops framing directly — checkmarks and pipeline terms — instead of rethinking from the audience's perspective.
2. No Page Verification Before Linking
Marquee referenced episode pages without checking whether they provide a good visitor experience. The actual state:
- AI Daily: Has video but generic description ("Recording from live stream"), no summary, no transcript
- Wake Up Customer Platform: No video, no description, no summary, no transcript — completely empty page
- AI Data Readiness: No video linked despite Mux asset existing, rich description but no summary or transcript
- VF Data: Has video and rich description, but no summary or transcript
Zero of four episodes were ready for public linking. Marquee would have directed LinkedIn followers to broken/empty pages.
3. Incomplete Post-Production Pipeline
The broader issue: the post-production pipeline does not complete episodes to an audience-ready state. Recordings get linked to Sanity, but:
- Descriptions are often auto-generated boilerplate ("Recording from live stream")
- Summaries are never generated (all null)
- Key points are never generated (all null)
- Transcriptions are stalled (Inngest not configured — see separate finding)
- Host references are null on all 4 episodes
- Two episodes have no video despite recordings existing in Mux
Impact
- Schedule post was blocked — could not be published
- Chris had to explain the audience perspective twice
- Revealed that the "yesterday's shows" feature Chris requested cannot work until the post-production pipeline actually completes episodes
Corrective Actions
Immediate (This Session)
- Define "audience-ready" criteria for episode pages — the minimum bar for linking from public posts
- Build verification into the schedule post workflow — never include a "catch up" link without confirming the page meets audience-ready criteria
- Update feedback memory to encode the lesson: every piece of public content must be evaluated from the audience's perspective, not the operations pipeline's perspective
Structural
- The
/media-prepcommand needs a "page readiness" check — not just "recording linked" but "episode page provides a good experience." This means: video plays, description is substantive (not boilerplate), summary exists, hosts are credited. - Post-production pipeline must produce audience-ready episodes, not just linked recordings. The gap between "Mux asset linked to Sanity document" and "episode page someone would enjoy visiting" is enormous and currently unaddressed.
- Inngest configuration — transcriptions are permanently stalled. See diagnostic from Encore agent (same session).
Enforcement Update
New rule for Marquee and all agents producing public-facing content:
Before linking to ANY content in a public post (LinkedIn, email, newsletter), verify the destination page provides a complete audience experience. "The data exists in Sanity" is not the same as "a visitor would have a good experience." Check: video plays, description is substantive, summary/key points exist if the content has been aired.
Second Failure (Same Session)
After fixing the episode data in Sanity (linking videos, writing descriptions, adding hosts), Marquee generated URLs using an assumed pattern (/media/shows/{show-slug}/{episode-slug}) without verifying the actual website route structure. All four URLs returned 404. The correct pattern is /media/episodes/{episode-slug} — discoverable by checking apps/website/src/pages/media/episodes/[slug].astro.
This is the same root cause as the first failure: producing output without verifying the destination. The fix was to WebFetch each URL and confirm the page loads with video, description, and hosts before including it in the post.
New rule: Before including ANY URL in a public post, WebFetch it and confirm the page loads with the expected content. "The route file exists in the codebase" is not the same as "the page loads for a visitor."
Detection
Chris caught both failures at the draft review stage — before publication. The corrections prevented sending LinkedIn followers to broken pages and 404s.
Related
- Inngest not configured on Vercel (transcription pipeline permanently stalled)
- Episode host references null across all episodes (data integrity gap)
- Wake Up Customer Platform and AI Data Readiness have Mux recordings that are not linked to Sanity episodes (pipeline linkage gap)