Architecture Cut 50 / Visual Correction Write Transaction

图片纠错写入事务 Dry-run

把图片纠错事件、双人确认、targetAuditDigest、approvalDigest、idempotencyKey、writeSet、rollback 和 MCP queue 串成一条只读事务信封。 当前只校验,不写库,不排队 MCP,不发布地图/BBS,也不进入正式 NFT 图片清单。

全部事务元数据纠错Redaction 请求策略阻断说明事务可校验需要事务字段需要双人确认策略阻断批准图片请求重绘合规复核拒绝候选NFT 主图地图 Pin中国内地美国日本新加坡香港澳大利亚英国加拿大印度欧盟
2Transaction
2可校验
2事务摘要
2写入禁用
2MCP 禁排队
0真实写入
2源图证据
0源图错配
Write Transaction Envelopes

纠错事务信封与写入边界

当前为单资产/小范围详情,展示完整 transaction envelope、writeSet、rollback、MCP queue plan 和 JSON。

事务 dry-run 可校验

策略阻断说明 / 加拿大 Canadian REIT Residential Node

批准图片 dry-run / REITs Pixel Asset #CA-Residential-09 / 加拿大 / isometric-nft-card

单资产事务
asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-cardreits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-cardasset_visual_approval_audit_correction_transactions / sourceAction=db73f92b3ee2c6f6be / idempotencyKey=bb788def308406a207e5dae23560ac30
Transaction Source Evidencebbs-gap-local-generatedBBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。
/assets/virtual-assets/ca-residential-tsx-node/nft-card.pngfilesystem-probe / 2195051 bytessha256=4449c12e4aa77bdd2f
localFileDetected=truesourceMatchesTransaction=truesourceEvidenceInIdempotency=truesourceEvidenceRedactionAllowed=false
transactionDigestad7b235571bd99794c6fc67e
targetAuditDigesta2efa8f1c27e4bb8d1a0f56a
correctionDigest3c0b137267a7a3e9615628d4
approvalDigest05657a3f66c8820f439190f2
sourceEvidence4449c12e4aa77bdd2ff0ae7f
sourceActiondb73f92b3ee2c6f6be814073
audit-log-originalno-op / asset_visual_approval_audit_log / targetAuditDigest原图片审批审计日志不得修改,只作为 digest precondition。 / writeDisabled=true
source-action-originalno-op / asset_visual_approval_human_confirmation_actions / targetSourceActionDigest源动作摘要必须与双人确认和纠错事件保持一致,不允许事务阶段换图。 / writeDisabled=true
source-evidence-originalno-op / asset_visual_approval_source_evidence / sourceEvidenceSha256源图证据只作为事务前置条件,不允许 redaction 或纠错写入替换原源图。 / writeDisabled=true
correction-eventinsert / asset_visual_approval_audit_correction_events / correctionDigest未来真实写入时插入 correction/redaction 事件。 / writeDisabled=true
dual-control-approvalinsert / asset_visual_approval_audit_correction_approvals / approvalDigest未来真实写入时插入双人确认 approval。 / writeDisabled=true
mcp-governance-indexqueue / reits_mcp_governance_index_queue / transactionDigest未来真实写入成功后再排队 MCP 治理索引。 / writeDisabled=true
transactionDryRun=truetransactionOnly=truedatabaseWriteDisabled=truetransactionWritten=falsesourceEvidenceSha256=4449c12e4aa7approvalWritten=falsecorrectionEventWritten=falseauditLogMutated=falsemcpIndexQueued=falsemapPublished=falseregistryPromotionAllowed=false
原审计摘要匹配=true源图证据摘要匹配=true源动作摘要匹配=true纠错摘要匹配=true双人确认摘要匹配=trueatomicity=all-or-nothingsourceMatchesTransaction=truetransactionWritten=falsemcpIndexQueued=false
Rollback Planrollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-cardappend-compensation-event-only / rollbackWriteDisabled=true
MCP Queue Planreits_mcp_governance_index_queue / enqueuemcpQueueWriteDisabled=true / resources=11
Public Side Effectsmap=false / bbs=falsenftMintDisabled=true / sourceEvidenceRedactionAllowed=false
Dual Controlasset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card双人确认 dry-run 可校验 / dual-control-ready
rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-cardappend-compensation-event-onlycanRollbackWithoutMutation=true / requiresOperatorReview=true
MCP Resourcereits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://virtual-assets/ca-residential-tsx-node只进入 dry-run payload,不写 MCP index queue。
{
  "table": "asset_visual_approval_audit_correction_transactions",
  "schemaVersion": "2026-06-visual-approval-audit-correction-transaction-v1",
  "transactionId": "asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card",
  "transactionType": "visual-audit-correction-write",
  "transactionMode": "dry-run-only",
  "idempotencyKey": "bb788def308406a207e5dae23560ac30",
  "action": "approve-visual-dry-run",
  "candidateSlug": "ca-residential-tsx-node",
  "formatKey": "isometric-nft-card",
  "correctionType": "policy-blocker-note",
  "targetAuditLogId": "asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card",
  "targetAuditDigest": "a2efa8f1c27e4bb8d1a0f56a024775be5ae32b257d872b5108351c0897b06749",
  "targetSourceActionDigest": "db73f92b3ee2c6f6be814073b2bbc902ed4a250b84b6da1f730920776b2ae152",
  "targetSourceEvidenceSha256": "4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/nft-card.png",
  "sourceMatchesTransaction": true,
  "correctionDigest": "3c0b137267a7a3e9615628d44cfb52578047eb9d51737995a9d87b220815d1ab",
  "approvalDigest": "05657a3f66c8820f439190f232ac3352a1d913bdffe6ffd77d2da56cc2c8e75d",
  "createdAt": "2026-07-31T18:33:40.814Z",
  "atomicity": "all-or-nothing",
  "writeDisabled": true
}
{
  "rollbackPlanId": "rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-isometric-nft-card",
  "mode": "dry-run-only",
  "compensationStrategy": "append-compensation-event-only",
  "canRollbackWithoutMutation": true,
  "requiresOperatorReview": true,
  "rollbackWriteDisabled": true
}
{
  "sourceType": "bbs-gap-local-generated",
  "localFileDetected": true,
  "publicPath": "/assets/virtual-assets/ca-residential-tsx-node/nft-card.png",
  "sha256": "4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6",
  "bytes": 2195051,
  "manifestSource": "filesystem-probe",
  "sourceMatchesTransaction": true,
  "visualIntakeHref": "/operations/bbs-gap-visual-intake-queue?asset=ca-residential-tsx-node&format=isometric-nft-card",
  "approvalPlaceholderHref": "/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=isometric-nft-card",
  "evidenceNote": "BBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。"
}
{
  "mapPublishDisabled": true,
  "bbsPostDisabled": true,
  "registryPromotionAllowed": false,
  "nftMintDisabled": true,
  "sourceEvidenceRedactionAllowed": false
}
asset.visual.approval.audit.correction.transaction.idempotencyKey=bb788def308406a207e5dae23560ac30 / transactionDigest=ad7b235571bd99794c6fc67eb2c1548c4df778281b8d4bcc4282e308154b82d2
事务 dry-run 可校验

