批准图片 dry-run / 中国内地商业不动产 BBS Gap
REITs Pixel Asset #CN-Commercial-BBS / 中国内地 / isometric-nft-card / human-confirmation-ready
{
"table": "asset_visual_approval_human_confirmation_actions",
"schemaVersion": "2026-06-visual-approval-human-confirmation-action-dry-run-v1",
"actionId": "asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card",
"humanConfirmationId": "asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-isometric-nft-card",
"identityFixtureId": "asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-isometric-nft-card",
"action": "approve-visual-dry-run",
"sourceEvidenceType": "bbs-gap-local-generated",
"sourceEvidencePublicPath": "/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png",
"sourceEvidenceSha256": "2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a",
"sourceMatchesTransaction": true,
"humanConfirmationDigest": "0ebd85366c00efde741dee912e0faab745edd40ea0ed4e7751a082b2883a9452",
"writeDisabled": true
}{
"action": "approve-visual-dry-run",
"assetSlug": "cn-commercial-bbs-gap",
"candidateSlug": "cn-commercial-bbs-gap",
"humanConfirmationId": "asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-isometric-nft-card",
"formatKey": "isometric-nft-card",
"actorRole": "ops",
"actorName": "visual-ops-reviewer",
"reason": "dry-run 批准图片 dry-run",
"dryRun": true,
"writeDisabled": true,
"secondConfirm": false,
"sourceEvidenceSha256": "2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a"
}{
"action": "approve-visual-dry-run",
"actionLabel": "批准图片 dry-run",
"dryRun": true,
"writeDisabled": true,
"targetHumanConfirmationId": "asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-isometric-nft-card",
"targetIdentityFixtureId": "asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-isometric-nft-card",
"targetSourceEvidenceSha256": "2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a",
"sourceEvidenceRequired": true,
"requiredRoles": [
"design-director",
"operations-owner"
],
"requiredInputs": [
"actorRole",
"actorName",
"reason",
"secondConfirm",
"approverId",
"approvedAt",
"approvalEvidenceUri",
"sourceEvidenceSha256"
],
"blocked": true,
"note": "批准包当前只做 dry-run,因无真实审批人、时间戳和证据 URI,不能记录最终批准。"
}{
"from": "human-confirmation-ready",
"to": "visual-approval-recorded",
"committed": false,
"finalApprovalRecorded": false,
"approvalEvidenceWritten": false,
"registryPromotionAllowed": false,
"mapPublished": false,
"bbsPosted": false,
"note": "该动作协议只校验人工确认输入,不持久化状态,不写审批证据,不推进地图或正式清单。"
}批准包当前只做 dry-run,因无真实审批人、时间戳和证据 URI,不能记录最终批准。
批准图片 dry-run 当前不能记录最终批准,必须保持 finalApprovalRecorded=false。
缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。
仍有 3 个待确认项,不能进入最终批准。

