[codex] Shift video publishing to a Post Bridge-first flow#244
Draft
FujiwaraChoki wants to merge 1 commit into
Draft
[codex] Shift video publishing to a Post Bridge-first flow#244FujiwaraChoki wants to merge 1 commit into
FujiwaraChoki wants to merge 1 commit into
Conversation
The CLI, config, cron path, and docs now treat Post Bridge as the primary publishing backend while retaining the local video-generation pipeline. Legacy YouTube automation remains available only as a deferred browser path, with browser startup moved to lazy initialization. This also adds a config-backed setup wizard, publish history retrieval, and test coverage for the new publishing behavior so the migration is usable without manual config editing. Constraint: Preserve existing local video generation while replacing the default publish path Constraint: Keep legacy YouTube callers and tests from breaking during the transition Rejected: Remove the YouTube class entirely | generation still depends on its existing pipeline Rejected: Keep cron on youtube mode and cross-post afterward | conflicts with the new primary publishing model Confidence: medium Scope-risk: broad Reversibility: messy Directive: Do not reintroduce eager Firefox initialization unless the publish flow moves back to browser automation Tested: venv/bin/python -m unittest discover -s tests -p 'test_config.py' Tested: venv/bin/python -m unittest discover -s tests -p 'test_cron_post_bridge.py' Tested: venv/bin/python -m unittest discover -s tests -p 'test_post_bridge_client.py' Tested: venv/bin/python -m unittest discover -s tests -p 'test_post_bridge_integration.py' Tested: git diff --check Not-tested: End-to-end interactive publish flow against live Post Bridge credentials Not-tested: scripts/preflight_local.py passes only partially in this environment because nanobanana2_api_key/GEMINI_API_KEY is unset
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
publishcron modeWhy it changed
The current product direction treats Post Bridge as the main publishing backend, but the CLI, config defaults, cron path, and docs were still centered on the older YouTube-first flow. This PR aligns the app with the new publishing model while preserving the existing local video-generation pipeline.
Impact
config.jsonmanuallypublishmode instead ofyoutubeRoot cause
The repository had partial Post Bridge integration, but the surrounding entrypoints and defaults still assumed successful YouTube upload came first and cross-posting happened afterward.
Validation
venv/bin/python -m unittest discover -s tests -p 'test_config.py'venv/bin/python -m unittest discover -s tests -p 'test_cron_post_bridge.py'venv/bin/python -m unittest discover -s tests -p 'test_post_bridge_client.py'venv/bin/python -m unittest discover -s tests -p 'test_post_bridge_integration.py'git diff --checkKnown gaps
venv/bin/python scripts/preflight_local.pystill reports a local config blocker becausenanobanana2_api_key/GEMINI_API_KEYis unset