Architecture Cut 47 / Visual Approval Audit Log

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

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

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

图片审批审计日志

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

策略阻断

批准图片 dry-run / 澳大利亚 A-REIT Logistics Warehouse

REITs Pixel Asset #AU-Logistics-07 / 澳大利亚 / isometric-nft-card / actionStatus=blocked-by-policy

Audit JSON
asset-visual-approval-audit-log-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-cardreits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-cardasset_visual_approval_audit_log / sourceActionDigest=07eca398c098329dff
Source Evidence Auditbbs-gap-local-generatedBBS Gap 本地生成文件已进入清单预览证据链,但 formalRegistryWritten 仍为 false。
/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.pngfilesystem-probe / 2231294 bytessha256=ff92c10511adaaae91
localFileDetected=truesourceMatchesTransaction=trueappendOnly=trueauditLogWritten=false
auditDigesta08a4419002f60880e49
actionDigest07eca398c098329dffc3
eventTypeasset.visual.approval.audit.approve-visual-dry-run
partitionau:au-logistics-asx-warehouse
Append-onlyappendOnly=true / immutable=truerules=3 / retention=2555 days
MCP Indexasset-visual-approval-audit-log:approve-visual-dry-run:au-logistics-asx-warehouse:isometric-nft-cardmcpIndexWritten=false / noindex=true
写入红线auditWriteDisabled=true / mcpIndexWriteDisabled=truesourceSha=ff92c10511adaa / approvalEvidenceWritten=false
auditSchemaDryRun=trueauditLogWritten=falsemcpIndexWritten=falsewriteDisabled=truemapPublishDisabled=truebbsPostDisabled=truelegalHoldReady=true
status=blocked-by-policyappendOnly=trueimmutable=truesourceEvidence=ff92c10511adsourceMatchesTransaction=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-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card",
  "eventType": "asset.visual.approval.audit.approve-visual-dry-run",
  "partitionKey": "au:au-logistics-asx-warehouse",
  "actionId": "asset-visual-approval-human-confirmation-action-approve-visual-dry-run-au-logistics-asx-warehouse-isometric-nft-card",
  "action": "approve-visual-dry-run",
  "humanConfirmationId": "asset-visual-approval-human-confirmation-au-logistics-asx-warehouse-isometric-nft-card",
  "identityFixtureId": "asset-visual-approval-identity-fixture-au-logistics-asx-warehouse-isometric-nft-card",
  "candidateSlug": "au-logistics-asx-warehouse",
  "formatKey": "isometric-nft-card",
  "fromStatus": "human-confirmation-ready",
  "toStatus": "visual-approval-recorded",
  "sourceActionDigest": "07eca398c098329dffc3258c6ffb90a700394bde4a83e9981ac1c777cef39559",
  "sourceActionSchemaVersion": "2026-06-visual-approval-human-confirmation-action-dry-run-v1",
  "sourceEvidenceType": "bbs-gap-local-generated",
  "sourceEvidencePublicPath": "/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png",
  "sourceEvidenceSha256": "ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee",
  "sourceMatchesTransaction": true,
  "localFileDetected": true,
  "createdAt": "2026-07-31T18:33:40.814Z",
  "immutable": true
}
{
  "resourceUri": "reits://asset-visual-approval-audit-log/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card",
  "indexKey": "asset-visual-approval-audit-log:approve-visual-dry-run:au-logistics-asx-warehouse:isometric-nft-card",
  "visibility": "ops-governance",
  "noindex": true,
  "sourceDigest": "07eca398c098329dffc3258c6ffb90a700394bde4a83e9981ac1c777cef39559",
  "sourceActionDigest": "07eca398c098329dffc3258c6ffb90a700394bde4a83e9981ac1c777cef39559",
  "sourceEvidenceSha256": "ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee",
  "sourceEvidencePublicPath": "/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png",
  "sourceMatchesTransaction": true,
  "entities": [
    "reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://asset-visual-approval-human-confirmation/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://asset-visual-approval-identity-fixture/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://asset-visual-registry-preview/au-logistics-asx-warehouse/isometric-nft-card",
    "reits://virtual-assets/au-logistics-asx-warehouse"
  ]
}
{
  "sourceType": "bbs-gap-local-generated",
  "localFileDetected": true,
  "publicPath": "/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png",
  "sha256": "ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee",
  "bytes": 2231294,
  "manifestSource": "filesystem-probe",
  "sourceMatchesTransaction": true,
  "visualIntakeHref": "/operations/bbs-gap-visual-intake-queue?asset=au-logistics-asx-warehouse&format=isometric-nft-card",
  "approvalPlaceholderHref": "/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&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 行为。

批准包当前只做 dry-run,因无真实审批人、时间戳和证据 URI,不能记录最终批准。

批准图片 dry-run 当前不能记录最终批准,必须保持 finalApprovalRecorded=false。

缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。

仍有 3 个待确认项,不能进入最终批准。