We wrestled with a root cause that had podcast episodes stuck in R2, invisible to the feed, for weeks – it turned out the RSS feed was gated on a scan of the worker’s local disk, but the actual producer writes media_assets + uploads to R2 without the MP3 ever landing on that worker’s disk. (PR #1458) fixes this by introducing an isolated Stage-3 podcast_pipeline graph_def, which adds a first-class podcast lane that doesn’t rely on video rendering. This change shipped behind a flag and includes a contract test to validate the new pipeline.
The fix was precipitated by the discovery that 16 podcast episodes were stuck due to this issue, with no media_approvals row, and 59 approved ones weren’t surfacing – a significant problem for our content pipeline. By giving podcast production its own graph + dispatcher + distribute lane, we’ve ensured that video-render crashes can never halt podcast production again.
This change is part of a broader push to harden our reliability and fix defects found during real-post validation runs. For instance, (PR #1459) addressed three alerting/reliability issues, including adding a WindowsExporterDown static alert and making the set_setting MCP tool fail closed on permission-check errors.
From here, the architect can compose graphs against the live atom catalog instead of hand-coded factories, marking a significant step forward in our content pipeline’s reliability and scalability. With these fixes in place, we’re one step closer to achieving our milestone goals and unlocking further growth for Poindexter.
Auto-compiled by Poindexter from today’s commits and PRs. See the work: github.com/Glad-Labs/poindexter.



