- merge.schema.json:7字段定稿(chainLength 3-6/targetLevel 2-6/boardSize 6-9/itemLabel array 1-6),spec §3.4 逐字 - registry:+config.merge-designer 1.0.0;adversary 1.1.1→1.1.2(细则①追加merge域示例,P0/P1口径一字不动);fix 1.0.0→1.0.1(+template_schema注入段+:48括注中性化,主干句不动) - eval/config.merge-designer/ 三件新建(首版无种子随批回流);对抗Golden append-only +3 merge守卫(kill题文不符/kill越模板机制/accept正例),README记v1.1.2双标签约定+spec§4.5箭头笔误errata HJ-MC-TPL-EXEC-001 §3/§4 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
3.2 KiB
JSON
57 lines
3.2 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "https://wanxiang.ai/contracts/templates/merge.schema.json",
|
||
"title": "MergeGameConfig",
|
||
"description": "merge(合成升级)模板 GameConfig 契约(HJ-MC-TPL-EXEC-001 §3,owner=WS2)。GamePackage 契约(#4)gameConfig 字段的模板级细化。玩法:拖拽两个同级物件合成更高一级,合成出 targetLevel 级物件即通关;棋盘空格点击产 1 级物件。诚实边界:merge runtime 本波(M-c 批①)已实现(game-studio/src/host/runtime/index.ts 按 templateId 分发),可据此宣称可玩——区别于 dodge/runner/match(仅契约落盘未实现)。字段风格对齐 clicker.schema.json:const templateId 精确等值防串台 + additionalProperties:false。",
|
||
"type": "object",
|
||
"required": ["templateId", "title", "theme", "chainLength", "targetLevel", "boardSize", "itemLabel"],
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"templateId": {
|
||
"description": "玩法模板 ID,必须精确等于 \"merge\"(精确等值校验,防 LLM 跨模板串台)。",
|
||
"const": "merge"
|
||
},
|
||
"title": {
|
||
"description": "游戏标题,非空且非纯空白。回调组包时截 60 字落 GamePackage.meta.title,经 feed 卡片对玩家展示。",
|
||
"type": "string",
|
||
"minLength": 1,
|
||
"pattern": "\\S"
|
||
},
|
||
"theme": {
|
||
"description": "主题/氛围描述,非空且非纯空白,为生成与对抗评审提供题文一致性语境;runtime 据此哈希派生底色(M-b② 渲染面)。",
|
||
"type": "string",
|
||
"minLength": 1,
|
||
"pattern": "\\S"
|
||
},
|
||
"chainLength": {
|
||
"description": "合成链长(等级总数),整数且 3≤chainLength≤6 含边界。从 1 级合成到 chainLength 级;棋盘空格只产 1 级物件,两同级合成上一级。范围保单局 ≤90s 可通关与 CDP 确定性取证。",
|
||
"type": "integer",
|
||
"minimum": 3,
|
||
"maximum": 6
|
||
},
|
||
"targetLevel": {
|
||
"description": "通关目标等级,整数且 2≤targetLevel≤6 含边界。合成出 ≥targetLevel 级物件即通关。语义约束 targetLevel≤chainLength(schema 无法跨字段表达,由 prompt 硬约束 + runtime 钳制 min(targetLevel,chainLength) 兜底,保可解不死局)。",
|
||
"type": "integer",
|
||
"minimum": 2,
|
||
"maximum": 6
|
||
},
|
||
"boardSize": {
|
||
"description": "棋盘格子总数(非边长),整数且 6≤boardSize≤9 含边界。runtime 将其排成近方形网格;范围保拖拽坐标命中与可解性(点击产料→拖拽合成→腾格循环无死局)。",
|
||
"type": "integer",
|
||
"minimum": 6,
|
||
"maximum": 9
|
||
},
|
||
"itemLabel": {
|
||
"description": "物件文案数组,每级一个文案(如 [\"种子\",\"幼苗\",\"花苞\",\"鲜花\"])。语义长度应=chainLength;schema 仅约束 1≤长度≤6 且每项非空非纯空白(长度=chainLength 由 prompt 硬约束 + runtime 按 min(length,chainLength) 兜底、缺位级用「Lv{n}」占位)。",
|
||
"type": "array",
|
||
"minItems": 1,
|
||
"maxItems": 6,
|
||
"items": {
|
||
"type": "string",
|
||
"minLength": 1,
|
||
"pattern": "\\S"
|
||
}
|
||
}
|
||
}
|
||
}
|