{"generatedAt":"2026-09-07T03:28:49.515Z","scope":{"countrySlug":"in","status":"transaction-dry-run-ready","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-09-07T03:28:49.515Z","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":"555459750c768664464d0f3b623bf02704ffba7e7bb48b536626fd900b5dee7b","targetSourceActionDigest":"9082a432bf5388289b7ec2f37c7657760bc79a39b048a995df7faf240fceeb3f","targetSourceEvidenceSha256":null,"correctionDigest":"1ef84145f9dd9c78bd96b9666f42c2a5314a434440f14a4b13b5d7dc08d78e8c","approvalDigest":"6c308b306eded587f05731ee617a99d7d0d853923e7ae57cca8941adca8f50a1","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":"dfa2210d49d348ef4109c49f72a45417","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":"555459750c768664464d0f3b623bf02704ffba7e7bb48b536626fd900b5dee7b","targetSourceActionDigest":"9082a432bf5388289b7ec2f37c7657760bc79a39b048a995df7faf240fceeb3f","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"1ef84145f9dd9c78bd96b9666f42c2a5314a434440f14a4b13b5d7dc08d78e8c","approvalDigest":"6c308b306eded587f05731ee617a99d7d0d853923e7ae57cca8941adca8f50a1","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"555459750c768664464d0f3b623bf02704ffba7e7bb48b536626fd900b5dee7b","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"9082a432bf5388289b7ec2f37c7657760bc79a39b048a995df7faf240fceeb3f","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"1ef84145f9dd9c78bd96b9666f42c2a5314a434440f14a4b13b5d7dc08d78e8c","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"6c308b306eded587f05731ee617a99d7d0d853923e7ae57cca8941adca8f50a1","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":"48c22a6a3a0c94fb0d0adadaf73a575fbe8b0d49eb50ab8670438704d7d78c1e","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-09-07T03:28:49.515Z","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":"136277d93ed1066c372d87acf9388139679a802c68fa0d48dac9c7e821b37c40","targetSourceActionDigest":"a4d8b27f758d0371f1970c07e1fc55e27160b3e3f84fc5b30fb3d24180528c46","targetSourceEvidenceSha256":null,"correctionDigest":"8985558f3093594e10397cfcfa508a97aea62efc27efcff457480dd426551ffa","approvalDigest":"f5153136e13e678c3e1c48cdbdbb0f2203a6b244a665df3ddf5d3e2c417bc7bf","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":"9067517eeec0a6670bf83838c3b719b9","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":"136277d93ed1066c372d87acf9388139679a802c68fa0d48dac9c7e821b37c40","targetSourceActionDigest":"a4d8b27f758d0371f1970c07e1fc55e27160b3e3f84fc5b30fb3d24180528c46","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"8985558f3093594e10397cfcfa508a97aea62efc27efcff457480dd426551ffa","approvalDigest":"f5153136e13e678c3e1c48cdbdbb0f2203a6b244a665df3ddf5d3e2c417bc7bf","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"136277d93ed1066c372d87acf9388139679a802c68fa0d48dac9c7e821b37c40","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a4d8b27f758d0371f1970c07e1fc55e27160b3e3f84fc5b30fb3d24180528c46","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"8985558f3093594e10397cfcfa508a97aea62efc27efcff457480dd426551ffa","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"f5153136e13e678c3e1c48cdbdbb0f2203a6b244a665df3ddf5d3e2c417bc7bf","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":"173041bb18c0d00acaf1689de515dc45b4705ab490e252bfb5b98e7e2732604b","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-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","targetSourceActionDigest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","targetSourceEvidenceSha256":null,"correctionDigest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","approvalDigest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"5c4cd672358d3655bdbcf0f6712e9bb4","action":"approve-visual-dry-run","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","targetAuditDigest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","targetSourceActionDigest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","approvalDigest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"979665dd7541ec3c4af446b414bda6c102ce21a435451fc133ae084867dc53ad","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3ef48607b305dd34cbac94cab3712f4ec1a4c06dccf67b38b1514585291165f5","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"f3298aee4499d4378eec539cd0ea5766a3d94863a438d40085cf2bc7079220e4","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"3ac92844c38f8e3c17c7ada91356b546e24c0b1aec594e45d9b0868f16802359","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"e85031efabdee1b455fdc2016a01795c7783b4af7b21789aa88381bca563aa0d","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","dualControlId":"asset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","correctionEventId":"asset-visual-approval-audit-correction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","targetSourceActionDigest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","targetSourceEvidenceSha256":null,"correctionDigest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","approvalDigest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-in-invit-infra-corridor-pixel-map-pin","identityFixtureId":"asset-visual-approval-identity-fixture-in-invit-infra-corridor-pixel-map-pin","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"pixel-map-pin","source":null,"sourceEvidence":{"sourceType":"missing-source","localFileDetected":false,"publicPath":null,"sha256":null,"bytes":null,"manifestSource":null,"sourceMatchesTransaction":false,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=in-invit-infra-corridor&format=pixel-map-pin","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceNote":"当前没有 source image，必须保持 blocked preview row。"},"status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"transactionWritten":false,"mcpIndexQueued":false,"mapPublished":false,"bbsPosted":false,"registryPromotionAllowed":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","databaseWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm","targetSourceActionDigest","sourceEvidenceSha256"],"blockers":[],"transactionEnvelope":{"table":"asset_visual_approval_audit_correction_transactions","schemaVersion":"2026-06-visual-approval-audit-correction-transaction-v1","transactionId":"asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","transactionType":"visual-audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"9dee3c6fbc7901ab5d08cf3a2bf081bc","action":"approve-visual-dry-run","candidateSlug":"in-invit-infra-corridor","formatKey":"pixel-map-pin","correctionType":"policy-blocker-note","targetAuditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","targetAuditDigest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","targetSourceActionDigest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","approvalDigest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"ef9c58bd3e18e41c52a23170eda00a4a23d6e725f62b014ea5a544da5a2a00f4","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"f4dd11927354560f1f1bc4acdcc26e041af0fa4cddb2483d7c7e7d1843399ab0","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"43355bcf7ff69928e8e06424ca1e2e0d009663c49175c14fd6d8869c89eed979","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"9b72050617aa1b70e8c400123ee8c752b7e069df2041f77ed196fb55436aa2c9","note":"approvalDigest 必须来自图片纠错双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-in-invit-infra-corridor-pixel-map-pin","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","reits://virtual-assets/in-invit-infra-corridor"]},"publicSideEffectGuard":{"mapPublishDisabled":true,"bbsPostDisabled":true,"registryPromotionAllowed":false,"nftMintDisabled":true,"sourceEvidenceRedactionAllowed":false},"transactionDigest":"e37ef302d497c76d1d0d9e8030b96e0436fdc7b0ccf8167b755b5aab29a65e3a","links":{"transactionApi":"/api/public/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","transactionPage":"/operations/asset-visual-approval-audit-correction-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControl":"/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","dualControlApi":"/api/public/operations/asset-visual-approval-audit-correction-dual-control?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run&type=policy-blocker-note","correction":"/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","correctionApi":"/api/public/operations/asset-visual-approval-audit-corrections?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","auditLog":"/operations/asset-visual-approval-audit-log-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=in-invit-infra-corridor&format=pixel-map-pin&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=pixel-map-pin","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=pixel-map-pin","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=pixel-map-pin","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"transactionResourceUri":"reits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","dualControlResourceUri":"reits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","correctionResourceUri":"reits://asset-visual-approval-audit-correction/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","auditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/in-invit-infra-corridor/pixel-map-pin","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/in-invit-infra-corridor/pixel-map-pin","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/pixel-map-pin","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/pixel-map-pin","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/pixel-map-pin","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/pixel-map-pin","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor"}},{"generatedAt":"2026-09-07T03:28:49.515Z","transactionId":"asset-visual-approval-audit-correction-transaction-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":"9525d8b067d66e50e29579c4181b03ff1b992e730b750903e0268614f1f62262","targetSourceActionDigest":"f511d6e5e733cf47c83cb6541c0bbe9cb0d4606f9b7bb99ff711218d54de4244","targetSourceEvidenceSha256":null,"correctionDigest":"bf6b6f3753f2a193886529e6a0a75fb24efbdc2b33851eadae03946276ee42cb","approvalDigest":"78f8c9aa28875007e9e08380dfa4b58ddb9d0f634f347699a5d56732ad3a385d","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":"02b1ddbf54d456d50cb74d1444feb28e","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":"9525d8b067d66e50e29579c4181b03ff1b992e730b750903e0268614f1f62262","targetSourceActionDigest":"f511d6e5e733cf47c83cb6541c0bbe9cb0d4606f9b7bb99ff711218d54de4244","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"bf6b6f3753f2a193886529e6a0a75fb24efbdc2b33851eadae03946276ee42cb","approvalDigest":"78f8c9aa28875007e9e08380dfa4b58ddb9d0f634f347699a5d56732ad3a385d","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"9525d8b067d66e50e29579c4181b03ff1b992e730b750903e0268614f1f62262","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"f511d6e5e733cf47c83cb6541c0bbe9cb0d4606f9b7bb99ff711218d54de4244","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"bf6b6f3753f2a193886529e6a0a75fb24efbdc2b33851eadae03946276ee42cb","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"78f8c9aa28875007e9e08380dfa4b58ddb9d0f634f347699a5d56732ad3a385d","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":"9a20764196f552971f21ab17b55bd942010d8aac088a350446f2588f8576d0a8","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-09-07T03:28:49.515Z","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":"acd3cfc3acdf68e04709984741c7ba3ed4de62ca9e0d49e4003c0ebdee061680","targetSourceActionDigest":"a0f814e9834c8f3e7215315ea4e8981f427462748027ec350950549b42dd3f65","targetSourceEvidenceSha256":null,"correctionDigest":"68b44cd33b7ae127d26ea3b33f67fde5730c1ad476fb83aa46308a6f8e1f8cec","approvalDigest":"73657bb2543ee93a5824cd05f7f440d83c69c15dd25347e6e2f04d04e89b9286","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":"81c0ed5f3dbe32a882dae9af1cc315ce","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":"acd3cfc3acdf68e04709984741c7ba3ed4de62ca9e0d49e4003c0ebdee061680","targetSourceActionDigest":"a0f814e9834c8f3e7215315ea4e8981f427462748027ec350950549b42dd3f65","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"68b44cd33b7ae127d26ea3b33f67fde5730c1ad476fb83aa46308a6f8e1f8cec","approvalDigest":"73657bb2543ee93a5824cd05f7f440d83c69c15dd25347e6e2f04d04e89b9286","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"acd3cfc3acdf68e04709984741c7ba3ed4de62ca9e0d49e4003c0ebdee061680","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"a0f814e9834c8f3e7215315ea4e8981f427462748027ec350950549b42dd3f65","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"68b44cd33b7ae127d26ea3b33f67fde5730c1ad476fb83aa46308a6f8e1f8cec","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"73657bb2543ee93a5824cd05f7f440d83c69c15dd25347e6e2f04d04e89b9286","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":"941d4d1008ac78a485c3e32e3061b1e63ff4aedb5a95ccd288526d3587634a89","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-09-07T03:28:49.515Z","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":"476472211b31fcb606649019510539756ea2785686b6f000a8dce8eb150f957c","targetSourceActionDigest":"3ffdbc44a9085badbfde0d636d48841e3d431f39ec9c67334f8fa6aea2d8c6f7","targetSourceEvidenceSha256":null,"correctionDigest":"78b9cd5f9f5703e12b99781e4a7122033bb25d399f954ac971637fbf88e55b40","approvalDigest":"303df95b8b9979e2a67c6001238b1fd79023596326a39e4729e431be9a14511f","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":"266138fa147129baac3235e78ce1d2ff","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":"476472211b31fcb606649019510539756ea2785686b6f000a8dce8eb150f957c","targetSourceActionDigest":"3ffdbc44a9085badbfde0d636d48841e3d431f39ec9c67334f8fa6aea2d8c6f7","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"78b9cd5f9f5703e12b99781e4a7122033bb25d399f954ac971637fbf88e55b40","approvalDigest":"303df95b8b9979e2a67c6001238b1fd79023596326a39e4729e431be9a14511f","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"476472211b31fcb606649019510539756ea2785686b6f000a8dce8eb150f957c","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"3ffdbc44a9085badbfde0d636d48841e3d431f39ec9c67334f8fa6aea2d8c6f7","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"78b9cd5f9f5703e12b99781e4a7122033bb25d399f954ac971637fbf88e55b40","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"303df95b8b9979e2a67c6001238b1fd79023596326a39e4729e431be9a14511f","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":"1509d6c71d90f6e07a14e4c0b49ccd18cabf7f00eac979ac15b19c85836fa9bc","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-09-07T03:28:49.515Z","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":"dbc2f25af33103c55473de064518c762662ef4b5429610d0d8d48e7342d5f157","targetSourceActionDigest":"b9312de493ef2abbab3d9b49c5b871efa44d0e6c5cad3efd7691142ebbd65305","targetSourceEvidenceSha256":null,"correctionDigest":"35646ed8ab262d33acecd82c830193583ec6af93d4ab76fa175a6ce802eb099f","approvalDigest":"59219fb62e444794418bcfc5d609625a70d9d49722ac557591e3c02ff5241109","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":"df9c5a2d25cb2f4652eb837beefea5af","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":"dbc2f25af33103c55473de064518c762662ef4b5429610d0d8d48e7342d5f157","targetSourceActionDigest":"b9312de493ef2abbab3d9b49c5b871efa44d0e6c5cad3efd7691142ebbd65305","targetSourceEvidenceSha256":null,"sourceEvidencePublicPath":null,"sourceMatchesTransaction":false,"correctionDigest":"35646ed8ab262d33acecd82c830193583ec6af93d4ab76fa175a6ce802eb099f","approvalDigest":"59219fb62e444794418bcfc5d609625a70d9d49722ac557591e3c02ff5241109","createdAt":"2026-09-07T03:28:49.515Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"asset_visual_approval_audit_log","operation":"no-op","digestField":"targetAuditDigest","writeDisabled":true,"note":"原图片审批审计日志不得修改，只作为 digest precondition。"},{"id":"source-action-original","table":"asset_visual_approval_human_confirmation_actions","operation":"no-op","digestField":"targetSourceActionDigest","writeDisabled":true,"note":"源动作摘要必须与双人确认和纠错事件保持一致，不允许事务阶段换图。"},{"id":"source-evidence-original","table":"asset_visual_approval_source_evidence","operation":"no-op","digestField":"sourceEvidenceSha256","writeDisabled":true,"note":"源图证据只作为事务前置条件，不允许 redaction 或纠错写入替换原源图。"},{"id":"correction-event","table":"asset_visual_approval_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"asset_visual_approval_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"dbc2f25af33103c55473de064518c762662ef4b5429610d0d8d48e7342d5f157","note":"targetAuditDigest 必须与原图片审批审计日志一致。"},{"id":"source-evidence-digest-match","label":"源图证据摘要匹配","satisfied":true,"digest":"sourceEvidenceSha256=null","note":"sourceEvidenceSha256 必须与双人确认、纠错事件和原审计日志一致。"},{"id":"source-action-digest-match","label":"源动作摘要匹配","satisfied":true,"digest":"b9312de493ef2abbab3d9b49c5b871efa44d0e6c5cad3efd7691142ebbd65305","note":"targetSourceActionDigest 必须与双人确认和纠错事件一致，避免事务绑定错误源动作。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"35646ed8ab262d33acecd82c830193583ec6af93d4ab76fa175a6ce802eb099f","note":"correctionDigest 必须来自图片纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"59219fb62e444794418bcfc5d609625a70d9d49722ac557591e3c02ff5241109","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":"3a5d815af1e402c13ead80dd3aaa3a5ba6e684044ce7a5892768dd6ff52921b2","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 完成前，不得开放真实写入。"]}