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审计未入本提交
93 lines
4.8 KiB
JSON
93 lines
4.8 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "https://wanxiang.ai/contracts/play-loop/acceptance-provenance-v3.schema.json",
|
||
"title": "AcceptanceProvenanceV3",
|
||
"description": "acceptance-provenance/3。逐字段镜像 acceptance-request/3(含 v3 新增的可选 designRef / referenceAssetRecordIds / consumerRef),并绑定完整 canonical request hash 与被测 artifact。新增可选消费溯源字段 consumedReferenceAssets:本次 acceptance 实际消费的参照资产对账快照,每条为 recordId + role + artifactHash 三元组——对应金标 SoT §7『消费者按 recordId 对账 role + consumerRef + artifactHash 后才能读取资产』的溯源留痕;快照冻结消费时刻的 role 与 hash,注册表后续改动不覆盖历史 provenance。所有 v3 新增字段均可选、不进 required,旧 provenance(v2 字段集)在本 schema 下仍然 valid;v2 的 required 集合与修回 if-then 约束不变。",
|
||
"type": "object",
|
||
"required": [
|
||
"schemaVersion", "gameId", "briefHash", "genre", "templateRoute", "proofProfileId",
|
||
"proofRegistryVersion", "taskBindingHash", "interactionBinding", "sourceArtifactHash",
|
||
"parentAcceptanceRequestHash", "repairOrdinal", "acceptanceRequestHash", "artifactHash"
|
||
],
|
||
"properties": {
|
||
"schemaVersion": { "const": "acceptance-provenance/3" },
|
||
"gameId": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$" },
|
||
"briefHash": { "$ref": "#/$defs/sha256" },
|
||
"genre": { "enum": ["narrative", "trpg", "heritage", "puzzle", "sim-business"] },
|
||
"templateRoute": { "type": "string", "pattern": "^_template-[a-z0-9-]+$" },
|
||
"proofProfileId": { "type": "string", "pattern": "^[a-z][a-z0-9-]*\\.[a-z][a-z0-9-]*$" },
|
||
"proofRegistryVersion": { "type": "string", "minLength": 1 },
|
||
"taskBindingHash": { "$ref": "#/$defs/sha256" },
|
||
"interactionBinding": {
|
||
"anyOf": [
|
||
{ "$ref": "interaction-binding.schema.json" },
|
||
{ "type": "null" }
|
||
]
|
||
},
|
||
"sourceArtifactHash": { "anyOf": [{ "$ref": "#/$defs/sha256" }, { "type": "null" }] },
|
||
"parentAcceptanceRequestHash": { "anyOf": [{ "$ref": "#/$defs/sha256" }, { "type": "null" }] },
|
||
"repairOrdinal": { "enum": [0, 1] },
|
||
"acceptanceRequestHash": { "$ref": "#/$defs/sha256" },
|
||
"artifactHash": { "$ref": "#/$defs/sha256" },
|
||
"designRef": {
|
||
"description": "可选,镜像 acceptance-request/3.designRef。",
|
||
"anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }]
|
||
},
|
||
"referenceAssetRecordIds": {
|
||
"description": "可选,镜像 acceptance-request/3.referenceAssetRecordIds(声明消费的 recordId 列表)。",
|
||
"type": "array",
|
||
"items": { "$ref": "#/$defs/recordId" }
|
||
},
|
||
"consumerRef": {
|
||
"description": "可选,镜像 acceptance-request/3.consumerRef(消费者身份)。",
|
||
"anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }]
|
||
},
|
||
"consumedReferenceAssets": {
|
||
"description": "可选。本次 acceptance 实际消费的参照资产对账快照列表。每条冻结消费时刻的 recordId + role + artifactHash 三元组,使历史 provenance 不随注册表后续改动漂移;与请求侧 referenceAssetRecordIds 的区别:前者是声明,本字段是实际消费后的核验留痕。",
|
||
"type": "array",
|
||
"items": { "$ref": "#/$defs/consumedReferenceAsset" }
|
||
}
|
||
},
|
||
"additionalProperties": false,
|
||
"allOf": [
|
||
{
|
||
"if": { "properties": { "repairOrdinal": { "const": 0 } }, "required": ["repairOrdinal"] },
|
||
"then": {
|
||
"properties": {
|
||
"sourceArtifactHash": { "type": "null" },
|
||
"parentAcceptanceRequestHash": { "type": "null" }
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"if": { "properties": { "repairOrdinal": { "const": 1 } }, "required": ["repairOrdinal"] },
|
||
"then": {
|
||
"properties": {
|
||
"sourceArtifactHash": { "$ref": "#/$defs/sha256" },
|
||
"parentAcceptanceRequestHash": { "$ref": "#/$defs/sha256" }
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"$defs": {
|
||
"sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
||
"recordId": { "type": "string", "pattern": "^[A-Za-z0-9_][A-Za-z0-9._-]*$" },
|
||
"consumedReferenceAsset": {
|
||
"type": "object",
|
||
"required": ["recordId", "role", "artifactHash"],
|
||
"properties": {
|
||
"recordId": { "$ref": "#/$defs/recordId" },
|
||
"role": {
|
||
"description": "消费时刻的角色快照,枚举与 ReferenceAssetRecord/1.role 一致。",
|
||
"enum": ["harness_fixture", "prompt_eval_gold", "generation_exemplar", "game_content_gold"]
|
||
},
|
||
"artifactHash": {
|
||
"description": "消费时刻核验的制品 hash 快照(play-loop 惯例 64 位小写十六进制)。",
|
||
"$ref": "#/$defs/sha256"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
}
|
||
}
|
||
}
|