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

拒绝候选图片 / REITs Pixel Asset #CA-Residential-09 / 加拿大 / isometric-nft-card

单资产事务
asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-cardreits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-cardasset_visual_approval_audit_correction_transactions / sourceAction=cfe0c2d1c871b74cea / idempotencyKey=96323fd9c328da0dc2117a096f4e64e3
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
transactionDigest797499b4b4fb216599e16e97
targetAuditDigestf6e31c20265c7ede49bf20e2
correctionDigestc4b04080a70847285668092d
approvalDigestdfda5a059993ef67a78dcf46
sourceEvidence4449c12e4aa77bdd2ff0ae7f
sourceActioncfe0c2d1c871b74cea3b3e8a
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-reject-visual-candidate-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-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card双人确认 dry-run 可校验 / dual-control-ready
rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-cardappend-compensation-event-onlycanRollbackWithoutMutation=true / requiresOperatorReview=true
MCP Resourcereits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-log/reject-visual-candidate/ca-residential-tsx-node/isometric-nft-card只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card",
  "transactionType": "visual-audit-correction-write",
  "transactionMode": "dry-run-only",
  "idempotencyKey": "96323fd9c328da0dc2117a096f4e64e3",
  "action": "reject-visual-candidate",
  "candidateSlug": "ca-residential-tsx-node",
  "formatKey": "isometric-nft-card",
  "correctionType": "metadata-correction",
  "targetAuditLogId": "asset-visual-approval-audit-log-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card",
  "targetAuditDigest": "f6e31c20265c7ede49bf20e251275b2dee425a6b45f1038e2446d1752c18f844",
  "targetSourceActionDigest": "cfe0c2d1c871b74cea3b3e8a4dd055f3eb8ff8428d3188fbe16c25b75f42d03e",
  "targetSourceEvidenceSha256": "4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/nft-card.png",
  "sourceMatchesTransaction": true,
  "correctionDigest": "c4b04080a70847285668092d2e6307371fde853b6aa741e24590ca02a903d013",
  "approvalDigest": "dfda5a059993ef67a78dcf46a471e9c27c98342a7d7f86600f6dcc961be296b5",
  "createdAt": "2026-07-31T18:33:40.814Z",
  "atomicity": "all-or-nothing",
  "writeDisabled": true
}
{
  "rollbackPlanId": "rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-isometric-nft-card",
  "mode": "dry-run-only",
  "compensationStrategy": "append-compensation-event-only",
  "canRollbackWithoutMutation": true,
  "requiresOperatorReview": true,
  "rollbackWriteDisabled": true
}
{
  "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=96323fd9c328da0dc2117a096f4e64e3 / transactionDigest=797499b4b4fb216599e16e97fc25538940c0c988ca2768fa69e9d9e722882248
事务 dry-run 可校验

Redaction 请求 / 加拿大 Canadian REIT Residential Node

拒绝候选图片 / REITs Pixel Asset #CA-Residential-09 / 加拿大 / pixel-map-pin

单资产事务
asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-pixel-map-pinreits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/ca-residential-tsx-node/pixel-map-pinasset_visual_approval_audit_correction_transactions / sourceAction=1f43e014a18aff488a / idempotencyKey=9d20437356b80c9708b1334266f6b5b3
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
transactionDigestb573135ffa6780b5883feb29
targetAuditDigestc380614bece39cbfd3444fd6
correctionDigestdbb1fdcf9b0aaf92d941af3b
approvalDigest844f09dc8a985ff715e4e8b5
sourceEvidence9c8fc39419c8738cabfbbf42
sourceAction1f43e014a18aff488ad5c4a5
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-reject-visual-candidate-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-reject-visual-candidate-ca-residential-tsx-node-pixel-map-pin双人确认 dry-run 可校验 / dual-control-ready
rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-ca-residential-tsx-node-pixel-map-pinappend-compensation-event-onlycanRollbackWithoutMutation=true / requiresOperatorReview=true
MCP Resourcereits://asset-visual-approval-audit-correction-transaction/reject-visual-candidate/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction-dual-control/reject-visual-candidate/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-correction/reject-visual-candidate/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-audit-log/reject-visual-candidate/ca-residential-tsx-node/pixel-map-pin只进入 dry-run payload,不写 MCP index queue。
MCP Resourcereits://asset-visual-approval-human-confirmation-action/reject-visual-candidate/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-reject-visual-candidate-ca-residential-tsx-node-pixel-map-pin",
  "transactionType": "visual-audit-correction-write",
  "transactionMode": "dry-run-only",
  "idempotencyKey": "9d20437356b80c9708b1334266f6b5b3",
  "action": "reject-visual-candidate",
  "candidateSlug": "ca-residential-tsx-node",
  "formatKey": "pixel-map-pin",
  "correctionType": "redaction-request",
  "targetAuditLogId": "asset-visual-approval-audit-log-reject-visual-candidate-ca-residential-tsx-node-pixel-map-pin",
  "targetAuditDigest": "c380614bece39cbfd3444fd637001dd3ba20e8bc92efcb93c6eef4f60de33415",
  "targetSourceActionDigest": "1f43e014a18aff488ad5c4a55b1d5502900ef14d3a9e6ffae74def7d694189e2",
  "targetSourceEvidenceSha256": "9c8fc39419c8738cabfbbf4242ef3c045ee24b420aa7d152df79effba3af9a87",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/map-pin.png",
  "sourceMatchesTransaction": true,
  "correctionDigest": "dbb1fdcf9b0aaf92d941af3bd0a1b25ebaac0eed617a8a57318706f609fe7aa6",
  "approvalDigest": "844f09dc8a985ff715e4e8b51288c0fbd85518677a36bd1c59d84497f935c6c4",
  "createdAt": "2026-07-31T18:33:40.814Z",
  "atomicity": "all-or-nothing",
  "writeDisabled": true
}
{
  "rollbackPlanId": "rollback-asset-visual-approval-audit-correction-transaction-reject-visual-candidate-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=9d20437356b80c9708b1334266f6b5b3 / transactionDigest=b573135ffa6780b5883feb29bb535c3f2bb9e9ba2a644ca7885775073f08c092