T1 六款模板(_template + feiyi/puzzle/shop/story/trpg)起局/重开按钮命中矩形: 从 render 副作用回写(menuStartBtn = renderMenu(...).startBtn)改为抽纯几何 menuStartRect/overRestartRect + 在场景进入点 onEnter 确定性赋值、render 只画; 治并发 rAF 饥饿下 render 未跑过=命中矩形恒 null=卡 menu(归因案4)。 no-render 探针坐实:修复前六款均卡 menu、修复后均按坐标起局进 play。 T2 cheap-system.md 升 v1.6.1,红线段增两条硬约束:①点 target 玩法 state 键名 固定为 targets(不得改成 items 等,C5 驱动器族选择依赖)②起局命中矩形须在状态 进入点建立、不依赖渲染帧;各模板 _forensicsView 加同义契约注释。cheap_roles.py _SYSTEM_PROMPT 与 md 正文逐字节 parity 同步,registry.yaml 版本 bump 对齐。 T3 gen.mjs 顶层裸调 main() 加入口守卫(import.meta.url === pathToFileURL(argv[1])), 被 import 时不再触发真生成(footgun,曾 ~116s)、直接执行行为不变。 T4 puzzle-game-design.md §9 死链经核实在本 commit 不存在(唯一 play-spec 引用已 正确指向存在的 puzzle.play-spec.json),未伪造改动;littlejs-game-dev.md 补一条 起局 onEnter 指导闭合 doc-code。 验证:test_roles 12/12 + check_registry 17 对齐 + md↔_SYSTEM_PROMPT parity True + 6 模板 esbuild build 全绿 + amodel-gen tests 15+11 + 模板 node --test 除 _template-shop/headless-boot(既存红,与基线同)外全绿。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
130 lines
10 KiB
YAML
130 lines
10 KiB
YAML
# 契约 #8 Prompt Registry —— Prompt 即契约(Git 化注册表)
|
||
# owner:各 prompt 归属工位 | 治理:见 .agents/skills/prompt-governance.md 与 docs/agent-specs/prompt治理体系-execution.md
|
||
# 引用方式:Dify/aigc 用 {{registry:id@ver}} 引用;变更 prompt 必须升 version 并过四道闸(CI)
|
||
version: 1
|
||
prompts:
|
||
- id: safety.prompt-check
|
||
version: 1.0.0
|
||
stage: "01-safety" # 8 阶段:01-safety 02-intent 03-template 04-config 05-asset 06-quality 07-fix 08-meta
|
||
owner: WS2 # 归属工位
|
||
file: 01-safety/prompt-safety-check.md
|
||
desc: 创作者 Prompt 安全/注入检测(生成链路第 1 节点)
|
||
eval: eval/safety.prompt-check/ # Golden eval 集(四道闸:Schema/成功率/回归diff/成本延迟)
|
||
# —— agent 化生成 QA 闭环 v1 三件套(HJ-AGENT-LOOP-EXEC-001 §5;v1 仅 clicker 走批跑)——
|
||
- id: config.clicker-designer
|
||
version: 1.1.0 # v1.1.0:batch-001 冻结告警→新增 designIntent 模板内约束(加规则不改口径)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/clicker-designer.md
|
||
desc: agent 闭环独立策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/clicker.schema.json 约束)
|
||
eval: eval/config.clicker-designer/ # 每批 evalflow.py 强制回流(inputs/labels JSONL)+ C1 spike 52 条种子(D3 转入)
|
||
- id: config.merge-designer
|
||
version: 1.0.0 # 首版:merge 模板策划(结构对齐 clicker-designer,按 merge schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/merge-designer.md
|
||
desc: agent 闭环 merge 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/merge.schema.json 约束)
|
||
eval: eval/config.merge-designer/ # 新建 Golden 目录(首版无种子,随批回流;§4.5)
|
||
- id: config.idle-designer
|
||
version: 1.0.0 # 首版:idle 模板策划(结构对齐 clicker/merge-designer,按 idle schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/idle-designer.md
|
||
desc: agent 闭环 idle 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/idle.schema.json 约束)
|
||
eval: eval/config.idle-designer/ # 新建 Golden 目录(首版无种子,随批回流)
|
||
- id: config.tycoon-designer
|
||
version: 1.0.0 # 首版:tycoon 模板策划(结构对齐 clicker/merge-designer,按 tycoon schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/tycoon-designer.md
|
||
desc: agent 闭环 tycoon 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/tycoon.schema.json 约束)
|
||
eval: eval/config.tycoon-designer/ # 新建 Golden 目录(首版无种子,随批回流)
|
||
# —— P3 生成主线编码 prompt(W-G1,2026-06-14;范式=编码出 bundle 源码,非策划出 GameConfig)——
|
||
- id: config.generic-coder
|
||
version: 0.0.1 # ⚠️ STUB 占位骨架(04-config/generic-coder.md 仅 frontmatter+三要点提纲,非正式 prompt);L1 出正式草案时整体替换并升版,两处 version 同步
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/generic-coder.md
|
||
desc: P3 编码 prompt(创意一句话→GameHostFactory 源码→esbuild 打 __GameBundle bundle;非策划出 GameConfig)。【当前为 STUB 占位骨架·L1 出正式草案替换】
|
||
eval: eval/config.generic-coder/ # 新建 Golden eval 目录(首版无种子,随 bake-off 批回流)
|
||
- id: quality.adversary-review
|
||
version: 1.1.2 # v1.1.2:细则①追加 merge 域示例(P0/P1 口径文字仍未动)
|
||
stage: "06-quality"
|
||
owner: WS2
|
||
file: 06-quality/adversary-review.md
|
||
desc: agent 闭环对抗策划:GameDesign→findings[](P0/P1/P2 口径写死;只批不改、不下结论、不可见试玩数据)
|
||
eval: eval/quality.adversary-review/ # 每批 evalflow.py 强制回流;批末稳定性重测一致率素材
|
||
- id: fix.design-revise
|
||
version: 1.0.1 # v1.0.1:+template_schema 注入段/:48 括注中性化
|
||
stage: "07-fix"
|
||
owner: WS2
|
||
file: 07-fix/design-revise.md
|
||
desc: agent 闭环 fix 变体:原 GameDesign+findings(P1) 回灌重出(只修指出项,未指出字段原样保留;回炉额度合计 1 轮)
|
||
eval: eval/fix.design-revise/ # 每批 evalflow.py 强制回流;fix 前后对照跨目录按 rootDesignId 关联(§16 D2-a)
|
||
# ── tier2 富游戏自治生成线 prompt(09-tier2-richgame;range=tier2/gen-worker/worker/roles.py)─────────────
|
||
# 范式:AgentScope 2.0.2 ReAct 两阶段角色(阶段 1 工作室多 agent 设计 / 阶段 2 单写 ReAct + L3 软检玩家),
|
||
# 【非】cheap-line 的策划/编码出 GameConfig|bundle 范式。与 Tier0/1 既有条目(01-safety~07-fix)完全隔离、互不影响。
|
||
# 消费方 = roles.py 经 worker/prompts.py 运行时读本段 file 指向的正文;读不到/脏 → 回落 roles.py 内置原文(best-effort,绝不中断生成)。
|
||
# 首版正文 = roles.py 内置原文逐字节对齐(带参的存 {{input.*}} 模板),故默认行为字节不变;调一条 prompt = 改对应 .md 正文升 version 重跑。
|
||
# 注:eval 字段暂留待建(图说 B 族明示 tier2 eval/灰度门当前不存在,配置改动只「下次生效+轨迹留痕」两层保护,非设计缺陷)。
|
||
- id: tier2.design-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-system.md
|
||
desc: 阶段 1 单 design agent 兜底(题面→富游戏设计稿七要点;design_team 失败时 degrade 回落用)
|
||
- id: tier2.design-systems-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-systems-designer.md
|
||
desc: 阶段 1 工作室专家·系统设计师(核心循环/多系统拆解/耦合点/可观测语义 state)
|
||
- id: tier2.design-economy-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-economy-designer.md
|
||
desc: 阶段 1 工作室专家·经济数值设计师(数据表/经济流转/胜负条件含失败态/难度曲线)
|
||
- id: tier2.design-level-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-level-designer.md
|
||
desc: 阶段 1 工作室专家·玩法关卡设计师(玩法节奏/关卡阶段编排/操作手感/失败-重试体验)
|
||
- id: tier2.design-presentation-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-presentation-designer.md
|
||
desc: 阶段 1 工作室专家·表现层与可玩性设计师(Phaser scene 树/UI-HUD 布局与命中映射/进展反馈/可玩性)
|
||
- id: tier2.design-leader-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-leader-system.md
|
||
desc: 阶段 1 工作室 leader(拆题面→调四专家工具→汇总成连贯设计稿;带参 input.brief)
|
||
- id: tier2.writer-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/writer-system.md
|
||
desc: 阶段 2 单写 agent system 固定前缀(任务/九工具/工作纪律铁律/典型循环节奏;题面+品类靶+设计稿三块由 roles.py 按入参条件追加)
|
||
- id: tier2.player-system
|
||
version: 1.1.0 # v1.1.0:打磨不降档——fun=5 须记忆点、fun≥4 才 pass(scoreOnly 软检,纯评语口径、零行为影响)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/player-system.md
|
||
desc: L3 视觉软检玩家 agent(看截图+语义 state 判富游戏体验;只评分绝不当门;带参 input.persona)
|
||
# ── cheap-worker 便宜档 A-model 生成线 prompt(04-config;range=cheap-worker/cheap_roles.py)──────────
|
||
# 消费方 = cheap_roles.py 经 _load_system_prompt() 运行时读本段 file 指向的正文;
|
||
# 读不到/脏/缺文件 → 回落 cheap_roles._SYSTEM_PROMPT(best-effort,绝不中断生成)。
|
||
# 首版正文 = _SYSTEM_PROMPT 内置原文逐字节对齐(含 ⟦G⟧/⟦SCAFFOLD_DESC⟧ 占位符),默认行为字节不变;
|
||
# 调一条 prompt = 改 04-config/cheap-system.md 正文 + 升 version,下次生成自动生效。
|
||
- id: config.cheap-system
|
||
version: 1.6.1 # v1.6.1:起局鲁棒性 + targets 键契约进红线——①起局/交互按钮命中矩形必须在状态进入点 onEnter 确定性建立、render 只画(治并发 rAF 饥饿下卡 menu)②点目标玩法 state 键名固定 `targets`(驱动器契约 C5 依赖,改名=盲驱动器选错族=H 门挂)。v1.6.0:打磨不降档(创始人 07-04 定调「档位切 scope 不切 polish」)——删 spike「能跑能玩即可」残留、hitstop 出禁项改结算标配、设计块强制落盘+finish 前收尾自查、新增 ⑩ 难度曲线、⑨ 经营决策模式指针。v1.5.0:策划知识包 v2——⑨ 否决项加判定句式+内嵌正反例;8/9 条计数口径统一;prompt.mjs 冻结为 A/B 史料(不再双源同改)。v1.4.0:W-GENRE 品类路由并集(剧情+6/TRPG+7/非遗+8/解谜+9)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/cheap-system.md
|
||
desc: 便宜档 LittleJS A-model 生成 agent system prompt(轻量 AI 参与档,入口契约+插件+红线+输入契约+完成判据;运行时热取,回落 cheap_roles._SYSTEM_PROMPT)
|
||
# 其余 prompt 待各工位 Day-0 抽取迁入(Dify 节点/OpenGame 内嵌 prompt → 本 Registry)
|