{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":"in","status":null,"action":null,"assetSlug":null,"formatKey":null,"correctionType":null},"metrics":{"transactionCount":8,"transactionDryRunReadyCount":8,"needsTransactionFieldsCount":0,"needsDualControlCount":0,"blockedByPolicyCount":0,"writeDisabledCount":8,"databaseWriteDisabledCount":8,"mcpQueueWriteDisabledCount":8,"rollbackPlanCount":8,"transactionDigestCount":8,"transactionWrittenCount":0,"approvalWrittenCount":0,"correctionEventWrittenCount":0,"auditLogMutatedCount":0,"mcpIndexQueuedCount":0,"mapPublishedCount":0,"registryPromotionAllowedCount":0,"mcpResourceCount":8,"localGeneratedEvidenceCount":0,"sourceMismatchCount":0,"sourceEvidenceDigestCount":0},"records":[{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","targetSourceActionDigest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","targetSourceEvidenceSha256":null,"correctionDigest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","approvalDigest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f7ade8cddc99ff7a168974c0d105a881","action":"reject-visual-candidate","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","targetSourceActionDigest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","approvalDigest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"2a2c73e00359bf451b52832ab3ed5bb35f2e3293f2feae26ac2ce7cd101c718c","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"23614987884e2987374f5e0d7a8889cb889d1a659bbd4d28a0ad1fd06ed2606e","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"d83e71eba91495ad831c51b8c415aaf93b6054d0236bd93929e06bf8197209ba","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"8fd5d99a8603738eb764f7ac3d86242edcffff187ea18c17f69ad92ec1885918","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"0cb59bd57a4271c7f512043420fa22777bd76fea8e73122d08e1a0f3f7aa0880","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=reject-visual-candidate","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"1a7408a740999aa96493c23fd05aa600f5ead6ab4691fd3e4541385ab62c4557","targetSourceActionDigest":"ef32f7d8f443d4d7cfb434900b01f847920221a501d62efbf5c2f59ed59a0312","targetSourceEvidenceSha256":null,"correctionDigest":"35d650e39e2f469294ed318a03645ac956909bcf4f27c0f712ea78c0bb43696a","approvalDigest":"ee7692ab0b5ef643ca7824aa6a8f100fff5a42d8aad3de8173ec729337623099","action":"reject-visual-candidate","actionLabel":"拒绝候选图片","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-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"74e8d1f25f495fb3e82e7c503450258c","action":"reject-visual-candidate","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-reject-visual-candidate-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"1a7408a740999aa96493c23fd05aa600f5ead6ab4691fd3e4541385ab62c4557","targetSourceActionDigest":"ef32f7d8f443d4d7cfb434900b01f847920221a501d62efbf5c2f59ed59a0312","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"35d650e39e2f469294ed318a03645ac956909bcf4f27c0f712ea78c0bb43696a","approvalDigest":"ee7692ab0b5ef643ca7824aa6a8f100fff5a42d8aad3de8173ec729337623099","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":"1a7408a740999aa96493c23fd05aa600f5ead6ab4691fd3e4541385ab62c4557","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"ef32f7d8f443d4d7cfb434900b01f847920221a501d62efbf5c2f59ed59a0312","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"35d650e39e2f469294ed318a03645ac956909bcf4f27c0f712ea78c0bb43696a","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"ee7692ab0b5ef643ca7824aa6a8f100fff5a42d8aad3de8173ec729337623099","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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":"cd5b3cca249cf6bf47767e90bd567f2800a1d4c9213090d4d24a42e90bd47289","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=reject-visual-candidate","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/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/reject-visual-candidate/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-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-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","targetSourceActionDigest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","targetSourceEvidenceSha256":null,"correctionDigest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","approvalDigest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","action":"request-compliance-review","actionLabel":"请求合规复核","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"04a904b4a672d7c146b4034f6e3700d4","action":"request-compliance-review","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","targetSourceActionDigest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","approvalDigest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"060b8b3adec86b0d7adb98c90f91d6b10aa269d83fed85f9620e55247551b5b9","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"dc58a0325d051fb2da73067b2ff81b17dc81f4711295f03f0ae5540e4097c88f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"3397d095d9a2a5d93e5dc1ff06de117d85cf1494028ca37085722494eb1a2ab4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"e4e4a0d4c3b414a95e6f909f0622eba071408bc246e669cb6258d0af2b7f993b","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"5d24c18e534890d601b8ac5cb89cc1a343dabadf32cb9632975c0b01dce02b9e","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-compliance-review","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"cce5a849fe0c02457a128d09c59823876f63bd54fe02de20ee103afdc03a3317","targetSourceActionDigest":"85ce04bfe6960858173905f13dcbc8347acce5832e1e1de8f15d7567fed7a7d4","targetSourceEvidenceSha256":null,"correctionDigest":"d6b0f5b278445dae7b972e67a2c3220903f4ec36b79848121e1916a05e4524bb","approvalDigest":"36124746972bc4c688c7224cab5270c3e3e5ac36da76874d0a04e4aa1a5ec9ce","action":"request-compliance-review","actionLabel":"请求合规复核","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-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"e786c76a3d38c3aa7dfbb73f8b5f800b","action":"request-compliance-review","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-compliance-review-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"cce5a849fe0c02457a128d09c59823876f63bd54fe02de20ee103afdc03a3317","targetSourceActionDigest":"85ce04bfe6960858173905f13dcbc8347acce5832e1e1de8f15d7567fed7a7d4","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"d6b0f5b278445dae7b972e67a2c3220903f4ec36b79848121e1916a05e4524bb","approvalDigest":"36124746972bc4c688c7224cab5270c3e3e5ac36da76874d0a04e4aa1a5ec9ce","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":"cce5a849fe0c02457a128d09c59823876f63bd54fe02de20ee103afdc03a3317","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"85ce04bfe6960858173905f13dcbc8347acce5832e1e1de8f15d7567fed7a7d4","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"d6b0f5b278445dae7b972e67a2c3220903f4ec36b79848121e1916a05e4524bb","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"36124746972bc4c688c7224cab5270c3e3e5ac36da76874d0a04e4aa1a5ec9ce","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-compliance-review-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/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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":"884dc52ea393714d3d4ded95a9d1393f9002fbfbb8300932c31ab5d8db7029f9","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-compliance-review","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/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-compliance-review/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-compliance-review/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-request-redraw-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","targetSourceActionDigest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","targetSourceEvidenceSha256":null,"correctionDigest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","approvalDigest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","action":"request-redraw","actionLabel":"请求重绘","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5f8cba62e96bfe02c1ecd3c6e7291fff","action":"request-redraw","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","targetSourceActionDigest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","approvalDigest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"67f9e3af135377157fd917f0be9682242fa3de8516edeb3a1b60dc39210aa726","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"2c739acc44f10e70f9444be5a28b2c493928c5e6037aaf7ba2da2091bc636fdc","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"33f1b196d0e9f4171335c5b360a2aa9e6f417f3152673850819c1b1b89d424f5","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"7fe59fcde0916af09ddeb6f968543908bbcce781c9c3050677c5c9f694269cb9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/request-redraw/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"c24ede535844cf8edefeba59529a1e5ab914984034602ab33eb2e6e4a0e6ac03","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=request-redraw","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/request-redraw/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-07-31T18:33:39.533Z","transactionId":"asset-visual-approval-audit-correction-transaction-request-redraw-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-request-redraw-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-request-redraw-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"4c0451ee200db8e098fecc4614f0fed4bf34278d62fea57e0a931481eceb57ab","targetSourceActionDigest":"4a3ca1548de0f1a744ddda626f636cbb11a3754d6fdbb0e73ffe567b1a505e6d","targetSourceEvidenceSha256":null,"correctionDigest":"02bf3f4cf3be9425c3b328bb07f0309055a09080a11fe9d096c0fec345b1a9fd","approvalDigest":"b551f13f7e1269427a52ff5c8dc0b3ae67207481a55e1d13f7c45e967f2deeab","action":"request-redraw","actionLabel":"请求重绘","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-request-redraw-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"cb9faa515fc473b52511d32fa0b0a559","action":"request-redraw","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"4c0451ee200db8e098fecc4614f0fed4bf34278d62fea57e0a931481eceb57ab","targetSourceActionDigest":"4a3ca1548de0f1a744ddda626f636cbb11a3754d6fdbb0e73ffe567b1a505e6d","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"02bf3f4cf3be9425c3b328bb07f0309055a09080a11fe9d096c0fec345b1a9fd","approvalDigest":"b551f13f7e1269427a52ff5c8dc0b3ae67207481a55e1d13f7c45e967f2deeab","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":"4c0451ee200db8e098fecc4614f0fed4bf34278d62fea57e0a931481eceb57ab","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"4a3ca1548de0f1a744ddda626f636cbb11a3754d6fdbb0e73ffe567b1a505e6d","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"02bf3f4cf3be9425c3b328bb07f0309055a09080a11fe9d096c0fec345b1a9fd","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"b551f13f7e1269427a52ff5c8dc0b3ae67207481a55e1d13f7c45e967f2deeab","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-request-redraw-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/request-redraw/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/request-redraw/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":"4db21468e74d026ea3116253ddb67523d4619daffc387b356aec2d1a2ea60a78","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw&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=request-redraw&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=request-redraw","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/request-redraw/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/request-redraw/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/request-redraw/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/request-redraw/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"}}],"statusBreakdown":[{"status":"transaction-dry-run-ready","label":"事务 dry-run 可校验","count":8},{"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":8},{"id":"source-action-original","operation":"no-op","count":8},{"id":"source-evidence-original","operation":"no-op","count":8},{"id":"correction-event","operation":"insert","count":8},{"id":"dual-control-approval","operation":"insert","count":8},{"id":"mcp-governance-index","operation":"queue","count":8}],"publicNotes":["当前筛选没有 BBS Gap 图片纠错写入事务 dry-run。","当前筛选范围输出 8 条图片纠错写入事务 dry-run，8 条可校验。","其中 0 条事务绑定源图证据；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 完成前，不得开放真实写入。"]}