{"generatedAt":"2026-09-07T03:28:49.515Z","scope":{"countrySlug":null,"status":null,"action":"approve-visual-dry-run","assetSlug":null,"formatKey":null,"correctionType":null},"metrics":{"transactionCount":18,"transactionDryRunReadyCount":18,"needsTransactionFieldsCount":0,"needsDualControlCount":0,"blockedByPolicyCount":0,"writeDisabledCount":18,"databaseWriteDisabledCount":18,"mcpQueueWriteDisabledCount":18,"rollbackPlanCount":18,"transactionDigestCount":18,"transactionWrittenCount":0,"approvalWrittenCount":0,"correctionEventWrittenCount":0,"auditLogMutatedCount":0,"mcpIndexQueuedCount":0,"mapPublishedCount":0,"registryPromotionAllowedCount":0,"mcpResourceCount":18,"localGeneratedEvidenceCount":14,"sourceMismatchCount":0,"sourceEvidenceDigestCount":14},"records":[{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"6281ae77d25fe0b07d7f4fe1b3d4522f7bfb607524b0992919a0a0a13fab8ea1","targetSourceActionDigest":"7f60f2e7e468811798c8ae8ac0bc8029813ae998c85365606008ad6f8c050874","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","correctionDigest":"ef888596ea6e6f0b299818520794c5ed2daec82ad154238a0f01789f377eace2","approvalDigest":"32f003f03f87036291247a051642be6c8d5641569bedf2e2907abf7327c15c38","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-au-logistics-asx-warehouse-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-au-logistics-asx-warehouse-isometric-nft-card","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","bytes":2231294,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=au-logistics-asx-warehouse&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"2376901574519bfb5a2bfc5669541511","action":"approve-visual-dry-run","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"6281ae77d25fe0b07d7f4fe1b3d4522f7bfb607524b0992919a0a0a13fab8ea1","targetSourceActionDigest":"7f60f2e7e468811798c8ae8ac0bc8029813ae998c85365606008ad6f8c050874","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"ef888596ea6e6f0b299818520794c5ed2daec82ad154238a0f01789f377eace2","approvalDigest":"32f003f03f87036291247a051642be6c8d5641569bedf2e2907abf7327c15c38","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"6281ae77d25fe0b07d7f4fe1b3d4522f7bfb607524b0992919a0a0a13fab8ea1","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"7f60f2e7e468811798c8ae8ac0bc8029813ae998c85365606008ad6f8c050874","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"ef888596ea6e6f0b299818520794c5ed2daec82ad154238a0f01789f377eace2","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"32f003f03f87036291247a051642be6c8d5641569bedf2e2907abf7327c15c38","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-registry-preview/au-logistics-asx-warehouse/isometric-nft-card","reits://virtual-assets/au-logistics-asx-warehouse"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"d87430bf7cb777a462ed07e2ba7452f145f8cee7c7be5db367e07341adfba2c1","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse&format=isometric-nft-card","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditDigest":"3c02d7ce0f574bd66bc66b45efbc1592e0761437f967cac5351bc2b23c4618fe","targetSourceActionDigest":"bf71bbd3a76f9fe2c3c3f1cfada6a04b3fb11b7eb11a722fc764c378cc33528b","targetSourceEvidenceSha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","correctionDigest":"5bb430fc1e2d5770cfbff4762f33dc0b226a2a3926efe22bdd258a460059a548","approvalDigest":"35d7e09cc0a8902788f8a217c7b83ed02a769317b8c341587f7bdb9ebd6fb4c8","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-au-logistics-asx-warehouse-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-au-logistics-asx-warehouse-pixel-map-pin","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","bytes":479311,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=au-logistics-asx-warehouse&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"b9a5e6a4543b962d3197d372ca8d783b","action":"approve-visual-dry-run","candidateSlug":"au-logistics-asx-warehouse","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditDigest":"3c02d7ce0f574bd66bc66b45efbc1592e0761437f967cac5351bc2b23c4618fe","targetSourceActionDigest":"bf71bbd3a76f9fe2c3c3f1cfada6a04b3fb11b7eb11a722fc764c378cc33528b","targetSourceEvidenceSha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"5bb430fc1e2d5770cfbff4762f33dc0b226a2a3926efe22bdd258a460059a548","approvalDigest":"35d7e09cc0a8902788f8a217c7b83ed02a769317b8c341587f7bdb9ebd6fb4c8","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"3c02d7ce0f574bd66bc66b45efbc1592e0761437f967cac5351bc2b23c4618fe","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"bf71bbd3a76f9fe2c3c3f1cfada6a04b3fb11b7eb11a722fc764c378cc33528b","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"5bb430fc1e2d5770cfbff4762f33dc0b226a2a3926efe22bdd258a460059a548","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"35d7e09cc0a8902788f8a217c7b83ed02a769317b8c341587f7bdb9ebd6fb4c8","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-registry-preview/au-logistics-asx-warehouse/pixel-map-pin","reits://virtual-assets/au-logistics-asx-warehouse"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"ffaafe12732f64e7a0967d11011949db59ab8528586b989ed9516e85207cd8e7","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse&format=pixel-map-pin","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"6919f2dcf871ec4e2c4e0a1a3f83844c92f67a2a019d276be12602982d8425b8","targetSourceActionDigest":"408a4f9aba1f3ecbebbaa41c8486d4123991bd9bffe663569ae2d8d9e5687418","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","correctionDigest":"12f88831a765acf837c27299e1bb0bd44117e42ff0f171431005c1c4884d13d2","approvalDigest":"d7516900fecb6ad9c9ee9248474477f84148b1d1fa3c6bc8b36b07550c79bb24","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-ca-residential-tsx-node-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-ca-residential-tsx-node-isometric-nft-card","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","bytes":2195051,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=ca-residential-tsx-node&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f9abe75034cf18b7e977d71faacf373c","action":"approve-visual-dry-run","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"6919f2dcf871ec4e2c4e0a1a3f83844c92f67a2a019d276be12602982d8425b8","targetSourceActionDigest":"408a4f9aba1f3ecbebbaa41c8486d4123991bd9bffe663569ae2d8d9e5687418","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"12f88831a765acf837c27299e1bb0bd44117e42ff0f171431005c1c4884d13d2","approvalDigest":"d7516900fecb6ad9c9ee9248474477f84148b1d1fa3c6bc8b36b07550c79bb24","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"6919f2dcf871ec4e2c4e0a1a3f83844c92f67a2a019d276be12602982d8425b8","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"408a4f9aba1f3ecbebbaa41c8486d4123991bd9bffe663569ae2d8d9e5687418","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"12f88831a765acf837c27299e1bb0bd44117e42ff0f171431005c1c4884d13d2","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"d7516900fecb6ad9c9ee9248474477f84148b1d1fa3c6bc8b36b07550c79bb24","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card","reits://virtual-assets/ca-residential-tsx-node"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"d32504faa72034dc0efa1574bc3d38053c5500e20601f8bc8bfeaaece1925739","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-compliance-review&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node&format=isometric-nft-card","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditDigest":"f2a0d161f5c7f977166cb26102cb38268352d794ff68ec8951c504371fc1134b","targetSourceActionDigest":"dddde285d374102b57e3e931b5a9a51d3409833072d0c0769a0f5687ae532107","targetSourceEvidenceSha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","correctionDigest":"0c07f0e843b3836a4f704fc7a4b06fb9b750ee6621f4e60ea8e09c60d99b6949","approvalDigest":"69de96788e1b5875f8f29142114f22c2b11166b9a2c80ea51903699ab4b6eb99","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-ca-residential-tsx-node-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-ca-residential-tsx-node-pixel-map-pin","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","bytes":489752,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=ca-residential-tsx-node&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"d319b5c43be55988929fbd548a655430","action":"approve-visual-dry-run","candidateSlug":"ca-residential-tsx-node","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditDigest":"f2a0d161f5c7f977166cb26102cb38268352d794ff68ec8951c504371fc1134b","targetSourceActionDigest":"dddde285d374102b57e3e931b5a9a51d3409833072d0c0769a0f5687ae532107","targetSourceEvidenceSha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"0c07f0e843b3836a4f704fc7a4b06fb9b750ee6621f4e60ea8e09c60d99b6949","approvalDigest":"69de96788e1b5875f8f29142114f22c2b11166b9a2c80ea51903699ab4b6eb99","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"f2a0d161f5c7f977166cb26102cb38268352d794ff68ec8951c504371fc1134b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"dddde285d374102b57e3e931b5a9a51d3409833072d0c0769a0f5687ae532107","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"0c07f0e843b3836a4f704fc7a4b06fb9b750ee6621f4e60ea8e09c60d99b6949","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"69de96788e1b5875f8f29142114f22c2b11166b9a2c80ea51903699ab4b6eb99","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-evidence/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-registry-preview/ca-residential-tsx-node/pixel-map-pin","reits://virtual-assets/ca-residential-tsx-node"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"a491caf94e3a6c6bbc2b5471624a437fa32886da9096d3b10a1b8122fa9dba8c","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node&format=pixel-map-pin","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"4fd52cf7423be1ab331145911e7b7a7abd92ebe5706ca3b67582b26c796a8009","targetSourceActionDigest":"46efa33fbd89f8f7b9652ae729ef949ea1bda6c54da663f09d99c77d8f0816b8","targetSourceEvidenceSha256":null,"correctionDigest":"94420ed01b844f4133a21e373f77ad6383be00e8206c091b77b4c0b537a8f54b","approvalDigest":"eec2d2f33512371706a7468c8c13bf7dd72a3ebef438a80019219459429f4968","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-eu-logistics-esef-hub-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-eu-logistics-esef-hub-isometric-nft-card","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=eu-logistics-esef-hub&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"7a53b1149bf157c0ba9b5d19a2e300c0","action":"approve-visual-dry-run","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"4fd52cf7423be1ab331145911e7b7a7abd92ebe5706ca3b67582b26c796a8009","targetSourceActionDigest":"46efa33fbd89f8f7b9652ae729ef949ea1bda6c54da663f09d99c77d8f0816b8","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"94420ed01b844f4133a21e373f77ad6383be00e8206c091b77b4c0b537a8f54b","approvalDigest":"eec2d2f33512371706a7468c8c13bf7dd72a3ebef438a80019219459429f4968","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"4fd52cf7423be1ab331145911e7b7a7abd92ebe5706ca3b67582b26c796a8009","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"46efa33fbd89f8f7b9652ae729ef949ea1bda6c54da663f09d99c77d8f0816b8","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"94420ed01b844f4133a21e373f77ad6383be00e8206c091b77b4c0b537a8f54b","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"eec2d2f33512371706a7468c8c13bf7dd72a3ebef438a80019219459429f4968","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-evidence/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-registry-preview/eu-logistics-esef-hub/isometric-nft-card","reits://virtual-assets/eu-logistics-esef-hub"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"f9aa9ab066685e60ca29a4cb72d18ca767dc5370f9c46ccbc67768828a8e1554","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub&format=isometric-nft-card","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditDigest":"c86934b2cfc724711c0ea86a69023528660143f2f42ccf4fc42076c5d27213f4","targetSourceActionDigest":"431110328522fdbb1386e73021fbe61da450dc1988b6cd3c4a06b510cc884ad5","targetSourceEvidenceSha256":null,"correctionDigest":"2cdaf2ee55ef110f6e981bda30c946dcc03f037697bd5f7d3d3aa1eda5551984","approvalDigest":"aeb1657c84ec30390fd2dfa4141329f4a4d0e91c3109d2adc9b414fe22284f1a","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-eu-logistics-esef-hub-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-eu-logistics-esef-hub-pixel-map-pin","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","formatKey":"pixel-map-pin","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=eu-logistics-esef-hub&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=pixel-map-pin","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f499257ea69c964e5ed68766f0f21003","action":"approve-visual-dry-run","candidateSlug":"eu-logistics-esef-hub","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditDigest":"c86934b2cfc724711c0ea86a69023528660143f2f42ccf4fc42076c5d27213f4","targetSourceActionDigest":"431110328522fdbb1386e73021fbe61da450dc1988b6cd3c4a06b510cc884ad5","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"2cdaf2ee55ef110f6e981bda30c946dcc03f037697bd5f7d3d3aa1eda5551984","approvalDigest":"aeb1657c84ec30390fd2dfa4141329f4a4d0e91c3109d2adc9b414fe22284f1a","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"c86934b2cfc724711c0ea86a69023528660143f2f42ccf4fc42076c5d27213f4","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"431110328522fdbb1386e73021fbe61da450dc1988b6cd3c4a06b510cc884ad5","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"2cdaf2ee55ef110f6e981bda30c946dcc03f037697bd5f7d3d3aa1eda5551984","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"aeb1657c84ec30390fd2dfa4141329f4a4d0e91c3109d2adc9b414fe22284f1a","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-evidence/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-registry-preview/eu-logistics-esef-hub/pixel-map-pin","reits://virtual-assets/eu-logistics-esef-hub"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"715d28323051d4bd61566b1041b755ded4293826bf9c6a69ad928904dd05d0b1","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub&decision=blocked-by-brief&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub&format=pixel-map-pin","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","targetSourceActionDigest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","targetSourceEvidenceSha256":null,"correctionDigest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","approvalDigest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5c4cd672358d3655bdbcf0f6712e9bb4","action":"approve-visual-dry-run","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","targetSourceActionDigest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","approvalDigest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"e85031efabdee1b455fdc2016a01795c7783b4af7b21789aa88381bca563aa0d","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","targetSourceActionDigest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","targetSourceEvidenceSha256":null,"correctionDigest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","approvalDigest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-pixel-map-pin","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"pixel-map-pin","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"9dee3c6fbc7901ab5d08cf3a2bf081bc","action":"approve-visual-dry-run","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","targetSourceActionDigest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","approvalDigest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"e37ef302d497c76d1d0d9e8030b96e0436fdc7b0ccf8167b755b5aab29a65e3a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=pixel-map-pin","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"e2c4b5caa248774e2a5e7bc0ceb1e3cc008c2fe5b75c76c8edb6c1d3c980f063","targetSourceActionDigest":"880f753b8f150e389b75af75a549ede95f14e3b0f9cbf37ea2417f154886d4ea","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","correctionDigest":"88bf1e601aff61ec87db7826112b96075484eaa9de25b338cd1b5299480b698d","approvalDigest":"d45369ad52cdceee52e4d5119fc00a41a65daceda31ce89ebb2eab1a2b98e312","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-uk-healthcare-rns-estate-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-uk-healthcare-rns-estate-isometric-nft-card","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","bytes":2285655,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f86d1bb52ba57709df712bc748969f5d","action":"approve-visual-dry-run","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"e2c4b5caa248774e2a5e7bc0ceb1e3cc008c2fe5b75c76c8edb6c1d3c980f063","targetSourceActionDigest":"880f753b8f150e389b75af75a549ede95f14e3b0f9cbf37ea2417f154886d4ea","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"88bf1e601aff61ec87db7826112b96075484eaa9de25b338cd1b5299480b698d","approvalDigest":"d45369ad52cdceee52e4d5119fc00a41a65daceda31ce89ebb2eab1a2b98e312","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"e2c4b5caa248774e2a5e7bc0ceb1e3cc008c2fe5b75c76c8edb6c1d3c980f063","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"880f753b8f150e389b75af75a549ede95f14e3b0f9cbf37ea2417f154886d4ea","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"88bf1e601aff61ec87db7826112b96075484eaa9de25b338cd1b5299480b698d","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"d45369ad52cdceee52e4d5119fc00a41a65daceda31ce89ebb2eab1a2b98e312","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-registry-preview/uk-healthcare-rns-estate/isometric-nft-card","reits://virtual-assets/uk-healthcare-rns-estate"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"8b38d2b1b3c96df2367f0555eb8d898fb805646d302df43688c24feee1c94c6b","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate&format=isometric-nft-card","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditDigest":"46ecf17aa05eb92c0d7ca50001d4f56765206b98a8d1225fe4058a8871291f7f","targetSourceActionDigest":"8d5f39b13ca6944c37d2cc95dfc0b2d857a1529fa04fb880950c0e3d53b4e7af","targetSourceEvidenceSha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","correctionDigest":"cf6d16e78a3590e1215c6d93045038511f5fb12aaf3eb33d4c4d02a0d6cd09f2","approvalDigest":"d8b9bffc8633019d74dce82ad1aa933e3b4e174ddec9c2bd89730f6ce85db5ad","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-uk-healthcare-rns-estate-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-uk-healthcare-rns-estate-pixel-map-pin","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","bytes":484560,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=uk-healthcare-rns-estate&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"516a1b9116a42066bf74f3b3da9ea1fb","action":"approve-visual-dry-run","candidateSlug":"uk-healthcare-rns-estate","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditDigest":"46ecf17aa05eb92c0d7ca50001d4f56765206b98a8d1225fe4058a8871291f7f","targetSourceActionDigest":"8d5f39b13ca6944c37d2cc95dfc0b2d857a1529fa04fb880950c0e3d53b4e7af","targetSourceEvidenceSha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"cf6d16e78a3590e1215c6d93045038511f5fb12aaf3eb33d4c4d02a0d6cd09f2","approvalDigest":"d8b9bffc8633019d74dce82ad1aa933e3b4e174ddec9c2bd89730f6ce85db5ad","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"46ecf17aa05eb92c0d7ca50001d4f56765206b98a8d1225fe4058a8871291f7f","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"8d5f39b13ca6944c37d2cc95dfc0b2d857a1529fa04fb880950c0e3d53b4e7af","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"cf6d16e78a3590e1215c6d93045038511f5fb12aaf3eb33d4c4d02a0d6cd09f2","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"d8b9bffc8633019d74dce82ad1aa933e3b4e174ddec9c2bd89730f6ce85db5ad","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-registry-preview/uk-healthcare-rns-estate/pixel-map-pin","reits://virtual-assets/uk-healthcare-rns-estate"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"2db68f4030075d0590662d1283abc9932a9175bc0e840a12e1d4dc10c8df0a76","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate&format=pixel-map-pin","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"2dd325867dc4d7409ed428f84c0f0b82a53c228ac1098c1bdf97ac4035832a95","targetSourceActionDigest":"72af27690adda9567c1058a345bc2e0ae28ca74ef0382dd8789c8959db93ad21","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","correctionDigest":"1d2378a1c866a6e8d3dacac315ea826a45aecc8d54181612e23661465803c638","approvalDigest":"e91651aea9c09a27072e091685dd8845188f64d044a5ed743e173c32e7db5226","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-rental-housing-community-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-rental-housing-community-isometric-nft-card","candidateSlug":"cn-rental-housing-community","assetName":"中国保障性租赁住房 Community Block","nftStyleName":"REITs Pixel Asset #CN-Rental-12","countrySlug":"cn","countryName":"中国内地","cityName":"深圳","assetType":"保障性租赁住房","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","bytes":92699,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-rental-housing-community&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"970b53b9012be297511f79222d030c3a","action":"approve-visual-dry-run","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"2dd325867dc4d7409ed428f84c0f0b82a53c228ac1098c1bdf97ac4035832a95","targetSourceActionDigest":"72af27690adda9567c1058a345bc2e0ae28ca74ef0382dd8789c8959db93ad21","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"1d2378a1c866a6e8d3dacac315ea826a45aecc8d54181612e23661465803c638","approvalDigest":"e91651aea9c09a27072e091685dd8845188f64d044a5ed743e173c32e7db5226","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"2dd325867dc4d7409ed428f84c0f0b82a53c228ac1098c1bdf97ac4035832a95","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"72af27690adda9567c1058a345bc2e0ae28ca74ef0382dd8789c8959db93ad21","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"1d2378a1c866a6e8d3dacac315ea826a45aecc8d54181612e23661465803c638","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"e91651aea9c09a27072e091685dd8845188f64d044a5ed743e173c32e7db5226","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-evidence/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","reits://virtual-assets/cn-rental-housing-community"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"941643b8a9d5c863e2a87374c136405d959ac655f2e6b78b8f340bfc10de5b7a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-rental-housing-community&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E4%BF%9D%E9%9A%9C%E6%80%A7%E7%A7%9F%E8%B5%81%E4%BD%8F%E6%88%BF%20Community%20Block"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-rental-housing-community/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditDigest":"2708804fa6ab8bac15787eae61bc60c6c75640c1f9f7a12c2631e2a5b490a1cb","targetSourceActionDigest":"562e87d03d6f6189a18d28c029d8a8a91e757f7e8b0e929d067859188f6e7a0f","targetSourceEvidenceSha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","correctionDigest":"c261cc7d40498c615f2aca27108a22d3b66ee351f996c819666059e96644c154","approvalDigest":"b68f77794a695bde610c237608b59626c5dd4c84910911301e265033fa1c7f33","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-rental-housing-community-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-rental-housing-community-pixel-map-pin","candidateSlug":"cn-rental-housing-community","assetName":"中国保障性租赁住房 Community Block","nftStyleName":"REITs Pixel Asset #CN-Rental-12","countrySlug":"cn","countryName":"中国内地","cityName":"深圳","assetType":"保障性租赁住房","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","bytes":7404,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-rental-housing-community&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"2024e007034052462ca28b3cf05b2e30","action":"approve-visual-dry-run","candidateSlug":"cn-rental-housing-community","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditDigest":"2708804fa6ab8bac15787eae61bc60c6c75640c1f9f7a12c2631e2a5b490a1cb","targetSourceActionDigest":"562e87d03d6f6189a18d28c029d8a8a91e757f7e8b0e929d067859188f6e7a0f","targetSourceEvidenceSha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"c261cc7d40498c615f2aca27108a22d3b66ee351f996c819666059e96644c154","approvalDigest":"b68f77794a695bde610c237608b59626c5dd4c84910911301e265033fa1c7f33","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"2708804fa6ab8bac15787eae61bc60c6c75640c1f9f7a12c2631e2a5b490a1cb","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"562e87d03d6f6189a18d28c029d8a8a91e757f7e8b0e929d067859188f6e7a0f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"c261cc7d40498c615f2aca27108a22d3b66ee351f996c819666059e96644c154","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"b68f77794a695bde610c237608b59626c5dd4c84910911301e265033fa1c7f33","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-evidence/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-registry-preview/cn-rental-housing-community/pixel-map-pin","reits://virtual-assets/cn-rental-housing-community"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"01e56da9208e93d898fcffbcc387c21db1554104d22bf529b3af0356d97e3070","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-rental-housing-community&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E4%BF%9D%E9%9A%9C%E6%80%A7%E7%A7%9F%E8%B5%81%E4%BD%8F%E6%88%BF%20Community%20Block"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-rental-housing-community/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"dd49b3279a55a9613165830cbcf34e4d5170a83666c0065685cbd6443f2c9f76","targetSourceActionDigest":"0eff8ff5702f62b6b948cdd66e015efec3bf4ebfaf29c39247c3661b76149d31","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","correctionDigest":"af39b35e8983a1f77e93e0d33d6ad0aef08525851ba9f0f048ecfa9390b311c9","approvalDigest":"8ebe50ddd47c985023e980c82c5026a380e7b0726fb0ccb1bf24235fb9f00ce8","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-logistics-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-logistics-bbs-gap-isometric-nft-card","candidateSlug":"cn-logistics-bbs-gap","assetName":"中国内地仓储物流 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Logistics-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"仓储物流","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","bytes":90568,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f3f2c1c9d4ab9d52a00b76b5aee08f86","action":"approve-visual-dry-run","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"dd49b3279a55a9613165830cbcf34e4d5170a83666c0065685cbd6443f2c9f76","targetSourceActionDigest":"0eff8ff5702f62b6b948cdd66e015efec3bf4ebfaf29c39247c3661b76149d31","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"af39b35e8983a1f77e93e0d33d6ad0aef08525851ba9f0f048ecfa9390b311c9","approvalDigest":"8ebe50ddd47c985023e980c82c5026a380e7b0726fb0ccb1bf24235fb9f00ce8","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"dd49b3279a55a9613165830cbcf34e4d5170a83666c0065685cbd6443f2c9f76","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"0eff8ff5702f62b6b948cdd66e015efec3bf4ebfaf29c39247c3661b76149d31","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"af39b35e8983a1f77e93e0d33d6ad0aef08525851ba9f0f048ecfa9390b311c9","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"8ebe50ddd47c985023e980c82c5026a380e7b0726fb0ccb1bf24235fb9f00ce8","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-logistics-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"ec957d030a2173b68d9aa574fe39ff153782e1b3777e9138a7108aef82bc3f44","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-logistics-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E4%BB%93%E5%82%A8%E7%89%A9%E6%B5%81%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditDigest":"e91665ac38de4cb400d107cfb8a597ab419d0657404ce415fd85132adfc4f7e1","targetSourceActionDigest":"a25c24ee2f2d6ee7ddea1b37913ce2a20ddb0dd9fd6bb2b2e20183e0bcc3bd22","targetSourceEvidenceSha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","correctionDigest":"91901145a8dfd10b3b77ef4e0e346bbffd93ceeef2ad361024377be8425e73da","approvalDigest":"7d29a288e2b9d9b3bc91a460bdb8170bc9ff51b24404480736f184a201ae47c4","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-logistics-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-logistics-bbs-gap-pixel-map-pin","candidateSlug":"cn-logistics-bbs-gap","assetName":"中国内地仓储物流 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Logistics-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"仓储物流","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","bytes":7066,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-logistics-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"54875356afdda0c5eb037bc43f116a18","action":"approve-visual-dry-run","candidateSlug":"cn-logistics-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditDigest":"e91665ac38de4cb400d107cfb8a597ab419d0657404ce415fd85132adfc4f7e1","targetSourceActionDigest":"a25c24ee2f2d6ee7ddea1b37913ce2a20ddb0dd9fd6bb2b2e20183e0bcc3bd22","targetSourceEvidenceSha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"91901145a8dfd10b3b77ef4e0e346bbffd93ceeef2ad361024377be8425e73da","approvalDigest":"7d29a288e2b9d9b3bc91a460bdb8170bc9ff51b24404480736f184a201ae47c4","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"e91665ac38de4cb400d107cfb8a597ab419d0657404ce415fd85132adfc4f7e1","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a25c24ee2f2d6ee7ddea1b37913ce2a20ddb0dd9fd6bb2b2e20183e0bcc3bd22","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"91901145a8dfd10b3b77ef4e0e346bbffd93ceeef2ad361024377be8425e73da","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"7d29a288e2b9d9b3bc91a460bdb8170bc9ff51b24404480736f184a201ae47c4","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-logistics-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-logistics-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"ceabe0ac0cdcfde8778998a7e1b5327ba5ae57fe96ed905718141ef3251270ab","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-logistics-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E4%BB%93%E5%82%A8%E7%89%A9%E6%B5%81%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"3e160dcb341a02c82d2e944d3be1738269d65fd7c634a402cc536376fa5efaba","targetSourceActionDigest":"033eb0bd9d41ee628745e4fddda6bfa4b0ac881667da345f20048ebf93a82da1","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","correctionDigest":"afcd1ef5a206a673f65f92627b162f70dd0d51b9e139170708c3146bad6076b5","approvalDigest":"5d6bd1dfc1679f365bb4f6451fd8d53067f4b47e4b643f4e7a55e8557c5852c9","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-highway-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-highway-bbs-gap-isometric-nft-card","candidateSlug":"cn-highway-bbs-gap","assetName":"中国内地高速公路 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Highway-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"广州","assetType":"高速公路","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","bytes":96279,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"040df32a1503e6308532dccf6d081e84","action":"approve-visual-dry-run","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"3e160dcb341a02c82d2e944d3be1738269d65fd7c634a402cc536376fa5efaba","targetSourceActionDigest":"033eb0bd9d41ee628745e4fddda6bfa4b0ac881667da345f20048ebf93a82da1","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"afcd1ef5a206a673f65f92627b162f70dd0d51b9e139170708c3146bad6076b5","approvalDigest":"5d6bd1dfc1679f365bb4f6451fd8d53067f4b47e4b643f4e7a55e8557c5852c9","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"3e160dcb341a02c82d2e944d3be1738269d65fd7c634a402cc536376fa5efaba","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"033eb0bd9d41ee628745e4fddda6bfa4b0ac881667da345f20048ebf93a82da1","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"afcd1ef5a206a673f65f92627b162f70dd0d51b9e139170708c3146bad6076b5","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"5d6bd1dfc1679f365bb4f6451fd8d53067f4b47e4b643f4e7a55e8557c5852c9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-highway-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"4ac4717501baf52fc8ff958388aba235345279972796f49371c76f6b8ea6a0e1","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-highway-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E9%AB%98%E9%80%9F%E5%85%AC%E8%B7%AF%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-highway-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditDigest":"8c08ff5e9af829a9505f86f363787ba3f058f4a1dfc1dfc27c11ab65869258e9","targetSourceActionDigest":"abba81d7461f5911c3543b1f55e41da170404c6f7672603d670d8373e95fb672","targetSourceEvidenceSha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","correctionDigest":"65f4b95e01dc7c5228dfdf4979894189fb086aa3285acb367dd6911ad1e5cb87","approvalDigest":"9ad0b913b4f2dda90cc3bb83d96dd0a5563b0dc43a1fb3e83e90916b95712587","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-highway-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-highway-bbs-gap-pixel-map-pin","candidateSlug":"cn-highway-bbs-gap","assetName":"中国内地高速公路 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Highway-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"广州","assetType":"高速公路","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","bytes":8495,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-highway-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"4dcd437d83211ce3d5d54454bca0e0d2","action":"approve-visual-dry-run","candidateSlug":"cn-highway-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditDigest":"8c08ff5e9af829a9505f86f363787ba3f058f4a1dfc1dfc27c11ab65869258e9","targetSourceActionDigest":"abba81d7461f5911c3543b1f55e41da170404c6f7672603d670d8373e95fb672","targetSourceEvidenceSha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"65f4b95e01dc7c5228dfdf4979894189fb086aa3285acb367dd6911ad1e5cb87","approvalDigest":"9ad0b913b4f2dda90cc3bb83d96dd0a5563b0dc43a1fb3e83e90916b95712587","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"8c08ff5e9af829a9505f86f363787ba3f058f4a1dfc1dfc27c11ab65869258e9","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"abba81d7461f5911c3543b1f55e41da170404c6f7672603d670d8373e95fb672","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"65f4b95e01dc7c5228dfdf4979894189fb086aa3285acb367dd6911ad1e5cb87","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"9ad0b913b4f2dda90cc3bb83d96dd0a5563b0dc43a1fb3e83e90916b95712587","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-highway-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-highway-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"af2242ad5564106dde84e3fd7d71deaf6b5a1a32c58e830c513a79c4cb1fb3ce","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-highway-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E9%AB%98%E9%80%9F%E5%85%AC%E8%B7%AF%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-highway-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"4c681a244f92f935f5809ff352a293ef35d07e6d3855d3a98a16530ca33f3914","targetSourceActionDigest":"2228d018d85d6a96f0def269884bc9d664f6c4f49fdbd69d8391ed32bbffb07d","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","correctionDigest":"2a89c6076a30fa884873021a2935f5adb927f98cd188ce062c3dd9ae26bf8204","approvalDigest":"8f759965629e3a40f056213e4a9966148f189ab9528ac4c4cfa2e8f5acfa0010","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","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。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"57c3cf688856fd3751283fedcf1b7aac","action":"approve-visual-dry-run","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"4c681a244f92f935f5809ff352a293ef35d07e6d3855d3a98a16530ca33f3914","targetSourceActionDigest":"2228d018d85d6a96f0def269884bc9d664f6c4f49fdbd69d8391ed32bbffb07d","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"2a89c6076a30fa884873021a2935f5adb927f98cd188ce062c3dd9ae26bf8204","approvalDigest":"8f759965629e3a40f056213e4a9966148f189ab9528ac4c4cfa2e8f5acfa0010","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"4c681a244f92f935f5809ff352a293ef35d07e6d3855d3a98a16530ca33f3914","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"2228d018d85d6a96f0def269884bc9d664f6c4f49fdbd69d8391ed32bbffb07d","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"2a89c6076a30fa884873021a2935f5adb927f98cd188ce062c3dd9ae26bf8204","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"8f759965629e3a40f056213e4a9966148f189ab9528ac4c4cfa2e8f5acfa0010","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-commercial-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"1a1470d60ac9cb4bd7c82868e8b635588f81398c8c6a12115f28de9b4acc14c0","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/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","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","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":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","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-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditDigest":"8784d5314fa5997985d3c463c3d6805ff0c4f1a7239b03e4f525839527c9a1e4","targetSourceActionDigest":"ce313d87cba2fe4006c5e3509dcc3cf33ab48dae2d23f128b33459f74a5de029","targetSourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","correctionDigest":"7d294d13ab54eeaa0e5d6a95c10bd6f54d2c6b28fcd060820560a9f69da84eac","approvalDigest":"cc56c787283dbdd5c16570b56aa134e098bf3df097ded1974d784e640b9f773b","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","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。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"c779052b7fc0a4e320e4dbc2c0b47f16","action":"approve-visual-dry-run","candidateSlug":"cn-commercial-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditDigest":"8784d5314fa5997985d3c463c3d6805ff0c4f1a7239b03e4f525839527c9a1e4","targetSourceActionDigest":"ce313d87cba2fe4006c5e3509dcc3cf33ab48dae2d23f128b33459f74a5de029","targetSourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"7d294d13ab54eeaa0e5d6a95c10bd6f54d2c6b28fcd060820560a9f69da84eac","approvalDigest":"cc56c787283dbdd5c16570b56aa134e098bf3df097ded1974d784e640b9f773b","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"8784d5314fa5997985d3c463c3d6805ff0c4f1a7239b03e4f525839527c9a1e4","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"ce313d87cba2fe4006c5e3509dcc3cf33ab48dae2d23f128b33459f74a5de029","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"7d294d13ab54eeaa0e5d6a95c10bd6f54d2c6b28fcd060820560a9f69da84eac","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"cc56c787283dbdd5c16570b56aa134e098bf3df097ded1974d784e640b9f773b","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-commercial-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-commercial-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"d90ca2c0483d5bd96b3455b11ebd39e5f1c7262addd3a6d9533f4a9f350e09b9","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/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","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","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":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","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"}}],"statusBreakdown":[{"status":"transaction-dry-run-ready","label":"事务 dry-run 可校验","count":18},{"status":"needs-transaction-fields","label":"需要事务字段","count":0},{"status":"needs-dual-control","label":"需要双人确认","count":0},{"status":"blocked-by-policy","label":"策略阻断","count":0}],"writeSetBreakdown":[{"id":"audit-log-original","operation":"no-op","count":18},{"id":"source-action-original","operation":"no-op","count":18},{"id":"source-evidence-original","operation":"no-op","count":18},{"id":"correction-event","operation":"insert","count":18},{"id":"dual-control-approval","operation":"insert","count":18},{"id":"mcp-governance-index","operation":"queue","count":18}],"publicNotes":["BBS Gap 已进入 8 条图片纠错写入事务 dry-run；仍不写 transaction、不排队 MCP、不推进地图/BBS。","当前筛选范围输出 18 条图片纠错写入事务 dry-run，18 条可校验。","其中 14 条事务绑定源图证据；idempotencyKey 和 transactionDigest 已纳入 sourceEvidenceSha256。","事务 envelope 串联 targetAuditDigest、targetSourceActionDigest、sourceEvidenceSha256、correctionDigest、approvalDigest、transactionDigest 和 idempotencyKey。","真实写入必须在事务成功后再排队 MCP 治理索引，当前 databaseWriteDisabled=true、mcpQueueWriteDisabled=true。"],"qaWarnings":["该门禁不会写 transaction，transactionWritten 始终为 false。","该门禁不会排队 MCP 索引，mcpIndexQueued 始终为 false。","该门禁不会发布地图、BBS 或正式 NFT 图片清单。","POST 校验必须继承双人确认 requiredInputs，并携带匹配的 targetSourceActionDigest 与 sourceEvidenceSha256。","数据库事务、幂等锁、rollback worker 和 MCP index worker 完成前，不得开放真实写入。"]}