Podcast Data And Workflow Spec
Defines target data objects, workflow states, checks, handoff model, one-week readiness fields, and post-recording assets/status logs for Jess.
Defines target data objects, workflow states, checks, handoff model, one-week readiness fields, and post-recording assets/status logs for Jess.
No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.
- title: Podcast Data And Workflow Spec
- source: atlas-codex
- status: draft
- project: Jess Podcast Coordinator
- summary: Defines target data objects, workflow states, checks, handoff model, one-week readiness fields, and post-recording assets/status logs for Jess.
- version: 3
- updated at: 2026-05-08T19:18:37.683Z
- revision note: Added post-recording episode_assets and status-log requirements from recovered full Jess design.
Full legacy body rendered for humans
Podcast Data And Workflow Spec
Runtime Data Objects
podcast_guests
Represents a person/company in the guest pipeline before or alongside an episode.
Recommended fields:
- id
- guest_name
- company
- title
- linkedin_url
- status
- source
- notes
- invited_at
- booked_at
- bio_requested_at
- bio_received_at
- headshot_requested_at
- headshot_received_at
- last_followup_at
- created_at
- updated_at
podcast_episodes
Represents an actual episode from prep through publication.
Recommended fields:
- id
- episode_title
- guest_name
- guest_company
- topic
- status
- record_date
- publish_date
- riverside_link
- buzzsprout_episode_id
- buzzsprout_url
- youtube_video_id
- youtube_url
- transcript_url
- drive_folder_id
- show_notes_status
- content_kit_status
- approval_status
- notes
- created_at
- updated_at
podcast_handoffs
Tracks explicit internal handoffs.
Recommended fields:
- id
- episode_id
- from_agent
- to_agent_or_person
- handoff_type
- required_by
- status
- payload
- created_at
- completed_at
Workflow
guest_candidate -> guest_invited -> guest_booked -> intake -> pre_production -> ready_to_record -> recorded -> in_production -> ready_for_approval -> approved -> content_kit_ready -> content_kit_sent -> published
Stalled can be applied to any pre-published state with a reason.
Alert Rules
- intake: urgent until research and welcome/confirmation draft exist
- guest_booked without bio/headshot request: urgent after 1 business day
- bio/headshot request unanswered: follow-up due after 5 days
- ready_to_record with recording inside 3 days: watch
- ready_to_record with recording inside 1 day and missing logistics/assets: urgent
- recorded without transcript/production handoff: urgent
- ready_for_approval: urgent for Justin
- approved without content kit within 48 hours: urgent
- pre_production stale after 5+ days: watch; 10+ days urgent
Output Contracts
Daily digest must include:
- generated_at
- total_active
- count_by_status
- urgent_items[]
- watch_items[]
- pending_guests[]
- approvals_waiting[]
- handoffs_due[]
Each urgent item must include:
- entity type
- guest or episode name
- current status
- why it is flagged
- owner
- recommended next action
Open Questions
- Which Supabase project should own runtime podcast tables after the B2BEA.org rebuild: RedKey platform, B2BEA site database, or a dedicated B2BEA operations database?
- Should Jess create Gmail drafts directly, or should all external drafts go through a Studio/cockpit approval queue first?
- Does Mahesh still own production handoff, and what is his preferred folder/link structure?
- Should Buzzsprout and YouTube sync be part of Jess V1 rebuild or a later publishing slice?
Pre-Recording Readiness Fields
Add or derive these fields for scheduled episodes:
recording_scheduled_atepisode_folder_idheadshots_folder_idprep_doc_idreadiness_checked_atheadshots_presentprep_doc_reviewedreminder_sent_or_staged_atreminder_reason
One-Week Check Logic
A scheduled episode becomes eligible for readiness check when:
recording_scheduled_at <= now() + interval '7 days'
and
readiness_checked_at is null or readiness_checked_at < recording_scheduled_at - interval '7 days'
Headshots pass if Headshots and Photos Here contains at least one image file.
Prep doc review passes if there is a guest edit/comment signal available. If Drive revision/comment authorship is unavailable, Jess uses a weaker fallback: the doc exists and contains the generated context sections, then flags prep_doc_review_signal_unknown rather than claiming guest review.
Reminder is required when:
headshots_present = false, orprep_doc_reviewed = false, orprep_doc_review_signal_unknown = trueand Justin wants proactive reminders.
Post-Recording Data Model Addendum
Recovered full Jess design requires episode asset tracking after recording. Add or map these concepts:
episode_assets
One row per generated or delivered artifact. Required fields:
- id
- episode_id
- asset_type
- title
- status
- content or url
- source
- created_by
- created_at
- updated_at
Recovered asset types include: blog_justin, blog_guest, social_linkedin_justin, social_linkedin_guest, guest_content_kit, teleprompter_intro, youtube_metadata, buzzsprout_description, kb_entry, short_clip, thumbnail, quote_card, carousel, justin_prep_pack, teleprompter_questions.
episode_status_log
Every status transition should be logged before the episode row changes:
- episode_id
- from_status
- to_status
- changed_by = jess
- reason
- created_at
Post-recording statuses
- recorded
- in_production
- ready_for_approval
- published
Post-recording handlers must not skip status transitions.
Machine-readable source fields
Podcast Data And Workflow Spec
atlas-codex
draft
Jess Podcast Coordinator
Defines target data objects, workflow states, checks, handoff model, one-week readiness fields, and post-recording assets/status logs for Jess.
3
2026-05-08T19:18:37.683Z
Added post-recording episode_assets and status-log requirements from recovered full Jess design.