zizi 023a2630c3 docs(restructure): agent-specs 深度重构 Phase A——42流水档→7子系统canonical+总账瘦身
深度重构(创始人批:settled 7域现在做/生成域待协调/FOLD源git rm/_archive只增/无日期主题名/canonical=子系统SoT)。
分析=10主题簇 opus fan-out(1.1M tok);计划经 opus 对抗评审 GO-带必修(prompt活档补回/总账§6取证搬归档不压删/git-status划波)。

7 子系统 canonical(子系统SoT·一域一档·≤150行·砍历史过程·留现行架构+目标+现状+指针):
- agentic编排-SAA / 引擎与运行时 / 开闸验收门-W-G1 / 渠道发行 / studio前端设计体系 / 变现与单位经济 / 战略与合规
- prompt治理体系-execution = KEEP(Prompt第8契约,已是canonical形态)

源档处置(Phase A settled,全committed):
- FOLD 15 + DELETE 1 → git rm(活内容已蒸进canonical,git历史留存)
- ARCHIVE 10 → _archive/(收口报告/取证账本)
- 顶层 dated 档 42→17(剩生成域Phase-B + 治理 + KEEP dossier)

总账(评审M2:不压删):§6波次史42行整段搬 _archive/总账-波次史归档.md(一字不丢)+正文留里程碑摘要+指针。
_index 重构为 canonical 导航;skills+mvp 6档断链→canonical;活档归档引用→_archive。

Phase B(待协调,本次不动):生成主线/固定架构/产品路线图——含他session 06-17在飞WIP,红线不擅动。
留痕:docs/agent-specs/2026-06-17-agent-specs深度重构-plan.md(计划+opus评审)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:03:27 +00:00

12 KiB
Raw Blame History

渠道发行 · canonical(子系统 SoT)

类型=canonical 活档(子系统单一事实源)· 更新 2026-06-17 取代=2 份历史 spec(渠道适配判定 / W-CH-α 渠道引擎对比 spike-execution,已 FOLD 删或归档,见 git 历史与 _archive/) 读法=读本档即知现行真相;深落地见 .agents/skills/runtime-and-multichannel.md,决策史见 git。

0. 一句话定位 + 现状横幅

渠道发行(HJ-CH-001)= 微信/抖音小游戏「一壳多游·L1 精选整包过审」的分发面:单 appid 内固定模板代码 + 远程 GameConfig 纯数据,自有 feed 呈现,不互跳不外导,对外口径=「主题小游戏合集」而非开放 UGC 平台。自研 H5 流 = UGC 海量生成与 L2 改码的主场(浏览器对动态生成代码无禁令)。

现状:判定定稿(HJ-CH-001,06-12) + 三项创始人拍板;引擎竞标 W-CH-α P0 段五产物已交付(验证门 6/6 PASS,bb12d30c);P1 真机段暂停,待创始人三件套(微信 AppID + Win/Mac + 安卓真机)。对外措辞统一=「自研流即时发布 + 双渠道精选发行」(可行性方案原文已同步更词,含 15KB 滞留引用更正)。

1. 为什么这么分工(决策理由·精炼)

  • L1-only 根因①(技术):浏览器无动态代码禁令 → 自研 H5 是 UGC 主场;微信/抖音对远程包自动剥离代码 + 明文禁 JS 解释器(eval5 等) → 渠道只能跑「包内固定模板代码 + 远程 GameConfig 纯数据」。
  • L1-only 根因②(审核颗粒度):渠道审核针对「游戏内容」非 appid,故海量 UGC 各自上渠道不可行。
  • L2/L3 渠道命运:默认主线=自研 H5 流(即时生成发布闭环完整);上渠道仅以「精选款固化进包版本提审」或「一游一 appid(B 端/IP 旗舰/爆款)」。每款游戏=agent 独立代码 → 常规新游戏随壳版本节奏整包入渠道,与「精选整包发行」口径自洽。

2. 合规闸门(L1 能落地的硬约束)

