lili 87777975c7 feat(w-axis): R1 生成可信闸代码收口(actor/judge闭合+W-GOLD-LIVE+full_gate+三批闸门)
actor/judge prompt eval 闭合: actor 3.0.5 正文强化+baseline(7轮); judge 3.0.14 正文强化+anyTerms同义词补全+baseline(judge-a 13轮/judge-b 33轮); registry/checker 版本对齐+顺序锚点 fail-closed 双保险
W-GOLD-LIVE live_prompt: play-loop 契约开口(request/3+provenance/3+ReferenceAssetRecord/1+Registry/1+迁移清单15条); cheap_verify 切v3+消费对账六闸(只消费active)+生成prompt注入接线(0 active不注入); Node runner playtest-v3.cdp.cjs 升/3+绊线恢复; 真模型回归验向后兼容
full_gate+三批基线: full_gate.py 集成runner串六子门+降级+22测; baseline_gates.py fresh25阈值+historical11预期表(2 needs_human交创始人定标)+shadow20框架+38测
注: registry cheap-system 登记 1.8.0→1.8.1 同步此前在途 cheap-system.md frontmatter 升版(修 pre-commit 版本漂移); cheap_verify/cheap_studio/validate/test_acceptance_v3/test_cheap_service_driver 为在途M含本会话叠加+此前W-AXIS在途(同一线无法hunk分离); 3红测试根因与raw审计未入本提交
2026-07-25 18:47:47 -07:00

