Architecture Cut 47 / Visual Approval Audit Log

图片审批动作审计日志 Dry-run

把图片确认动作协议沉淀为 append-only 审计日志 schema、MCP 索引预览、保留策略和 digest。 当前 auditWriteDisabled=true、mcpIndexWriteDisabled=true,不写审计表,不写 MCP 索引,不触发地图、BBS 或正式清单。

全部日志审计可校验动作协议审计字段策略阻断批准图片请求重绘合规复核拒绝候选NFT 主图地图 Pin中国内地美国日本新加坡香港澳大利亚英国加拿大印度欧盟
3审计日志
0schema 可校验
3策略阻断
0审计写入
0MCP 写入
3Digest
1源图证据
0源图不一致
Append-only Audit Events

图片审批审计日志

当前为单资产/小范围详情,展示完整审计 schema、MCP index、retention policy 和 append-only 规则。

策略阻断

请求重绘 / 加拿大 Canadian REIT Residential Node

REITs Pixel Asset #CA-Residential-09 / 加拿大 / isometric-nft-card / actionStatus=blocked-by-policy

Audit JSON
asset-visual-approval-audit-log-request-redraw-ca-residential-tsx-node-isometric-nft-cardreits://asset-visual-approval-audit-log/request-redraw/ca-residential-tsx-node/isometric-nft-cardasset_visual_approval_audit_log / sourceActionDigest=0396f66cba169c4e54
Source Evidence Auditbbs-gap-local-generatedBBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。
/assets/virtual-assets/ca-residential-tsx-node/nft-card.pngfilesystem-probe / 2195051 bytessha256=4449c12e4aa77bdd2f
localFileDetected=truesourceMatchesTransaction=trueappendOnly=trueauditLogWritten=false
auditDigestf50e155e25a2bb46052e
actionDigest0396f66cba169c4e54f6
eventTypeasset.visual.approval.audit.request-redraw
partitionca:ca-residential-tsx-node
Append-onlyappendOnly=true / immutable=truerules=3 / retention=2555 days
MCP Indexasset-visual-approval-audit-log:request-redraw:ca-residential-tsx-node:isometric-nft-cardmcpIndexWritten=false / noindex=true
写入红线auditWriteDisabled=true / mcpIndexWriteDisabled=truesourceSha=4449c12e4aa77b / approvalEvidenceWritten=false
auditSchemaDryRun=trueauditLogWritten=falsemcpIndexWritten=falsewriteDisabled=truemapPublishDisabled=truebbsPostDisabled=truelegalHoldReady=true
status=blocked-by-policyappendOnly=trueimmutable=truesourceEvidence=4449c12e4aa7sourceMatchesTransaction=trueauditWriteDisabled=trueauditLogWritten=falsemcpIndexWritten=false
{
  "table": "asset_visual_approval_audit_log",
  "schemaVersion": "2026-06-visual-approval-audit-log-dry-run-v1",
  "eventId": "asset-visual-approval-audit-log-request-redraw-ca-residential-tsx-node-isometric-nft-card",
  "eventType": "asset.visual.approval.audit.request-redraw",
  "partitionKey": "ca:ca-residential-tsx-node",
  "actionId": "asset-visual-approval-human-confirmation-action-request-redraw-ca-residential-tsx-node-isometric-nft-card",
  "action": "request-redraw",
  "humanConfirmationId": "asset-visual-approval-human-confirmation-ca-residential-tsx-node-isometric-nft-card",
  "identityFixtureId": "asset-visual-approval-identity-fixture-ca-residential-tsx-node-isometric-nft-card",
  "candidateSlug": "ca-residential-tsx-node",
  "formatKey": "isometric-nft-card",
  "fromStatus": "needs-compliance-review",
  "toStatus": "needs-pin-redraw",
  "sourceActionDigest": "0396f66cba169c4e54f635faa06009d633c4d3cb4a371f12f82450225dfb5897",
  "sourceActionSchemaVersion": "2026-06-visual-approval-human-confirmation-action-dry-run-v1",
  "sourceEvidenceType": "bbs-gap-local-generated",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/nft-card.png",
  "sourceEvidenceSha256": "4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6",
  "sourceMatchesTransaction": true,
  "localFileDetected": true,
  "createdAt": "2026-07-31T18:33:40.814Z",
  "immutable": true
}
{
  "resourceUri": "reits://asset-visual-approval-audit-log/request-redraw/ca-residential-tsx-node/isometric-nft-card",
  "indexKey": "asset-visual-approval-audit-log:request-redraw:ca-residential-tsx-node:isometric-nft-card",
  "visibility": "ops-governance",
  "noindex": true,
  "sourceDigest": "0396f66cba169c4e54f635faa06009d633c4d3cb4a371f12f82450225dfb5897",
  "sourceActionDigest": "0396f66cba169c4e54f635faa06009d633c4d3cb4a371f12f82450225dfb5897",
  "sourceEvidenceSha256": "4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6",
  "sourceEvidencePublicPath": "/assets/virtual-assets/ca-residential-tsx-node/nft-card.png",
  "sourceMatchesTransaction": true,
  "entities": [
    "reits://asset-visual-approval-human-confirmation-action/request-redraw/ca-residential-tsx-node/isometric-nft-card",
    "reits://asset-visual-approval-human-confirmation/ca-residential-tsx-node/isometric-nft-card",
    "reits://asset-visual-approval-identity-fixture/ca-residential-tsx-node/isometric-nft-card",
    "reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card",
    "reits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card",
    "reits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card",
    "reits://virtual-assets/ca-residential-tsx-node"
  ]
}
{
  "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。"
}
{
  "retentionClass": "governance-audit",
  "minimumDays": 2555,
  "deleteMode": "append-redaction-event-only",
  "legalHoldReady": true
}
禁止覆盖enforced=true真实写入后不得 update 原审计日志,只能追加纠错或 redaction 事件。
禁止删除enforced=true删除必须转换为 append-redaction-event,并保留原 actionDigest。
禁止发布副作用enforced=true审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。

