{"podcast":{"title":"No Compromises","slug":"no-compromises-1309932","podcast_index_feed_id":1309932,"rss_url":"https://feeds.transistor.fm/no-compromises","website_url":"https://show.nocompromises.io","image_url":"https://img.transistorcdn.com/z6cTh6hcjDJiOBZWkONVdabUkSvSMha6ir6ZU7zqiNs/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzIzMDM3LzE2Mjc1/MjExMTAtYXJ0d29y/ay5qcGc.jpg","author":"Joel Clermont and Aaron Saray","episode_count":157,"summary":"Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.","last_synced_at":"2026-07-19T04:20:23.931944+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932"},"episodes":[{"title":"Running AI agents on your production server is the new FTP","slug":"running-ai-agents-on-your-production-server-is-the-new-ftp","published_at":"2026-07-18T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/running-ai-agents-on-your-production-server-is-the-new-ftp","url":"https://share.transistor.fm/s/c6778465","duration_seconds":905,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/running-ai-agents-on-your-production-server-is-the-new-ftp/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/running-ai-agents-on-your-production-server-is-the-new-ftp.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Why having a human partner still beats relying on AI alone","slug":"why-having-a-human-partner-still-beats-relying-on-ai-alone","published_at":"2026-07-04T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/why-having-a-human-partner-still-beats-relying-on-ai-alone","url":"https://share.transistor.fm/s/b7e4b636","duration_seconds":825,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/why-having-a-human-partner-still-beats-relying-on-ai-alone/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/why-having-a-human-partner-still-beats-relying-on-ai-alone.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"What is really inside the AI tools you blindly install","slug":"what-is-really-inside-the-ai-tools-you-blindly-install","published_at":"2026-06-20T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/what-is-really-inside-the-ai-tools-you-blindly-install","url":"https://share.transistor.fm/s/e1dfffa5","duration_seconds":832,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/what-is-really-inside-the-ai-tools-you-blindly-install/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/what-is-really-inside-the-ai-tools-you-blindly-install.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"How much logic is too much logic in a PHP enum","slug":"how-much-logic-is-too-much-logic-in-a-php-enum","published_at":"2026-06-06T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/how-much-logic-is-too-much-logic-in-a-php-enum","url":"https://share.transistor.fm/s/e307067f","duration_seconds":797,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/how-much-logic-is-too-much-logic-in-a-php-enum/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/how-much-logic-is-too-much-logic-in-a-php-enum.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Your codebase is not a museum for old code","slug":"your-codebase-is-not-a-museum-for-old-code","published_at":"2026-05-23T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/your-codebase-is-not-a-museum-for-old-code","url":"https://share.transistor.fm/s/22610bed","duration_seconds":838,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/your-codebase-is-not-a-museum-for-old-code/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/your-codebase-is-not-a-museum-for-old-code.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Do you actually own the code you ship?","slug":"do-you-actually-own-the-code-you-ship","published_at":"2026-05-09T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/do-you-actually-own-the-code-you-ship","url":"https://share.transistor.fm/s/f38cd91e","duration_seconds":894,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/do-you-actually-own-the-code-you-ship/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/do-you-actually-own-the-code-you-ship.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Do you actually need a multi-tenancy package?","slug":"do-you-actually-need-a-multi-tenancy-package","published_at":"2026-04-25T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/do-you-actually-need-a-multi-tenancy-package","url":"https://share.transistor.fm/s/9ea352fe","duration_seconds":846,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/do-you-actually-need-a-multi-tenancy-package/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/do-you-actually-need-a-multi-tenancy-package.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Local and production should match even for Laravel tools","slug":"local-and-production-should-match-even-for-laravel-tools","published_at":"2026-04-11T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/local-and-production-should-match-even-for-laravel-tools","url":"https://share.transistor.fm/s/f02a08d9","duration_seconds":795,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/local-and-production-should-match-even-for-laravel-tools/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/local-and-production-should-match-even-for-laravel-tools.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"When weird code needs to explain itself","slug":"when-weird-code-needs-to-explain-itself","published_at":"2026-03-28T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/when-weird-code-needs-to-explain-itself","url":"https://share.transistor.fm/s/3051d3a3","duration_seconds":677,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/when-weird-code-needs-to-explain-itself/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/when-weird-code-needs-to-explain-itself.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Are you testing your app or just the framework?","slug":"are-you-testing-your-app-or-just-the-framework","published_at":"2026-03-14T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/are-you-testing-your-app-or-just-the-framework","url":"https://share.transistor.fm/s/b10aff66","duration_seconds":776,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/are-you-testing-your-app-or-just-the-framework/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/are-you-testing-your-app-or-just-the-framework.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Being anti-hype does not mean being anti-AI","slug":"being-anti-hype-does-not-mean-being-anti-ai","published_at":"2026-02-28T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/being-anti-hype-does-not-mean-being-anti-ai","url":"https://share.transistor.fm/s/598a04bb","duration_seconds":627,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/being-anti-hype-does-not-mean-being-anti-ai/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/being-anti-hype-does-not-mean-being-anti-ai.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Three ways to plan an upgrade when your codebase is a patchwork","slug":"three-ways-to-plan-an-upgrade-when-your-codebase-is-a-patchwork","published_at":"2026-02-14T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/three-ways-to-plan-an-upgrade-when-your-codebase-is-a-patchwork","url":"https://share.transistor.fm/s/912b7642","duration_seconds":599,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/three-ways-to-plan-an-upgrade-when-your-codebase-is-a-patchwork/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/three-ways-to-plan-an-upgrade-when-your-codebase-is-a-patchwork.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Stop doing math in your config files","slug":"stop-doing-math-in-your-config-files","published_at":"2026-01-31T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/stop-doing-math-in-your-config-files","url":"https://share.transistor.fm/s/e3713c07","duration_seconds":560,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/stop-doing-math-in-your-config-files/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/stop-doing-math-in-your-config-files.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"What could be worse than having no tests?","slug":"what-could-be-worse-than-having-no-tests","published_at":"2026-01-17T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/what-could-be-worse-than-having-no-tests","url":"https://share.transistor.fm/s/f2bc1a72","duration_seconds":565,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/what-could-be-worse-than-having-no-tests/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/what-could-be-worse-than-having-no-tests.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Why I changed my mind about down migrations","slug":"why-i-changed-my-mind-about-down-migrations","published_at":"2026-01-04T01:20:55+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/why-i-changed-my-mind-about-down-migrations","url":"https://share.transistor.fm/s/1d5604d0","duration_seconds":995,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/why-i-changed-my-mind-about-down-migrations/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/why-i-changed-my-mind-about-down-migrations.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Why senior developers feel wrong more often","slug":"why-senior-developers-feel-wrong-more-often","published_at":"2025-12-20T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/why-senior-developers-feel-wrong-more-often","url":"https://share.transistor.fm/s/7da03fb6","duration_seconds":623,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/why-senior-developers-feel-wrong-more-often/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/why-senior-developers-feel-wrong-more-often.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Should you ever hand-format code?","slug":"should-you-ever-hand-format-code","published_at":"2025-12-06T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/should-you-ever-hand-format-code","url":"https://share.transistor.fm/s/1ce54ca7","duration_seconds":463,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/should-you-ever-hand-format-code/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/should-you-ever-hand-format-code.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Discussing different ways to model data","slug":"discussing-different-ways-to-model-data","published_at":"2025-11-22T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/discussing-different-ways-to-model-data","url":"https://share.transistor.fm/s/b5e7da9b","duration_seconds":710,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/discussing-different-ways-to-model-data/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/discussing-different-ways-to-model-data.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Read outside tech to expand your horizons","slug":"read-outside-tech-to-expand-your-horizons","published_at":"2025-11-08T06:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/read-outside-tech-to-expand-your-horizons","url":"https://share.transistor.fm/s/0a497c23","duration_seconds":584,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/read-outside-tech-to-expand-your-horizons/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/read-outside-tech-to-expand-your-horizons.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Rewriting without a map: shipping an MVP from a legacy app","slug":"rewriting-without-a-map-shipping-an-mvp-from-a-legacy-app","published_at":"2025-10-25T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/rewriting-without-a-map-shipping-an-mvp-from-a-legacy-app","url":"https://share.transistor.fm/s/edbd798b","duration_seconds":713,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/rewriting-without-a-map-shipping-an-mvp-from-a-legacy-app/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/rewriting-without-a-map-shipping-an-mvp-from-a-legacy-app.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"A composable, versioned toolkit for Laravel projects","slug":"a-composable-versioned-toolkit-for-laravel-projects","published_at":"2025-10-11T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/a-composable-versioned-toolkit-for-laravel-projects","url":"https://share.transistor.fm/s/8f9be373","duration_seconds":835,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/a-composable-versioned-toolkit-for-laravel-projects/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/a-composable-versioned-toolkit-for-laravel-projects.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Should you use DTOs in Laravel?","slug":"should-you-use-dtos-in-laravel","published_at":"2025-09-27T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/should-you-use-dtos-in-laravel","url":"https://share.transistor.fm/s/d05a9f95","duration_seconds":610,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/should-you-use-dtos-in-laravel/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/should-you-use-dtos-in-laravel.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Sunsetting a company app without loose ends","slug":"sunsetting-a-company-app-without-loose-ends","published_at":"2025-09-13T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/sunsetting-a-company-app-without-loose-ends","url":"https://share.transistor.fm/s/705481c9","duration_seconds":835,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/sunsetting-a-company-app-without-loose-ends/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/sunsetting-a-company-app-without-loose-ends.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"When building a UI makes more sense than bloating your seeders","slug":"when-building-a-ui-makes-more-sense-than-bloating-your-seeders","published_at":"2025-08-30T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/when-building-a-ui-makes-more-sense-than-bloating-your-seeders","url":"https://share.transistor.fm/s/357288bb","duration_seconds":709,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/when-building-a-ui-makes-more-sense-than-bloating-your-seeders/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/when-building-a-ui-makes-more-sense-than-bloating-your-seeders.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Blade includes vs components: how we decide","slug":"blade-includes-vs-components-how-we-decide","published_at":"2025-08-16T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/blade-includes-vs-components-how-we-decide","url":"https://share.transistor.fm/s/e1200f77","duration_seconds":955,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/blade-includes-vs-components-how-we-decide/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/blade-includes-vs-components-how-we-decide.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Changing your mind about when() and unless() in Eloquent","slug":"changing-your-mind-about-when-and-unless-in-eloquent","published_at":"2025-08-02T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/changing-your-mind-about-when-and-unless-in-eloquent","url":"https://share.transistor.fm/s/664d231e","duration_seconds":662,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/changing-your-mind-about-when-and-unless-in-eloquent/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/changing-your-mind-about-when-and-unless-in-eloquent.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Finding a code-review style that fits your brain","slug":"finding-a-code-review-style-that-fits-your-brain","published_at":"2025-07-19T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/finding-a-code-review-style-that-fits-your-brain","url":"https://share.transistor.fm/s/53db10c3","duration_seconds":980,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/finding-a-code-review-style-that-fits-your-brain/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/finding-a-code-review-style-that-fits-your-brain.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Never take hostages: give clients control from day one","slug":"never-take-hostages-give-clients-control-from-day-one","published_at":"2025-07-05T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/never-take-hostages-give-clients-control-from-day-one","url":"https://share.transistor.fm/s/8d92fbba","duration_seconds":655,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/never-take-hostages-give-clients-control-from-day-one/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/never-take-hostages-give-clients-control-from-day-one.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Balancing test coverage without chasing 100 percent","slug":"balancing-test-coverage-without-chasing-100-percent","published_at":"2025-06-21T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/balancing-test-coverage-without-chasing-100-percent","url":"https://share.transistor.fm/s/08c0276c","duration_seconds":941,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/balancing-test-coverage-without-chasing-100-percent/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/balancing-test-coverage-without-chasing-100-percent.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]},{"title":"Exploratory coding when requirements are fuzzy","slug":"exploratory-coding-when-requirements-are-fuzzy","published_at":"2025-06-07T05:00:00+00:00","page_url":"https://stenobird.com/podcast/no-compromises-1309932/exploratory-coding-when-requirements-are-fuzzy","url":"https://share.transistor.fm/s/46495bb6","duration_seconds":919,"processing_state":"failed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/exploratory-coding-when-requirements-are-fuzzy/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/no-compromises-1309932/exploratory-coding-when-requirements-are-fuzzy.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}]}