策略阻断说明 / 加拿大 Canadian REIT Residential Node

批准图片 dry-run / REITs Pixel Asset #CA-Residential-09 / 加拿大 / pixel-map-pin

单资产事务
asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pinreits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pinasset_visual_approval_audit_correction_transactions / sourceAction=83c6fbaee9607e1d03 / idempotencyKey=4b1fe994554aa0a18c8cda13273bb914
Transaction Source Evidencebbs-gap-local-generatedBBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。
/assets/virtual-assets/ca-residential-tsx-node/map-pin.pngfilesystem-probe / 489752 bytessha256=9c8fc39419c8738cab
localFileDetected=truesourceMatchesTransaction=truesourceEvidenceInIdempotency=truesourceEvidenceRedactionAllowed=false
transactionDigestd13523a3d72671e33c3594d4
targetAuditDigeste0795304cbf195a4c4c3d13a
correctionDigestd63cfe0637ab8451bd23dfc3
approvalDigest8d45ffc848a2868aa0520bfa
sourceEvidence9c8fc39419c8738cabfbbf42
sourceAction83c6fbaee9607e1d03886f1b
audit-log-originalno-op / asset_visual_approval_audit_log / targetAuditDigest原图片审批审计日志不得修改,只作为 digest precondition。 / writeDisabled=true
source-action-originalno-op / asset_visual_approval_human_confirmation_actions / targetSourceActionDigest源动作摘要必须与双人确认和纠错事件保持一致,不允许事务阶段换图。 / writeDisabled=true
source-evidence-originalno-op / asset_visual_approval_source_evidence / sourceEvidenceSha256源图证据只作为事务前置条件,不允许 redaction 或纠错写入替换原源图。 / writeDisabled=true
correction-eventinsert / asset_visual_approval_audit_correction_events / correctionDigest未来真实写入时插入 correction/redaction 事件。 / writeDisabled=true
dual-control-approvalinsert / asset_visual_approval_audit_correction_approvals / approvalDigest未来真实写入时插入双人确认 approval。 / writeDisabled=true
mcp-governance-indexqueue / reits_mcp_governance_index_queue / transactionDigest未来真实写入成功后再排队 MCP 治理索引。 / writeDisabled=true
transactionDryRun=truetransactionOnly=truedatabaseWriteDisabled=truetransactionWritten=falsesourceEvidenceSha256=9c8fc39419c8approvalWritten=falsecorrectionEventWritten=falseauditLogMutated=falsemcpIndexQueued=falsemapPublished=falseregistryPromotionAllowed=false
原审计摘要匹配=true源图证据摘要匹配=true源动作摘要匹配=true纠错摘要匹配=true双人确认摘要匹配=trueatomicity=all-or-nothingsourceMatchesTransaction=truetransactionWritten=falsemcpIndexQueued=false
Rollback Planrollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pinappend-compensation-event-only / rollbackWriteDisabled=true
MCP Queue Planreits_mcp_governance_index_queue / enqueuemcpQueueWriteDisabled=true / resources=11
Public Side Effectsmap=false / bbs=falsenftMintDisabled=true / sourceEvidenceRedactionAllowed=false
Dual Controlasset-visual-approval-audit-correction-dual-control-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin双人确认 dry-run 可校验 / dual-control-ready
rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pinappend-compensation-event-onlycanRollbackWithoutMutation=true / requiresOperatorReview=true
MCP Resourcereits://asset-visual-approval-audit-correction-transaction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction-dual-control/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-log/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-evidence/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-registry-preview/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://virtual-assets/ca-residential-tsx-node只进入 dry-run payload,不写 MCP index queue。
{
  "table": "asset_visual_approval_audit_correction_transactions",
  "schemaVersion": "2026-06-visual-approval-audit-correction-transaction-v1",
  "transactionId": "asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin",
  "transactionType": "visual-audit-correction-write",
  "transactionMode": "dry-run-only",
  "idempotencyKey": "4b1fe994554aa0a18c8cda13273bb914",
  "action": "approve-visual-dry-run",
  "candidateSlug": "ca-residential-tsx-node",
  "formatKey": "pixel-map-pin",
  "correctionType": "policy-blocker-note",
  "targetAuditLogId": "asset-visual-approval-audit-log-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin",
  "targetAuditDigest": "e0795304cbf195a4c4c3d13a1405af727ab1bdeb58b9ace9236a870a295c4583",
  "targetSourceActionDigest": "83c6fbaee9607e1d03886f1b56589c919246013e552151d8d2090641ed030775",
  "targetSourceEvidenceSha256": "9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/map-pin.png",
  "sourceMatchesTransaction": true,
  "correctionDigest": "d63cfe0637ab8451bd23dfc390458e7f8a77db7948e4648b0a2e2a1373c91d98",
  "approvalDigest": "8d45ffc848a2868aa0520bfad7da77b3c571d8116393647c55516ce78d9913cf",
  "createdAt": "2026-07-31T18:33:40.814Z",
  "atomicity": "all-or-nothing",
  "writeDisabled": true
}
{
  "rollbackPlanId": "rollback-asset-visual-approval-audit-correction-transaction-approve-visual-dry-run-ca-residential-tsx-node-pixel-map-pin",
  "mode": "dry-run-only",
  "compensationStrategy": "append-compensation-event-only",
  "canRollbackWithoutMutation": true,
  "requiresOperatorReview": true,
  "rollbackWriteDisabled": true
}
{
  "sourceType": "bbs-gap-local-generated",
  "localFileDetected": true,
  "publicPath": "/assets/virtual-assets/ca-residential-tsx-node/map-pin.png",
  "sha256": "9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87",
  "bytes": 489752,
  "manifestSource": "filesystem-probe",
  "sourceMatchesTransaction": true,
  "visualIntakeHref": "/operations/bbs-gap-visual-intake-queue?asset=ca-residential-tsx-node&format=pixel-map-pin",
  "approvalPlaceholderHref": "/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=pixel-map-pin",
  "evidenceNote": "BBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。"
}
{
  "mapPublishDisabled": true,
  "bbsPostDisabled": true,
  "registryPromotionAllowed": false,
  "nftMintDisabled": true,
  "sourceEvidenceRedactionAllowed": false
}
asset.visual.approval.audit.correction.transaction.idempotencyKey=4b1fe994554aa0a18c8cda13273bb914 / transactionDigest=d13523a3d72671e33c3594d46445be7617bf00ad0bc880baf6faa691a86d5818