该动作包只用于后续运营系统接入前的协议预览,不会改变状态或写外部系统。

策略阻断

请求重绘 / 欧盟 Listed Real Estate Logistics Hub

REITs Pixel Asset #EU-Logistics-11 / 欧盟 / isometric-nft-card / actionStatus=blocked-by-policy

Audit JSON
asset-visual-approval-audit-log-request-redraw-eu-logistics-esef-hub-isometric-nft-cardreits://asset-visual-approval-audit-log/request-redraw/eu-logistics-esef-hub/isometric-nft-cardasset_visual_approval_audit_log / sourceActionDigest=6f0e67520491ae6bc5
no file
Source Evidence Auditmissing-source当前没有 source image,必须保持 blocked preview row。
source=nulltransaction-only / bytes=nullsha256=null
localFileDetected=falsesourceMatchesTransaction=falseappendOnly=trueauditLogWritten=false
auditDigestac0ebae1edb8f89724b8
actionDigest6f0e67520491ae6bc5dd
eventTypeasset.visual.approval.audit.request-redraw
partitioneu:eu-logistics-esef-hub
Append-onlyappendOnly=true / immutable=truerules=3 / retention=2555 days
MCP Indexasset-visual-approval-audit-log:request-redraw:eu-logistics-esef-hub:isometric-nft-cardmcpIndexWritten=false / noindex=true
写入红线auditWriteDisabled=true / mcpIndexWriteDisabled=truesourceSha=null / approvalEvidenceWritten=false
auditSchemaDryRun=trueauditLogWritten=falsemcpIndexWritten=falsewriteDisabled=truemapPublishDisabled=truebbsPostDisabled=truelegalHoldReady=true
status=blocked-by-policyappendOnly=trueimmutable=truesourceEvidence=nullsourceMatchesTransaction=falseauditWriteDisabled=trueauditLogWritten=falsemcpIndexWritten=false
{
  "table": "asset_visual_approval_audit_log",
  "schemaVersion": "2026-06-visual-approval-audit-log-dry-run-v1",
  "eventId": "asset-visual-approval-audit-log-request-redraw-eu-logistics-esef-hub-isometric-nft-card",
  "eventType": "asset.visual.approval.audit.request-redraw",
  "partitionKey": "eu:eu-logistics-esef-hub",
  "actionId": "asset-visual-approval-human-confirmation-action-request-redraw-eu-logistics-esef-hub-isometric-nft-card",
  "action": "request-redraw",
  "humanConfirmationId": "asset-visual-approval-human-confirmation-eu-logistics-esef-hub-isometric-nft-card",
  "identityFixtureId": "asset-visual-approval-identity-fixture-eu-logistics-esef-hub-isometric-nft-card",
  "candidateSlug": "eu-logistics-esef-hub",
  "formatKey": "isometric-nft-card",
  "fromStatus": "blocked-by-brief",
  "toStatus": "needs-pin-redraw",
  "sourceActionDigest": "6f0e67520491ae6bc5dd8efb6c86b6a9a6cabff4e258572ba4269ff3a2858968",
  "sourceActionSchemaVersion": "2026-06-visual-approval-human-confirmation-action-dry-run-v1",
  "sourceEvidenceType": "missing-source",
  "sourceEvidencePublicPath": null,
  "sourceEvidenceSha256": null,
  "sourceMatchesTransaction": false,
  "localFileDetected": false,
  "createdAt": "2026-07-31T18:33:40.814Z",
  "immutable": true
}
{
  "resourceUri": "reits://asset-visual-approval-audit-log/request-redraw/eu-logistics-esef-hub/isometric-nft-card",
  "indexKey": "asset-visual-approval-audit-log:request-redraw:eu-logistics-esef-hub:isometric-nft-card",
  "visibility": "ops-governance",
  "noindex": true,
  "sourceDigest": "6f0e67520491ae6bc5dd8efb6c86b6a9a6cabff4e258572ba4269ff3a2858968",
  "sourceActionDigest": "6f0e67520491ae6bc5dd8efb6c86b6a9a6cabff4e258572ba4269ff3a2858968",
  "sourceEvidenceSha256": null,
  "sourceEvidencePublicPath": null,
  "sourceMatchesTransaction": false,
  "entities": [
    "reits://asset-visual-approval-human-confirmation-action/request-redraw/eu-logistics-esef-hub/isometric-nft-card",
    "reits://asset-visual-approval-human-confirmation/eu-logistics-esef-hub/isometric-nft-card",
    "reits://asset-visual-approval-identity-fixture/eu-logistics-esef-hub/isometric-nft-card",
    "reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/isometric-nft-card",
    "reits://asset-visual-approval-evidence/eu-logistics-esef-hub/isometric-nft-card",
    "reits://asset-visual-registry-preview/eu-logistics-esef-hub/isometric-nft-card",
    "reits://virtual-assets/eu-logistics-esef-hub"
  ]
}
{
  "sourceType": "missing-source",
  "localFileDetected": false,
  "publicPath": null,
  "sha256": null,
  "bytes": null,
  "manifestSource": null,
  "sourceMatchesTransaction": false,
  "visualIntakeHref": "/operations/bbs-gap-visual-intake-queue?asset=eu-logistics-esef-hub&format=isometric-nft-card",
  "approvalPlaceholderHref": "/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=isometric-nft-card",
  "evidenceNote": "当前没有 source image,必须保持 blocked preview row。"
}
{
  "retentionClass": "governance-audit",
  "minimumDays": 2555,
  "deleteMode": "append-redaction-event-only",
  "legalHoldReady": true
}
禁止覆盖enforced=true真实写入后不得 update 原审计日志,只能追加纠错或 redaction 事件。
禁止删除enforced=true删除必须转换为 append-redaction-event,并保留原 actionDigest。
禁止发布副作用enforced=true审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。