平台规则核查的活结论(置信度逐项与 source URL 索引已删,留 git 历史与 §7 指针):

  1. IAA 免版号通道有效:纯 IAA 走「软著/电子版权认证 + 自审自查 + ICP 备案」上架(资质审核 1-3 自然日),个人主体可上架可开流量主,版号仅内购强制;但审核员裁量补版号判例真实(纯广告游戏被要求补材料,25-26 政策敏感区,落地前复核)。「4-6 月集中清退无版号存量」=谣言解除。
  2. ⚠️ 备案锁=决定性闸门(比版号紧):官方「备案完成后不支持改游戏内容/icon/代码,实质变更须重新备案」→ 一壳多游从「灰区可行」降级为「高风险待裁」(壳合规≠内容合规)。三出路:(a) 精选款每游独立备案;(b) 壳内游戏集稳定化,变更统一走「重新备案 + 整包提审」月级节奏;(c) 并入 W3 律所议题裁。「当日热发新游进渠道」叙事收回——热发仅限既有游戏的非实质参数微调(边界待律所)。注:不影响自研 H5 流(无备案锁)。
  3. 公测=运营(草案未生效法):出处=新闻出版署《网络游戏管理办法(草案)》第 21 条,截至 2026-06 仍草案。灰测合规出口=≤2 万人 + 不接广告 + 报备删档——写入发布流程红线(种子创作者外测若挂广告即属「运营」须先备案)。
  4. 抖音口径:一软著一游戏 + 备案=上架前置(平台代为申报,非「先上线后备案」);两平台对齐,未见 2026 额外收紧。
  5. 题材黑名单:棋牌/捕鱼即便 IAA 也需律所季更合规报告 → 列入生成侧题材审查(生成前)。
  6. 运营事实(保留一行):流量主门槛 UV≥1000;IAA 分成 微信 50%~90% / 抖音 70%~90%(穿山甲/巨量)。

3. 现行架构:Channel Runner v1 + GameConfig 合规红线

渠道线不复用 Runner v2,新增双形态(feed 侧 LittleJS 终裁不动,本面只裁渠道线):

flowchart LR
  subgraph 包内随提审[壳工程随包提审 · 微信/抖音各一]
    A[渠道SDK/广告/遥测/<br>canvas-input-audio-storage<br>四件 adapter] --> B[模板注册表<br>templateId 仅命中包内白名单]
    B --> C[L1模板代码 + 核心层 + SDK<br>全部随包]
  end
  D[(远程 GameConfig<br>gameId/versionId/configHash)] -->|schema+hash 校验后实例化| C
  C -->|SDK postMessage→同上下文直连<br>ad.showRewarded 直调 wx/tt API| E[平台 wx/tt 运行时]
  F[安全边界:静态代码扫描<br>+schema红线+域名白名单<br>+包hash+真机取证] -.替代 iframe+CSP.- C

GameConfig 合规红线(渠道生死线,转正即 9c 契约):禁一切可执行/可解释串(condition:"score>10" 类);禁远程 entry/templateUrl/WASM/JS/HTML/脚本化 SVG;剧情/关卡=有限状态机枚举(conditionType+params / actionType+params)禁通用 DSL;templateId/actionType/assetId/adSlotId 全枚举白名单;schema additionalProperties:false + 数值/长度/MIME/大小全限制;远程素材仅图音/atlas/json + hash + 白名单域名。

广告:showRewarded(slotId) → wx/tt.createRewardedVideoAd(slotId→adUnitId 映射,additive 增 showBanner/hideBanner);rewarded=true 只认平台完整观看回调,兜底奖励必须标 reward_fallback=true 不得伪造广告收益。9g 遥测补渠道字段:channel / channelAppId / adUnitId / logicalSlotId / packageVersion / configHash / requestId / ad_event_type / platform_callback / settlement_batch。S2 七锚点渠道版=t_launch→t_runner_boot→t_canvas_ready→t_sdk_ready→t_config_loaded→t_first_paint→t_input_bound→t_game_start。

4. 生产管线形态(三层·Win/Mac 依赖只在一层)

回答「Cocos 不能跑服务器,生产怎么办」——Win/Mac 依赖只在第②层、且仅当 C-B 胜出:

  1. 每游戏生产(高频主路径)= 纯数据零构建:GameConfig + 资产由 Linux 工厂全自动产出热下发,不碰引擎构建(禁动态代码倒逼的架构红利)。
  2. Runner 壳版本发布(周/月低频):C-A(LittleJS)=esbuild 纯 Node 全 Linux(P0 已实证);C-B(Cocos)须 Win/Mac 构建机(Mac mini/云 runner,真实运维成本、非阻断)。
  3. 上传提审(平台强制低频):微信官方 miniprogram-ci(纯 Node 可 Linux 无人化上传/预览);抖音 tt-ide-cli 同类【待 P1 核实】。

绕不开人工的只有平台审核节奏本身,与引擎无关;spike 三件套是 P1 人工取证阶段需求,非生产常态。

5. 渠道引擎竞标(C-A LittleJS+adapter vs C-B Cocos 原生导出)

层不锁引擎、场景锁默认 LittleJS + 复议权(创始人 06-12);feed 侧 LittleJS 终裁不动。候选二选定稿(LayaAir 尽调出局,见末段)。统一场景=同一 L1 模板(tycoon 主测 + clicker 边际成本测量) + 字节级相同 GameConfig(公平性红线,禁为某候选单独调参),微信/抖音双端各出一包;clicker 仅进 G1 体积与「每模板边际」计分、不进真机门(时间盒)。

C-A C-B
引擎 LittleJS 1.18.x(锁 T1 终裁版本)+ 自研 weapp/tt adapter Cocos Creator 3.8.x(锁精确小版本写入 REPORT) 原生导出
入包 壳+adapter+engine(tree-shaken)+核心层+双模板+基础素材 壳(官方模板冻结基线)+core+双模板同左+基础素材
出包 微信+抖音各一包 同左

