{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":"cn","status":"blocked-by-policy","action":null,"assetSlug":null,"formatKey":"isometric-nft-card"},"metrics":{"auditLogCount":4,"auditSchemaReadyCount":0,"needsActionProtocolCount":0,"needsAuditFieldsCount":0,"blockedByPolicyCount":4,"appendOnlyCount":4,"immutableCount":4,"auditWriteDisabledCount":4,"mcpIndexWriteDisabledCount":4,"finalApprovalWriteDisabledCount":4,"registryWriteDisabledCount":4,"auditLogWrittenCount":0,"mcpIndexWrittenCount":0,"finalApprovalRecordedCount":0,"approvalEvidenceWrittenCount":0,"registryPromotionAllowedCount":0,"localGeneratedEvidenceCount":4,"sourceMismatchCount":0,"digestCount":4,"mcpResourceCount":4},"records":[{"generatedAt":"2026-07-31T18:33:39.533Z","auditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-rental-housing-community-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-rental-housing-community-isometric-nft-card","candidateSlug":"cn-rental-housing-community","assetName":"中国保障性租赁住房 Community Block","nftStyleName":"REITs Pixel Asset #CN-Rental-12","countrySlug":"cn","countryName":"中国内地","cityName":"深圳","assetType":"保障性租赁住房","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","bytes":92699,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-rental-housing-community&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"blocked-by-policy","statusLabel":"策略阻断","actionStatus":"blocked-by-policy","currentConfirmationStatus":"human-confirmation-ready","nextConfirmationStatus":"visual-approval-recorded","auditSchemaDryRun":true,"appendOnly":true,"immutable":true,"auditWriteDisabled":true,"mcpIndexWriteDisabled":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"auditLogWritten":false,"mcpIndexWritten":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"requiredInputs":["auditSchemaDryRun","auditWriteDisabled","mcpIndexWriteDisabled","auditLogOnly","schemaVersion","retentionClass"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 3 个待确认项，不能进入最终批准。"],"auditLogSchema":{"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-cn-rental-housing-community-isometric-nft-card","eventType":"asset.visual.approval.audit.approve-visual-dry-run","partitionKey":"cn:cn-rental-housing-community","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-rental-housing-community-isometric-nft-card","action":"approve-visual-dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-rental-housing-community-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-rental-housing-community-isometric-nft-card","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","fromStatus":"human-confirmation-ready","toStatus":"visual-approval-recorded","sourceActionDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","sourceActionSchemaVersion":"2026-06-visual-approval-human-confirmation-action-dry-run-v1","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceMatchesTransaction":true,"localFileDetected":true,"createdAt":"2026-07-31T18:33:39.533Z","immutable":true},"appendOnlyRules":[{"id":"no-update","label":"禁止覆盖","enforced":true,"note":"真实写入后不得 update 原审计日志，只能追加纠错或 redaction 事件。"},{"id":"no-delete","label":"禁止删除","enforced":true,"note":"删除必须转换为 append-redaction-event，并保留原 actionDigest。"},{"id":"no-publish-side-effect","label":"禁止发布副作用","enforced":true,"note":"审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。"}],"mcpIndexSchema":{"resourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","indexKey":"asset-visual-approval-audit-log:approve-visual-dry-run:cn-rental-housing-community:isometric-nft-card","visibility":"ops-governance","noindex":true,"sourceDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","sourceActionDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","sourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceMatchesTransaction":true,"entities":["reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-approval-evidence/cn-rental-housing-community/isometric-nft-card","reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","reits://virtual-assets/cn-rental-housing-community"]},"retentionPolicy":{"retentionClass":"governance-audit","minimumDays":2555,"deleteMode":"append-redaction-event-only","legalHoldReady":true},"actionProtocolDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","sourceActionDigest":"030d831b2aed5194bda8712165c228a22cc8c62d253f571d6bd9108061790bfb","auditDigest":"b6fdca25329a0d0d78d96733b4734c87fca846a60bec54b10881a877ba32dd9e","links":{"auditLogApi":"/api/public/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","auditLogPage":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-rental-housing-community&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-rental-housing-community&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E4%BF%9D%E9%9A%9C%E6%80%A7%E7%A7%9F%E8%B5%81%E4%BD%8F%E6%88%BF%20Community%20Block"},"mcp":{"visualApprovalAuditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-rental-housing-community/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-rental-housing-community/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-rental-housing-community/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-rental-housing-community/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community"}},{"generatedAt":"2026-07-31T18:33:39.533Z","auditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-logistics-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-logistics-bbs-gap-isometric-nft-card","candidateSlug":"cn-logistics-bbs-gap","assetName":"中国内地仓储物流 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Logistics-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"仓储物流","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","bytes":90568,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"blocked-by-policy","statusLabel":"策略阻断","actionStatus":"blocked-by-policy","currentConfirmationStatus":"human-confirmation-ready","nextConfirmationStatus":"visual-approval-recorded","auditSchemaDryRun":true,"appendOnly":true,"immutable":true,"auditWriteDisabled":true,"mcpIndexWriteDisabled":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"auditLogWritten":false,"mcpIndexWritten":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"requiredInputs":["auditSchemaDryRun","auditWriteDisabled","mcpIndexWriteDisabled","auditLogOnly","schemaVersion","retentionClass"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 3 个待确认项，不能进入最终批准。"],"auditLogSchema":{"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-cn-logistics-bbs-gap-isometric-nft-card","eventType":"asset.visual.approval.audit.approve-visual-dry-run","partitionKey":"cn:cn-logistics-bbs-gap","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-logistics-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-logistics-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-logistics-bbs-gap-isometric-nft-card","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","fromStatus":"human-confirmation-ready","toStatus":"visual-approval-recorded","sourceActionDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","sourceActionSchemaVersion":"2026-06-visual-approval-human-confirmation-action-dry-run-v1","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceMatchesTransaction":true,"localFileDetected":true,"createdAt":"2026-07-31T18:33:39.533Z","immutable":true},"appendOnlyRules":[{"id":"no-update","label":"禁止覆盖","enforced":true,"note":"真实写入后不得 update 原审计日志，只能追加纠错或 redaction 事件。"},{"id":"no-delete","label":"禁止删除","enforced":true,"note":"删除必须转换为 append-redaction-event，并保留原 actionDigest。"},{"id":"no-publish-side-effect","label":"禁止发布副作用","enforced":true,"note":"审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。"}],"mcpIndexSchema":{"resourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","indexKey":"asset-visual-approval-audit-log:approve-visual-dry-run:cn-logistics-bbs-gap:isometric-nft-card","visibility":"ops-governance","noindex":true,"sourceDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","sourceActionDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","sourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"entities":["reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-logistics-bbs-gap"]},"retentionPolicy":{"retentionClass":"governance-audit","minimumDays":2555,"deleteMode":"append-redaction-event-only","legalHoldReady":true},"actionProtocolDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","sourceActionDigest":"3c0d08597f5420e7e1820a68aa68660f8de38cc88b36bd106dc3c714dd6b6f4b","auditDigest":"a096b13585f1fd02bb2f7346d7c616b3eae883b088f78cd291fe2c9fbe21fe9d","links":{"auditLogApi":"/api/public/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLogPage":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-logistics-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-logistics-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E4%BB%93%E5%82%A8%E7%89%A9%E6%B5%81%20BBS%20Gap"},"mcp":{"visualApprovalAuditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-logistics-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","auditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-highway-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-highway-bbs-gap-isometric-nft-card","candidateSlug":"cn-highway-bbs-gap","assetName":"中国内地高速公路 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Highway-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"广州","assetType":"高速公路","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","bytes":96279,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"blocked-by-policy","statusLabel":"策略阻断","actionStatus":"blocked-by-policy","currentConfirmationStatus":"human-confirmation-ready","nextConfirmationStatus":"visual-approval-recorded","auditSchemaDryRun":true,"appendOnly":true,"immutable":true,"auditWriteDisabled":true,"mcpIndexWriteDisabled":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"auditLogWritten":false,"mcpIndexWritten":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"requiredInputs":["auditSchemaDryRun","auditWriteDisabled","mcpIndexWriteDisabled","auditLogOnly","schemaVersion","retentionClass"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 3 个待确认项，不能进入最终批准。"],"auditLogSchema":{"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-cn-highway-bbs-gap-isometric-nft-card","eventType":"asset.visual.approval.audit.approve-visual-dry-run","partitionKey":"cn:cn-highway-bbs-gap","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-highway-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-highway-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-highway-bbs-gap-isometric-nft-card","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","fromStatus":"human-confirmation-ready","toStatus":"visual-approval-recorded","sourceActionDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","sourceActionSchemaVersion":"2026-06-visual-approval-human-confirmation-action-dry-run-v1","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceMatchesTransaction":true,"localFileDetected":true,"createdAt":"2026-07-31T18:33:39.533Z","immutable":true},"appendOnlyRules":[{"id":"no-update","label":"禁止覆盖","enforced":true,"note":"真实写入后不得 update 原审计日志，只能追加纠错或 redaction 事件。"},{"id":"no-delete","label":"禁止删除","enforced":true,"note":"删除必须转换为 append-redaction-event，并保留原 actionDigest。"},{"id":"no-publish-side-effect","label":"禁止发布副作用","enforced":true,"note":"审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。"}],"mcpIndexSchema":{"resourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","indexKey":"asset-visual-approval-audit-log:approve-visual-dry-run:cn-highway-bbs-gap:isometric-nft-card","visibility":"ops-governance","noindex":true,"sourceDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","sourceActionDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","sourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"entities":["reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-highway-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-highway-bbs-gap"]},"retentionPolicy":{"retentionClass":"governance-audit","minimumDays":2555,"deleteMode":"append-redaction-event-only","legalHoldReady":true},"actionProtocolDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","sourceActionDigest":"94d7932adef4af4bc8cb7829e40f334e76b802dec0d2c74046e136d5ce133e98","auditDigest":"2ef68ffb0ca8c16af2a8041425169c65b722ca3eed26f856bf655032a119b79a","links":{"auditLogApi":"/api/public/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLogPage":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-highway-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-highway-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E9%AB%98%E9%80%9F%E5%85%AC%E8%B7%AF%20BBS%20Gap"},"mcp":{"visualApprovalAuditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-highway-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-highway-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-highway-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","auditLogId":"asset-visual-approval-audit-log-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","actionLabel":"批准图片 dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-isometric-nft-card","candidateSlug":"cn-commercial-bbs-gap","assetName":"中国内地商业不动产 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Commercial-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"商业不动产","formatKey":"isometric-nft-card","source":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","bytes":76669,"manifestSource":"generation-manifest","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"blocked-by-policy","statusLabel":"策略阻断","actionStatus":"blocked-by-policy","currentConfirmationStatus":"human-confirmation-ready","nextConfirmationStatus":"visual-approval-recorded","auditSchemaDryRun":true,"appendOnly":true,"immutable":true,"auditWriteDisabled":true,"mcpIndexWriteDisabled":true,"writeDisabled":true,"finalApprovalWriteDisabled":true,"registryWriteDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"auditLogWritten":false,"mcpIndexWritten":false,"finalApprovalRecorded":false,"approvalEvidenceWritten":false,"registryPromotionAllowed":false,"requiredInputs":["auditSchemaDryRun","auditWriteDisabled","mcpIndexWriteDisabled","auditLogOnly","schemaVersion","retentionClass"],"blockers":["批准包当前只做 dry-run，因无真实审批人、时间戳和证据 URI，不能记录最终批准。","批准图片 dry-run 当前不能记录最终批准，必须保持 finalApprovalRecorded=false。","缺少真实 approverId、approvedAt、approvalEvidenceUri、approvalEvidenceDigest、sourceEvidenceSha256 和 MFA 校验。","仍有 3 个待确认项，不能进入最终批准。"],"auditLogSchema":{"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-cn-commercial-bbs-gap-isometric-nft-card","eventType":"asset.visual.approval.audit.approve-visual-dry-run","partitionKey":"cn:cn-commercial-bbs-gap","actionId":"asset-visual-approval-human-confirmation-action-approve-visual-dry-run-cn-commercial-bbs-gap-isometric-nft-card","action":"approve-visual-dry-run","humanConfirmationId":"asset-visual-approval-human-confirmation-cn-commercial-bbs-gap-isometric-nft-card","identityFixtureId":"asset-visual-approval-identity-fixture-cn-commercial-bbs-gap-isometric-nft-card","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","fromStatus":"human-confirmation-ready","toStatus":"visual-approval-recorded","sourceActionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","sourceActionSchemaVersion":"2026-06-visual-approval-human-confirmation-action-dry-run-v1","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceMatchesTransaction":true,"localFileDetected":true,"createdAt":"2026-07-31T18:33:39.533Z","immutable":true},"appendOnlyRules":[{"id":"no-update","label":"禁止覆盖","enforced":true,"note":"真实写入后不得 update 原审计日志，只能追加纠错或 redaction 事件。"},{"id":"no-delete","label":"禁止删除","enforced":true,"note":"删除必须转换为 append-redaction-event，并保留原 actionDigest。"},{"id":"no-publish-side-effect","label":"禁止发布副作用","enforced":true,"note":"审计日志写入不能触发地图、BBS、正式清单或外部 NFT 行为。"}],"mcpIndexSchema":{"resourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","indexKey":"asset-visual-approval-audit-log:approve-visual-dry-run:cn-commercial-bbs-gap:isometric-nft-card","visibility":"ops-governance","noindex":true,"sourceDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","sourceActionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","sourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceMatchesTransaction":true,"entities":["reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","reits://virtual-assets/cn-commercial-bbs-gap"]},"retentionPolicy":{"retentionClass":"governance-audit","minimumDays":2555,"deleteMode":"append-redaction-event-only","legalHoldReady":true},"actionProtocolDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","sourceActionDigest":"c9d804d7354b9e6c226b6a96ae99d4b94e1820c796b1d956096487dd5b78d79a","auditDigest":"fb26ed386bdb57b7126378d2d504ef435b2f73355c1aaabe2fc323072446e98b","links":{"auditLogApi":"/api/public/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","auditLogPage":"/operations/asset-visual-approval-audit-log-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","action":"/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","actionApi":"/api/public/operations/asset-visual-approval-human-confirmation-actions?asset=cn-commercial-bbs-gap&format=isometric-nft-card&action=approve-visual-dry-run","humanConfirmation":"/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","humanConfirmationApi":"/api/public/operations/asset-visual-approval-human-confirmation-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","identityFixture":"/operations/asset-visual-approval-identity-fixture-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceTransaction":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-commercial-bbs-gap&decision=ready-for-human-approval&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=isometric-nft-card","search":"/search?q=%E4%B8%AD%E5%9B%BD%E5%86%85%E5%9C%B0%E5%95%86%E4%B8%9A%E4%B8%8D%E5%8A%A8%E4%BA%A7%20BBS%20Gap"},"mcp":{"visualApprovalAuditLogResourceUri":"reits://asset-visual-approval-audit-log/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationActionResourceUri":"reits://asset-visual-approval-human-confirmation-action/approve-visual-dry-run/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalHumanConfirmationResourceUri":"reits://asset-visual-approval-human-confirmation/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalIdentityFixtureResourceUri":"reits://asset-visual-approval-identity-fixture/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap"}}],"statusBreakdown":[{"status":"audit-schema-ready","label":"审计日志 schema 可校验","count":0},{"status":"needs-action-protocol","label":"需要动作协议","count":0},{"status":"needs-audit-fields","label":"需要审计字段","count":0},{"status":"blocked-by-policy","label":"策略阻断","count":4}],"actionBreakdown":[{"action":"approve-visual-dry-run","label":"批准图片 dry-run","count":4,"readyCount":0,"blockedCount":4},{"action":"request-redraw","label":"请求重绘","count":0,"readyCount":0,"blockedCount":0},{"action":"request-compliance-review","label":"请求合规复核","count":0,"readyCount":0,"blockedCount":0},{"action":"reject-visual-candidate","label":"拒绝候选图片","count":0,"readyCount":0,"blockedCount":0}],"publicNotes":["当前筛选范围输出 4 条图片审批审计日志 dry-run，0 条 schema 可校验。","审计日志层连接动作协议、append-only 规则、MCP 治理索引和保留策略。","当前有 4 条审计 dry-run 绑定本地生成源图证据；sourceEvidence 仅证明事件来源，不等于审批证据 URI。","当前必须声明 auditSchemaDryRun=true、auditWriteDisabled=true、mcpIndexWriteDisabled=true、auditLogOnly=true。","BBS Gap 已进入 4 条图片审批审计日志 dry-run；仍不写审计表、不写 MCP 索引、不推进地图/BBS。"],"qaWarnings":["该层不会写审计表，auditLogWritten 始终为 false。","该层不会写 MCP 索引，mcpIndexWritten 始终为 false。","POST 校验必须携带匹配动作协议的 sourceEvidenceSha256，避免把审计事件绑定到错误图片。","没有真实登录、MFA、事务边界、审计表和 MCP 写入 worker 前，不得开放真实状态变更。","审计日志写入不得触发地图、BBS、正式图片清单或外部 NFT 行为。"]}