games-development-ai/contracts/play-loop/judge-result.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

100 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://wanxiang.ai/contracts/play-loop/judge-result.schema.json",
"title": "JudgeResultV1",
"description": "JudgeResult/1。Judge 只能返回顶层裁决、问题与矛盾列表、逐义务结果、失败分类和摘要;候选引用边界与跨字段裁决语义继续由生产 parser 校验。",
"type": "object",
"required": [
"decision",
"problems",
"contradictions",
"obligations",
"failureClass",
"summary"
],
"properties": {
"decision": {
"enum": ["accept", "reject", "inconclusive", "tester_error"]
},
"problems": {
"type": "array",
"items": { "type": "string" }
},
"contradictions": {
"type": "array",
"items": { "type": "string" }
},
"obligations": {
"type": "array",
"items": { "$ref": "#/$defs/obligationResult" }
},
"failureClass": {
"enum": ["none", "broken", "hollow", "off_brief"]
},
"summary": { "type": "string" }
},
"additionalProperties": false,
"$defs": {
"sequenceRef": {
"type": "object",
"required": ["stepId", "eventRef", "actionRef", "postFrameRef"],
"properties": {
"stepId": { "type": "string", "minLength": 1 },
"eventRef": { "type": "integer", "minimum": 1 },
"actionRef": {
"type": "string",
"pattern": "^action-[1-9][0-9]*$"
},
"postFrameRef": { "type": "string", "minLength": 1 }
},
"additionalProperties": false
},
"obligationResult": {
"type": "object",
"required": ["id", "status", "sequenceRefs", "evidenceRefs"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"status": {
"enum": ["satisfied", "failed", "missing", "contradicted"]
},
"sequenceRefs": {
"type": "array",
"items": { "$ref": "#/$defs/sequenceRef" }
},
"evidenceRefs": {
"type": "array",
"items": { "type": "string", "minLength": 1 }
}
},
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": { "status": { "const": "missing" } },
"required": ["status"]
},
"then": {
"properties": {
"sequenceRefs": { "maxItems": 0 },
"evidenceRefs": { "maxItems": 0 }
}
}
},
{
"if": {
"properties": {
"status": { "enum": ["satisfied", "failed"] }
},
"required": ["status"]
},
"then": {
"properties": {
"sequenceRefs": { "minItems": 1 }
}
}
}
]
}
}
}