决策规则:adapter 全门过且维护面可控 → 单代码库优先(模板工艺只做一次);adapter 脆或体积/性能出线 → Cocos 接渠道线(复用 Tier2/3 既定投资),GameConfig 引擎无关保工厂不分叉。翻盘条件:被裁方在真机/审核出现对方没有的结构性阻断,持证据复议。

计分维:G1-G6 通过数 / 主包余量 / 真机首屏≤2s / 双实现成本三列(首模板迁移一次性 · 后续模板边际〔clicker 增量实测〕· 平台 API 漂移维护归属) / agent 友好度(纯代码 vs 编辑器+MCP) / 构建管线服务器化。敏感性分析必含两变体:①裁量维拉平 ②剔除首模板一次性迁移成本(防「单代码库」被一次性成本系统性抬分)。

公平性生命线(优于一切产出):共用只读 channel-probe(lane 禁改,主会话 diff 校验) + 八锚点字段级定义 + JSONL 哈希链主证(seq/单调时钟/前条哈希/device/configHash) + 真机禁状态注入(全程禁 evaluate/调试器改状态);主证据=机器可校验文件,录屏/截图一律降辅证。

LayaAir 尽调出局(写死,复评前不重问):①无 MCP/agent 工具面(其「AI 引擎」=IDE 内嵌人工 AIGC,AI 代码生成官方标「规划中」),反观 cocos-mcp 158 工具已成熟;②体积比 LittleJS(~55KB gz)重一到两个数量级。复评触发条件=LayaAir 出现官方/成熟社区 MCP server,或官方公布 2D-only 小游戏核心体积数字且 ≪ Cocos。

6. 当前 objective 与现状(done / 在飞 / 待办)

  • DONE:判定定稿(HJ-CH-001) + 三项创始人拍板——C1 分工口径「自研流即时发布 + 双渠道精选发行」;C2 一壳多游以渠道合规为准绳(默认月级「重新备案+整包提审」,若律所判须每游独立备案则照办,合规优先于经济性);C3 W-CH-α 升级为渠道引擎对比竞标制。W-CH-α P0 先行段五产物已交付(adapter v0 + SIZES + 合规 schema + 扫描器 30 用例〔15 合规/15 违规〕+ Channel Runner 壳骨架 + channel-probe + RUNBOOK,验证门 6/6 PASS,bb12d30c)。
  • 在飞(暂停):W-CH-α P1 真测段七门——G1 装载(主包≤4MB) / G2 模拟器全循环 / G2b 真机真输入(双端×双候选各 3 次真触摸完成 tycoon 闭环含终局) / G3 真机首屏(三开协议,判定值=杀进程冷开 t_launch→t_game_start ≤2s) / G4 广告五路径(success/close-before-complete/load-fail/timeout/no-fill) / G5 审核门(预检计分 + 真实提审观察项,驳回归因分类 engine/package/compliance 计入·资质/类目/IP 入残差) / G6 网络门(仅白名单域名)。硬前置=创始人供三件套(微信 AppID + Win/Mac + 安卓千元机 + 测试号)。
  • 待办:W-CH-β 渠道线建设(壳工程×2 → 分发中台〔一壳多游·主题合集口径〕→ 广告 adapter + 9g 字段 → 渠道评估门),spike 过门后开。非工程前置(🧑/律所)=一壳多游类目报备 / 软著申报节奏 / H5 站资质律所结论(挂 W3) / IAA 政策敏感区上线前复核。

7. 关键指针(契约/代码/skill/git/上游)

  • 代码资产(KEEP,勿误清理):docs/agent-specs/2026-06-12-channel-spike/——三 lane:lane-littlejs-adapter/(src/test + REPORT/SIZES/RUNBOOK) · lane-cocos/ · shared/(channel-probe.js / runner-shell.js / game-config / schema,只读区 lane 不得改)。P0 产物 + P1 执行册,作为 spike 资产保留。
  • 契约:GameConfig channel schema 转正候选 → contracts/game-package.schema.json 的 9c;遥测渠道字段 → 9g。
  • skill:.agents/skills/runtime-and-multichannel.md §6 多渠道导出。
  • 上游回写:HJ-GEN-001 D13/§3/§7、.agents/knowledge/tech-decisions.md §1.1(导出枢纽=微信小游戏格式包;快手无专用接口走「微信格式兼容转换」;LayaAir 清单无快手)。
  • 终裁物:渠道引擎计分终裁包(格式同 T1:计分表 + 裁量分声明 + 敏感性分析 + 翻盘条件,P1 跑完后产出 → 过 Codex 审 → 创始人终裁 → 回写 HJ-CH-001/HJ-GEN-001 → wave-close 七步收口)。A1 可溯 source URL 索引留判定 doc 原档 git 历史。