diff --git a/game-runtime/src/host/build-from-source.mjs b/game-runtime/src/host/build-from-source.mjs deleted file mode 100644 index fa743b8b..00000000 --- a/game-runtime/src/host/build-from-source.mjs +++ /dev/null @@ -1,317 +0,0 @@ -/** - * build-from-source.mjs —— build-from-source 装配器(gameDefinition → 可玩工厂源文本 · build-from-source-v0) - * owner:本 session(引擎线 · plan 2026-06-18-001 U2) | 消费方:SaaGenNodes.scaffoldNode(落 generated-factory.js)→ build.mjs(esbuild)→ 九门 harness - * - * ════════════════════════════════════════════════════════════════════════════ - * 【职责】把后端线产出的 sourceProject(声明式 gameDefinition + behaviors 各带逻辑 JS)装配成 - * `generated-factory.js` 源文本——对齐已冻装载契约(game-host.d.ts:default export 工厂 → - * GameInstance{init,update,render,destroy,_forensicsView}),GameInstance 五法委托 U1 的 createRuntime。 - * - * 【信任模型(评审定论·铁律)】模型产出的 behavior.code / rule.condition 是**不可信代码**。 - * - 它**只在浏览器**(Chrome via 九门 CDP harness)执行;esbuild 只**静态打包**(从不执行它); - * 生产链上 **Node 永不执行不可信模型代码**(本仓 Node 仅在单测里跑「自产金样」)。浏览器即安全边界。 - * - 同步 JS 无法在进程内硬中断(死循环/逃逸),故**在校验边界静态拦截**({@link #scanLogic})——把 - * 危险模式(禁用全局/确定性逃逸/死循环/condition 副作用)在编译前转成 validationErrors → repair 反馈, - * 而非靠 prompt 自觉。这是 new Function 不沙箱的现实缓解(对齐双评审 Critical 的边界化建议)。 - * - * 【接现有·零改下游】产出文本 → scaffoldNode 落 generated-factory.js → scripts/build.mjs(esbuild, - * 唯一构建脚本不动)→ bundle.iife.js → serve-and-play.sh + play.cdp.cjs 九门(harness 零改)。 - * - * 【为何「behaviors 带 JS 经数据串内联」】gameDefinition 内联为 JS 对象字面量,behavior.code 作字符串随之内联; - * 运行期 createRuntime 经 new Function 编译。JSON.stringify 完备转义;另把 `<` 转 `<`(保 inline-injection 安全, - * 防 提前闭合 host 页内联 /