Skip to content

Integrate pipeline brain into the web app (feature-flagged, default-off)#2

Merged
ralyodio merged 1 commit into
masterfrom
feat/integrate-pipeline-brain
Jun 28, 2026
Merged

Integrate pipeline brain into the web app (feature-flagged, default-off)#2
ralyodio merged 1 commit into
masterfrom
feat/integrate-pipeline-brain

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

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=1 is 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/core now exports runPipeline (+ ./pipeline subpath); deps add @anthropic-ai/sdk@^0.106, playwright, zod (Remotion optional).
  • apps/web/lib/jobs.js — when MKDEMO_PIPELINE_BRAIN=1, runs the brain (same job/emit contract → SSE UI unchanged); otherwise the existing scroll-tour stages. createJob now carries maxFeatures / clips / song.
  • Dockerfile — installs Playwright Chromium (needed only when the brain is on; harmless otherwise).

Safety

  • Default-off. MKDEMO_PIPELINE_BRAIN unset → identical to today's behavior. The live makedemo.app deploy is unaffected by a merge.
  • To activate: set MKDEMO_PIPELINE_BRAIN=1 (and a real ANTHROPIC_API_KEY — already on the service) on the Railway service.

Tests

  • pnpm run test:pipeline30 passing (timeline math, ducking filter, URL globs, schema validation, feature-detect/script-writer heuristic fallbacks, drawtext escaping).
  • apps/web/lib/jobs.js import chain verified (resolves runPipeline from core + the full brain).

Notes

🤖 Generated with Claude Code

…, 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>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​anthropic-ai/​sdk@​0.106.06610088100100
Addednpm/​@​remotion/​bundler@​4.0.484991007896100
Addednpm/​playwright@​1.61.11001001009980
Addednpm/​@​remotion/​renderer@​4.0.484951008296100
Addednpm/​zod@​4.4.310010010093100

View full report

@socket-security

Copy link
Copy Markdown

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.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm @emnapi/runtime is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@remotion/bundler@4.0.484npm/@emnapi/runtime@1.11.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@emnapi/runtime@1.11.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @mediabunny/flac-encoder is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@remotion/bundler@4.0.484npm/@mediabunny/flac-encoder@1.47.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@mediabunny/flac-encoder@1.47.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @mediabunny/flac-encoder is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@remotion/bundler@4.0.484npm/@mediabunny/flac-encoder@1.47.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@mediabunny/flac-encoder@1.47.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @mediabunny/flac-encoder is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@remotion/bundler@4.0.484npm/@mediabunny/flac-encoder@1.47.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@mediabunny/flac-encoder@1.47.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @mediabunny/mp3-encoder is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@remotion/bundler@4.0.484npm/@mediabunny/mp3-encoder@1.47.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@mediabunny/mp3-encoder@1.47.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: npm @remotion/canvas-capture

License: The package entry has license metadata, but it could not be parsed - This license was not allowed or given any lesser classification by the applicable policy (npm metadata)

License: Remotion License - This license classifier is not allowed by the applicable policy (package/package.json)

From: ?npm/@remotion/bundler@4.0.484npm/@remotion/canvas-capture@4.0.484

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@remotion/canvas-capture@4.0.484. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: npm @remotion/media-parser

License: The package entry has license metadata, but it could not be parsed - This license was not allowed or given any lesser classification by the applicable policy (npm metadata)

License: Remotion License https://remotion.dev/license - This license classifier is not allowed by the applicable policy (package/package.json)

From: ?npm/@remotion/bundler@4.0.484npm/@remotion/media-parser@4.0.484

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@remotion/media-parser@4.0.484. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: npm @remotion/web-renderer

License: The package entry has license metadata, but it could not be parsed - This license was not allowed or given any lesser classification by the applicable policy (npm metadata)

License: UNLICENSED - This license classifier is not allowed by the applicable policy (package/package.json)

From: ?npm/@remotion/bundler@4.0.484npm/@remotion/web-renderer@4.0.484

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@remotion/web-renderer@4.0.484. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: npm playwright-core under ms-azure-data-studio

License: ms-azure-data-studio - The applicable license policy does not permit this license (5) (package/ThirdPartyNotices.txt)

From: ?npm/playwright@1.61.1npm/playwright-core@1.61.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/playwright-core@1.61.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: npm playwright under ms-azure-data-studio

License: ms-azure-data-studio - The applicable license policy does not permit this license (5) (package/ThirdPartyNotices.txt)

From: packages/core/package.jsonnpm/playwright@1.61.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/playwright@1.61.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
Deprecated by its maintainer: npm source-map

Reason: The work that was done in this beta branch won't be included in future versions

From: ?npm/@remotion/renderer@4.0.484npm/source-map@0.8.0-beta.0

ℹ Read more on: This package | This alert | What is a deprecated package?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Research the state of the package and determine if there are non-deprecated versions that can be used, or if it should be replaced with a new, supported solution.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/source-map@0.8.0-beta.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@ralyodio ralyodio merged commit 6eb3978 into master Jun 28, 2026
2 checks passed
@ralyodio ralyodio deleted the feat/integrate-pipeline-brain branch June 28, 2026 00:44
ralyodio added a commit that referenced this pull request Jun 28, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant