Integrate pipeline brain into the web app (feature-flagged, default-off)#2
Conversation
…, default off) Wires the Claude/media pipeline brain into the live web shell additively and safely: nothing changes until MKDEMO_PIPELINE_BRAIN=1 is set. - packages/core/src/pipeline/*: the brain (crawl -> Claude feature detection -> Playwright per-feature recording -> Claude VO script + Suno prompt -> ElevenLabs -> motion-graphics + ducked-music ffmpeg assembly). - packages/core exports runPipeline + ./pipeline subpath; adds @anthropic-ai/sdk ^0.106, playwright, zod (Remotion optional). - apps/web/lib/jobs.js: when MKDEMO_PIPELINE_BRAIN=1, runs runBrainPipeline (same job/emit contract); otherwise the existing scroll-tour stages. createJob now carries maxFeatures/clips/song for the brain. - Dockerfile: installs Playwright Chromium (needed only when the brain is on). - 30 pipeline unit tests (timeline, ducking filter, URL globs, schemas, feature-detect/script-writer fallbacks, drawtext escaping); docs/PIPELINE.md. Merging is safe (default-off); flip MKDEMO_PIPELINE_BRAIN=1 on Railway to enable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
…ages/core) PR #2 already merged this pipeline into master under packages/core/src/pipeline. Resolved the conflicts so PR #1 adds NO duplicate code: - dropped the root src/pipeline copy (canonical lives in @makedemo/core) - took master's test/pipeline (they import packages/core) and root package.json - kept only the unique bits: scripts/run-pipeline.js (a standalone local runner, now importing @makedemo/core) + the `pipeline` npm script + .env.example (ANTHROPIC_API_KEY / MKDEMO_REMOTION). 30 pipeline tests pass; runner resolves runPipeline from packages/core. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wires the Claude/media pipeline brain (PR #1) into the live web shell — additive and feature-flagged. Nothing changes in prod until
MKDEMO_PIPELINE_BRAIN=1is set, so merging + deploying is safe.What's wired
packages/core/src/pipeline/*— the brain: crawl → Claude feature detection (claude-opus-4-8, zod structured output) → Playwright per-feature screen recording → Claude cohesive VO script + suno.com surreal/metal prompt → ElevenLabs VO → motion-graphics + sidechain-ducked Suno music ffmpeg assembly.@makedemo/corenow exportsrunPipeline(+./pipelinesubpath); deps add@anthropic-ai/sdk@^0.106,playwright,zod(Remotion optional).apps/web/lib/jobs.js— whenMKDEMO_PIPELINE_BRAIN=1, runs the brain (samejob/emitcontract → SSE UI unchanged); otherwise the existing scroll-tour stages.createJobnow carriesmaxFeatures/clips/song.Dockerfile— installs Playwright Chromium (needed only when the brain is on; harmless otherwise).Safety
MKDEMO_PIPELINE_BRAINunset → identical to today's behavior. The live makedemo.app deploy is unaffected by a merge.MKDEMO_PIPELINE_BRAIN=1(and a realANTHROPIC_API_KEY— already on the service) on the Railway service.Tests
pnpm run test:pipeline→ 30 passing (timeline math, ducking filter, URL globs, schema validation, feature-detect/script-writer heuristic fallbacks, drawtext escaping).apps/web/lib/jobs.jsimport chain verified (resolvesrunPipelinefrom core + the full brain).Notes
🤖 Generated with Claude Code