{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":null,"status":null,"action":"approve-visual-dry-run","assetSlug":"cn-commercial-bbs-gap","formatKey":null},"metrics":{"actionCount":2,"dryRunReadyCount":0,"needsHumanInputCount":0,"blockedByPolicyCount":2,"writeDisabledCount":2,"finalApprovalWriteDisabledCount":2,"registryWriteDisabledCount":2,"mapPublishDisabledCount":2,"bbsPostDisabledCount":2,"approvalActionCount":2,"requestRedrawActionCount":0,"requestComplianceReviewActionCount":0,"rejectActionCount":0,"finalApprovalRecordedCount":0,"approvalEvidenceWrittenCount":0,"registryPromotionAllowedCount":0,"localGeneratedEvidenceCount":2,"sourceMismatchCount":0,"mcpResourceCount":2},"actions":[{"generatedAt":"2026-07-31T18:33:39.533Z","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","actionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","status":"blocked-by-policy","statusLabel":"策略阻断","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","candidateSlug":"cn-commercial-bbs-gap","assetName":"中国内地商业不动产 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Commercial-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"商业不动产","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","bytes":76669,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"schema":{"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":"b521dd5073460dc3e7920cc7ebe33466e08bd4d0302303f2d811019fb056c19d","writeDisabled":true},"currentConfirmationStatus":"human-confirmation-ready","nextConfirmationStatus":"visual-approval-recorded","dryRunRequired":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"requiredRoles":["design-director","operations-owner"],"requiredInputs":["actorRole","actorName","reason","secondConfirm","approverId","approvedAt","approvalEvidenceUri","sourceEvidenceSha256","approvalEvidenceDigest","mfaState"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 3 个待确认项，不能进入最终批准。"],"protocolPayload":{"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"},"sourceActionPacket":{"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，不能记录最终批准。"},"transitionPreview":{"from":"human-confirmation-ready","to":"visual-approval-recorded","committed":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"mapPublished":false,"bbsPosted":false,"note":"该动作协议只校验人工确认输入，不持久化状态，不写审批证据，不推进地图或正式清单。"},"sourceConfirmation":{"humanQueueReady":true,"pendingItemCount":3,"finalApprovalAllowed":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"humanConfirmationDigest":"b521dd5073460dc3e7920cc7ebe33466e08bd4d0302303f2d811019fb056c19d","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceMatchesTransaction":true,"localFileDetected":true},"links":{"actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-commercial-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E5%95%86%E4%B8%9A%E4%B8%8D%E5%8A%A8%E4%BA%A7%20BBS%20Gap"},"mcp":{"visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","actionDigest":"419eea0dc84f1ee6c7febfa862fa26c50f078cdf40339684e914d8bb05243af1","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","status":"blocked-by-policy","statusLabel":"策略阻断","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-pixel-map-pin","candidateSlug":"cn-commercial-bbs-gap","assetName":"中国内地商业不动产 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Commercial-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"商业不动产","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","bytes":7176,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-commercial-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"schema":{"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-pixel-map-pin","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-pixel-map-pin","action":"approve-visual-dry-run","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","sourceMatchesTransaction":true,"humanConfirmationDigest":"4fc84759cca20c5f6f47c332367cdb140fdc277f4b2373a5668ed83308f91e16","writeDisabled":true},"currentConfirmationStatus":"needs-pin-redraw","nextConfirmationStatus":"visual-approval-recorded","dryRunRequired":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"requiredRoles":["design-director","operations-owner"],"requiredInputs":["actorRole","actorName","reason","secondConfirm","approverId","approvedAt","approvalEvidenceUri","sourceEvidenceSha256","approvalEvidenceDigest","mfaState"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 14 个待确认项，不能进入最终批准。","humanQueueReady=false，不能进入批准校验。"],"protocolPayload":{"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-pixel-map-pin","formatKey":"pixel-map-pin","actorRole":"ops","actorName":"visual-ops-reviewer","reason":"dry-run 批准图片 dry-run","dryRun":true,"writeDisabled":true,"secondConfirm":false,"sourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70"},"sourceActionPacket":{"action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","dryRun":true,"writeDisabled":true,"targetHumanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-pixel-map-pin","targetIdentityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-pixel-map-pin","targetSourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","sourceEvidenceRequired":true,"requiredRoles":["design-director","operations-owner"],"requiredInputs":["actorRole","actorName","reason","secondConfirm","approverId","approvedAt","approvalEvidenceUri","sourceEvidenceSha256"],"blocked":true,"note":"批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。"},"transitionPreview":{"from":"needs-pin-redraw","to":"visual-approval-recorded","committed":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"mapPublished":false,"bbsPosted":false,"note":"该动作协议只校验人工确认输入，不持久化状态，不写审批证据，不推进地图或正式清单。"},"sourceConfirmation":{"humanQueueReady":false,"pendingItemCount":14,"finalApprovalAllowed":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"humanConfirmationDigest":"4fc84759cca20c5f6f47c332367cdb140fdc277f4b2373a5668ed83308f91e16","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","sourceMatchesTransaction":true,"localFileDetected":true},"links":{"actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-commercial-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E5%95%86%E4%B8%9A%E4%B8%8D%E5%8A%A8%E4%BA%A7%20BBS%20Gap"},"mcp":{"visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}}],"actionBreakdown":[{"action":"approve-visual-dry-run","label":"批准图片 dry-run","count":2,"blockedCount":2},{"action":"request-redraw","label":"请求重绘","count":0,"blockedCount":0},{"action":"request-compliance-review","label":"请求合规复核","count":0,"blockedCount":0},{"action":"reject-visual-candidate","label":"拒绝候选图片","count":0,"blockedCount":0}],"statusBreakdown":[{"status":"dry-run-ready","label":"dry-run 可校验","count":0},{"status":"needs-human-input","label":"需要人工输入","count":0},{"status":"blocked-by-policy","label":"策略阻断","count":2}],"publicNotes":["当前筛选范围输出 2 个图片人工确认动作协议，0 个可做 dry-run 输入校验。","Action Dry-run 只校验输入、角色和阻断策略，不持久化确认状态。","当前有 2 个动作绑定本地生成源图证据；sourceEvidence 只作为图片上下文，不等同于审批证据 URI。","未来接入真实审批前，需要将该协议接入登录、MFA、证据 URI、审计日志和回滚机制。","BBS Gap 已进入 2 个图片确认动作协议 dry-run；仍不提交确认、不写审计、不推进地图/BBS。"],"qaWarnings":["approve-visual-dry-run 当前必须保持 blocked-by-policy，不能记录最终批准。","POST 接口必须携带 dryRun=true 和 writeDisabled=true。","approve-visual-dry-run 必须校验 sourceEvidenceSha256；该哈希必须等于人工确认记录里的源图片哈希。","所有动作都必须保持 committed=false、finalApprovalRecorded=false、approvalEvidenceWritten=false、registryPromotionAllowed=false。","request-redraw、request-compliance-review、reject 也只是协议预览，不得触发工单、BBS 或地图状态变更。"]}