fix: increase handoff timeout to 180s and pass podcast config (#421)

The Podcaster API now runs LLM script generation which takes 60-90s. The previous 30s default caused the smoke workflow to time out. Also ensures both the smoke workflow and crawl-and-publish pass --podcast-config config/podcast.json so the API receives script_directions (including music_mix) and podcast_config (hosts/styles). Closes #418 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Juan Manuel Servera committed Jun 12, 2026 at 13:46 UTC d4d4725fe53002b98fb549db28d23f755745a977
3 files changed +3 -1
.github/workflows/crawl-and-publish.yml
+1
@@ -1200,6 +1200,7 @@ jobs:
1200 --publish-run-id "$PUBLISH_RUN_ID"
1201 --publish-mode "$RUN_MODE"
1202 --manifest "$MANIFEST_FILE"
1203 + --podcast-config config/podcast.json
1204 )
1205 if ! python3 scripts/podcaster_handoff.py "${ARGS[@]}"; then
1206 echo "::warning::Podcaster handoff failed or was rejected; weekly article publication remains complete."
.github/workflows/podcaster-handoff-smoke.yml
+1
@@ -87,5 +87,6 @@ jobs:
87 --article-path "$ARTICLE_PATH" \
88 --publish-run-id "$PUBLISH_RUN_ID" \
89 --publish-mode normal \
90 + --podcast-config config/podcast.json \
91 --podcaster-dry-run \
92 "${MANIFEST_ARGS[@]}"
scripts/podcaster_handoff.py
+1 -1
@@ -12,7 +12,7 @@ from urllib.parse import urljoin, urlparse
12
13
14 AUTH_HEADER = "x-podcaster-api-key"
15 -DEFAULT_TIMEOUT_SECONDS = 30
15 +DEFAULT_TIMEOUT_SECONDS = 180
16 DEFAULT_PODCAST_CONFIG_PATH = Path(__file__).resolve().parent.parent / "config" / "podcast.json"
17 REPO_ROOT = Path(__file__).resolve().parent.parent
18 MAX_ARTICLE_CONTENT_CHARS = 50_000