216 lines
22 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 契约 #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
# ─────────────────────────────────────────────────────────────────────────────
# 消费面三态对账W-PCI · 2026-07-04四道闸 CI 接线步骤 0用代码证据坐实、非凭注释推断
#
# 为什么要对账:四道闸 CI 只该焊在「真被 live 生产路径消费、喂给 LLM」的 prompt 上;焊在早已下架
# 的死面上,既白花真模型钱,又给出虚假的治理安全感。下表把 19 条逐条判定三态,段 B 真模型闸据此
# 决定跑还是豁免。三态定义:
# · live —— 现行生产生成路径运行时读它、渲染后发给 LLM改它会真影响线上生成质量
# · fossil —— 代码里仍有加载壳,但产物形态或模板白名单已废,现行不会有任务走到它(改它无线上影响)。
# · batch-relic —— 只被已删除的 agent-loop v1 批跑编排evalflow.py消费过无任何 live 代码消费方。
#
# 逐条结论(证据 = 一手代码,路径见括注):
# safety.prompt-check live SafetyCheckClient.java:51 构建期加载 01-safety/prompt-safety-check.md
# GP9 合规门渲染 {{input.prompt}} 真发 LLMgp9-safety独立于模板白名单
# config.clicker-designer fossil PromptResourceLoader.TEMPLATE_RESOURCES 仍构建期加载,但
# config.merge-designer fossil AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已把旧四模板整体下架
# config.idle-designer fossil (白名单 = generic + 5 品类):提交抛 AIGC_TEMPLATE_NOT_EXISTS、
# config.tycoon-designer fossil 执行判 no_template_match 不烧 LLM。它们产的 GameConfig 是已废 gamedef 形态。
# config.generic-coder fossil registry 自标 STUB 0.0.1PromptResourceLoader 加载它只为 isReady()
# 通过 + schema 进校验缓存,其类注释明写「后端不在进程内渲染/喂 LLM 该 prompt」
# generic 任务实走外置 Python cheap-worker用 cheap-system.md非本条
# quality.adversary-review batch-relic 全仓 grep 无任何 .py/.java live 消费方;仅 agent-loop v1 evalflow.py已删批跑过。
# fix.design-revise batch-relic 同上,无 live 消费方。
# tier2.design-system live tier2 gen-worker roles.py 经 prompts.load 运行时读design_team 兜底)。
# tier2.design-systems-designer live roles.py:245 prompts.load 运行时读(阶段 1 工作室专家)。
# tier2.design-economy-designer live roles.py:246 prompts.load 运行时读。
# tier2.design-level-designer live roles.py:247 prompts.load 运行时读。
# tier2.design-presentation-designer live roles.py:248 prompts.load 运行时读。
# tier2.design-leader-system live roles.py:264 prompts.load 运行时读(阶段 1 leader带参 brief
# tier2.writer-system live roles.py:280 prompts.load 运行时读(阶段 2 单写 agent 前缀)。
# tier2.player-system live roles.py:297 prompts.load 运行时读L3 视觉软检玩家)。
# config.cheap-system live cheap-worker cheap_roles.py _load_system_prompt() 运行时读(便宜档 A-model 生成)。
# playtest.actor live playtest/3 runner 运行时读;只产 ActorSelection/1无 verdict 权限。
# playtest.judge-a live 双 Judge 槽 A先核义务事件再核动作后截图。
# playtest.judge-b live 双 Judge 槽 B先核动作后截图再反查义务事件。
#
# 门焊接口径(据上表):
# · 段 A 离线版本闸check_version_bump.py对全部 contracts/prompts/ 条目生效——「改正文必升 version」是
# 纯结构纪律、零成本,无需区分三态,一律强制。
# · 段 B 真模型闸eval_gate.py只焊 live 条目safety + tier2×8 + cheap-system + playtest×3
# - live 且有金标集 → 真跑四道闸(当前 safety.prompt-check + playtest Actor/Judge A/B
# - live 但无金标集cheap-system / 8 条 tier2本表 eval 字段待建)→ fail-closed 报「金标缺失」,绝不假绿;
# - fossil / batch-relic → 显式 SKIP 豁免clicker/merge/idle/tycoon/generic-coder/quality/fix不花真模型钱。
# · 注04-config 下 business-sim/narrative/puzzle/trpg/heritage 五个 -designer.md 是 SUPPORTED_TEMPLATE_IDS 内
# 的 live 白名单模板,但同 generic 一样「只进 schema 缓存、不喂 LLM」且未登记进本 registry不在本次对账 17 条内。
# ─────────────────────────────────────────────────────────────────────────────
prompts:
# 【三态·段B处置】safety.prompt-check = liveSafetyCheckClient GP9 合规门真发 LLM且有 eval/ 10 条负例金标集
# → 段 B 真模型闸对它真跑四道闸当前唯一「live 且有金标」的条目)。
- 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 §5v1 仅 clicker 走批跑)——
# 【三态·段B处置】以下 clicker/merge/idle/tycoon 四策划模板 = fossil已废 gamedef 线SUPPORTED_TEMPLATE_IDS
# 已整体下架、不可被生成)→ 段 B 真模型闸对它们 SKIP 豁免(保留条目不删,见头部对账总表)。
- id: config.clicker-designer
version: 1.1.0 # v1.1.0batch-001 冻结告警→新增 designIntent 模板内约束(加规则不改口径)
stage: "04-config"
owner: WS2
file: 04-config/clicker-designer.md
desc: agent 闭环独立策划创意一句话→GameDesign 三段designIntent/expectedPlaySeconds/configconfig 受 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/configconfig 受 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/configconfig 受 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/configconfig 受 contracts/templates/tycoon.schema.json 约束)
eval: eval/config.tycoon-designer/ # 新建 Golden 目录(首版无种子,随批回流)
# —— P3 生成主线编码 promptW-G12026-06-14范式=编码出 bundle 源码,非策划出 GameConfig——
# 【三态·段B处置】generic-coder = fossil·STUBPromptResourceLoader 只为 isReady/schema 加载它、不喂 LLM
# generic 任务实走外置 cheap-worker 的 cheap-system.md→ 段 B SKIP 豁免。
- id: config.generic-coder
version: 0.0.1 # ⚠️ STUB 占位骨架04-config/generic-coder.md 仅 frontmatter+三要点提纲,非正式 promptL1 出正式草案时整体替换并升版,两处 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 批回流)
# 【三态·段B处置】quality.adversary-review 与 fix.design-revise = batch-relic无 live 代码消费方,仅
# 已删的 agent-loop v1 evalflow.py 批跑过)→ 段 B SKIP 豁免(有金标集也不跑真模型,见头部对账总表)。
- 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 富游戏自治生成线 prompt09-tier2-richgamerange=tier2/gen-worker/worker/roles.py─────────────
# 【三态·段B处置】以下 8 条 tier2 = liveroles.py 经 prompts.load 运行时读),但 eval 字段待建、当前无金标集
# → 段 B 真模型闸对它们 fail-closed 报「金标缺失」(绝不假绿;补金标后即真跑,见头部对账总表)。
# 范式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 才 passscoreOnly 软检,纯评语口径、零行为影响)
stage: "09-tier2-richgame"
owner: WS2
file: 09-tier2-richgame/player-system.md
desc: L3 视觉软检玩家 agent看截图+语义 state 判富游戏体验;只评分绝不当门;带参 input.persona
# ── cheap-worker 便宜档 A-model 生成线 prompt04-configrange=cheap-worker/cheap_roles.py──────────
# 【三态·段B处置】config.cheap-system = livecheap_roles.py 运行时读,便宜档生成主力面),但无 eval 金标集
# → 段 B 真模型闸 fail-closed 报「金标缺失」(补金标后即真跑,见头部对账总表)。
# 消费方 = cheap_roles.py 经 _load_system_prompt() 运行时读本段 file 指向的正文;
# 读不到/脏/缺文件 → 回落 cheap_roles._SYSTEM_PROMPTbest-effort绝不中断生成
# 首版正文 = _SYSTEM_PROMPT 内置原文逐字节对齐(含 ⟦G⟧/⟦SCAFFOLD_DESC⟧ 占位符),默认行为字节不变;
# 调一条 prompt = 改 04-config/cheap-system.md 正文 + 升 version下次生成自动生效。
- id: config.cheap-system
version: 1.8.1 # v1.8.1(同步 04-config/cheap-system.md frontmatter 在途升版 1.8.0→1.8.1,变更说明见该文件;原 v1.8.0 W-AXIS-V3 生产者契约)ctx.log 降为纯诊断,五品类业务结果统一经 host 白名单 ctx.event(type,payload,message?) 发出;按 proof-obligations/2 明列事件 type/最小 payload/跨步同值,拒绝猜 tag/message、ctx.event=false 降级与伪造事件。v1.7.0(W-AXIS-V2 波2 契约退役):删 _forensicsView「自动验收契约」整条红线与全部 targets/occupied 语义(五法句/品类指路同步)——tap-targets 驱动器与 play-spec 退出便宜档验收链,验收 = 四门投影 ∧ 测试 agent 视觉引导真玩,模型不再为死契约写代码;handleTap 输入契约与 ctx.log 日志纪律保留(服务真人与测试员)。v1.6.3(W-AXIS 波2 拆残笼):①「两层奖励」改纯游戏设计语(基础反馈保上手+技巧分给深度)、删「围盲驱动器/绕正则」措辞②「check 正则命中」改「词法真实命中、报错带行号」(红线判定换词法);③删整文件重写熔断恐吓、edit_file 补锚点容错说明(空白归一/近似片段)。v1.6.2:正文补 edit_file 工具契约(七工具/小改优先 edit_file、别整文件重写)——修热取源停在「六工具/write_file 整体覆盖」的 stale 欠账,治大文件整写截断(便宜档死圈病根之一)。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.0W-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
# ── 便宜档玩法验收 v310-playtest-v3Actor/Judge A/B 物理隔离finalPostguard 才有终裁权)────────
- id: playtest.actor
version: 3.0.5 # v3.0.5:正文针对 run-20260715 五轮(v3.0.4, successRate 0.6-0.8 未建线)的已证失败模式加输出前硬自检。FM-A region 默认首候选/未对准主控件(shop-open 误选左上状态栏 r01×2、runner-restart 误选左缘空白 r02真主按钮 r15/r01)→约束黄点 safePoint 对准 brief 主控件+禁取首/最小编号候选FM-B key 方向推理错(2048 顶行两 2 水平相邻却连选 ArrowUp)→约束同行相邻仅 Left/Right、同列相邻仅 Up/Down、禁垂直键FM-C lattice 行列读漂(match3 row1col6 读成 col5、行列读串落候选集外)→约束按边缘 r/c 标记逐格复读+禁行列写反与差一格FM-D 越权类型(shop-open legalSelections 仅 tap 却返回 wait)→约束 type 逐字落 legalSelections.types、单元素时强制唯一。FM-B/C 根因含模型密集棋盘读图能力局限正文约束可抬成功率但非能力上限解。baseline 待真模型重跑重建,本步只做正文强化+版本对齐。v3.0.4region ID 以青色引线锚定黄点 safePoint禁止重叠框误绑定。v3.0.3 首次明确黄点语义。
stage: "10-playtest-v3"
owner: W-AXIS
file: 10-playtest-v3/actor.md
desc: playtest/3 Actor system prompt读取 ActorView/3 与 VisualTargetSet 可见目录,只产单个 ActorSelection/1不输出裸坐标或 verdict
eval: eval/playtest.actor/
- id: playtest.judge-a
# v3.0.14 对齐judge-a.md 正文 frontmatter 已升 3.0.14(正文针对 5 类模型漂移加硬约束:义务 id 逐字复制/
# JSON 括号配平/problems 逐条硬证引用/summary 全引用/反事实视觉判定registry 同步该版本。
# 注意:升到 3.0.14 后正文 hash 与 3.0.13 基线不同,旧 baseline 失效,须后续真模型重跑重建;本步只做版本对齐。
version: 3.0.14 # v3.0.14正文强化格式约束id 逐字/JSON 配平/problems 硬证/summary 全引用/反事实视觉。v3.0.13:对齐正文 frontmatter。v3.0.12:全局缺陷优先于 missingcandidateState 只读不输出。
stage: "10-playtest-v3"
owner: W-AXIS
file: 10-playtest-v3/judge-a.md
desc: playtest/3 Judge A读取唯一 JudgePackage按义务事件到动作后截图顺序独立检查输出供 JudgeConsensus/1 规范化
eval: eval/playtest.judge/
- id: playtest.judge-b
# v3.0.14 对齐judge-b.md 正文 frontmatter 已升 3.0.14(正文针对 5 类模型漂移加硬约束:义务 id 逐字复制/
# JSON 括号配平/problems 逐条硬证引用/summary 全引用/反事实视觉判定registry 同步该版本。
# 注意:升到 3.0.14 后正文 hash 与 3.0.13 基线不同,旧 baseline 失效,须后续真模型重跑重建;本步只做版本对齐。
version: 3.0.14 # v3.0.14正文强化格式约束id 逐字/JSON 配平/problems 硬证/summary 全引用/反事实视觉。v3.0.13:对齐正文 frontmatter。v3.0.12:全局缺陷优先于 missingcandidateState 只读不输出。
stage: "10-playtest-v3"
owner: W-AXIS
file: 10-playtest-v3/judge-b.md
desc: playtest/3 Judge B读取同一 JudgePackage按截图终态到义务事件顺序独立检查输出供 JudgeConsensus/1 规范化
eval: eval/playtest.judge/
# 其余 prompt 待各工位 Day-0 抽取迁入Dify 节点/OpenGame 内嵌 prompt → 本 Registry