feat(demo): mission-control promo video pipeline#195
Open
Mikecranesync wants to merge 3 commits into
Open
Conversation
…ev skill - install-node.sh: accept cluster node name (arg/env/hostname), bake JARVIS_MACHINE_NAME into the launchd plist + systemd unit so each node self-identifies (CHARLIE/ALPHA/BRAVO/...). Bump systemd RestartSec 3->5. - jarvis_dev.py: send Authorization: Bearer $JARVIS_TOKEN on /shell calls to remote nodes (was unauthenticated -> 401 against token-gated nodes). Verified: CHARLIE node live under launchd, tailnet-only bind, token auth enforced (401 unauth / 200 authed), KeepAlive respawn confirmed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8-tab Playwright recorder → macOS TTS → ffmpeg merge pipeline for
generating standalone MP4 promos from the live Hub at app.factorylm.com.
- demo/login.mjs: one-time Hub login; fixed two-step password accordion
(click "Sign in with password" before password input renders)
- demo/record_tab.mjs: per-tab UI recorder driven by script.md timecodes
- demo/voice.py: TTS narration generator with --tab arg for per-tab audio
- demo/sync_tab.sh: ffmpeg A/V merge per tab
- demo/run_all.sh: orchestrates all 8 tabs end-to-end
- demo/tabs/01_chat_relay … 08_hub/script.md: 8 promo scripts
- apps/mission-control/.gitignore: exclude auth.json, raw/, audio/, *.mp4
- apps/mission-control/package.json: playwright ^1.61.1 dep
Usage: doppler run … -- node demo/login.mjs
TTS_PROVIDER=macos bash demo/run_all.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017dDHiiBj9pGgENWREJ4QHh
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.
Summary
app.factorylm.comlogin.mjsnow handles this two-step flow.mp4,.webm,.mp3,auth.json) are gitignoredUsage
Files
demo/login.mjsauth.jsondemo/record_tab.mjsdemo/voice.py--tabargdemo/sync_tab.shdemo/run_all.shdemo/tabs/0N_*/script.mdapps/mission-control/.gitignoreapps/mission-control/package.jsonTest plan
node demo/login.mjs→demo/auth.jsonexists, contains cookiesnode demo/record_tab.mjs 01_chat_relay→demo/tabs/01_chat_relay/raw/*.webmrecordedTTS_PROVIDER=macos python demo/voice.py --tab 01_chat_relay→audio/full_narration.mp3bash demo/sync_tab.sh 01_chat_relay→chat_relay.mp4exists, plays with voicebash demo/run_all.sh→ 8 MP4s indemo/tabs/*/🤖 Generated with Claude Code
https://claude.ai/code/session_017dDHiiBj9pGgENWREJ4QHh