{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":null,"status":null,"action":"approve-visual-dry-run","assetSlug":null,"formatKey":null,"correctionType":null},"metrics":{"transactionCount":18,"transactionDryRunReadyCount":18,"needsTransactionFieldsCount":0,"needsDualControlCount":0,"blockedByPolicyCount":0,"writeDisabledCount":18,"databaseWriteDisabledCount":18,"mcpQueueWriteDisabledCount":18,"rollbackPlanCount":18,"transactionDigestCount":18,"transactionWrittenCount":0,"approvalWrittenCount":0,"correctionEventWrittenCount":0,"auditLogMutatedCount":0,"mcpIndexQueuedCount":0,"mapPublishedCount":0,"registryPromotionAllowedCount":0,"mcpResourceCount":18,"localGeneratedEvidenceCount":14,"sourceMismatchCount":0,"sourceEvidenceDigestCount":14},"records":[{"generatedAt":"2026-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-au-logistics-asx-warehouse-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditDigest":"a17ff46086d775cf196d3007d974521e10bca64cf919c9ba08b34bc279e1bd59","targetSourceActionDigest":"e1c38250a8e81a0f43d5749c15780041abc8476def4e8816ad4ac43f11750cbb","targetSourceEvidenceSha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","correctionDigest":"a4b590a03321e54252e70dc39070a29d3274ca03c097bab0a133b60d6036c415","approvalDigest":"bbfddca0026f7681b892cbe54e4579dd3d79c2559b2293b3d35de598b07a9d4d","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-au-logistics-asx-warehouse-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-au-logistics-asx-warehouse-pixel-map-pin","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","bytes":479311,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=au-logistics-asx-warehouse&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"b3f282b7212b7349a28cba50db9ca8d6","action":"approve-visual-dry-run","candidateSlug":"au-logistics-asx-warehouse","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","targetAuditDigest":"a17ff46086d775cf196d3007d974521e10bca64cf919c9ba08b34bc279e1bd59","targetSourceActionDigest":"e1c38250a8e81a0f43d5749c15780041abc8476def4e8816ad4ac43f11750cbb","targetSourceEvidenceSha256":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"a4b590a03321e54252e70dc39070a29d3274ca03c097bab0a133b60d6036c415","approvalDigest":"bbfddca0026f7681b892cbe54e4579dd3d79c2559b2293b3d35de598b07a9d4d","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":"a17ff46086d775cf196d3007d974521e10bca64cf919c9ba08b34bc279e1bd59","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"0777139115556958290219088d2eaa658a4ba664db0fb9c5dcc78251122e9d5e","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"e1c38250a8e81a0f43d5749c15780041abc8476def4e8816ad4ac43f11750cbb","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"a4b590a03321e54252e70dc39070a29d3274ca03c097bab0a133b60d6036c415","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"bbfddca0026f7681b892cbe54e4579dd3d79c2559b2293b3d35de598b07a9d4d","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-au-logistics-asx-warehouse-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/pixel-map-pin","reits://asset-visual-registry-preview/au-logistics-asx-warehouse/pixel-map-pin","reits://virtual-assets/au-logistics-asx-warehouse"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"99537213c7dbfed48aa9a865679d20a45356e1f9c799df2e507ae3b9e65fbce8","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=au-logistics-asx-warehouse&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse&format=pixel-map-pin","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse"}},{"generatedAt":"2026-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-ca-residential-tsx-node-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditDigest":"76215c045eec3dcc74b61a7bf6c0a6c2855fb44a5e0d21cb691f16a246457355","targetSourceActionDigest":"0e7b775b1ba098e2f5c95a5a6a96ddc745c6dd97b21bbd700d96b1beaa5a92bc","targetSourceEvidenceSha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","correctionDigest":"e2ccba95dac4caf1b5a4eb1210eb4de8d0299006d3c271d0d250189b7aa26385","approvalDigest":"8ca8200994d7a0c803f84473012b5e7282a5da88762d9e402525f6d001cbff6e","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-ca-residential-tsx-node-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-ca-residential-tsx-node-pixel-map-pin","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","bytes":489752,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=ca-residential-tsx-node&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"8a1e2d773af908ce04b19b5496f79f2e","action":"approve-visual-dry-run","candidateSlug":"ca-residential-tsx-node","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","targetAuditDigest":"76215c045eec3dcc74b61a7bf6c0a6c2855fb44a5e0d21cb691f16a246457355","targetSourceActionDigest":"0e7b775b1ba098e2f5c95a5a6a96ddc745c6dd97b21bbd700d96b1beaa5a92bc","targetSourceEvidenceSha256":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"e2ccba95dac4caf1b5a4eb1210eb4de8d0299006d3c271d0d250189b7aa26385","approvalDigest":"8ca8200994d7a0c803f84473012b5e7282a5da88762d9e402525f6d001cbff6e","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":"76215c045eec3dcc74b61a7bf6c0a6c2855fb44a5e0d21cb691f16a246457355","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"0e7b775b1ba098e2f5c95a5a6a96ddc745c6dd97b21bbd700d96b1beaa5a92bc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"e2ccba95dac4caf1b5a4eb1210eb4de8d0299006d3c271d0d250189b7aa26385","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"8ca8200994d7a0c803f84473012b5e7282a5da88762d9e402525f6d001cbff6e","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-approval-evidence/ca-residential-tsx-node/pixel-map-pin","reits://asset-visual-registry-preview/ca-residential-tsx-node/pixel-map-pin","reits://virtual-assets/ca-residential-tsx-node"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"0831c4cc50e33e30137037434340babc64ad16bac10361696b54a26a01d39604","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=ca-residential-tsx-node&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node&format=pixel-map-pin","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node"}},{"generatedAt":"2026-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-eu-logistics-esef-hub-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditDigest":"a4bef176b18ee922c548cbba79a39811a0706b849b859cb469ce886ea7b06677","targetSourceActionDigest":"a063cefcaf1bd3398cec67672dc5569a46da456200d257a38be752ac84d8c4a0","targetSourceEvidenceSha256":null,"correctionDigest":"ce478258607ffcd3dd2b27d1c05f0cd92ce49b1553ca567b1caed3a14d74e086","approvalDigest":"828893c082feefd46d7d59801d9dd95089e7c30053ff3cd9c4ecf482a2689fb3","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-eu-logistics-esef-hub-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-eu-logistics-esef-hub-pixel-map-pin","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","formatKey":"pixel-map-pin","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=eu-logistics-esef-hub&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=pixel-map-pin","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5a99d714cca80e65a0efeac97a68719f","action":"approve-visual-dry-run","candidateSlug":"eu-logistics-esef-hub","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","targetAuditDigest":"a4bef176b18ee922c548cbba79a39811a0706b849b859cb469ce886ea7b06677","targetSourceActionDigest":"a063cefcaf1bd3398cec67672dc5569a46da456200d257a38be752ac84d8c4a0","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"ce478258607ffcd3dd2b27d1c05f0cd92ce49b1553ca567b1caed3a14d74e086","approvalDigest":"828893c082feefd46d7d59801d9dd95089e7c30053ff3cd9c4ecf482a2689fb3","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":"a4bef176b18ee922c548cbba79a39811a0706b849b859cb469ce886ea7b06677","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a063cefcaf1bd3398cec67672dc5569a46da456200d257a38be752ac84d8c4a0","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"ce478258607ffcd3dd2b27d1c05f0cd92ce49b1553ca567b1caed3a14d74e086","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"828893c082feefd46d7d59801d9dd95089e7c30053ff3cd9c4ecf482a2689fb3","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-eu-logistics-esef-hub-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-approval-evidence/eu-logistics-esef-hub/pixel-map-pin","reits://asset-visual-registry-preview/eu-logistics-esef-hub/pixel-map-pin","reits://virtual-assets/eu-logistics-esef-hub"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"94c9c743f1df0ba350db5f7c1536f04306e18c21f2e7ab3b7bfe6ef0fbbc89ec","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=eu-logistics-esef-hub&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub&decision=blocked-by-brief&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub&format=pixel-map-pin","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/eu-logistics-esef-hub/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub"}},{"generatedAt":"2026-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-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"8fbfd41c0c97a69ad579bd8e9681e894bd740a3da357841116e3bb6837c3793b","targetSourceActionDigest":"c8ae24a524ae4efc3d71c8c0abb5d2a728a6d961a3e8c78fc40b978752dfb605","targetSourceEvidenceSha256":null,"correctionDigest":"77625de7e17c7945c18b73539443e0d742e221928652242172ac0b7bb259cc5e","approvalDigest":"aebf6a449b878bda1f0757d9f1cb2b1d9f7bb0f9f70d54853519f3f4e01e3e89","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-pixel-map-pin","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"pixel-map-pin","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5c2b718b198262c9c1e6b4f4043798d3","action":"approve-visual-dry-run","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"8fbfd41c0c97a69ad579bd8e9681e894bd740a3da357841116e3bb6837c3793b","targetSourceActionDigest":"c8ae24a524ae4efc3d71c8c0abb5d2a728a6d961a3e8c78fc40b978752dfb605","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"77625de7e17c7945c18b73539443e0d742e221928652242172ac0b7bb259cc5e","approvalDigest":"aebf6a449b878bda1f0757d9f1cb2b1d9f7bb0f9f70d54853519f3f4e01e3e89","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":"8fbfd41c0c97a69ad579bd8e9681e894bd740a3da357841116e3bb6837c3793b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"c8ae24a524ae4efc3d71c8c0abb5d2a728a6d961a3e8c78fc40b978752dfb605","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"77625de7e17c7945c18b73539443e0d742e221928652242172ac0b7bb259cc5e","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"aebf6a449b878bda1f0757d9f1cb2b1d9f7bb0f9f70d54853519f3f4e01e3e89","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"b71ff0d7329a2d889f374e557167a05caa16a945f4207f8a79835b3b5fa0d937","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=pixel-map-pin","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-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-uk-healthcare-rns-estate-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditDigest":"bd42e24929cd89387c40c8eeda58a57bb745e23c06d5eee30bd0d1e98ba76ba5","targetSourceActionDigest":"c3d64d3d3ce4f3a984ca63f3de1d6cc5da82c1f7212493e9f59c56c53d91e075","targetSourceEvidenceSha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","correctionDigest":"550590851c998902998ff6db655e783596233bf874169a443643f69787b439a9","approvalDigest":"facffe5d0005d8822c4afa5729336dbb55f22368d435314c38a2df0eb1fe1f7b","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-uk-healthcare-rns-estate-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-uk-healthcare-rns-estate-pixel-map-pin","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","bytes":484560,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=uk-healthcare-rns-estate&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f317cb4a03d070b409a5f6ceb9a9d23b","action":"approve-visual-dry-run","candidateSlug":"uk-healthcare-rns-estate","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","targetAuditDigest":"bd42e24929cd89387c40c8eeda58a57bb745e23c06d5eee30bd0d1e98ba76ba5","targetSourceActionDigest":"c3d64d3d3ce4f3a984ca63f3de1d6cc5da82c1f7212493e9f59c56c53d91e075","targetSourceEvidenceSha256":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"550590851c998902998ff6db655e783596233bf874169a443643f69787b439a9","approvalDigest":"facffe5d0005d8822c4afa5729336dbb55f22368d435314c38a2df0eb1fe1f7b","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":"bd42e24929cd89387c40c8eeda58a57bb745e23c06d5eee30bd0d1e98ba76ba5","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"07ee0ce786ad9f39cbd70f025a30c240f6349d1131b68da2fbc6441a2cb10c33","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"c3d64d3d3ce4f3a984ca63f3de1d6cc5da82c1f7212493e9f59c56c53d91e075","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"550590851c998902998ff6db655e783596233bf874169a443643f69787b439a9","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"facffe5d0005d8822c4afa5729336dbb55f22368d435314c38a2df0eb1fe1f7b","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-uk-healthcare-rns-estate-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/pixel-map-pin","reits://asset-visual-registry-preview/uk-healthcare-rns-estate/pixel-map-pin","reits://virtual-assets/uk-healthcare-rns-estate"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"7c0c48f477799dfaec0a01f673d92c60aa8e6860d7d0d6f072b9b55de37a689a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=uk-healthcare-rns-estate&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate&format=pixel-map-pin","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate"}},{"generatedAt":"2026-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-rental-housing-community-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditDigest":"eba4123c03d95956e98109352fdd1b3c8d93228b046c53eab74ba81e16d47db0","targetSourceActionDigest":"22bcba74144290509525163aa280a374b6e5ed21213099106b4ffa43ef2edb36","targetSourceEvidenceSha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","correctionDigest":"5fc2e1294ab3152e874a89816f7623739d86cfeb40beb4f556d2717e7fdd0502","approvalDigest":"2616465e0d27e8c358cf943e8fab71ed94e87db178818bd41302d84da2c5ac49","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-rental-housing-community-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-rental-housing-community-pixel-map-pin","candidateSlug":"cn-rental-housing-community","assetName":"中国保障性租赁住房 Community Block","nftStyleName":"REITs Pixel Asset #CN-Rental-12","countrySlug":"cn","countryName":"中国内地","cityName":"深圳","assetType":"保障性租赁住房","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","bytes":7404,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-rental-housing-community&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"62d1b2b18d9490ca5d43a2e30f6bfad2","action":"approve-visual-dry-run","candidateSlug":"cn-rental-housing-community","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","targetAuditDigest":"eba4123c03d95956e98109352fdd1b3c8d93228b046c53eab74ba81e16d47db0","targetSourceActionDigest":"22bcba74144290509525163aa280a374b6e5ed21213099106b4ffa43ef2edb36","targetSourceEvidenceSha256":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"5fc2e1294ab3152e874a89816f7623739d86cfeb40beb4f556d2717e7fdd0502","approvalDigest":"2616465e0d27e8c358cf943e8fab71ed94e87db178818bd41302d84da2c5ac49","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":"eba4123c03d95956e98109352fdd1b3c8d93228b046c53eab74ba81e16d47db0","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"ae6f514e2fb0f2c42b581e6b94e89feb0f9b86adabf4a7e078c6b070d9e8da66","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"22bcba74144290509525163aa280a374b6e5ed21213099106b4ffa43ef2edb36","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"5fc2e1294ab3152e874a89816f7623739d86cfeb40beb4f556d2717e7fdd0502","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"2616465e0d27e8c358cf943e8fab71ed94e87db178818bd41302d84da2c5ac49","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-rental-housing-community-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-approval-evidence/cn-rental-housing-community/pixel-map-pin","reits://asset-visual-registry-preview/cn-rental-housing-community/pixel-map-pin","reits://virtual-assets/cn-rental-housing-community"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"92199a14d4ed2c5314e77efd16e7d162ff998a290f087b274ca5c05e1f518772","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-rental-housing-community&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E4%BF%9D%E9%9A%9C%E6%80%A7%E7%A7%9F%E8%B5%81%E4%BD%8F%E6%88%BF%20Community%20Block"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-rental-housing-community/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community"}},{"generatedAt":"2026-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-logistics-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditDigest":"7a4a5b1a169be7cca1fa613edfcb52a7b158139993d41f908249d25ad143846f","targetSourceActionDigest":"401b3f11e70ebeccc1e508de7108070f5fa8d663c238f5f022902da8103e56cc","targetSourceEvidenceSha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","correctionDigest":"b37098ff42fbb32b6bfb914daeeeed5d1ea6a2ac01729d97ea5521f9348b8dc2","approvalDigest":"ef4851bba119351127c4c2320d830794959902444cb3d81c45251f2c111b5597","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-logistics-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-logistics-bbs-gap-pixel-map-pin","candidateSlug":"cn-logistics-bbs-gap","assetName":"中国内地仓储物流 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Logistics-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"仓储物流","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","bytes":7066,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-logistics-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"438cb2aa17dafcdfc102a9451f07bdb9","action":"approve-visual-dry-run","candidateSlug":"cn-logistics-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","targetAuditDigest":"7a4a5b1a169be7cca1fa613edfcb52a7b158139993d41f908249d25ad143846f","targetSourceActionDigest":"401b3f11e70ebeccc1e508de7108070f5fa8d663c238f5f022902da8103e56cc","targetSourceEvidenceSha256":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"b37098ff42fbb32b6bfb914daeeeed5d1ea6a2ac01729d97ea5521f9348b8dc2","approvalDigest":"ef4851bba119351127c4c2320d830794959902444cb3d81c45251f2c111b5597","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":"7a4a5b1a169be7cca1fa613edfcb52a7b158139993d41f908249d25ad143846f","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"a5ac16525d563a05336ce28d0f77684e4f4dda02a9dbd5a33b6fef9cca692b60","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"401b3f11e70ebeccc1e508de7108070f5fa8d663c238f5f022902da8103e56cc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"b37098ff42fbb32b6bfb914daeeeed5d1ea6a2ac01729d97ea5521f9348b8dc2","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"ef4851bba119351127c4c2320d830794959902444cb3d81c45251f2c111b5597","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-logistics-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-logistics-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-logistics-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"0fc2c3ec2129122e6a06fed03f095235c91204a9bcfaf2169e33752198287a5b","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-logistics-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E4%BB%93%E5%82%A8%E7%89%A9%E6%B5%81%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap"}},{"generatedAt":"2026-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-highway-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditDigest":"2da955e2a7e36b849a00f0aee373fad9ccaa72a536d6130841dd9aa2ae2d353c","targetSourceActionDigest":"4b4923739cada023fcf25ffad7677ab6bc3c3806d5dc2e29abb4a7b175b2ca22","targetSourceEvidenceSha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","correctionDigest":"eeb12a2c8837bff68f3eccfee8efabde00725b8a7a0b7c564d671948818b8265","approvalDigest":"2204b2f9c9b52131840eb1769b8b2a929924aa121d97f1ce90c055992a6f9f4e","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-highway-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-highway-bbs-gap-pixel-map-pin","candidateSlug":"cn-highway-bbs-gap","assetName":"中国内地高速公路 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Highway-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"广州","assetType":"高速公路","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","bytes":8495,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-highway-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"a11ddb5a69c114a870f318637abe4155","action":"approve-visual-dry-run","candidateSlug":"cn-highway-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","targetAuditDigest":"2da955e2a7e36b849a00f0aee373fad9ccaa72a536d6130841dd9aa2ae2d353c","targetSourceActionDigest":"4b4923739cada023fcf25ffad7677ab6bc3c3806d5dc2e29abb4a7b175b2ca22","targetSourceEvidenceSha256":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"eeb12a2c8837bff68f3eccfee8efabde00725b8a7a0b7c564d671948818b8265","approvalDigest":"2204b2f9c9b52131840eb1769b8b2a929924aa121d97f1ce90c055992a6f9f4e","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":"2da955e2a7e36b849a00f0aee373fad9ccaa72a536d6130841dd9aa2ae2d353c","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"06be14541031f7be7028312df444b442522951ea21b8022732795f65dff40073","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"4b4923739cada023fcf25ffad7677ab6bc3c3806d5dc2e29abb4a7b175b2ca22","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"eeb12a2c8837bff68f3eccfee8efabde00725b8a7a0b7c564d671948818b8265","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"2204b2f9c9b52131840eb1769b8b2a929924aa121d97f1ce90c055992a6f9f4e","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-highway-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-highway-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-highway-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-highway-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"f8dd8166637dcc453696765c427ce1db8484c8121397d4f4341005f2d4a9c44f","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-highway-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E9%AB%98%E9%80%9F%E5%85%AC%E8%B7%AF%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-highway-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap"}},{"generatedAt":"2026-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-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditDigest":"2d3eda9b84b24e18112caab773f50a2481f4730d113176b8489b4155172f25ec","targetSourceActionDigest":"419eea0dc84f1ee6c7febfa862fa26c50f078cdf40339684e914d8bb05243af1","targetSourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","correctionDigest":"dd4f9734763ad5fe7c0b7c958b70a88a7c6a5e5f04af14b2e1ee432992d885c8","approvalDigest":"d34479efae24b342e8a7318e530c547c9a5eee3cc3ea3976cbf5cbda0b9b40ff","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-pixel-map-pin","candidateSlug":"cn-commercial-bbs-gap","assetName":"中国内地商业不动产 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Commercial-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"商业不动产","formatKey":"pixel-map-pin","source":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","bytes":7176,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-commercial-bbs-gap&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=pixel-map-pin","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"719592b9ac45296994690b2a53b32537","action":"approve-visual-dry-run","candidateSlug":"cn-commercial-bbs-gap","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","targetAuditDigest":"2d3eda9b84b24e18112caab773f50a2481f4730d113176b8489b4155172f25ec","targetSourceActionDigest":"419eea0dc84f1ee6c7febfa862fa26c50f078cdf40339684e914d8bb05243af1","targetSourceEvidenceSha256":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/map-pin.png","sourceMatchesTransaction":true,"correctionDigest":"dd4f9734763ad5fe7c0b7c958b70a88a7c6a5e5f04af14b2e1ee432992d885c8","approvalDigest":"d34479efae24b342e8a7318e530c547c9a5eee3cc3ea3976cbf5cbda0b9b40ff","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":"2d3eda9b84b24e18112caab773f50a2481f4730d113176b8489b4155172f25ec","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"699af564f0b8d7cbb704a5a9507ebae14ccec1be5c37180458dc3b01f9b15b70","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"419eea0dc84f1ee6c7febfa862fa26c50f078cdf40339684e914d8bb05243af1","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"dd4f9734763ad5fe7c0b7c958b70a88a7c6a5e5f04af14b2e1ee432992d885c8","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"d34479efae24b342e8a7318e530c547c9a5eee3cc3ea3976cbf5cbda0b9b40ff","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-cn-commercial-bbs-gap-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/pixel-map-pin","reits://asset-visual-registry-preview/cn-commercial-bbs-gap/pixel-map-pin","reits://virtual-assets/cn-commercial-bbs-gap"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"845c30793930c22142b0bc749f769bd1b14bcc08f982ad793e38ec8b209f228a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-commercial-bbs-gap&decision=needs-pin-redraw&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=pixel-map-pin","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E5%95%86%E4%B8%9A%E4%B8%8D%E5%8A%A8%E4%BA%A7%20BBS%20Gap"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}}],"statusBreakdown":[{"status":"transaction-dry-run-ready","label":"事务 dry-run 可校验","count":18},{"status":"needs-transaction-fields","label":"需要事务字段","count":0},{"status":"needs-dual-control","label":"需要双人确认","count":0},{"status":"blocked-by-policy","label":"策略阻断","count":0}],"writeSetBreakdown":[{"id":"audit-log-original","operation":"no-op","count":18},{"id":"source-action-original","operation":"no-op","count":18},{"id":"source-evidence-original","operation":"no-op","count":18},{"id":"correction-event","operation":"insert","count":18},{"id":"dual-control-approval","operation":"insert","count":18},{"id":"mcp-governance-index","operation":"queue","count":18}],"publicNotes":["BBS Gap 已进入 8 条图片纠错写入事务 dry-run；仍不写 transaction、不排队 MCP、不推进地图/BBS。","当前筛选范围输出 18 条图片纠错写入事务 dry-run，18 条可校验。","其中 14 条事务绑定源图证据；idempotencyKey 和 transactionDigest 已纳入 sourceEvidenceSha256。","事务 envelope 串联 targetAuditDigest、targetSourceActionDigest、sourceEvidenceSha256、correctionDigest、approvalDigest、transactionDigest 和 idempotencyKey。","真实写入必须在事务成功后再排队 MCP 治理索引，当前 databaseWriteDisabled=true、mcpQueueWriteDisabled=true。"],"qaWarnings":["该门禁不会写 transaction，transactionWritten 始终为 false。","该门禁不会排队 MCP 索引，mcpIndexQueued 始终为 false。","该门禁不会发布地图、BBS 或正式 NFT 图片清单。","POST 校验必须继承双人确认 requiredInputs，并携带匹配的 targetSourceActionDigest 与 sourceEvidenceSha256。","数据库事务、幂等锁、rollback worker 和 MCP index worker 完成前，不得开放真实写入。"]}