games-development-ai/contracts/play-loop/match3-action-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

64 lines
3.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://wanxiang.ai/contracts/play-loop/match3-action-bundle.schema.json",
"title": "Match3ActionBundleV1",
"description": "D-F 跨文件契约验证入口。回读 runner 审计、CollectionProof、SingleRollProof、JudgePackage 与真实帧字节。",
"type": "object",
"required": [
"schemaVersion", "briefRef", "requestRef", "provenanceRef", "bindingRef", "registryRef",
"actorProtocolBundleRef", "actorViewRef", "selectionRef", "selectionAttemptRef",
"pairResolutionRef", "swapSetRef", "initialTargetSetRef", "postFirstTargetSetRef",
"initialProjectionRef", "postFirstProjectionRef", "firstGroupedActionRef",
"postFirstPerceptionAuditRef", "postFirstPerceptionAuditHash",
"secondGroupedActionRef", "firstActionRef", "secondActionRef",
"boardIdentityCheckRef", "actionGroupRef", "eventsRef", "resolutionRef",
"collectionProofRef", "singleRollProofRef", "judgePackageRef", "rollAuditRef", "rollAuditHash",
"initialFrameFileRef", "initialFrameHash", "postFirstFrameFileRef", "postFirstFrameHash",
"secondPostFrameRef", "secondPostFrameFileRef", "secondPostFrameHash",
"expectedErrorPattern"
],
"properties": {
"schemaVersion": { "const": "Match3ActionBundle/1" },
"briefRef": { "type": "string", "minLength": 1 },
"requestRef": { "type": "string", "minLength": 1 },
"provenanceRef": { "type": "string", "minLength": 1 },
"bindingRef": { "type": "string", "minLength": 1 },
"registryRef": { "type": "string", "minLength": 1 },
"actorProtocolBundleRef": { "type": "string", "minLength": 1 },
"actorViewRef": { "type": "string", "minLength": 1 },
"selectionRef": { "type": "string", "minLength": 1 },
"selectionAttemptRef": { "type": "string", "minLength": 1 },
"pairResolutionRef": { "type": "string", "minLength": 1 },
"swapSetRef": { "type": "string", "minLength": 1 },
"initialTargetSetRef": { "type": "string", "minLength": 1 },
"postFirstTargetSetRef": { "type": "string", "minLength": 1 },
"initialProjectionRef": { "type": "string", "minLength": 1 },
"postFirstProjectionRef": { "type": "string", "minLength": 1 },
"postFirstPerceptionAuditRef": { "type": "string", "minLength": 1 },
"postFirstPerceptionAuditHash": { "$ref": "#/$defs/sha256" },
"firstGroupedActionRef": { "type": "string", "minLength": 1 },
"secondGroupedActionRef": { "type": "string", "minLength": 1 },
"firstActionRef": { "type": "string", "minLength": 1 },
"secondActionRef": { "type": "string", "minLength": 1 },
"boardIdentityCheckRef": { "type": "string", "minLength": 1 },
"actionGroupRef": { "type": "string", "minLength": 1 },
"eventsRef": { "type": "string", "minLength": 1 },
"resolutionRef": { "type": "string", "minLength": 1 },
"collectionProofRef": { "type": "string", "minLength": 1 },
"singleRollProofRef": { "type": "string", "minLength": 1 },
"judgePackageRef": { "type": "string", "minLength": 1 },
"rollAuditRef": { "type": "string", "minLength": 1 },
"rollAuditHash": { "$ref": "#/$defs/sha256" },
"initialFrameFileRef": { "type": "string", "minLength": 1 },
"initialFrameHash": { "$ref": "#/$defs/sha256" },
"postFirstFrameFileRef": { "type": "string", "minLength": 1 },
"postFirstFrameHash": { "$ref": "#/$defs/sha256" },
"secondPostFrameRef": { "type": "string", "minLength": 1 },
"secondPostFrameFileRef": { "type": "string", "minLength": 1 },
"secondPostFrameHash": { "$ref": "#/$defs/sha256" },
"expectedErrorPattern": { "anyOf": [{ "type": "string", "minLength": 1 }, { "type": "null" }] }
},
"additionalProperties": false,
"$defs": { "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }
}