chore(backend-scriptc): ScriptC PoC harness and findings - #5240
chore(backend-scriptc): ScriptC PoC harness and findings#5240schultzp2020 wants to merge 1 commit into
Conversation
Capture a Linux-container ScriptC spike next to the Hub backend so we can compare Node vs native deploy size/RSS and record coverage limits for a full backend with dynamic plugins. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Skipping CI for Draft Pull Request. |
|
Hey there and thank you for opening this pull request! 👋🏼 We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Details: |
|
| ready.append("- Ship that as the backend-like image twin") | ||
| ready.append("- Treat dynamic plugins as a separate design spike") | ||
|
|
||
| (out / "triage.txt").write_text("\n".join(lines) + "\n", encoding="utf-8") |
| ready.append("- Treat dynamic plugins as a separate design spike") | ||
|
|
||
| (out / "triage.txt").write_text("\n".join(lines) + "\n", encoding="utf-8") | ||
| (out / "READINESS.txt").write_text("\n".join(ready) + "\n", encoding="utf-8") |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5240 +/- ##
==========================================
- Coverage 63.69% 59.96% -3.74%
==========================================
Files 123 111 -12
Lines 2424 2198 -226
Branches 572 546 -26
==========================================
- Hits 1544 1318 -226
Misses 878 878
Partials 2 2
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|




Adds a throwaway
packages/backend-scriptcspike that builds Linux ScriptC and Node twin images, benches size/startup/RSS, and runsscriptc coverage --dynamicup a ladder toward the real Hub backend. The package is excluded from Yarn workspaces so Konflux/hermeto never seescriptc.Findings (high level): A trimmed HTTP + zod PoC works on Windows via Podman (no Mac required). ScriptC image ~86 MB vs Node twin ~228 MB (~2.7×); process RSS ~6 MB vs ~62 MB (~10×).
createBackend()and a core static plugin set are coverage-green with--dynamic, but addingdynamicPluginsFeatureLoaderhits SC1090 and fullpackages/backend/src/index.tshas more SC blockers. True dynamic plugins also conflict with scriptc’s build-time embed model (no runtimenode_modulesload). Full Hub + dynamic plugins is not ready; the next backend-like compile target is the static-plugin rung. Details are inpackages/backend-scriptc/REPORT.md.Review starting points: root script wiring + workspace exclusion in
package.json, thenREPORT.md, then the Containerfiles /src/main.ts/ coverage ladder undersrc/entries/.