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

113 lines
3.0 KiB
JSON

[
{
"eventVersion": "game-event/1",
"evidenceMode": "native",
"scope": "game",
"namespace": "game/puzzle.swap-committed",
"type": "puzzle.swap-committed",
"eventRole": "profile-proof",
"message": "puzzle.swap-committed",
"payload": {
"moveId": "move-1",
"pair": [
{
"row": 1,
"column": 2
},
{
"row": 2,
"column": 2
}
],
"boardRevisionBefore": 1,
"boardRevisionAfter": 2
},
"payloadCanonical": "{\"boardRevisionAfter\":2,\"boardRevisionBefore\":1,\"moveId\":\"move-1\",\"pair\":[{\"column\":2,\"row\":1},{\"column\":2,\"row\":2}]}",
"payloadHash": "ace875a31644299d6ac116131894d0c7e719d6abf4848314d51f40b435ddeadf",
"producer": "match3-fixture",
"seq": 1,
"actionId": "action-2",
"virtualTimeMs": 1200,
"sourceEventVersion": null,
"adapterVersion": null,
"sourceMessageHash": null
},
{
"eventVersion": "game-event/1",
"evidenceMode": "native",
"scope": "game",
"namespace": "game/puzzle.match-formed",
"type": "puzzle.match-formed",
"eventRole": "profile-proof",
"message": "puzzle.match-formed",
"payload": {
"moveId": "move-1",
"runs": [
{
"axis": "horizontal",
"cells": [
{
"row": 1,
"column": 1
},
{
"row": 1,
"column": 2
},
{
"row": 1,
"column": 3
}
]
}
],
"matchedCells": [
{
"row": 1,
"column": 1
},
{
"row": 1,
"column": 2
},
{
"row": 1,
"column": 3
}
],
"matchedCount": 3
},
"payloadCanonical": "{\"matchedCells\":[{\"column\":1,\"row\":1},{\"column\":2,\"row\":1},{\"column\":3,\"row\":1}],\"matchedCount\":3,\"moveId\":\"move-1\",\"runs\":[{\"axis\":\"horizontal\",\"cells\":[{\"column\":1,\"row\":1},{\"column\":2,\"row\":1},{\"column\":3,\"row\":1}]}]}",
"payloadHash": "39b415e6ef1e64eb47d54f6919973cba6a12a6d00eb0210710da9e4c2f1b0782",
"producer": "match3-fixture",
"seq": 2,
"actionId": "action-2",
"virtualTimeMs": 1200,
"sourceEventVersion": null,
"adapterVersion": null,
"sourceMessageHash": null
},
{
"eventVersion": "game-event/1",
"evidenceMode": "native",
"scope": "game",
"namespace": "game/puzzle.score-updated",
"type": "puzzle.score-updated",
"eventRole": "cross-profile-observation",
"message": "puzzle.score-updated",
"payload": {
"scoreBefore": 0,
"scoreAfter": 30
},
"payloadCanonical": "{\"scoreAfter\":30,\"scoreBefore\":0}",
"payloadHash": "ec387b7191f20f6643f491a5ec178c2a6727a5d155939d1b3d4d2844def97d35",
"producer": "match3-fixture",
"seq": 3,
"actionId": "action-2",
"virtualTimeMs": 1200,
"sourceEventVersion": null,
"adapterVersion": null,
"sourceMessageHash": null
}
]