sourceEvidence 未完整绑定,动作协议不能进入真实审批或发布流程。

该动作包只用于后续运营系统接入前的协议预览,不会改变状态或写外部系统。

Brief 阻断记录需要先回到素材 Brief 修复,不能只请求重绘。

策略阻断

请求重绘 / 印度 REITs / InvIT Infra Corridor

REITs Pixel Asset #IN-Infra-10 / 印度 / isometric-nft-card / actionStatus=blocked-by-policy

Audit JSON
asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-cardreits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-cardasset_visual_approval_audit_log / sourceActionDigest=751d422fc430822d91
no file
Source Evidence Auditmissing-source当前没有 source image,必须保持 blocked preview row。
source=nulltransaction-only / bytes=nullsha256=null
localFileDetected=falsesourceMatchesTransaction=falseappendOnly=trueauditLogWritten=false
auditDigeste1e798fea5e0ad6dd984
actionDigest751d422fc430822d91f4
eventTypeasset.visual.approval.audit.request-redraw
partitionin:in-invit-infra-corridor
Append-onlyappendOnly=true / immutable=truerules=3 / retention=2555 days
MCP Indexasset-visual-approval-audit-log:request-redraw:in-invit-infra-corridor:isometric-nft-cardmcpIndexWritten=false / noindex=true
写入红线auditWriteDisabled=true / mcpIndexWriteDisabled=truesourceSha=null / approvalEvidenceWritten=false
auditSchemaDryRun=trueauditLogWritten=falsemcpIndexWritten=falsewriteDisabled=truemapPublishDisabled=truebbsPostDisabled=truelegalHoldReady=true
status=blocked-by-policyappendOnly=trueimmutable=truesourceEvidence=nullsourceMatchesTransaction=falseauditWriteDisabled=trueauditLogWritten=falsemcpIndexWritten=false
{
  "table": "asset_visual_approval_audit_log",
  "schemaVersion": "2026-06-visual-approval-audit-log-dry-run-v1",
  "eventId": "asset-visual-approval-audit-log-request-redraw-in-invit-infra-corridor-isometric-nft-card",
  "eventType": "asset.visual.approval.audit.request-redraw",
  "partitionKey": "in:in-invit-infra-corridor",
  "actionId": "asset-visual-approval-human-confirmation-action-request-redraw-in-invit-infra-corridor-isometric-nft-card",
  "action": "request-redraw",
  "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",
  "formatKey": "isometric-nft-card",
  "fromStatus": "blocked-by-brief",
  "toStatus": "needs-pin-redraw",
  "sourceActionDigest": "751d422fc430822d91f498380defe60c7a0a738ac1de2aaceef304e5822e6679",
  "sourceActionSchemaVersion": "2026-06-visual-approval-human-confirmation-action-dry-run-v1",
  "sourceEvidenceType": "missing-source",
  "sourceEvidencePublicPath": null,
  "sourceEvidenceSha256": null,
  "sourceMatchesTransaction": false,
  "localFileDetected": false,
  "createdAt": "2026-07-31T18:33:40.814Z",
  "immutable": true
}
{
  "resourceUri": "reits://asset-visual-approval-audit-log/request-redraw/in-invit-infra-corridor/isometric-nft-card",
  "indexKey": "asset-visual-approval-audit-log:request-redraw:in-invit-infra-corridor:isometric-nft-card",
  "visibility": "ops-governance",
  "noindex": true,
  "sourceDigest": "751d422fc430822d91f498380defe60c7a0a738ac1de2aaceef304e5822e6679",
  "sourceActionDigest": "751d422fc430822d91f498380defe60c7a0a738ac1de2aaceef304e5822e6679",
  "sourceEvidenceSha256": null,
  "sourceEvidencePublicPath": null,
  "sourceMatchesTransaction": false,
  "entities": [
    "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"
  ]
}
{
  "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。"
}
{
  "retentionClass": "governance-audit",
  "minimumDays": 2555,
  "deleteMode": "append-redaction-event-only",
  "legalHoldReady": true
}
禁止覆盖enforced=true真实写入后不得 update 原审计日志,只能追加纠错或 redaction 事件。
禁止删除enforced=true删除必须转换为 append-redaction-event,并保留原 actionDigest。
禁止发布副作用enforced=true审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。

sourceEvidence 未完整绑定,动作协议不能进入真实审批或发布流程。

该动作包只用于后续运营系统接入前的协议预览,不会改变状态或写外部系统。

Brief 阻断记录需要先回到素材 Brief 修复,不能只请求重绘。