{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":null,"status":null,"action":null,"assetSlug":null,"formatKey":"isometric-nft-card","correctionType":null},"metrics":{"transactionCount":36,"transactionDryRunReadyCount":36,"needsTransactionFieldsCount":0,"needsDualControlCount":0,"blockedByPolicyCount":0,"writeDisabledCount":36,"databaseWriteDisabledCount":36,"mcpQueueWriteDisabledCount":36,"rollbackPlanCount":36,"transactionDigestCount":36,"transactionWrittenCount":0,"approvalWrittenCount":0,"correctionEventWrittenCount":0,"auditLogMutatedCount":0,"mcpIndexQueuedCount":0,"mapPublishedCount":0,"registryPromotionAllowedCount":0,"mcpResourceCount":36,"localGeneratedEvidenceCount":28,"sourceMismatchCount":0,"sourceEvidenceDigestCount":28},"records":[{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"60cfeddb04a733638882dc1339ba50e05a24995af850bfff0c519dc5f3e88da1","targetSourceActionDigest":"b189f0ea5ac0aa69008d0aed0f4fff21b1f5917ad626de9da3c298735e1df9cb","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","correctionDigest":"618d8fa3166f70bbce9f91dea569bfde0b795d297e3de8081bf9c5fe271d3c2f","approvalDigest":"b05d45f878a7f30efaa0200f43fec32d9a8a13c13dc0c6175a128b356a0b266d","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"434636aa840515de3fef238f026dfb59","action":"reject-visual-candidate","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"60cfeddb04a733638882dc1339ba50e05a24995af850bfff0c519dc5f3e88da1","targetSourceActionDigest":"b189f0ea5ac0aa69008d0aed0f4fff21b1f5917ad626de9da3c298735e1df9cb","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"618d8fa3166f70bbce9f91dea569bfde0b795d297e3de8081bf9c5fe271d3c2f","approvalDigest":"b05d45f878a7f30efaa0200f43fec32d9a8a13c13dc0c6175a128b356a0b266d","createdAt":"2026-07-31T18:33:39.533Z","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":"60cfeddb04a733638882dc1339ba50e05a24995af850bfff0c519dc5f3e88da1","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"b189f0ea5ac0aa69008d0aed0f4fff21b1f5917ad626de9da3c298735e1df9cb","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"618d8fa3166f70bbce9f91dea569bfde0b795d297e3de8081bf9c5fe271d3c2f","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"b05d45f878a7f30efaa0200f43fec32d9a8a13c13dc0c6175a128b356a0b266d","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"b089d7bd0ca359670d4d11ef676cab28f54f2b9ca48b0a1cf22092d8622d4a0d","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"e0f339c887c9dc286f858d834871fb108e251d99138d566e93899464726768bc","targetSourceActionDigest":"3347d2c3179eca344d219ab430d70c2cbe5f172daf5c430e9320bdde96049bd7","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","correctionDigest":"14282fc0ced3fdd5ade4e748a5fec2eee1864141cba82af49c8e316ff1323320","approvalDigest":"4581d2695ad17f4275bdc8084afeb39d2148109068d118714c56f2fa88b35949","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"db0754d140599b2daf14f38a56c900d6","action":"reject-visual-candidate","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"e0f339c887c9dc286f858d834871fb108e251d99138d566e93899464726768bc","targetSourceActionDigest":"3347d2c3179eca344d219ab430d70c2cbe5f172daf5c430e9320bdde96049bd7","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"14282fc0ced3fdd5ade4e748a5fec2eee1864141cba82af49c8e316ff1323320","approvalDigest":"4581d2695ad17f4275bdc8084afeb39d2148109068d118714c56f2fa88b35949","createdAt":"2026-07-31T18:33:39.533Z","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":"e0f339c887c9dc286f858d834871fb108e251d99138d566e93899464726768bc","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3347d2c3179eca344d219ab430d70c2cbe5f172daf5c430e9320bdde96049bd7","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"14282fc0ced3fdd5ade4e748a5fec2eee1864141cba82af49c8e316ff1323320","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"4581d2695ad17f4275bdc8084afeb39d2148109068d118714c56f2fa88b35949","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"38d749b6694b3c15f59d45a6f84885a80d07b342c5cf9b28e94f2a1a770ed86f","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"2c0d4e7c90252d86be14b67e08a371a0f18b106d7189ce068205cbc708a7e87f","targetSourceActionDigest":"4cf51633e7afde0572f4aed04233bcbb7eb26ac2c8c1b6ebb364557bd6b4fada","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","correctionDigest":"51f796bffee68328de5cfab5a561706483006a64733efc205a65013f7ce7490f","approvalDigest":"ee39203b787707970edb5d45c9c355eb41ffcd775e0703e0548e4d60537672a9","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"fc497317b73adf657bed57c3a4ad83c0","action":"reject-visual-candidate","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"2c0d4e7c90252d86be14b67e08a371a0f18b106d7189ce068205cbc708a7e87f","targetSourceActionDigest":"4cf51633e7afde0572f4aed04233bcbb7eb26ac2c8c1b6ebb364557bd6b4fada","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"51f796bffee68328de5cfab5a561706483006a64733efc205a65013f7ce7490f","approvalDigest":"ee39203b787707970edb5d45c9c355eb41ffcd775e0703e0548e4d60537672a9","createdAt":"2026-07-31T18:33:39.533Z","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":"2c0d4e7c90252d86be14b67e08a371a0f18b106d7189ce068205cbc708a7e87f","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"4cf51633e7afde0572f4aed04233bcbb7eb26ac2c8c1b6ebb364557bd6b4fada","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"51f796bffee68328de5cfab5a561706483006a64733efc205a65013f7ce7490f","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"ee39203b787707970edb5d45c9c355eb41ffcd775e0703e0548e4d60537672a9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"057c4a188f2fb1d2b77cf83918f6da921e6392f2969bab927edfadd3b7ab6293","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"fabeab7ce8d107e706cb717ed0826cad394c87dbac1311164bd65da947669180","targetSourceActionDigest":"83c3102f355befa865a06cad1cef1b302ab764e08074d5f253a981484b94654f","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","correctionDigest":"613343c3c30cadd123565fb717f1e90cb5bffd125bb8e27630b137c2eda6b17f","approvalDigest":"dae244bb2ebe4d60ac8565d993516561bc76bd333f103af4429f9327086f3623","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"28415d43cb3199b5419d433d2f25788c","action":"reject-visual-candidate","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"fabeab7ce8d107e706cb717ed0826cad394c87dbac1311164bd65da947669180","targetSourceActionDigest":"83c3102f355befa865a06cad1cef1b302ab764e08074d5f253a981484b94654f","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"613343c3c30cadd123565fb717f1e90cb5bffd125bb8e27630b137c2eda6b17f","approvalDigest":"dae244bb2ebe4d60ac8565d993516561bc76bd333f103af4429f9327086f3623","createdAt":"2026-07-31T18:33:39.533Z","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":"fabeab7ce8d107e706cb717ed0826cad394c87dbac1311164bd65da947669180","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"83c3102f355befa865a06cad1cef1b302ab764e08074d5f253a981484b94654f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"613343c3c30cadd123565fb717f1e90cb5bffd125bb8e27630b137c2eda6b17f","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"dae244bb2ebe4d60ac8565d993516561bc76bd333f103af4429f9327086f3623","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"a024263634ed1c20b5d63186fcd9e458cbf5ab202aa2855ffaa4102dafef0c87","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"5de12f79bf2f7b4b3b3c27d43997a071a13c08a75e6c7214bb51946c46e61200","targetSourceActionDigest":"a7d3b1fdf2b4e47a9427142d37c1324cdc33a2472adf72b0bfdff8c26dad81d2","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","correctionDigest":"3779df21400dc98312f87352aa7a1fa5cf124ebc656bf48a6dec7dfbe04311a8","approvalDigest":"59eb7414014730f8753d9d22a1fc5399dc989a5be73ae21068aa6793bbc5cbc0","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"855a1ee5145fd8ef488623bf67e80afc","action":"reject-visual-candidate","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"5de12f79bf2f7b4b3b3c27d43997a071a13c08a75e6c7214bb51946c46e61200","targetSourceActionDigest":"a7d3b1fdf2b4e47a9427142d37c1324cdc33a2472adf72b0bfdff8c26dad81d2","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"3779df21400dc98312f87352aa7a1fa5cf124ebc656bf48a6dec7dfbe04311a8","approvalDigest":"59eb7414014730f8753d9d22a1fc5399dc989a5be73ae21068aa6793bbc5cbc0","createdAt":"2026-07-31T18:33:39.533Z","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":"5de12f79bf2f7b4b3b3c27d43997a071a13c08a75e6c7214bb51946c46e61200","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a7d3b1fdf2b4e47a9427142d37c1324cdc33a2472adf72b0bfdff8c26dad81d2","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"3779df21400dc98312f87352aa7a1fa5cf124ebc656bf48a6dec7dfbe04311a8","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"59eb7414014730f8753d9d22a1fc5399dc989a5be73ae21068aa6793bbc5cbc0","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"799276d275defb2dfcca45b30566d935078c35b8b73eaa7dd6a66d4ef13c711d","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"f2a07e8c11828a8ad91eebaab5a3b76e231dde28fa042d14979f5e602b3ec452","targetSourceActionDigest":"0a18acfb5d37687161329bdd1c207d569b3ae4f89f9c5048d61403700b905c70","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","correctionDigest":"29547a42a58c7834da4ccba6d5ff511f33aaedfca542aa9963e1fa99bde1b1fc","approvalDigest":"75a65fedf7c426f7c3d853fc93fab2590b90a038f8f3555eda75a59d7372c736","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5fdd253ab629f19173b993865e0e9f07","action":"reject-visual-candidate","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"f2a07e8c11828a8ad91eebaab5a3b76e231dde28fa042d14979f5e602b3ec452","targetSourceActionDigest":"0a18acfb5d37687161329bdd1c207d569b3ae4f89f9c5048d61403700b905c70","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"29547a42a58c7834da4ccba6d5ff511f33aaedfca542aa9963e1fa99bde1b1fc","approvalDigest":"75a65fedf7c426f7c3d853fc93fab2590b90a038f8f3555eda75a59d7372c736","createdAt":"2026-07-31T18:33:39.533Z","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":"f2a07e8c11828a8ad91eebaab5a3b76e231dde28fa042d14979f5e602b3ec452","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"0a18acfb5d37687161329bdd1c207d569b3ae4f89f9c5048d61403700b905c70","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"29547a42a58c7834da4ccba6d5ff511f33aaedfca542aa9963e1fa99bde1b1fc","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"75a65fedf7c426f7c3d853fc93fab2590b90a038f8f3555eda75a59d7372c736","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"1427a0da889957e7a56db105fad64b46aa3fe142075b724e2023ac492896cb2c","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"3d2d5d48a7f5865c71d52f005e78f2490ab0e9ab1e9fcc00e378beea06226649","targetSourceActionDigest":"3fde19b11e9e846d6cb0bbea09a9fae5c818a09226242160ba904e85e71527a0","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","correctionDigest":"1109e29632b6725f3cc0c96eb69f4c2b19b1b94617ec62149fbe214a14676d68","approvalDigest":"16f556e011cb28b531ad64155a7fdfdddf4e7c8bc9e124fcaf5fa2f886c52c9e","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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":"metadata-correction","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-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5e694b3be43066ace57f7358b9fef987","action":"reject-visual-candidate","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"3d2d5d48a7f5865c71d52f005e78f2490ab0e9ab1e9fcc00e378beea06226649","targetSourceActionDigest":"3fde19b11e9e846d6cb0bbea09a9fae5c818a09226242160ba904e85e71527a0","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"1109e29632b6725f3cc0c96eb69f4c2b19b1b94617ec62149fbe214a14676d68","approvalDigest":"16f556e011cb28b531ad64155a7fdfdddf4e7c8bc9e124fcaf5fa2f886c52c9e","createdAt":"2026-07-31T18:33:39.533Z","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":"3d2d5d48a7f5865c71d52f005e78f2490ab0e9ab1e9fcc00e378beea06226649","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3fde19b11e9e846d6cb0bbea09a9fae5c818a09226242160ba904e85e71527a0","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"1109e29632b6725f3cc0c96eb69f4c2b19b1b94617ec62149fbe214a14676d68","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"16f556e011cb28b531ad64155a7fdfdddf4e7c8bc9e124fcaf5fa2f886c52c9e","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"195fbca1ddb1d28fc953f90abd3ebb3cb7d138fe3bbd6bc9830279de24122db6","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"5c81f1b835d90a4684fb845d33a5e92133ceafc0399c5663adde84f963b3d10a","targetSourceActionDigest":"542b88350d2b01ba3e65cac2accc7039d1ead2da902c2d71be3d4294eb4a4c29","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","correctionDigest":"49fffc4398e486d73879c2efa129986fe31d7f95073272a37b27030f1b9489c4","approvalDigest":"371b5cec762dfc9a9264d5522a0d0df6bf47207cf71470fcb76b0252c3f2dea5","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"89e80e1067e8871b922682ab27f22b49","action":"request-compliance-review","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"5c81f1b835d90a4684fb845d33a5e92133ceafc0399c5663adde84f963b3d10a","targetSourceActionDigest":"542b88350d2b01ba3e65cac2accc7039d1ead2da902c2d71be3d4294eb4a4c29","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"49fffc4398e486d73879c2efa129986fe31d7f95073272a37b27030f1b9489c4","approvalDigest":"371b5cec762dfc9a9264d5522a0d0df6bf47207cf71470fcb76b0252c3f2dea5","createdAt":"2026-07-31T18:33:39.533Z","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":"5c81f1b835d90a4684fb845d33a5e92133ceafc0399c5663adde84f963b3d10a","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"542b88350d2b01ba3e65cac2accc7039d1ead2da902c2d71be3d4294eb4a4c29","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"49fffc4398e486d73879c2efa129986fe31d7f95073272a37b27030f1b9489c4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"371b5cec762dfc9a9264d5522a0d0df6bf47207cf71470fcb76b0252c3f2dea5","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"d1cce014ddb7a3eabed92e909b3021606638405b93ae0f48aca08aace9126fbb","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"61c2a381b611beea92d5134d44f13de093114f2b3ed5a68e103cbe4c91a01df4","targetSourceActionDigest":"fad25d998f85126780d09573cf39e711272f7aa824fc8396b0f6487f877cfd32","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","correctionDigest":"63b0a8aab31a8a38d24a5caf13c7fe855632ddeafb446df9860de15d5c3890bb","approvalDigest":"654450a868627323523dbb8583fc23c92bddcbee358a319c9adc070fe78e996c","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"4d75af3150ee17b4b286718f93dda3db","action":"request-compliance-review","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"61c2a381b611beea92d5134d44f13de093114f2b3ed5a68e103cbe4c91a01df4","targetSourceActionDigest":"fad25d998f85126780d09573cf39e711272f7aa824fc8396b0f6487f877cfd32","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"63b0a8aab31a8a38d24a5caf13c7fe855632ddeafb446df9860de15d5c3890bb","approvalDigest":"654450a868627323523dbb8583fc23c92bddcbee358a319c9adc070fe78e996c","createdAt":"2026-07-31T18:33:39.533Z","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":"61c2a381b611beea92d5134d44f13de093114f2b3ed5a68e103cbe4c91a01df4","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"fad25d998f85126780d09573cf39e711272f7aa824fc8396b0f6487f877cfd32","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"63b0a8aab31a8a38d24a5caf13c7fe855632ddeafb446df9860de15d5c3890bb","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"654450a868627323523dbb8583fc23c92bddcbee358a319c9adc070fe78e996c","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"c831b005bf8e7f91b6adf486bc745ee237df9ce532df0956fe54f514f1c26063","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/ca-residential-tsx-node/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"c0491ee8eb96d552ee843ec9cbf2c54e58cd7635b74c1466bee1d99258bc047b","targetSourceActionDigest":"b96dc93a43a51e448eec40a0e2e9fa1eb8ffe4467b71d3d3bba072be1d18a299","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","correctionDigest":"da87c3fc7831b40cc1496ceaca9bd318ec82cc1d0f5bae2956e33d88a2a93683","approvalDigest":"65fbe9f54705e94d97fe05d6df57d92925591df8ebc5e549ad23b18cfc0a3c47","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f3cfaa55f5019884f49e5481061618d5","action":"request-compliance-review","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"c0491ee8eb96d552ee843ec9cbf2c54e58cd7635b74c1466bee1d99258bc047b","targetSourceActionDigest":"b96dc93a43a51e448eec40a0e2e9fa1eb8ffe4467b71d3d3bba072be1d18a299","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"da87c3fc7831b40cc1496ceaca9bd318ec82cc1d0f5bae2956e33d88a2a93683","approvalDigest":"65fbe9f54705e94d97fe05d6df57d92925591df8ebc5e549ad23b18cfc0a3c47","createdAt":"2026-07-31T18:33:39.533Z","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":"c0491ee8eb96d552ee843ec9cbf2c54e58cd7635b74c1466bee1d99258bc047b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"b96dc93a43a51e448eec40a0e2e9fa1eb8ffe4467b71d3d3bba072be1d18a299","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"da87c3fc7831b40cc1496ceaca9bd318ec82cc1d0f5bae2956e33d88a2a93683","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"65fbe9f54705e94d97fe05d6df57d92925591df8ebc5e549ad23b18cfc0a3c47","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"40b50318d05bc6590a66af9f2da713017931bc4201b59032ddb01b7c78934fe9","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-cn-rental-housing-community-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-cn-rental-housing-community-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-cn-rental-housing-community-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"e1fc13077b5b5526f102d614d97417e945f08e9aa134e16cc58e6088f9b326a0","targetSourceActionDigest":"0dd70ea770b296cff047dec7a939a6a4ac4addccdd4177928a4c09ed8be69e4f","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","correctionDigest":"0740cabf09ed64792a4d57dcd172d7d04fcb9c487274fc11444f84f67717b517","approvalDigest":"a21eca3e9bb0f9bacc215dd145b7e1ff738e5b1e8ed8c56d1270941fdf2ca6bc","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-cn-rental-housing-community-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"cdd01560bb07048ec5b24344722b020f","action":"request-compliance-review","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"e1fc13077b5b5526f102d614d97417e945f08e9aa134e16cc58e6088f9b326a0","targetSourceActionDigest":"0dd70ea770b296cff047dec7a939a6a4ac4addccdd4177928a4c09ed8be69e4f","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"0740cabf09ed64792a4d57dcd172d7d04fcb9c487274fc11444f84f67717b517","approvalDigest":"a21eca3e9bb0f9bacc215dd145b7e1ff738e5b1e8ed8c56d1270941fdf2ca6bc","createdAt":"2026-07-31T18:33:39.533Z","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":"e1fc13077b5b5526f102d614d97417e945f08e9aa134e16cc58e6088f9b326a0","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"0dd70ea770b296cff047dec7a939a6a4ac4addccdd4177928a4c09ed8be69e4f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"0740cabf09ed64792a4d57dcd172d7d04fcb9c487274fc11444f84f67717b517","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"a21eca3e9bb0f9bacc215dd145b7e1ff738e5b1e8ed8c56d1270941fdf2ca6bc","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"528eedc82b801e003070cf4daaccdc8a0889bf31c9f66f92546f3887a96f4d2e","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/cn-rental-housing-community/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-rental-housing-community/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/cn-rental-housing-community/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"bab3451f130c58d28ca18e142f6a9af132a85cf2c7ed57a264ed182c2831a31d","targetSourceActionDigest":"f554b87873e9a8b7c0cce5ce8817db361e6cc220c395beff41cc98869b4245e9","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","correctionDigest":"83f239d519dcc399aa03e39a7e2f1247e72672325c739803b64d77c48b4163aa","approvalDigest":"fef99ab2de7fd3ec5242e7b9c5941e8176ed55bc7566a9dddc7fb3a132d44087","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"0d05d49ba57770ffb4d9fcc9d4470f4d","action":"request-compliance-review","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"bab3451f130c58d28ca18e142f6a9af132a85cf2c7ed57a264ed182c2831a31d","targetSourceActionDigest":"f554b87873e9a8b7c0cce5ce8817db361e6cc220c395beff41cc98869b4245e9","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"83f239d519dcc399aa03e39a7e2f1247e72672325c739803b64d77c48b4163aa","approvalDigest":"fef99ab2de7fd3ec5242e7b9c5941e8176ed55bc7566a9dddc7fb3a132d44087","createdAt":"2026-07-31T18:33:39.533Z","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":"bab3451f130c58d28ca18e142f6a9af132a85cf2c7ed57a264ed182c2831a31d","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"f554b87873e9a8b7c0cce5ce8817db361e6cc220c395beff41cc98869b4245e9","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"83f239d519dcc399aa03e39a7e2f1247e72672325c739803b64d77c48b4163aa","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"fef99ab2de7fd3ec5242e7b9c5941e8176ed55bc7566a9dddc7fb3a132d44087","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"0027804da7ff0a1c31edb898b2762dd57b42bf0d0e160b022df38a7c821bb50f","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"6ea24a911b0df4155ba011cbf826b4ddc113d19992f1402c366f563da8e5ed7b","targetSourceActionDigest":"18f5e2ce6d89a1a3ee15fccbe4140913c9e4222d482f2d672ada4573a0b53250","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","correctionDigest":"eec29e63c122472e565f41cdd95369133d46f10c7276fc0cc4c7a5a55949aaca","approvalDigest":"ffd43eb4be198d97b1a263f116e0664951ac2efeaf39ad1118381432b79c9b32","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"4103945317b9c39d41167c677ab7531c","action":"request-compliance-review","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"6ea24a911b0df4155ba011cbf826b4ddc113d19992f1402c366f563da8e5ed7b","targetSourceActionDigest":"18f5e2ce6d89a1a3ee15fccbe4140913c9e4222d482f2d672ada4573a0b53250","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"eec29e63c122472e565f41cdd95369133d46f10c7276fc0cc4c7a5a55949aaca","approvalDigest":"ffd43eb4be198d97b1a263f116e0664951ac2efeaf39ad1118381432b79c9b32","createdAt":"2026-07-31T18:33:39.533Z","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":"6ea24a911b0df4155ba011cbf826b4ddc113d19992f1402c366f563da8e5ed7b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"18f5e2ce6d89a1a3ee15fccbe4140913c9e4222d482f2d672ada4573a0b53250","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"eec29e63c122472e565f41cdd95369133d46f10c7276fc0cc4c7a5a55949aaca","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"ffd43eb4be198d97b1a263f116e0664951ac2efeaf39ad1118381432b79c9b32","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"665841c8ce5c24a20a5cf687435075862ab482761e2aac94a4486e58382ebeb7","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"d4cf8f56fbcbbca85e9215a0e7a4915115fb20336d1050fe20e819f61e7523d3","targetSourceActionDigest":"32782ba26cf7e930531e04b192b97a6b5756bd60d553eb92fd8ba0d6b990ff16","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","correctionDigest":"bff1b18d4fa40aa1d1722444322b0b2451fe91b54a8b4f4ea279b704573b82ac","approvalDigest":"c5a352c00f1abbbd2ca1ce70269762c9b35f4f79ff00d366f626abebfe563b37","action":"request-compliance-review","actionLabel":"请求合规复核","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":"metadata-correction","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-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"af734ddca0fe1e9501f8c8c963754ace","action":"request-compliance-review","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"d4cf8f56fbcbbca85e9215a0e7a4915115fb20336d1050fe20e819f61e7523d3","targetSourceActionDigest":"32782ba26cf7e930531e04b192b97a6b5756bd60d553eb92fd8ba0d6b990ff16","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"bff1b18d4fa40aa1d1722444322b0b2451fe91b54a8b4f4ea279b704573b82ac","approvalDigest":"c5a352c00f1abbbd2ca1ce70269762c9b35f4f79ff00d366f626abebfe563b37","createdAt":"2026-07-31T18:33:39.533Z","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":"d4cf8f56fbcbbca85e9215a0e7a4915115fb20336d1050fe20e819f61e7523d3","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"32782ba26cf7e930531e04b192b97a6b5756bd60d553eb92fd8ba0d6b990ff16","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"bff1b18d4fa40aa1d1722444322b0b2451fe91b54a8b4f4ea279b704573b82ac","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"c5a352c00f1abbbd2ca1ce70269762c9b35f4f79ff00d366f626abebfe563b37","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"e6654d66a9eda91e647116d9a3f3c0c9f4e4ea2c6d6a5b7e80e6f89cb387ee94","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"41286cc5b5b7291d6c810bb8e28ef866a9ce628bd744c5edf5309b85950b5fe8","targetSourceActionDigest":"7cbfa13182199cb62edac8130a8c46d58bc1117a2ffedf67c492c5ca9fb2541f","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","correctionDigest":"b3e2180ff6598f56b3eabcaca78e7c58fa79f32fe9f9b216af80915d8e93a70a","approvalDigest":"0c4f1d3a9e86295017c174d8db4cd0d7e989a8c6c8a26f6888be5e7efac686aa","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"47cd5aa8cbef3f7161a247dbac754862","action":"request-redraw","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-au-logistics-asx-warehouse-isometric-nft-card","targetAuditDigest":"41286cc5b5b7291d6c810bb8e28ef866a9ce628bd744c5edf5309b85950b5fe8","targetSourceActionDigest":"7cbfa13182199cb62edac8130a8c46d58bc1117a2ffedf67c492c5ca9fb2541f","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"b3e2180ff6598f56b3eabcaca78e7c58fa79f32fe9f9b216af80915d8e93a70a","approvalDigest":"0c4f1d3a9e86295017c174d8db4cd0d7e989a8c6c8a26f6888be5e7efac686aa","createdAt":"2026-07-31T18:33:39.533Z","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":"41286cc5b5b7291d6c810bb8e28ef866a9ce628bd744c5edf5309b85950b5fe8","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"7cbfa13182199cb62edac8130a8c46d58bc1117a2ffedf67c492c5ca9fb2541f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"b3e2180ff6598f56b3eabcaca78e7c58fa79f32fe9f9b216af80915d8e93a70a","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"0c4f1d3a9e86295017c174d8db4cd0d7e989a8c6c8a26f6888be5e7efac686aa","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"8ae271f5a5a95708b5ad9818b79ecb90bd42701a1c3a5587f6b5178bd61f9125","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=isometric-nft-card&action=request-redraw","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/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"8dc5110f72b68b37aca2e9d65231fd4fc5ebb834c51524e7716b3cfc3320914e","targetSourceActionDigest":"b7c1455e19dc9465e90a5544896def061fa713b7298cc44f15db3d00bd2a57b7","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","correctionDigest":"cc85e0432d1a277dcb319e5b9bfa381eba05bbcac0cd0569e439e0439ea19830","approvalDigest":"15201c2adc626383d88e139a7bc1212f4d883fda8e938bf913fc3b436bd6cc9f","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"b98fd2735a6a63cca3565b3e82c65191","action":"request-redraw","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-uk-healthcare-rns-estate-isometric-nft-card","targetAuditDigest":"8dc5110f72b68b37aca2e9d65231fd4fc5ebb834c51524e7716b3cfc3320914e","targetSourceActionDigest":"b7c1455e19dc9465e90a5544896def061fa713b7298cc44f15db3d00bd2a57b7","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"cc85e0432d1a277dcb319e5b9bfa381eba05bbcac0cd0569e439e0439ea19830","approvalDigest":"15201c2adc626383d88e139a7bc1212f4d883fda8e938bf913fc3b436bd6cc9f","createdAt":"2026-07-31T18:33:39.533Z","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":"8dc5110f72b68b37aca2e9d65231fd4fc5ebb834c51524e7716b3cfc3320914e","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"b7c1455e19dc9465e90a5544896def061fa713b7298cc44f15db3d00bd2a57b7","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"cc85e0432d1a277dcb319e5b9bfa381eba05bbcac0cd0569e439e0439ea19830","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"15201c2adc626383d88e139a7bc1212f4d883fda8e938bf913fc3b436bd6cc9f","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"981bb96f24c88e56d577fc112939de079af5d73efdc3a74bb21c6bfa92f6249a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=isometric-nft-card&action=request-redraw","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/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-cn-rental-housing-community-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-cn-rental-housing-community-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-cn-rental-housing-community-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"b7fd5ceede8c28ec91145ed5c6b8f55958edbbfc9ccc824258cba673602d4d57","targetSourceActionDigest":"aa21cb6e3ddae820d7c53381550bb43fc25eba5fa8b961eedba0530327bdbcfc","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","correctionDigest":"8a94a55ee8ab6f654c0a31841fb93cd11cddf22a2c6fa11341901d581278ad21","approvalDigest":"f432fad456bf893c286944d019a711fb4e57609ac9e87c79a187436c7e5618a6","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-cn-rental-housing-community-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"a79db939f069fa08669d6062514b1517","action":"request-redraw","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-rental-housing-community-isometric-nft-card","targetAuditDigest":"b7fd5ceede8c28ec91145ed5c6b8f55958edbbfc9ccc824258cba673602d4d57","targetSourceActionDigest":"aa21cb6e3ddae820d7c53381550bb43fc25eba5fa8b961eedba0530327bdbcfc","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"8a94a55ee8ab6f654c0a31841fb93cd11cddf22a2c6fa11341901d581278ad21","approvalDigest":"f432fad456bf893c286944d019a711fb4e57609ac9e87c79a187436c7e5618a6","createdAt":"2026-07-31T18:33:39.533Z","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":"b7fd5ceede8c28ec91145ed5c6b8f55958edbbfc9ccc824258cba673602d4d57","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"aa21cb6e3ddae820d7c53381550bb43fc25eba5fa8b961eedba0530327bdbcfc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"8a94a55ee8ab6f654c0a31841fb93cd11cddf22a2c6fa11341901d581278ad21","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"f432fad456bf893c286944d019a711fb4e57609ac9e87c79a187436c7e5618a6","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"097bdc9cfddda520244da24dc7bb3f8745cffd7b84317e90805028f3049b1d50","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=request-redraw","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/request-redraw/cn-rental-housing-community/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-rental-housing-community/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/cn-rental-housing-community/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"446b1c3441a44cd5bfa94e535473b7891bce6586c5539722e70408a9ecd8dc2e","targetSourceActionDigest":"a8fc86cd324666d5302d6f68ab1701303381550a324bc70d57a81ce4c8ce8b79","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","correctionDigest":"66444b2cbd627f55dd664a6a8e4a646861947a9aff1ef6359b82237793fd6913","approvalDigest":"81338f3fe73a8a92ed578c2b300c4ef993394819ce28cb19376f19ca7f0f5bfd","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"127734614f7ff081163be431f4de096a","action":"request-redraw","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-logistics-bbs-gap-isometric-nft-card","targetAuditDigest":"446b1c3441a44cd5bfa94e535473b7891bce6586c5539722e70408a9ecd8dc2e","targetSourceActionDigest":"a8fc86cd324666d5302d6f68ab1701303381550a324bc70d57a81ce4c8ce8b79","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"66444b2cbd627f55dd664a6a8e4a646861947a9aff1ef6359b82237793fd6913","approvalDigest":"81338f3fe73a8a92ed578c2b300c4ef993394819ce28cb19376f19ca7f0f5bfd","createdAt":"2026-07-31T18:33:39.533Z","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":"446b1c3441a44cd5bfa94e535473b7891bce6586c5539722e70408a9ecd8dc2e","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a8fc86cd324666d5302d6f68ab1701303381550a324bc70d57a81ce4c8ce8b79","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"66444b2cbd627f55dd664a6a8e4a646861947a9aff1ef6359b82237793fd6913","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"81338f3fe73a8a92ed578c2b300c4ef993394819ce28cb19376f19ca7f0f5bfd","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"d353b0e81818d1b39f92ee66419e8603b4747d0b5fa007667117e46083504e5a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=request-redraw","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/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-cn-highway-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-cn-highway-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-cn-highway-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"b4d0d86acd83fc45658e03e5289421d98aa3f3e6e865526755f2c9fdcfd70b0b","targetSourceActionDigest":"af06551c0f81d79f0df7007f83f123ace4fb78da1c85ee628520e62d185def2a","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","correctionDigest":"9c7450e193dbf4ae3b0957f0fd59a28944fb0347ef9d0a4c91708ebfa7eee4db","approvalDigest":"b1aaac5d1ce754fe0fbf323a9c51ab47e024bee097f67d59483dcac52c3be691","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-cn-highway-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"eb439be44525494921e39b52155ed0bf","action":"request-redraw","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-highway-bbs-gap-isometric-nft-card","targetAuditDigest":"b4d0d86acd83fc45658e03e5289421d98aa3f3e6e865526755f2c9fdcfd70b0b","targetSourceActionDigest":"af06551c0f81d79f0df7007f83f123ace4fb78da1c85ee628520e62d185def2a","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"9c7450e193dbf4ae3b0957f0fd59a28944fb0347ef9d0a4c91708ebfa7eee4db","approvalDigest":"b1aaac5d1ce754fe0fbf323a9c51ab47e024bee097f67d59483dcac52c3be691","createdAt":"2026-07-31T18:33:39.533Z","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":"b4d0d86acd83fc45658e03e5289421d98aa3f3e6e865526755f2c9fdcfd70b0b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"af06551c0f81d79f0df7007f83f123ace4fb78da1c85ee628520e62d185def2a","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"9c7450e193dbf4ae3b0957f0fd59a28944fb0347ef9d0a4c91708ebfa7eee4db","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"b1aaac5d1ce754fe0fbf323a9c51ab47e024bee097f67d59483dcac52c3be691","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"fd8ecf4ac42177eb9fa5855d81e084f900473e7fad629ccf25acdd84015cee41","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=request-redraw","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/request-redraw/cn-highway-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-highway-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/cn-highway-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"d03102c69169c4aa397699915c87ce679ff522cf023e6072bbdf19dc97097ea8","targetSourceActionDigest":"7d9bcb66aa4c006ec1e60236e47c30d11a0fbb64016e46c33ad9bc894de94353","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","correctionDigest":"9f22b0ad43a6f5d7ef2f922b9933ad86eb061884b6fa7be57b5636939fd39a39","approvalDigest":"820c43075f5a04b7153f3071c451f5e2ae10170a7ea8f32f15117a359d79d067","action":"request-redraw","actionLabel":"请求重绘","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":"metadata-correction","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-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"7ee60a1d3c140b26a14316b6ae6e8c01","action":"request-redraw","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","correctionType":"metadata-correction","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-cn-commercial-bbs-gap-isometric-nft-card","targetAuditDigest":"d03102c69169c4aa397699915c87ce679ff522cf023e6072bbdf19dc97097ea8","targetSourceActionDigest":"7d9bcb66aa4c006ec1e60236e47c30d11a0fbb64016e46c33ad9bc894de94353","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"9f22b0ad43a6f5d7ef2f922b9933ad86eb061884b6fa7be57b5636939fd39a39","approvalDigest":"820c43075f5a04b7153f3071c451f5e2ae10170a7ea8f32f15117a359d79d067","createdAt":"2026-07-31T18:33:39.533Z","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":"d03102c69169c4aa397699915c87ce679ff522cf023e6072bbdf19dc97097ea8","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"7d9bcb66aa4c006ec1e60236e47c30d11a0fbb64016e46c33ad9bc894de94353","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"9f22b0ad43a6f5d7ef2f922b9933ad86eb061884b6fa7be57b5636939fd39a39","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"820c43075f5a04b7153f3071c451f5e2ae10170a7ea8f32f15117a359d79d067","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"c9e8ab170e2c10c4526f44d680b350b710a060479e5dc71bbad04a70dc12b5da","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw&type=metadata-correction","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=request-redraw","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/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"4e1842729ebad6f560591a18b1e71ff33018f11b396dd905516fdf0f149e00c0","targetSourceActionDigest":"c375ba9ec264530d9edcaf145540afce9b5706bfa715197b1d3c02e23409e4d8","targetSourceEvidenceSha256":null,"correctionDigest":"6a72cd64ef19d32acda5d2ac9fec4d5085d3d222aab7a3cb495e7203fb8fabde","approvalDigest":"7c2e3fab0a86b4da10aa80b8ac85af8a21bf907b9d9cdd35da1344563ed4ac1f","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"429532bc946f40ca0d4f46d517c10ef6","action":"reject-visual-candidate","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"4e1842729ebad6f560591a18b1e71ff33018f11b396dd905516fdf0f149e00c0","targetSourceActionDigest":"c375ba9ec264530d9edcaf145540afce9b5706bfa715197b1d3c02e23409e4d8","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"6a72cd64ef19d32acda5d2ac9fec4d5085d3d222aab7a3cb495e7203fb8fabde","approvalDigest":"7c2e3fab0a86b4da10aa80b8ac85af8a21bf907b9d9cdd35da1344563ed4ac1f","createdAt":"2026-07-31T18:33:39.533Z","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":"4e1842729ebad6f560591a18b1e71ff33018f11b396dd905516fdf0f149e00c0","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"c375ba9ec264530d9edcaf145540afce9b5706bfa715197b1d3c02e23409e4d8","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"6a72cd64ef19d32acda5d2ac9fec4d5085d3d222aab7a3cb495e7203fb8fabde","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"7c2e3fab0a86b4da10aa80b8ac85af8a21bf907b9d9cdd35da1344563ed4ac1f","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"dadc7a6fb6424e5d1a2999f91be0d176306082dcd580c2db8163dbd2177fe619","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate&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=reject-visual-candidate&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/eu-logistics-esef-hub/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","targetSourceActionDigest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","targetSourceEvidenceSha256":null,"correctionDigest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","approvalDigest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f7ade8cddc99ff7a168974c0d105a881","action":"reject-visual-candidate","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","targetSourceActionDigest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","approvalDigest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","createdAt":"2026-07-31T18:33:39.533Z","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":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"0cb59bd57a4271c7f512043420fa22777bd76fea8e73122d08e1a0f3f7aa0880","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&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=reject-visual-candidate&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","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/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-07-31T18:33:39.533Z","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":"a60888f8dd593026cf84b59f297a1150b523f25a5fc2a45ee6077f1b3fa005b0","targetSourceActionDigest":"b2c3936661ccfc74926be1070cd99a157c48b178ec0891ea220c0a83c78f62a9","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","correctionDigest":"97771a555421eeb378216e567b538c26d59585ca8fa9ea214912e66f0d233a80","approvalDigest":"5fe260268ee07d8a47d561eaf7a221038ce6d3b264abbac54fdeb64fded7dff5","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":"5ceb3dce22f794c551aef7a45ee7cf82","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":"a60888f8dd593026cf84b59f297a1150b523f25a5fc2a45ee6077f1b3fa005b0","targetSourceActionDigest":"b2c3936661ccfc74926be1070cd99a157c48b178ec0891ea220c0a83c78f62a9","targetSourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"97771a555421eeb378216e567b538c26d59585ca8fa9ea214912e66f0d233a80","approvalDigest":"5fe260268ee07d8a47d561eaf7a221038ce6d3b264abbac54fdeb64fded7dff5","createdAt":"2026-07-31T18:33:39.533Z","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":"a60888f8dd593026cf84b59f297a1150b523f25a5fc2a45ee6077f1b3fa005b0","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"b2c3936661ccfc74926be1070cd99a157c48b178ec0891ea220c0a83c78f62a9","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"97771a555421eeb378216e567b538c26d59585ca8fa9ea214912e66f0d233a80","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"5fe260268ee07d8a47d561eaf7a221038ce6d3b264abbac54fdeb64fded7dff5","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":"551efb18940949733692a2616f40481277c4ba1adc2a315694808e2b556e2554","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-07-31T18:33:39.533Z","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":"25269fd7644a1236fdac1c1f5eb8035bae6740b096be5725fa4f33cd7621d346","targetSourceActionDigest":"71e75dfae64bfb07606a965ee8c7be1499775f75671de665d23f8db5aedfe1ef","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","correctionDigest":"b03ae6ea7ac2e36a5acc0ef6342117bb52908eb73cf18bf4659049899477d598","approvalDigest":"284298fc0a73a8a40f31cc9abdd8fdde645db98ea6b4e651a5e815a195fe6c58","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":"55f2967d330d80fdc78ad49348977734","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":"25269fd7644a1236fdac1c1f5eb8035bae6740b096be5725fa4f33cd7621d346","targetSourceActionDigest":"71e75dfae64bfb07606a965ee8c7be1499775f75671de665d23f8db5aedfe1ef","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"b03ae6ea7ac2e36a5acc0ef6342117bb52908eb73cf18bf4659049899477d598","approvalDigest":"284298fc0a73a8a40f31cc9abdd8fdde645db98ea6b4e651a5e815a195fe6c58","createdAt":"2026-07-31T18:33:39.533Z","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":"25269fd7644a1236fdac1c1f5eb8035bae6740b096be5725fa4f33cd7621d346","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"71e75dfae64bfb07606a965ee8c7be1499775f75671de665d23f8db5aedfe1ef","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"b03ae6ea7ac2e36a5acc0ef6342117bb52908eb73cf18bf4659049899477d598","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"284298fc0a73a8a40f31cc9abdd8fdde645db98ea6b4e651a5e815a195fe6c58","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":"333274e57ba41d28b10c1301c7dacff2611ad2e9eb6187bfb1c3e18db64cbf0c","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-07-31T18:33:39.533Z","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":"fce16f34cd83301806e920ed047e04e395b85cab280f50bde572231e2d6a6e66","targetSourceActionDigest":"50717dcbb035707d20a0e8184eb2340123b9a666d3dc4434d73cb0253c0ff8e3","targetSourceEvidenceSha256":null,"correctionDigest":"72b9d47f7064e73428e3d790f7ff52ccc97898e01d4805f08b519ab63a47e6a6","approvalDigest":"2eca6081a43e1c1f9b50cadba2037f8a5c5500aeb1f3f498e04c5669be41a375","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":"29ee0dd030d3d00efb606f6ac4e8b076","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":"fce16f34cd83301806e920ed047e04e395b85cab280f50bde572231e2d6a6e66","targetSourceActionDigest":"50717dcbb035707d20a0e8184eb2340123b9a666d3dc4434d73cb0253c0ff8e3","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"72b9d47f7064e73428e3d790f7ff52ccc97898e01d4805f08b519ab63a47e6a6","approvalDigest":"2eca6081a43e1c1f9b50cadba2037f8a5c5500aeb1f3f498e04c5669be41a375","createdAt":"2026-07-31T18:33:39.533Z","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":"fce16f34cd83301806e920ed047e04e395b85cab280f50bde572231e2d6a6e66","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"50717dcbb035707d20a0e8184eb2340123b9a666d3dc4434d73cb0253c0ff8e3","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"72b9d47f7064e73428e3d790f7ff52ccc97898e01d4805f08b519ab63a47e6a6","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"2eca6081a43e1c1f9b50cadba2037f8a5c5500aeb1f3f498e04c5669be41a375","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":"e9e344bbde6f4fc419363118a623fd8bfceb4984d4adca65b906952899472252","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-07-31T18:33:39.533Z","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":"7e93b0fd53f3a31a2cbc52abebec306c5efd6ae0e22995beded7b16860418a82","targetSourceActionDigest":"0dfb6e5930e5edecceeb4ea44f1ff36b21419c384e190b588a1f4ca013674eec","targetSourceEvidenceSha256":null,"correctionDigest":"680204f181f5277c41f767455b109e6321d90641411fe75d79cadafc101c1f1a","approvalDigest":"9c796c66698d0d1b2e0816ad07418182055f201409e9b705ee42f85b8587d228","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":"f0007cfe8bd9055138c7f74cb7f93e19","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":"7e93b0fd53f3a31a2cbc52abebec306c5efd6ae0e22995beded7b16860418a82","targetSourceActionDigest":"0dfb6e5930e5edecceeb4ea44f1ff36b21419c384e190b588a1f4ca013674eec","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"680204f181f5277c41f767455b109e6321d90641411fe75d79cadafc101c1f1a","approvalDigest":"9c796c66698d0d1b2e0816ad07418182055f201409e9b705ee42f85b8587d228","createdAt":"2026-07-31T18:33:39.533Z","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":"7e93b0fd53f3a31a2cbc52abebec306c5efd6ae0e22995beded7b16860418a82","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"0dfb6e5930e5edecceeb4ea44f1ff36b21419c384e190b588a1f4ca013674eec","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"680204f181f5277c41f767455b109e6321d90641411fe75d79cadafc101c1f1a","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"9c796c66698d0d1b2e0816ad07418182055f201409e9b705ee42f85b8587d228","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":"ba9449945b4528745bb64fe69a967f78df7ae068e07429527e18e380eeb08bd1","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-07-31T18:33:39.533Z","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":"23e96e719b10014027d1758bf282fcedf8bf8ef370125aeea5f69979bb255d2a","targetSourceActionDigest":"d15b983c9c5da5bfa6324061fcebf6680fe78697e304c773ac4a423bcb253ae1","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","correctionDigest":"fe8c4181b128b75be955f38508882d9145f4dba0e9626645fcb572c62c042648","approvalDigest":"dee1b0c6dfeec5bf867a1d6da94e5b3163a19a0e7c6e416300b6615fa1490dd9","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":"28098957cf8a2420a315c5881dd50549","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":"23e96e719b10014027d1758bf282fcedf8bf8ef370125aeea5f69979bb255d2a","targetSourceActionDigest":"d15b983c9c5da5bfa6324061fcebf6680fe78697e304c773ac4a423bcb253ae1","targetSourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"fe8c4181b128b75be955f38508882d9145f4dba0e9626645fcb572c62c042648","approvalDigest":"dee1b0c6dfeec5bf867a1d6da94e5b3163a19a0e7c6e416300b6615fa1490dd9","createdAt":"2026-07-31T18:33:39.533Z","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":"23e96e719b10014027d1758bf282fcedf8bf8ef370125aeea5f69979bb255d2a","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"d15b983c9c5da5bfa6324061fcebf6680fe78697e304c773ac4a423bcb253ae1","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"fe8c4181b128b75be955f38508882d9145f4dba0e9626645fcb572c62c042648","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"dee1b0c6dfeec5bf867a1d6da94e5b3163a19a0e7c6e416300b6615fa1490dd9","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":"aa01a90501d1ee54f0ee6bd3e8e097545feb4023f2f651aee379eba788a3fd5b","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-07-31T18:33:39.533Z","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":"b6fdca25329a0d0d78d96733b4734c87fca846a60bec54b10881a877ba32dd9e","targetSourceActionDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","correctionDigest":"cf7baf4a3b3b079f16f050e3baccf0a48706c4f4b24a771be5218695fb0f650f","approvalDigest":"9999082789ccbca50c429dea5f81326eed1794756027d74a3f3c4c7df9df862e","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":"f83429da5c5d0f001e999a5e9a0d7598","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":"b6fdca25329a0d0d78d96733b4734c87fca846a60bec54b10881a877ba32dd9e","targetSourceActionDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","targetSourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"cf7baf4a3b3b079f16f050e3baccf0a48706c4f4b24a771be5218695fb0f650f","approvalDigest":"9999082789ccbca50c429dea5f81326eed1794756027d74a3f3c4c7df9df862e","createdAt":"2026-07-31T18:33:39.533Z","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":"b6fdca25329a0d0d78d96733b4734c87fca846a60bec54b10881a877ba32dd9e","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"cf7baf4a3b3b079f16f050e3baccf0a48706c4f4b24a771be5218695fb0f650f","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"9999082789ccbca50c429dea5f81326eed1794756027d74a3f3c4c7df9df862e","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":"c7498b7e3d83fa04732b16d4986b1dbe249256ad32b9e7b649d956a14d890d58","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-07-31T18:33:39.533Z","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":"a096b13585f1fd02bb2f7346d7c616b3eae883b088f78cd291fe2c9fbe21fe9d","targetSourceActionDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","correctionDigest":"f5c9d267aadc643240615a991fd75ef9dde55ddb1580bb5b4d81adbc2c63f554","approvalDigest":"bf3fc5b148b6faee3f7d2305a1334be26e58142de7a209849f05ead136daf086","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":"58c00e99404096b127c806ac613e845e","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":"a096b13585f1fd02bb2f7346d7c616b3eae883b088f78cd291fe2c9fbe21fe9d","targetSourceActionDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","targetSourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"f5c9d267aadc643240615a991fd75ef9dde55ddb1580bb5b4d81adbc2c63f554","approvalDigest":"bf3fc5b148b6faee3f7d2305a1334be26e58142de7a209849f05ead136daf086","createdAt":"2026-07-31T18:33:39.533Z","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":"a096b13585f1fd02bb2f7346d7c616b3eae883b088f78cd291fe2c9fbe21fe9d","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"f5c9d267aadc643240615a991fd75ef9dde55ddb1580bb5b4d81adbc2c63f554","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"bf3fc5b148b6faee3f7d2305a1334be26e58142de7a209849f05ead136daf086","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":"00142224d3a49fb3318ba4dc33475a9279102e3c4021ddcb0d6f87a70a14d295","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-07-31T18:33:39.533Z","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":"2ef68ffb0ca8c16af2a8041425169c65b722ca3eed26f856bf655032a119b79a","targetSourceActionDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","correctionDigest":"784a9e60d92dceb6661cb61a6ea5c000e416493c00619c8912242ed076118e88","approvalDigest":"14f4839a51449ac2fbae3f492e17bf43719b446cf1802c2e3f38b49da18fa22b","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":"e1687fd46897c2135d9ce90c5fd265f0","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":"2ef68ffb0ca8c16af2a8041425169c65b722ca3eed26f856bf655032a119b79a","targetSourceActionDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","targetSourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"784a9e60d92dceb6661cb61a6ea5c000e416493c00619c8912242ed076118e88","approvalDigest":"14f4839a51449ac2fbae3f492e17bf43719b446cf1802c2e3f38b49da18fa22b","createdAt":"2026-07-31T18:33:39.533Z","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":"2ef68ffb0ca8c16af2a8041425169c65b722ca3eed26f856bf655032a119b79a","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"784a9e60d92dceb6661cb61a6ea5c000e416493c00619c8912242ed076118e88","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"14f4839a51449ac2fbae3f492e17bf43719b446cf1802c2e3f38b49da18fa22b","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":"620df78f2eaa93a1cd16c0325ccf37bdd9f8cb8d835b521ae5734c62735d0efe","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-07-31T18:33:39.533Z","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":"fb26ed386bdb57b7126378d2d504ef435b2f73355c1aaabe2fc323072446e98b","targetSourceActionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","correctionDigest":"16b13be5fc5281959f3d65f2a1b1c055d8e21e3106dce915a42c7de9f1b27d3a","approvalDigest":"5433d6d95a1363495d7ebb5548977c3ad3d9b78fbd2a563d335ed4df3aa400c7","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":"37c24b8c260db126e725a3b636c09ea1","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":"fb26ed386bdb57b7126378d2d504ef435b2f73355c1aaabe2fc323072446e98b","targetSourceActionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","targetSourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"16b13be5fc5281959f3d65f2a1b1c055d8e21e3106dce915a42c7de9f1b27d3a","approvalDigest":"5433d6d95a1363495d7ebb5548977c3ad3d9b78fbd2a563d335ed4df3aa400c7","createdAt":"2026-07-31T18:33:39.533Z","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":"fb26ed386bdb57b7126378d2d504ef435b2f73355c1aaabe2fc323072446e98b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"16b13be5fc5281959f3d65f2a1b1c055d8e21e3106dce915a42c7de9f1b27d3a","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"5433d6d95a1363495d7ebb5548977c3ad3d9b78fbd2a563d335ed4df3aa400c7","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":"f28cda876ff1c58a36471bc0f88096698ebd8241dcec6780d717ba359a0480ae","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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"2d5c4663ff2ca6f19b31efeadce4051c447d8f8a3e8828bced21cddc0d8cb888","targetSourceActionDigest":"958c649db94829c1817cd18b5dc53fe00ec0105e379dfb438769137ad60ef044","targetSourceEvidenceSha256":null,"correctionDigest":"25d9eb573a52feb0c201005791d78aef4f885af9aad86deff69fcec391cfa0a4","approvalDigest":"01e1d118140b02e77ae35768717bacfc42e894c058f89ecc115fd81635fe5e39","action":"request-compliance-review","actionLabel":"请求合规复核","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-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"aa3614994cae398a2010771625cc27a3","action":"request-compliance-review","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"2d5c4663ff2ca6f19b31efeadce4051c447d8f8a3e8828bced21cddc0d8cb888","targetSourceActionDigest":"958c649db94829c1817cd18b5dc53fe00ec0105e379dfb438769137ad60ef044","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"25d9eb573a52feb0c201005791d78aef4f885af9aad86deff69fcec391cfa0a4","approvalDigest":"01e1d118140b02e77ae35768717bacfc42e894c058f89ecc115fd81635fe5e39","createdAt":"2026-07-31T18:33:39.533Z","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":"2d5c4663ff2ca6f19b31efeadce4051c447d8f8a3e8828bced21cddc0d8cb888","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"958c649db94829c1817cd18b5dc53fe00ec0105e379dfb438769137ad60ef044","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"25d9eb573a52feb0c201005791d78aef4f885af9aad86deff69fcec391cfa0a4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"01e1d118140b02e77ae35768717bacfc42e894c058f89ecc115fd81635fe5e39","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"afec21eb2810a3529c6a573a0da3dd417a334a8029d0245afe7dc356155cadf7","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review&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=request-compliance-review&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/eu-logistics-esef-hub/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","targetSourceActionDigest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","targetSourceEvidenceSha256":null,"correctionDigest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","approvalDigest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","action":"request-compliance-review","actionLabel":"请求合规复核","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-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"04a904b4a672d7c146b4034f6e3700d4","action":"request-compliance-review","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","targetSourceActionDigest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","approvalDigest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","createdAt":"2026-07-31T18:33:39.533Z","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":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"5d24c18e534890d601b8ac5cb89cc1a343dabadf32cb9632975c0b01dce02b9e","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&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=request-compliance-review&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","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/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-ca-residential-tsx-node-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-ca-residential-tsx-node-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-ca-residential-tsx-node-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"b925c25dd70158940583d7168ad642b9a46031db76756f6ba3ac68fbf5e99537","targetSourceActionDigest":"c51d324077906cf4ad078e3bae0a3ab00abc2d892ec21fb173acbabdaa418fa9","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","correctionDigest":"36e766e0a66206bc86669a7a8d3a10364bfe211d3fd075218584ea70463a262d","approvalDigest":"59044a336a7a45d0dfdc3f07d6cd67eae607f37f336c5808effb777d7d0ff75c","action":"request-redraw","actionLabel":"请求重绘","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-request-redraw-ca-residential-tsx-node-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"0c9932d25646c1f14a5c6b983134923a","action":"request-redraw","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-ca-residential-tsx-node-isometric-nft-card","targetAuditDigest":"b925c25dd70158940583d7168ad642b9a46031db76756f6ba3ac68fbf5e99537","targetSourceActionDigest":"c51d324077906cf4ad078e3bae0a3ab00abc2d892ec21fb173acbabdaa418fa9","targetSourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceMatchesTransaction":true,"correctionDigest":"36e766e0a66206bc86669a7a8d3a10364bfe211d3fd075218584ea70463a262d","approvalDigest":"59044a336a7a45d0dfdc3f07d6cd67eae607f37f336c5808effb777d7d0ff75c","createdAt":"2026-07-31T18:33:39.533Z","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":"b925c25dd70158940583d7168ad642b9a46031db76756f6ba3ac68fbf5e99537","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"c51d324077906cf4ad078e3bae0a3ab00abc2d892ec21fb173acbabdaa418fa9","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"36e766e0a66206bc86669a7a8d3a10364bfe211d3fd075218584ea70463a262d","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"59044a336a7a45d0dfdc3f07d6cd67eae607f37f336c5808effb777d7d0ff75c","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/ca-residential-tsx-node/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"50b06ff0be303427d270aa3a9c470228788f4f978572f8f14054f36170951705","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw&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=request-redraw&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=isometric-nft-card&action=request-redraw","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/request-redraw/ca-residential-tsx-node/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/ca-residential-tsx-node/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/ca-residential-tsx-node/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/ca-residential-tsx-node/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-eu-logistics-esef-hub-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-eu-logistics-esef-hub-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-eu-logistics-esef-hub-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"9a00cac32f8b658105f9c31b3e8cce9596fd8f116c565492cb8a5fa2a9e5b0a8","targetSourceActionDigest":"a6095705f7ef79ab76bcbf1483d5512bf288f1f89a8921a4c733d996db059edc","targetSourceEvidenceSha256":null,"correctionDigest":"3b36a1c1c53231ee0e8a2fc63c16437ef46219c4d4ae6725944fb128da11e3aa","approvalDigest":"5de87133d66185cbb7051b6efc81eca9a33b60ffdd18d0c245883f815b5d293c","action":"request-redraw","actionLabel":"请求重绘","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-request-redraw-eu-logistics-esef-hub-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"d46a82c254dc60ccf1e0b2385833779f","action":"request-redraw","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-eu-logistics-esef-hub-isometric-nft-card","targetAuditDigest":"9a00cac32f8b658105f9c31b3e8cce9596fd8f116c565492cb8a5fa2a9e5b0a8","targetSourceActionDigest":"a6095705f7ef79ab76bcbf1483d5512bf288f1f89a8921a4c733d996db059edc","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"3b36a1c1c53231ee0e8a2fc63c16437ef46219c4d4ae6725944fb128da11e3aa","approvalDigest":"5de87133d66185cbb7051b6efc81eca9a33b60ffdd18d0c245883f815b5d293c","createdAt":"2026-07-31T18:33:39.533Z","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":"9a00cac32f8b658105f9c31b3e8cce9596fd8f116c565492cb8a5fa2a9e5b0a8","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a6095705f7ef79ab76bcbf1483d5512bf288f1f89a8921a4c733d996db059edc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"3b36a1c1c53231ee0e8a2fc63c16437ef46219c4d4ae6725944fb128da11e3aa","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"5de87133d66185cbb7051b6efc81eca9a33b60ffdd18d0c245883f815b5d293c","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/eu-logistics-esef-hub/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"6afe9c963d41f0b1e4020059cc6793c085ea0998b653b118b9275d844c4d04f3","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw&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=request-redraw&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=isometric-nft-card&action=request-redraw","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/request-redraw/eu-logistics-esef-hub/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/eu-logistics-esef-hub/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/eu-logistics-esef-hub/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/eu-logistics-esef-hub/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","targetSourceActionDigest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","targetSourceEvidenceSha256":null,"correctionDigest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","approvalDigest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","action":"request-redraw","actionLabel":"请求重绘","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-request-redraw-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5f8cba62e96bfe02c1ecd3c6e7291fff","action":"request-redraw","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","targetSourceActionDigest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","approvalDigest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","createdAt":"2026-07-31T18:33:39.533Z","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":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"c24ede535844cf8edefeba59529a1e5ab914984034602ab33eb2e6e4a0e6ac03","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&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=request-redraw&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","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/request-redraw/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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"}}],"statusBreakdown":[{"status":"transaction-dry-run-ready","label":"事务 dry-run 可校验","count":36},{"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":36},{"id":"source-action-original","operation":"no-op","count":36},{"id":"source-evidence-original","operation":"no-op","count":36},{"id":"correction-event","operation":"insert","count":36},{"id":"dual-control-approval","operation":"insert","count":36},{"id":"mcp-governance-index","operation":"queue","count":36}],"publicNotes":["BBS Gap 已进入 16 条图片纠错写入事务 dry-run；仍不写 transaction、不排队 MCP、不推进地图/BBS。","当前筛选范围输出 36 条图片纠错写入事务 dry-run，36 条可校验。","其中 28 条事务绑定源图证据；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 完成前，不得开放真实写入。"]}