games-development-ai/contracts/play-loop/proof-resolution-bundle.schema.json
lili cbfd4d871b
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
feat(acceptance): 闭合 playtest v3 与 A+ 可信消费链
固化 Match-3 生产者、视觉、音频与双 Judge 证据闭包。

将《山海行纪》r1.1 绑定新的不可变 release,并以生产预检现场核验 bundle、Registry/2 和 25 项 Writer 快照。

同步地图1平衡锁值、跨游戏回归修复、验收契约与 SoT 证据。
2026-07-28 20:16:13 -07:00

68 lines
3.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://wanxiang.ai/contracts/play-loop/proof-resolution-bundle.schema.json",
"title": "ProofResolutionBundle",
"description": "跨文件 validator 的输入清单,不是生产证据。引用 request/provenance/binding/Resolution/SingleRollProof 与 evidence 投影。",
"type": "object",
"required": [
"schemaVersion", "requestRef", "provenanceRef", "parentRequestRef", "parentProvenanceRef",
"briefRef", "interactionBindingRef",
"runnerBinding", "resolutionRef", "singleRollProofRef", "proofPackageHash",
"evidenceProjection", "publishFrozen"
],
"properties": {
"schemaVersion": { "const": "proof-resolution-bundle/1" },
"requestRef": { "type": "string", "minLength": 1 },
"provenanceRef": { "type": "string", "minLength": 1 },
"parentRequestRef": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"parentProvenanceRef": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"briefRef": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"interactionBindingRef": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"runnerBinding": {
"type": "object",
"required": [
"bindingPath", "interactionProfileId", "interactionRegistryVersion",
"interactionBindingHash", "taskBindingHash"
],
"properties": {
"bindingPath": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"interactionProfileId": { "type": ["string", "null"] },
"interactionRegistryVersion": { "type": ["string", "null"] },
"interactionBindingHash": { "anyOf": [{ "$ref": "#/$defs/sha256" }, { "type": "null" }] },
"taskBindingHash": { "anyOf": [{ "$ref": "#/$defs/sha256" }, { "type": "null" }] }
},
"additionalProperties": false
},
"resolutionRef": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] },
"singleRollProofRef": { "type": "string", "minLength": 1 },
"proofPackageHash": { "$ref": "#/$defs/sha256" },
"evidenceProjection": {
"type": "object",
"required": ["acceptanceRequestHash", "briefRuleMatches", "proofObligations"],
"properties": {
"acceptanceRequestHash": { "$ref": "#/$defs/sha256" },
"briefRuleMatches": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
"proofObligations": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "required"],
"properties": {
"id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*\\.[a-z][a-z0-9-]*$" },
"required": { "type": "boolean" }
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"publishFrozen": { "type": "boolean" },
"expectedErrorPattern": { "type": "string", "minLength": 1 }
},
"additionalProperties": false,
"$defs": {
"sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
}
}