{"generatedAt":"2026-07-31T18:33:39.533Z","scope":{"countrySlug":null,"assetSlug":null,"status":null,"formatKey":"isometric-nft-card"},"metrics":{"candidateCount":9,"transactionEnvelopeCount":9,"evidenceTransactionReadyCount":6,"blockedBeforeEvidenceTransactionCount":3,"needsPinRedrawCount":0,"needsComplianceReviewCount":1,"missingFileCount":0,"blockedByBriefCount":2,"writeSetItemCount":72,"preconditionCount":81,"satisfiedPreconditionCount":43,"evidenceWriteTransactionDisabledCount":9,"databaseWriteDisabledCount":9,"evidenceWriteDisabledCount":9,"signerEvidenceWriteDisabledCount":9,"requirementEvidenceWriteDisabledCount":9,"revocationEvidenceWriteDisabledCount":9,"approvalEvidenceWrittenCount":0,"approvalEvidenceCommittedCount":0,"signerEvidenceWrittenCount":0,"requirementEvidenceWrittenCount":0,"revocationTemplateWrittenCount":0,"approvalLedgerUpdatedCount":0,"mcpIndexQueuedCount":0,"mcpQueueWriteDisabledCount":9,"rollbackPlanCount":9,"idempotencyKeyCount":9,"evidenceTransactionDigestCount":9,"localGeneratedEvidenceCount":7,"sourceMismatchCount":0,"mcpResourceCount":99},"records":[{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"0b31b426af5ab415465bf3f02dc652211ac31c4dad64680e0f32c50999f90243","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-au-logistics-asx-warehouse-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","previewRowId":"asset-visual-registry-preview-au-logistics-asx-warehouse-isometric-nft-card","visualTransactionId":"visual-registry-transaction-au-logistics-asx-warehouse-isometric-nft-card","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceEvidence":{"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。"},"status":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","placeholderDigest":"05fc876c7b461c8444dc98aa49dcf7ddfd0e03a724497410e1654cf996d5718c","previewDigest":"09166478a8b1b06fe6a5283d051795b34d339119176e265e0a6ef07314b86840","visualTransactionDigest":"f913a1fcbc54d0f16deb9a791d1646d48247c0f0b7b8c4710d2670a1593ad3c4","reviewDigest":"4e5603d3cdd84575ecf32d0ea8701d423718e149bb040268c381c3f1fb3bef1c","approvalDigest":"579958e668643b3780b523df793e403454eca3b89c4c657ea8ee5e0023c8f07c","visualDigest":"984c241c59787d262fbfa0881959e8725e5188d790239074009f3c4a26abd76f","imageSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","evidenceTransactionDigest":"1e399a24df815f5552b5c2aa53f62ef42481316e08f8f2dadc4529b582bbc8b8","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-au-logistics-asx-warehouse-isometric-nft-card","idempotencyKey":"209c5024f527195f125a2de8c13b707a","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-au-logistics-asx-warehouse-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"7fa1bc57297ce8bbde0a7e2edf0fea4f1ee639a263907f8770ba98345fc290c3","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"c22468f8d7575cec60b82b1adffdc95fe147861d0d041e90a4582d8256366d80","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"579958e668643b3780b523df793e403454eca3b89c4c657ea8ee5e0023c8f07c","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"05fc876c7b461c8444dc98aa49dcf7ddfd0e03a724497410e1654cf996d5718c","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"09166478a8b1b06fe6a5283d051795b34d339119176e265e0a6ef07314b86840","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse&decision=ready-for-human-approval&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/au-logistics-asx-warehouse/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/au-logistics-asx-warehouse/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/au-logistics-asx-warehouse/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse","visualRegistryResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse","targetVisualResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=au-logistics-asx-warehouse","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=au-logistics-asx-warehouse","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse","visualRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/au-logistics-asx-warehouse","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/au-logistics-asx-warehouse","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/au-logistics-asx-warehouse","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse","visualTrialResourceUri":"reits://asset-visual-trials/au-logistics-asx-warehouse","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse","visualRegistryResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"d52a0bd7a3c5f54af0d5ecd5b0495fbdd8c4937fc1f4e3f63b55805c041adc1d","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-uk-healthcare-rns-estate-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","previewRowId":"asset-visual-registry-preview-uk-healthcare-rns-estate-isometric-nft-card","visualTransactionId":"visual-registry-transaction-uk-healthcare-rns-estate-isometric-nft-card","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","bytes":2285655,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","placeholderDigest":"e4fb4a0af077908653771118bbc376405b7177efee7d2fe8b1dbfdddbe62bd35","previewDigest":"ef69ba8d760f39f61bcaf9e94390a8136d44ab53922c609ed407420d0d83a780","visualTransactionDigest":"4fe284277e516c6e103e36529ee7b362b82d05dc370063eb2d6e948cb3955d0e","reviewDigest":"5418c059ee2ca7290053bd5b0d6814024952db7ad636334ce71db6605e01b76d","approvalDigest":"3d76321873a12b7d26732057cf05bd5915100660c46065a31f574dfb0bbf8fe2","visualDigest":"554a0b92f4363fba903ccabfd6b1988200545f1b350473e935ac7a9d8255b37d","imageSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","evidenceTransactionDigest":"7438ba8db19a8e858bac14fca0a39be52d5521dab52f84c0dda3d9d7145f2520","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-uk-healthcare-rns-estate-isometric-nft-card","idempotencyKey":"62fa0c13ec4d607260a7d9466868916f","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-uk-healthcare-rns-estate-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"3b304dd91ade3f92ed4cc26deab445ceb2f22765bc602c12bbd027ad266fbdb0","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"c00330cd0a09dbb790ed408f91e7eb245f5f793ccd5d7fe2b89d46182d507548","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"3d76321873a12b7d26732057cf05bd5915100660c46065a31f574dfb0bbf8fe2","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"e4fb4a0af077908653771118bbc376405b7177efee7d2fe8b1dbfdddbe62bd35","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"ef69ba8d760f39f61bcaf9e94390a8136d44ab53922c609ed407420d0d83a780","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate&decision=ready-for-human-approval&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/uk-healthcare-rns-estate/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/uk-healthcare-rns-estate/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/uk-healthcare-rns-estate/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate","visualRegistryResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate","targetVisualResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=uk-healthcare-rns-estate","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=uk-healthcare-rns-estate","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate","visualRegistry":"/operations/asset-visual-registry","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/uk-healthcare-rns-estate","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/uk-healthcare-rns-estate","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/uk-healthcare-rns-estate","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate","visualTrialResourceUri":"reits://asset-visual-trials/uk-healthcare-rns-estate","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate","visualRegistryResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"cn-rental-housing-community","assetName":"中国保障性租赁住房 Community Block","nftStyleName":"REITs Pixel Asset #CN-Rental-12","countrySlug":"cn","countryName":"中国内地","cityName":"深圳","assetType":"保障性租赁住房","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"1ccc718c8a7cfc341bac7e06edc87838ed9046b14019e854f577e59647856c08","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-rental-housing-community-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-rental-housing-community-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","placeholderDigest":"44d4c5ee2f0fb6533dff5e6010e4d5ee81860c5efd13a1107ca719e3b074af92","previewDigest":"576de9f663fec05f03a84e7e926871de4ba607d9e79c0ad7d772a7fc44d5583b","visualTransactionDigest":"72510748b7642608891658af2bd7d8b5fcb93d37cc65e5f297b9d77aad3ac872","reviewDigest":"338d596c08a74f427eebdc706e99ce8783f90d34113a79587fe457b0ea156417","approvalDigest":"fca6100c3936cb5d1d6486658dc7ac3925f48461d809de79ce1c48a881bc2f25","visualDigest":"767216491392f8e84d9841ff3e0f9f11637d4d5754468c8aa6c495500d4d2823","imageSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","evidenceTransactionDigest":"27d501124cac7009bdfdb50225cfe6eca9782c45fa1ec159e06b34f9e7386c4e","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-rental-housing-community-isometric-nft-card","idempotencyKey":"ccfcf96ddceef566b7229c761176e52e","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-rental-housing-community-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-rental-housing-community/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2bf69c0cadca16ec46f96671adb25567f13eed2b2d3f4bac24aa8c13f5d71ddc","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"74c90e1a7fa07a78135f00c1102d799b22d6bc50713495f11ba5e92aa1675217","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"fca6100c3936cb5d1d6486658dc7ac3925f48461d809de79ce1c48a881bc2f25","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"44d4c5ee2f0fb6533dff5e6010e4d5ee81860c5efd13a1107ca719e3b074af92","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"576de9f663fec05f03a84e7e926871de4ba607d9e79c0ad7d772a7fc44d5583b","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-rental-housing-community/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-rental-housing-community/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-rental-housing-community/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-rental-housing-community/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community","visualRegistryResourceUri":"reits://asset-visual-registry/cn-rental-housing-community","targetVisualResourceUri":"reits://asset-visual-registry/cn-rental-housing-community/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-rental-housing-community","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=cn-rental-housing-community","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-rental-housing-community","visualRegistry":"/operations/asset-visual-registry","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":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-rental-housing-community","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-rental-housing-community","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-rental-housing-community","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-rental-housing-community","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-rental-housing-community","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community","visualTrialResourceUri":"reits://asset-visual-trials/cn-rental-housing-community","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community","visualRegistryResourceUri":"reits://asset-visual-registry/cn-rental-housing-community"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"cn-logistics-bbs-gap","assetName":"中国内地仓储物流 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Logistics-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"仓储物流","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"a470cfb552545ea52af2a9d03c8059591b3dd06fa1f138b0efd104853e6826f3","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-logistics-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-logistics-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","placeholderDigest":"09a09c5d0cefbe874373cbee77bc79cbdb3cf0ef4855863549be02020754bafb","previewDigest":"35edfb90cb81e2f918673d052aaed6dbecacfc1e8cc61a4d0949745eaf5be2e8","visualTransactionDigest":"66d6e4dfa2f324b8a704aa46052329d62ff7e4939501dbbdc4d3ecbb6d4c8a76","reviewDigest":"fa5b37d8428eb57b256739df8312a20244cbc6b63062eb0997620a8cf1e0d641","approvalDigest":"aac0461d6c290828a123e9d6b060ea5d39d054259760786ea3d8a0247538a51a","visualDigest":"cfbae45981263d30b5eea7a508c8561c8392893aa0588594e97f4bb6007b4f90","imageSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","evidenceTransactionDigest":"7ad03b6c46444d31519760f7ea5577eed44c4f77f66f05f88bd0cde81efe92b2","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-logistics-bbs-gap-isometric-nft-card","idempotencyKey":"d9b92f32250e7323c8e727c3cd43c351","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-logistics-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"64afed26cd23bb4c2794909da782294f6a3a980cf8d07df0325c35525dae2182","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"05187cb49edb4384f60523b1baf734a11cf79a050aee8bfdac66f8c72253e8c0","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"aac0461d6c290828a123e9d6b060ea5d39d054259760786ea3d8a0247538a51a","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"09a09c5d0cefbe874373cbee77bc79cbdb3cf0ef4855863549be02020754bafb","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"35edfb90cb81e2f918673d052aaed6dbecacfc1e8cc61a4d0949745eaf5be2e8","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-logistics-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-logistics-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-logistics-bbs-gap","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=cn-logistics-bbs-gap","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-logistics-bbs-gap","visualRegistry":"/operations/asset-visual-registry","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":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-logistics-bbs-gap","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-logistics-bbs-gap","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-logistics-bbs-gap","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-logistics-bbs-gap","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-logistics-bbs-gap","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap","visualTrialResourceUri":"reits://asset-visual-trials/cn-logistics-bbs-gap","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"cn-highway-bbs-gap","assetName":"中国内地高速公路 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Highway-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"广州","assetType":"高速公路","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"177d3c9b7c193d93dbfe93d23d2cc95b2a15a5f0bc9d7edbac2b6903e6c421e3","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-highway-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-highway-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","placeholderDigest":"1eb201f79b8ec33e57b92c1d3ef9bea2fb215a7db2cf5e8c9da692d95942ee23","previewDigest":"7d1ed656ffba56bf4a0404c6a561e800793b4692978846c6c16f0e3ceeccf91f","visualTransactionDigest":"68948d32ef5cbd2f85cea2bdbf3c005a877985eddf547235416df18d114f62f9","reviewDigest":"a07330503f4eb4efcdc5cbbe41d42584aeb19dcbd12890f3c95d6cf0b5278bfe","approvalDigest":"8c61d405962fcbc69ea57609a676e969fbebbae04a765069a78060f969471bff","visualDigest":"f8971a440f11a07ec0ad4a581b4280521e2df83372376c31543c0399c60b21ef","imageSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","evidenceTransactionDigest":"92dcf9749f199700920aa8928f4c80858149eb48ceef8d0638293e7734f6a0f5","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-highway-bbs-gap-isometric-nft-card","idempotencyKey":"f1e1443e48f48f6e2f8a3d0457d3049d","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-highway-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"afb3dc4a1364245a9615cc0d9d82a0110d37176b45c805e5a0fefa9581eeebe7","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"a395e441a1c5b9290c82c1c734a67b1863a91bab7968b83492b8afa4ca4f8e82","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"8c61d405962fcbc69ea57609a676e969fbebbae04a765069a78060f969471bff","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"1eb201f79b8ec33e57b92c1d3ef9bea2fb215a7db2cf5e8c9da692d95942ee23","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"7d1ed656ffba56bf4a0404c6a561e800793b4692978846c6c16f0e3ceeccf91f","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-highway-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-highway-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-highway-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-highway-bbs-gap","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=cn-highway-bbs-gap","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-highway-bbs-gap","visualRegistry":"/operations/asset-visual-registry","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":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-highway-bbs-gap","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-highway-bbs-gap","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-highway-bbs-gap","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-highway-bbs-gap","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-highway-bbs-gap","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap","visualTrialResourceUri":"reits://asset-visual-trials/cn-highway-bbs-gap","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"cn-commercial-bbs-gap","assetName":"中国内地商业不动产 BBS Gap","nftStyleName":"REITs Pixel Asset #CN-Commercial-BBS","countrySlug":"cn","countryName":"中国内地","cityName":"上海","assetType":"商业不动产","statusLabel":"存在证据写入事务 dry-run","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":6,"approvalEvidenceWrittenCount":0,"recordDigest":"494029fcb89eae4f737ea979990236e0be7af2bbc0698117438c2804429614a7","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-commercial-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-commercial-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","placeholderDigest":"2cf7f2b35352c14ea41fdf12bd2ce771505d809cc25481a4745185fdc0daa679","previewDigest":"2512ed8914d008091def692a3f2b98808fcc533fc4a61467f65aae463deb512a","visualTransactionDigest":"cc81875811d963e8c7a9837db7cb600ea153d5370e7b6baffd019edca2b589c2","reviewDigest":"ba07a535cb85570a690ec61aa20ea7090ffd09740446195936ae5f7aa7c1c4ba","approvalDigest":"cc1114baeae9cf320f8f8f12ec29d30804d4d824fa5dfb7fdaed156bbd39d309","visualDigest":"716a58c5196b946263390b7aa6483d0ba30ff5c53b0094886ee68d024fa00aef","imageSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","evidenceTransactionDigest":"08f0d64032aabdac151a2224c164ddb4fb2e7489bb1957dc0da1d934e012e8b1","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-commercial-bbs-gap-isometric-nft-card","idempotencyKey":"e97977e985bda43b80946da912bf18db","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-commercial-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"e5b595f68fd58085d932b4121b47a3152ecad4cff8e4c5534f7e55b6b552a362","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"5b358f19ba7afe0a07ac00c74e4baa72fe5bd35ae7f0894aa9c8d35d269f6038","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"cc1114baeae9cf320f8f8f12ec29d30804d4d824fa5dfb7fdaed156bbd39d309","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"2cf7f2b35352c14ea41fdf12bd2ce771505d809cc25481a4745185fdc0daa679","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"2512ed8914d008091def692a3f2b98808fcc533fc4a61467f65aae463deb512a","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-commercial-bbs-gap","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=cn-commercial-bbs-gap","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=cn-commercial-bbs-gap","visualRegistry":"/operations/asset-visual-registry","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":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/cn-commercial-bbs-gap","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/cn-commercial-bbs-gap","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-commercial-bbs-gap","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-commercial-bbs-gap","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-commercial-bbs-gap","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap","visualTrialResourceUri":"reits://asset-visual-trials/cn-commercial-bbs-gap","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","statusLabel":"证据写入事务前置阻断","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":3,"approvalEvidenceWrittenCount":0,"recordDigest":"8cb38f3efbf953683a49cfe20c67580ea6c2c8d61ada03beb4e748a93d857dbe","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-ca-residential-tsx-node-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","previewRowId":"asset-visual-registry-preview-ca-residential-tsx-node-isometric-nft-card","visualTransactionId":"visual-registry-transaction-ca-residential-tsx-node-isometric-nft-card","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceEvidence":{"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。"},"status":"needs-compliance-review","statusLabel":"需先合规复核","packetStatus":"needs-compliance-review","packetStatusLabel":"需先合规复核","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","placeholderDigest":"8efa2a25eb4c7f160d1d655fdd00990cc91ec5ea0592bdf2765fec3a00511743","previewDigest":"86771e364316fe6bf58bd35d23f539077531bc15fe59fbb83412eddd2adb6547","visualTransactionDigest":"95984f24315c7a2f5cca5391ed6c079f0b1a71972047c91a96e040a31fcae0fc","reviewDigest":"f678c533e81e23cf288c4615f5e98c1994f5b9fcf28a5840021b6ffa4df1178a","approvalDigest":"0745b722d119f96283f6b870e76fb58d6eadab0af4a86e3b7cfde61a63706d88","visualDigest":"368b04611be7a37cfe5b4f851008dd90171212e5d7f410000a722d9658506a3f","imageSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","evidenceTransactionDigest":"67855ae6dc5006cf34deaa9fe7f8e88261eab1ae3eb30ad6162954ecfe3ea497","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-ca-residential-tsx-node-isometric-nft-card","idempotencyKey":"48c15a8209603431bd650f491df72bc6","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-ca-residential-tsx-node-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"0318733983f85ecf45d81860b7f1b2be97e25573ead2d4726cf5220f919e0f11","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"2acb3be4c08af2a6c9ee7add71f3bac1bc4affe69d2524a74772875b43ee392f","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"0745b722d119f96283f6b870e76fb58d6eadab0af4a86e3b7cfde61a63706d88","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"8efa2a25eb4c7f160d1d655fdd00990cc91ec5ea0592bdf2765fec3a00511743","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"86771e364316fe6bf58bd35d23f539077531bc15fe59fbb83412eddd2adb6547","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["合规复核尚未完成，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据已检测，但 Registry preview row 尚未 ready，不能开放真实审批占位槽位。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据已检测，但真实审批占位尚未 ready，不能生成可检查证据包。","真实审批占位尚未 ready，不能生成可检查证据包。","本地生成图片 source evidence 已检测，但证据包尚未 ready，不能进入 writer transaction。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card"},{"owner":"compliance","label":"先完成合规复核，不能为未过审图片写审批证据","href":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-compliance-review&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-compliance-review&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/ca-residential-tsx-node/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/ca-residential-tsx-node/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/ca-residential-tsx-node/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/ca-residential-tsx-node/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node","visualRegistryResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node","targetVisualResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=ca-residential-tsx-node","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=ca-residential-tsx-node","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node","visualRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/ca-residential-tsx-node","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/ca-residential-tsx-node","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/ca-residential-tsx-node","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node","visualTrialResourceUri":"reits://asset-visual-trials/ca-residential-tsx-node","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node","visualRegistryResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","statusLabel":"证据写入事务前置阻断","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":2,"approvalEvidenceWrittenCount":0,"recordDigest":"f3ff36e1d4cf2b111fba05d81a4b454bcef7823b4d02992a78e5ed6179d2b1fb","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-eu-logistics-esef-hub-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","previewRowId":"asset-visual-registry-preview-eu-logistics-esef-hub-isometric-nft-card","visualTransactionId":"visual-registry-transaction-eu-logistics-esef-hub-isometric-nft-card","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":null,"sourceEvidence":{"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。"},"status":"blocked-by-brief","statusLabel":"Brief 阻断不可写证据","packetStatus":"blocked-by-brief","packetStatusLabel":"Brief 阻断不可提交证据","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","placeholderDigest":"43427843020e52334da7fd1bbdea1423b9800a65b96ae7ea2766a233059f9f29","previewDigest":"68edabb28a2337140c72d5fb703423c637a892584578d647b1d5f9f7392e3292","visualTransactionDigest":"664b1319730ed08723401fe97ef775e77e0e27ed0700c3ff00366629ee9b939f","reviewDigest":"e1f46d497995c111f2bd18866450bd7c5e96eb265f813a15af9b0ddf294833dc","approvalDigest":"542129bf8c7707a43430a84534bc4cb22001544b6c93cb77c5b6c9ffd7406ed6","visualDigest":"4dcfb53a94d15b3053428cb282f721a06f546a1fa06514e6b1ad2be69d773229","imageSha256":null,"evidenceTransactionDigest":"e564b5a55bcb79c2edd7e0cd79a114aea19d745f5fee7e4c53b085e5e7f96abb","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-eu-logistics-esef-hub-isometric-nft-card","idempotencyKey":"d9e3d8dadbc6a05a3fe8aec6ce607c36","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-eu-logistics-esef-hub-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub/isometric-nft-card","sourceEvidenceType":"missing-source","sourceEvidencePublicPath":null,"sourceEvidenceSha256":null,"sourceMatchesTransaction":false,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":null,"note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"6520ed1a5185a16495c911e152339be513eafeb8912cc8203f296f5c8f88126c","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"88b533a5b4953c8f25147da47e735ce8e8c7117f7eaa1e029c32ebd57b002040","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"542129bf8c7707a43430a84534bc4cb22001544b6c93cb77c5b6c9ffd7406ed6","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"43427843020e52334da7fd1bbdea1423b9800a65b96ae7ea2766a233059f9f29","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"68edabb28a2337140c72d5fb703423c637a892584578d647b1d5f9f7392e3292","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":false,"digest":null,"note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":null,"note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":false},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["欧盟 Listed Real Estate Logistics Hub 仍被 brief/source/policy 门禁阻断，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据未检测到，且 Registry preview row 尚未 ready。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据未检测到，且真实审批占位尚未 ready。","真实审批占位尚未 ready，不能生成可检查证据包。","源图片证据未完整检测，且证据包尚未 ready。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub&decision=blocked-by-brief&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/eu-logistics-esef-hub/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/eu-logistics-esef-hub/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/eu-logistics-esef-hub/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/eu-logistics-esef-hub/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub","visualRegistryResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub","targetVisualResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=eu-logistics-esef-hub","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=eu-logistics-esef-hub","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub","visualRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/eu-logistics-esef-hub","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/eu-logistics-esef-hub","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/eu-logistics-esef-hub","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub","visualTrialResourceUri":"reits://asset-visual-trials/eu-logistics-esef-hub","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub","visualRegistryResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub"}},{"generatedAt":"2026-07-31T18:33:39.533Z","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","statusLabel":"证据写入事务前置阻断","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1,"writeSetItemCount":8,"preconditionCount":9,"satisfiedPreconditionCount":2,"approvalEvidenceWrittenCount":0,"recordDigest":"a27a24ab45d7f7ae8ab7775a0236f42023ddc010e3687fd57843bc78ed806de2","transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-in-invit-infra-corridor-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","previewRowId":"asset-visual-registry-preview-in-invit-infra-corridor-isometric-nft-card","visualTransactionId":"visual-registry-transaction-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":null,"sourceEvidence":{"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。"},"status":"blocked-by-brief","statusLabel":"Brief 阻断不可写证据","packetStatus":"blocked-by-brief","packetStatusLabel":"Brief 阻断不可提交证据","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","placeholderDigest":"719f01e96100014678e98ba5b77d7cabce473df09aa682f0af76bb3050808364","previewDigest":"7c4f7c4eb0d41692b962990b8c95acdc9bef1a4395eed3db5c9437f9064fccab","visualTransactionDigest":"137998d2da2e3909b1b48c0949dd0d0f30448feb05854529b246b8633cda67de","reviewDigest":"87c51f3843cfe89528800a9c4a8ad3386812b219b6e40478aefd9eb08e3850fa","approvalDigest":"7d7c23ee4b9c5ce6168558b26f1ebcf81878d9cd6ee6f4a4aef035020e51f616","visualDigest":"d8af9440520b9c2b8b3e165b1ba0b0df0c436b1d86acb2482ebf1d6512f2f7c5","imageSha256":null,"evidenceTransactionDigest":"802f8df53b5498fdb5d483a8b463ee1e3d595d722aa165b9c3a89515cf2eef3f","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-in-invit-infra-corridor-isometric-nft-card","idempotencyKey":"656e4707502b55e7e630777b3639bacc","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-in-invit-infra-corridor-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor/isometric-nft-card","sourceEvidenceType":"missing-source","sourceEvidencePublicPath":null,"sourceEvidenceSha256":null,"sourceMatchesTransaction":false,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":null,"note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"db10c789d59d287cdbf92009b1f3d50810f631992e511c076f9d4df97f21a386","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"f0d5ea6593c8c38dcf2aa164859b4ca03f60c716e29e310dd7d0accb20fe5d7e","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"7d7c23ee4b9c5ce6168558b26f1ebcf81878d9cd6ee6f4a4aef035020e51f616","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"719f01e96100014678e98ba5b77d7cabce473df09aa682f0af76bb3050808364","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"7c4f7c4eb0d41692b962990b8c95acdc9bef1a4395eed3db5c9437f9064fccab","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":false,"digest":null,"note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":null,"note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":false},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["印度 REITs / InvIT Infra Corridor 仍被 brief/source/policy 门禁阻断，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据未检测到，且 Registry preview row 尚未 ready。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据未检测到，且真实审批占位尚未 ready。","真实审批占位尚未 ready，不能生成可检查证据包。","源图片证据未完整检测，且证据包尚未 ready。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor","visualRegistryResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor","targetVisualResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor/isometric-nft-card"}}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=in-invit-infra-corridor","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=in-invit-infra-corridor","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor","visualRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/in-invit-infra-corridor","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/in-invit-infra-corridor","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/in-invit-infra-corridor","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor","visualTrialResourceUri":"reits://asset-visual-trials/in-invit-infra-corridor","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor","visualRegistryResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor"}}],"transactions":[{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-au-logistics-asx-warehouse-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","previewRowId":"asset-visual-registry-preview-au-logistics-asx-warehouse-isometric-nft-card","visualTransactionId":"visual-registry-transaction-au-logistics-asx-warehouse-isometric-nft-card","candidateSlug":"au-logistics-asx-warehouse","assetName":"澳大利亚 A-REIT Logistics Warehouse","nftStyleName":"REITs Pixel Asset #AU-Logistics-07","countrySlug":"au","countryName":"澳大利亚","cityName":"Sydney","assetType":"物流仓储","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceEvidence":{"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。"},"status":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","placeholderDigest":"05fc876c7b461c8444dc98aa49dcf7ddfd0e03a724497410e1654cf996d5718c","previewDigest":"09166478a8b1b06fe6a5283d051795b34d339119176e265e0a6ef07314b86840","visualTransactionDigest":"f913a1fcbc54d0f16deb9a791d1646d48247c0f0b7b8c4710d2670a1593ad3c4","reviewDigest":"4e5603d3cdd84575ecf32d0ea8701d423718e149bb040268c381c3f1fb3bef1c","approvalDigest":"579958e668643b3780b523df793e403454eca3b89c4c657ea8ee5e0023c8f07c","visualDigest":"984c241c59787d262fbfa0881959e8725e5188d790239074009f3c4a26abd76f","imageSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","evidenceTransactionDigest":"1e399a24df815f5552b5c2aa53f62ef42481316e08f8f2dadc4529b582bbc8b8","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-au-logistics-asx-warehouse-isometric-nft-card","idempotencyKey":"209c5024f527195f125a2de8c13b707a","candidateSlug":"au-logistics-asx-warehouse","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-au-logistics-asx-warehouse-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/au-logistics-asx-warehouse/nft-card.png","sourceEvidenceSha256":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"7fa1bc57297ce8bbde0a7e2edf0fea4f1ee639a263907f8770ba98345fc290c3","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"c22468f8d7575cec60b82b1adffdc95fe147861d0d041e90a4582d8256366d80","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"579958e668643b3780b523df793e403454eca3b89c4c657ea8ee5e0023c8f07c","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"5e0efe309c5477802fafef1bdd0362d221e881e9f4a111e142cef40e285dc512","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"05fc876c7b461c8444dc98aa49dcf7ddfd0e03a724497410e1654cf996d5718c","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"09166478a8b1b06fe6a5283d051795b34d339119176e265e0a6ef07314b86840","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"ff92c10511adaaae91e8f80f717f2d9aec09c62ca642321043bac9981c236cee","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-au-logistics-asx-warehouse-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-au-logistics-asx-warehouse-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=au-logistics-asx-warehouse&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=au-logistics-asx-warehouse&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=au-logistics-asx-warehouse&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=au-logistics-asx-warehouse&decision=ready-for-human-approval&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%20A-REIT%20Logistics%20Warehouse"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/au-logistics-asx-warehouse/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/au-logistics-asx-warehouse/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/au-logistics-asx-warehouse/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/au-logistics-asx-warehouse/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/au-logistics-asx-warehouse/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/au-logistics-asx-warehouse/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/au-logistics-asx-warehouse","visualRegistryResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse","targetVisualResourceUri":"reits://asset-visual-registry/au-logistics-asx-warehouse/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-uk-healthcare-rns-estate-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","previewRowId":"asset-visual-registry-preview-uk-healthcare-rns-estate-isometric-nft-card","visualTransactionId":"visual-registry-transaction-uk-healthcare-rns-estate-isometric-nft-card","candidateSlug":"uk-healthcare-rns-estate","assetName":"英国 UK REIT Healthcare Estate","nftStyleName":"REITs Pixel Asset #UK-Health-08","countrySlug":"uk","countryName":"英国","cityName":"London","assetType":"医疗健康地产","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceEvidence":{"sourceType":"bbs-gap-local-generated","localFileDetected":true,"publicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","bytes":2285655,"manifestSource":"filesystem-probe","sourceMatchesTransaction":true,"visualIntakeHref":"/operations/bbs-gap-visual-intake-queue?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalPlaceholderHref":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceNote":"BBS Gap 本地生成文件已进入清单预览证据链，但 formalRegistryWritten 仍为 false。"},"status":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","placeholderDigest":"e4fb4a0af077908653771118bbc376405b7177efee7d2fe8b1dbfdddbe62bd35","previewDigest":"ef69ba8d760f39f61bcaf9e94390a8136d44ab53922c609ed407420d0d83a780","visualTransactionDigest":"4fe284277e516c6e103e36529ee7b362b82d05dc370063eb2d6e948cb3955d0e","reviewDigest":"5418c059ee2ca7290053bd5b0d6814024952db7ad636334ce71db6605e01b76d","approvalDigest":"3d76321873a12b7d26732057cf05bd5915100660c46065a31f574dfb0bbf8fe2","visualDigest":"554a0b92f4363fba903ccabfd6b1988200545f1b350473e935ac7a9d8255b37d","imageSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","evidenceTransactionDigest":"7438ba8db19a8e858bac14fca0a39be52d5521dab52f84c0dda3d9d7145f2520","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-uk-healthcare-rns-estate-isometric-nft-card","idempotencyKey":"62fa0c13ec4d607260a7d9466868916f","candidateSlug":"uk-healthcare-rns-estate","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-uk-healthcare-rns-estate-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/uk-healthcare-rns-estate/nft-card.png","sourceEvidenceSha256":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"3b304dd91ade3f92ed4cc26deab445ceb2f22765bc602c12bbd027ad266fbdb0","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"c00330cd0a09dbb790ed408f91e7eb245f5f793ccd5d7fe2b89d46182d507548","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"3d76321873a12b7d26732057cf05bd5915100660c46065a31f574dfb0bbf8fe2","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"0987f9f16c9d1bd011af5245d4cb468bc4a61f0988f72b78043edf4d93fe3891","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"e4fb4a0af077908653771118bbc376405b7177efee7d2fe8b1dbfdddbe62bd35","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"ef69ba8d760f39f61bcaf9e94390a8136d44ab53922c609ed407420d0d83a780","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"edfd27a0adbaf5ce1764daed9ae3babc1a02dd8a11c980cfec7ac59b915368e6","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-uk-healthcare-rns-estate-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-uk-healthcare-rns-estate-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=uk-healthcare-rns-estate&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=uk-healthcare-rns-estate&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=uk-healthcare-rns-estate&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=uk-healthcare-rns-estate&decision=ready-for-human-approval&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E8%8B%B1%E5%9B%BD%20UK%20REIT%20Healthcare%20Estate"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/uk-healthcare-rns-estate/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/uk-healthcare-rns-estate/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/uk-healthcare-rns-estate/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/uk-healthcare-rns-estate/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/uk-healthcare-rns-estate/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/uk-healthcare-rns-estate/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/uk-healthcare-rns-estate","visualRegistryResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate","targetVisualResourceUri":"reits://asset-visual-registry/uk-healthcare-rns-estate/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-rental-housing-community-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-rental-housing-community-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","placeholderDigest":"44d4c5ee2f0fb6533dff5e6010e4d5ee81860c5efd13a1107ca719e3b074af92","previewDigest":"576de9f663fec05f03a84e7e926871de4ba607d9e79c0ad7d772a7fc44d5583b","visualTransactionDigest":"72510748b7642608891658af2bd7d8b5fcb93d37cc65e5f297b9d77aad3ac872","reviewDigest":"338d596c08a74f427eebdc706e99ce8783f90d34113a79587fe457b0ea156417","approvalDigest":"fca6100c3936cb5d1d6486658dc7ac3925f48461d809de79ce1c48a881bc2f25","visualDigest":"767216491392f8e84d9841ff3e0f9f11637d4d5754468c8aa6c495500d4d2823","imageSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","evidenceTransactionDigest":"27d501124cac7009bdfdb50225cfe6eca9782c45fa1ec159e06b34f9e7386c4e","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-rental-housing-community-isometric-nft-card","idempotencyKey":"ccfcf96ddceef566b7229c761176e52e","candidateSlug":"cn-rental-housing-community","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-rental-housing-community-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-rental-housing-community/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-rental-housing-community/nft-card.png","sourceEvidenceSha256":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2bf69c0cadca16ec46f96671adb25567f13eed2b2d3f4bac24aa8c13f5d71ddc","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"74c90e1a7fa07a78135f00c1102d799b22d6bc50713495f11ba5e92aa1675217","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"fca6100c3936cb5d1d6486658dc7ac3925f48461d809de79ce1c48a881bc2f25","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"9b8db2edc4a8ba4aa52151a8b5f7ba4bab61353025628f9e117f245cdac6f927","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"44d4c5ee2f0fb6533dff5e6010e4d5ee81860c5efd13a1107ca719e3b074af92","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"576de9f663fec05f03a84e7e926871de4ba607d9e79c0ad7d772a7fc44d5583b","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4175bfd4e68e655c2f6a974b60e3f059e299570bc510ca8b20f69c953b30f791","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-rental-housing-community-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-rental-housing-community-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-rental-housing-community&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-rental-housing-community&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-rental-housing-community&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-rental-housing-community/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-rental-housing-community/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-rental-housing-community/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-rental-housing-community/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-rental-housing-community/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-rental-housing-community/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-rental-housing-community","visualRegistryResourceUri":"reits://asset-visual-registry/cn-rental-housing-community","targetVisualResourceUri":"reits://asset-visual-registry/cn-rental-housing-community/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-logistics-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-logistics-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","placeholderDigest":"09a09c5d0cefbe874373cbee77bc79cbdb3cf0ef4855863549be02020754bafb","previewDigest":"35edfb90cb81e2f918673d052aaed6dbecacfc1e8cc61a4d0949745eaf5be2e8","visualTransactionDigest":"66d6e4dfa2f324b8a704aa46052329d62ff7e4939501dbbdc4d3ecbb6d4c8a76","reviewDigest":"fa5b37d8428eb57b256739df8312a20244cbc6b63062eb0997620a8cf1e0d641","approvalDigest":"aac0461d6c290828a123e9d6b060ea5d39d054259760786ea3d8a0247538a51a","visualDigest":"cfbae45981263d30b5eea7a508c8561c8392893aa0588594e97f4bb6007b4f90","imageSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","evidenceTransactionDigest":"7ad03b6c46444d31519760f7ea5577eed44c4f77f66f05f88bd0cde81efe92b2","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-logistics-bbs-gap-isometric-nft-card","idempotencyKey":"d9b92f32250e7323c8e727c3cd43c351","candidateSlug":"cn-logistics-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-logistics-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-logistics-bbs-gap/nft-card.png","sourceEvidenceSha256":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"64afed26cd23bb4c2794909da782294f6a3a980cf8d07df0325c35525dae2182","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"05187cb49edb4384f60523b1baf734a11cf79a050aee8bfdac66f8c72253e8c0","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"aac0461d6c290828a123e9d6b060ea5d39d054259760786ea3d8a0247538a51a","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"0cac0773606afc31acb7b4bbb9f042dbe1dabea0d615662fc1b7a4c8634ba2cc","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"09a09c5d0cefbe874373cbee77bc79cbdb3cf0ef4855863549be02020754bafb","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"35edfb90cb81e2f918673d052aaed6dbecacfc1e8cc61a4d0949745eaf5be2e8","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"9ef00ee0a5fda3797a2d84d0ef1e89e21c7151806b38d2e7bd8e6f7ffc05af0a","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-logistics-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-logistics-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-logistics-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-logistics-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-logistics-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-logistics-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-logistics-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-logistics-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-logistics-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-logistics-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-logistics-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-logistics-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-logistics-bbs-gap/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-highway-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-highway-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","placeholderDigest":"1eb201f79b8ec33e57b92c1d3ef9bea2fb215a7db2cf5e8c9da692d95942ee23","previewDigest":"7d1ed656ffba56bf4a0404c6a561e800793b4692978846c6c16f0e3ceeccf91f","visualTransactionDigest":"68948d32ef5cbd2f85cea2bdbf3c005a877985eddf547235416df18d114f62f9","reviewDigest":"a07330503f4eb4efcdc5cbbe41d42584aeb19dcbd12890f3c95d6cf0b5278bfe","approvalDigest":"8c61d405962fcbc69ea57609a676e969fbebbae04a765069a78060f969471bff","visualDigest":"f8971a440f11a07ec0ad4a581b4280521e2df83372376c31543c0399c60b21ef","imageSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","evidenceTransactionDigest":"92dcf9749f199700920aa8928f4c80858149eb48ceef8d0638293e7734f6a0f5","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-highway-bbs-gap-isometric-nft-card","idempotencyKey":"f1e1443e48f48f6e2f8a3d0457d3049d","candidateSlug":"cn-highway-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-highway-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-highway-bbs-gap/nft-card.png","sourceEvidenceSha256":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"afb3dc4a1364245a9615cc0d9d82a0110d37176b45c805e5a0fefa9581eeebe7","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"a395e441a1c5b9290c82c1c734a67b1863a91bab7968b83492b8afa4ca4f8e82","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"8c61d405962fcbc69ea57609a676e969fbebbae04a765069a78060f969471bff","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"3dbc2be817afd43cbe5ece6065d5e5331d4d99a54da1f47cf34a30fd43f608f5","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"1eb201f79b8ec33e57b92c1d3ef9bea2fb215a7db2cf5e8c9da692d95942ee23","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"7d1ed656ffba56bf4a0404c6a561e800793b4692978846c6c16f0e3ceeccf91f","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4dd16a3a69a0218626213e5f93cf3e60a2a0626ffd1a795efbac0d9bf541f955","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-highway-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-highway-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-highway-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-highway-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-highway-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-highway-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-highway-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-highway-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-highway-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-highway-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-highway-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-highway-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-highway-bbs-gap/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-commercial-bbs-gap-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","previewRowId":"asset-visual-registry-preview-cn-commercial-bbs-gap-isometric-nft-card","visualTransactionId":"visual-registry-transaction-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","label":"等距 NFT 主图试点","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":"evidence-transaction-ready","statusLabel":"证据写入事务可检查","packetStatus":"evidence-packet-ready","packetStatusLabel":"证据包结构可检查","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","placeholderDigest":"2cf7f2b35352c14ea41fdf12bd2ce771505d809cc25481a4745185fdc0daa679","previewDigest":"2512ed8914d008091def692a3f2b98808fcc533fc4a61467f65aae463deb512a","visualTransactionDigest":"cc81875811d963e8c7a9837db7cb600ea153d5370e7b6baffd019edca2b589c2","reviewDigest":"ba07a535cb85570a690ec61aa20ea7090ffd09740446195936ae5f7aa7c1c4ba","approvalDigest":"cc1114baeae9cf320f8f8f12ec29d30804d4d824fa5dfb7fdaed156bbd39d309","visualDigest":"716a58c5196b946263390b7aa6483d0ba30ff5c53b0094886ee68d024fa00aef","imageSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","evidenceTransactionDigest":"08f0d64032aabdac151a2224c164ddb4fb2e7489bb1957dc0da1d934e012e8b1","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-cn-commercial-bbs-gap-isometric-nft-card","idempotencyKey":"e97977e985bda43b80946da912bf18db","candidateSlug":"cn-commercial-bbs-gap","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-cn-commercial-bbs-gap-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/cn-commercial-bbs-gap/nft-card.png","sourceEvidenceSha256":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"e5b595f68fd58085d932b4121b47a3152ecad4cff8e4c5534f7e55b6b552a362","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"5b358f19ba7afe0a07ac00c74e4baa72fe5bd35ae7f0894aa9c8d35d269f6038","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"cc1114baeae9cf320f8f8f12ec29d30804d4d824fa5dfb7fdaed156bbd39d309","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":true,"digest":"d4dde9dbd81fee8449dfca9583635dce075fedd62ce8d307a1d26dbcc021060e","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":true,"digest":"2cf7f2b35352c14ea41fdf12bd2ce771505d809cc25481a4745185fdc0daa679","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":true,"digest":"2512ed8914d008091def692a3f2b98808fcc533fc4a61467f65aae463deb512a","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"2db843ee429d1a9c8f05d7448f8fb04ac345ad14e789a5451c83cf666d89199a","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-cn-commercial-bbs-gap-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-cn-commercial-bbs-gap-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":true,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":true},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["本地生成图片 source evidence 已绑定到 writer envelope，但仍只做事务预演。","仅表示 evidence writer envelope 可检查，不代表允许写入。","approverId、approvedAt、approvalEvidenceUri 和 approvalEvidenceDigest 仍为空。","evidenceWriteTransactionDisabled=true，databaseWriteDisabled=true。","approvalEvidenceWritten=false，finalApprovalRecorded=false。"],"requiredActions":[{"owner":"ops","label":"准备双签审批人身份与审批时间戳，但不要上传或写入","href":"/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"},{"owner":"engineering","label":"实现 writer 前保持 transaction/database/evidence 写入全部禁用","href":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"},{"owner":"qa","label":"校验 idempotencyKey、writeSet、rollbackPlan 和 MCP 资源 URI","href":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","evidenceTransactionPage":"/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","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=cn-commercial-bbs-gap&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=cn-commercial-bbs-gap&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=cn-commercial-bbs-gap&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-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","formalRegistry":"/operations/asset-visual-registry","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":{"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","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/cn-commercial-bbs-gap/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/cn-commercial-bbs-gap/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/cn-commercial-bbs-gap/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/cn-commercial-bbs-gap/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/cn-commercial-bbs-gap/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/cn-commercial-bbs-gap/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/cn-commercial-bbs-gap","visualRegistryResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap","targetVisualResourceUri":"reits://asset-visual-registry/cn-commercial-bbs-gap/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-ca-residential-tsx-node-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","previewRowId":"asset-visual-registry-preview-ca-residential-tsx-node-isometric-nft-card","visualTransactionId":"visual-registry-transaction-ca-residential-tsx-node-isometric-nft-card","candidateSlug":"ca-residential-tsx-node","assetName":"加拿大 Canadian REIT Residential Node","nftStyleName":"REITs Pixel Asset #CA-Residential-09","countrySlug":"ca","countryName":"加拿大","cityName":"Toronto","assetType":"住宅租赁","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceEvidence":{"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。"},"status":"needs-compliance-review","statusLabel":"需先合规复核","packetStatus":"needs-compliance-review","packetStatusLabel":"需先合规复核","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","placeholderDigest":"8efa2a25eb4c7f160d1d655fdd00990cc91ec5ea0592bdf2765fec3a00511743","previewDigest":"86771e364316fe6bf58bd35d23f539077531bc15fe59fbb83412eddd2adb6547","visualTransactionDigest":"95984f24315c7a2f5cca5391ed6c079f0b1a71972047c91a96e040a31fcae0fc","reviewDigest":"f678c533e81e23cf288c4615f5e98c1994f5b9fcf28a5840021b6ffa4df1178a","approvalDigest":"0745b722d119f96283f6b870e76fb58d6eadab0af4a86e3b7cfde61a63706d88","visualDigest":"368b04611be7a37cfe5b4f851008dd90171212e5d7f410000a722d9658506a3f","imageSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","evidenceTransactionDigest":"67855ae6dc5006cf34deaa9fe7f8e88261eab1ae3eb30ad6162954ecfe3ea497","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-ca-residential-tsx-node-isometric-nft-card","idempotencyKey":"48c15a8209603431bd650f491df72bc6","candidateSlug":"ca-residential-tsx-node","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-ca-residential-tsx-node-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node/isometric-nft-card","sourceEvidenceType":"bbs-gap-local-generated","sourceEvidencePublicPath":"/assets/virtual-assets/ca-residential-tsx-node/nft-card.png","sourceEvidenceSha256":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","sourceMatchesTransaction":true,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"0318733983f85ecf45d81860b7f1b2be97e25573ead2d4726cf5220f919e0f11","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"2acb3be4c08af2a6c9ee7add71f3bac1bc4affe69d2524a74772875b43ee392f","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"0745b722d119f96283f6b870e76fb58d6eadab0af4a86e3b7cfde61a63706d88","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"f49116c3d345372ac49ad36ce9fa620a074483d72ffe8c4d77c9604d79041d32","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"8efa2a25eb4c7f160d1d655fdd00990cc91ec5ea0592bdf2765fec3a00511743","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"86771e364316fe6bf58bd35d23f539077531bc15fe59fbb83412eddd2adb6547","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":"4449c12e4aa77bdd2ff0ae7f386cabe6ecb04dd08865f8be7fde8984a9f68bf6","note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-ca-residential-tsx-node-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-ca-residential-tsx-node-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":true},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["合规复核尚未完成，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据已检测，但 Registry preview row 尚未 ready，不能开放真实审批占位槽位。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据已检测，但真实审批占位尚未 ready，不能生成可检查证据包。","真实审批占位尚未 ready，不能生成可检查证据包。","本地生成图片 source evidence 已检测，但证据包尚未 ready，不能进入 writer transaction。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card"},{"owner":"compliance","label":"先完成合规复核，不能为未过审图片写审批证据","href":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-compliance-review&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=ca-residential-tsx-node&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=ca-residential-tsx-node&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=ca-residential-tsx-node&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=ca-residential-tsx-node&decision=needs-compliance-review&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8A%A0%E6%8B%BF%E5%A4%A7%20Canadian%20REIT%20Residential%20Node"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/ca-residential-tsx-node/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/ca-residential-tsx-node/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/ca-residential-tsx-node/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/ca-residential-tsx-node/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/ca-residential-tsx-node/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/ca-residential-tsx-node/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/ca-residential-tsx-node/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/ca-residential-tsx-node/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/ca-residential-tsx-node","visualRegistryResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node","targetVisualResourceUri":"reits://asset-visual-registry/ca-residential-tsx-node/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-eu-logistics-esef-hub-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","previewRowId":"asset-visual-registry-preview-eu-logistics-esef-hub-isometric-nft-card","visualTransactionId":"visual-registry-transaction-eu-logistics-esef-hub-isometric-nft-card","candidateSlug":"eu-logistics-esef-hub","assetName":"欧盟 Listed Real Estate Logistics Hub","nftStyleName":"REITs Pixel Asset #EU-Logistics-11","countrySlug":"eu","countryName":"欧盟","cityName":"Amsterdam","assetType":"欧洲物流地产","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":null,"sourceEvidence":{"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。"},"status":"blocked-by-brief","statusLabel":"Brief 阻断不可写证据","packetStatus":"blocked-by-brief","packetStatusLabel":"Brief 阻断不可提交证据","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","placeholderDigest":"43427843020e52334da7fd1bbdea1423b9800a65b96ae7ea2766a233059f9f29","previewDigest":"68edabb28a2337140c72d5fb703423c637a892584578d647b1d5f9f7392e3292","visualTransactionDigest":"664b1319730ed08723401fe97ef775e77e0e27ed0700c3ff00366629ee9b939f","reviewDigest":"e1f46d497995c111f2bd18866450bd7c5e96eb265f813a15af9b0ddf294833dc","approvalDigest":"542129bf8c7707a43430a84534bc4cb22001544b6c93cb77c5b6c9ffd7406ed6","visualDigest":"4dcfb53a94d15b3053428cb282f721a06f546a1fa06514e6b1ad2be69d773229","imageSha256":null,"evidenceTransactionDigest":"e564b5a55bcb79c2edd7e0cd79a114aea19d745f5fee7e4c53b085e5e7f96abb","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-eu-logistics-esef-hub-isometric-nft-card","idempotencyKey":"d9e3d8dadbc6a05a3fe8aec6ce607c36","candidateSlug":"eu-logistics-esef-hub","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-eu-logistics-esef-hub-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub/isometric-nft-card","sourceEvidenceType":"missing-source","sourceEvidencePublicPath":null,"sourceEvidenceSha256":null,"sourceMatchesTransaction":false,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":null,"note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"6520ed1a5185a16495c911e152339be513eafeb8912cc8203f296f5c8f88126c","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"88b533a5b4953c8f25147da47e735ce8e8c7117f7eaa1e029c32ebd57b002040","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"542129bf8c7707a43430a84534bc4cb22001544b6c93cb77c5b6c9ffd7406ed6","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"99619c8840012577a0d0871f63d34323a620d8002e6b19da391a6e737f14ceb5","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"43427843020e52334da7fd1bbdea1423b9800a65b96ae7ea2766a233059f9f29","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"68edabb28a2337140c72d5fb703423c637a892584578d647b1d5f9f7392e3292","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":false,"digest":null,"note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":null,"note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-eu-logistics-esef-hub-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-eu-logistics-esef-hub-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":false},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["欧盟 Listed Real Estate Logistics Hub 仍被 brief/source/policy 门禁阻断，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据未检测到，且 Registry preview row 尚未 ready。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据未检测到，且真实审批占位尚未 ready。","真实审批占位尚未 ready，不能生成可检查证据包。","源图片证据未完整检测，且证据包尚未 ready。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=eu-logistics-esef-hub&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=eu-logistics-esef-hub&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=eu-logistics-esef-hub&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=eu-logistics-esef-hub&decision=blocked-by-brief&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E6%AC%A7%E7%9B%9F%20Listed%20Real%20Estate%20Logistics%20Hub"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/eu-logistics-esef-hub/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/eu-logistics-esef-hub/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/eu-logistics-esef-hub/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/eu-logistics-esef-hub/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/eu-logistics-esef-hub/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/eu-logistics-esef-hub/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/eu-logistics-esef-hub/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/eu-logistics-esef-hub/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/eu-logistics-esef-hub","visualRegistryResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub","targetVisualResourceUri":"reits://asset-visual-registry/eu-logistics-esef-hub/isometric-nft-card"}},{"generatedAt":"2026-07-31T18:33:39.533Z","evidenceTransactionId":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-in-invit-infra-corridor-isometric-nft-card","placeholderId":"asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","previewRowId":"asset-visual-registry-preview-in-invit-infra-corridor-isometric-nft-card","visualTransactionId":"visual-registry-transaction-in-invit-infra-corridor-isometric-nft-card","candidateSlug":"in-invit-infra-corridor","assetName":"印度 REITs / InvIT Infra Corridor","nftStyleName":"REITs Pixel Asset #IN-Infra-10","countrySlug":"in","countryName":"印度","cityName":"Mumbai","assetType":"基础设施走廊","formatKey":"isometric-nft-card","label":"等距 NFT 主图试点","source":null,"sourceEvidence":{"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。"},"status":"blocked-by-brief","statusLabel":"Brief 阻断不可写证据","packetStatus":"blocked-by-brief","packetStatusLabel":"Brief 阻断不可提交证据","dryRunOnly":true,"evidenceTransactionDryRun":true,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"evidenceWriteDisabled":true,"signerEvidenceWriteDisabled":true,"requirementEvidenceWriteDisabled":true,"revocationEvidenceWriteDisabled":true,"approvalLedgerWriteDisabled":true,"mcpQueueWriteDisabled":true,"externalStorageUploadDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"signerEvidenceWritten":false,"requirementEvidenceWritten":false,"revocationTemplateWritten":false,"approvalLedgerUpdated":false,"mcpIndexQueued":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"pixelAtlasPublishDisabled":true,"mapPublishDisabled":true,"bbsPostDisabled":true,"externalMintDisabled":true,"tradingUseDisabled":true,"atomicity":"all-or-nothing","evidencePacketDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","placeholderDigest":"719f01e96100014678e98ba5b77d7cabce473df09aa682f0af76bb3050808364","previewDigest":"7c4f7c4eb0d41692b962990b8c95acdc9bef1a4395eed3db5c9437f9064fccab","visualTransactionDigest":"137998d2da2e3909b1b48c0949dd0d0f30448feb05854529b246b8633cda67de","reviewDigest":"87c51f3843cfe89528800a9c4a8ad3386812b219b6e40478aefd9eb08e3850fa","approvalDigest":"7d7c23ee4b9c5ce6168558b26f1ebcf81878d9cd6ee6f4a4aef035020e51f616","visualDigest":"d8af9440520b9c2b8b3e165b1ba0b0df0c436b1d86acb2482ebf1d6512f2f7c5","imageSha256":null,"evidenceTransactionDigest":"802f8df53b5498fdb5d483a8b463ee1e3d595d722aa165b9c3a89515cf2eef3f","writerEnvelope":{"table":"asset_visual_approval_evidence_transactions","schemaVersion":"2026-06-visual-approval-evidence-transaction-dry-run-v1","transactionType":"approval-evidence-write","transactionMode":"dry-run-only","evidenceTransactionId":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","evidencePacketId":"asset-visual-approval-evidence-in-invit-infra-corridor-isometric-nft-card","idempotencyKey":"656e4707502b55e7e630777b3639bacc","candidateSlug":"in-invit-infra-corridor","formatKey":"isometric-nft-card","targetEvidenceTable":"asset_visual_approval_evidence","targetPlaceholderId":"asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","targetPreviewRowId":"asset-visual-registry-preview-in-invit-infra-corridor-isometric-nft-card","targetVisualResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor/isometric-nft-card","sourceEvidenceType":"missing-source","sourceEvidencePublicPath":null,"sourceEvidenceSha256":null,"sourceMatchesTransaction":false,"createdAt":"2026-07-31T18:33:39.533Z","atomicity":"all-or-nothing","lockStrategy":"candidate-format-idempotency-lock","writeDisabled":true},"writeSet":[{"id":"assert-evidence-packet-digest","table":"asset_visual_approval_evidence_packets","operation":"assert","writeDisabled":true,"sourceDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"先校验 evidencePacketDigest，避免为过期证据包写入审批证据。"},{"id":"assert-source-evidence-digest","table":"asset_visual_source_evidence","operation":"assert","writeDisabled":true,"sourceDigest":null,"note":"校验本地生成图或事务图的 source evidence 摘要；当前只 assert，不写入证据表。"},{"id":"insert-approval-evidence-row","table":"asset_visual_approval_evidence","operation":"insert","writeDisabled":true,"sourceDigest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"未来写入审批证据主行；当前 evidenceWriteDisabled=true。"},{"id":"bulk-insert-signer-evidence","table":"asset_visual_approval_evidence_signers","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"2afcce1af273f616627aff9867bd99234c1880f9d60ab03c8d853a912154373b","note":"未来写入双签身份、时间戳和证据 URI；当前 signer evidence 仍为空。"},{"id":"bulk-insert-requirement-evidence","table":"asset_visual_approval_evidence_requirements","operation":"bulk-insert","writeDisabled":true,"sourceDigest":"db10c789d59d287cdbf92009b1f3d50810f631992e511c076f9d4df97f21a386","note":"未来写入五类证据要求的满足状态；当前 supplied=false。"},{"id":"insert-revocation-template","table":"asset_visual_approval_evidence_revocations","operation":"insert","writeDisabled":true,"sourceDigest":"f0d5ea6593c8c38dcf2aa164859b4ca03f60c716e29e310dd7d0accb20fe5d7e","note":"未来为审批证据生成撤销模板；当前 revocationWriteDisabled=true。"},{"id":"queue-mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","writeDisabled":true,"sourceDigest":"asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","note":"未来写证据后排队 MCP 索引；当前 mcpQueueWriteDisabled=true。"},{"id":"no-op-final-approval","table":"asset_visual_approval_ledger","operation":"no-op","writeDisabled":true,"sourceDigest":"7d7c23ee4b9c5ce6168558b26f1ebcf81878d9cd6ee6f4a4aef035020e51f616","note":"证据写入事务不等同最终批准，finalApprovalRecorded 必须保持 false。"}],"preconditions":[{"id":"evidence-packet-ready","label":"证据包结构可检查","satisfied":false,"digest":"1c207ee684abe45866791f48901049cb5b59dcfe895c6d66ae2ab8e8c01492fb","note":"只有 evidence-packet-ready 才能进入 writer transaction dry-run。"},{"id":"placeholder-ready","label":"审批占位 ready","satisfied":false,"digest":"719f01e96100014678e98ba5b77d7cabce473df09aa682f0af76bb3050808364","note":"审批占位必须 ready，不能绕过真实审批占位账本。"},{"id":"preview-row-ready","label":"目标清单预览 ready","satisfied":false,"digest":"7c4f7c4eb0d41692b962990b8c95acdc9bef1a4395eed3db5c9437f9064fccab","note":"写入证据必须能定位未发布清单预览行。"},{"id":"signer-identity-present","label":"签署人身份已填写","satisfied":false,"digest":null,"note":"当前 approverId 仍为空，不能真实写入 signer evidence。"},{"id":"approval-timestamp-present","label":"审批时间戳已填写","satisfied":false,"digest":null,"note":"当前 approvedAt 仍为空，不能真实写入审批时间证据。"},{"id":"evidence-uri-present","label":"证据 URI 已上传","satisfied":false,"digest":null,"note":"当前不允许上传外部附件，approvalEvidenceUri 必须保持 null。"},{"id":"source-evidence-present","label":"源图片证据已绑定","satisfied":false,"digest":null,"note":"writer envelope 必须能定位源图片 publicPath 和 sha256，不能只靠 UI 缩略图。"},{"id":"source-evidence-matches-transaction","label":"源图片证据与事务一致","satisfied":true,"digest":null,"note":"BBS Gap 本地生成图命中时，必须与事务层 source/imageSha256 保持一致。"},{"id":"writer-switch-disabled","label":"写入开关保持关闭","satisfied":true,"digest":null,"note":"运营测试期必须保持 evidenceWriteTransactionDisabled=true。"}],"rollbackPlan":{"rollbackPlanId":"rollback-asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","mode":"dry-run-only","compensationStrategy":"remove-unpublished-evidence-rows-only","canRollbackWithoutMutation":true,"requiresDualControl":true,"rollbackWriteDisabled":true,"rollbackScope":"approval-evidence-and-unpublished-preview-only"},"revocationTransactionTemplate":{"templateId":"revocation-tx-asset-visual-approval-evidence-tx-in-invit-infra-corridor-isometric-nft-card","sourceRevocationTemplateId":"revocation-evidence-asset-visual-approval-placeholder-in-invit-infra-corridor-isometric-nft-card","requiresDualControl":true,"revocationEvidenceRequired":true,"revocationUploadDisabled":true,"revocationWriteDisabled":true,"note":"撤销审批证据时也必须走双人证据事务；当前只生成模板，不写撤销记录。"},"releaseGate":{"evidencePacketReady":false,"signerIdentityPresent":false,"approvalTimestampPresent":false,"evidenceUriPresent":false,"evidenceDigestPresent":false,"writeSwitchEnabled":false,"evidenceTransactionShapeReady":false,"evidenceWriteTransactionDisabled":true,"databaseWriteDisabled":true,"approvalEvidenceWritten":false,"approvalEvidenceCommitted":false,"finalApprovalRecorded":false,"registryPromotionAllowed":false,"mcpQueueWriteDisabled":true},"qaChecklist":[{"label":"证据包 ready","passed":false},{"label":"幂等键已生成","passed":true},{"label":"writeSet 只读预演","passed":true},{"label":"源图片证据已绑定","passed":false},{"label":"本地源证据与事务一致","passed":true},{"label":"签署人身份仍未填写","passed":false},{"label":"证据 URI 仍未上传","passed":false},{"label":"证据写入仍为 false","passed":false}],"blockers":["印度 REITs / InvIT Infra Corridor 仍被 brief/source/policy 门禁阻断，不能进入双人审批。","approval packet 未达到 dual-control-ready，不能生成可校验迁入事务。","事务未达到 transaction-dry-run-ready，只能展示 blocked preview row。","本地生成图片证据未检测到，且 Registry preview row 尚未 ready。","Registry preview row 尚未 ready，不能开放真实审批占位槽位。","本地生成图片证据未检测到，且真实审批占位尚未 ready。","真实审批占位尚未 ready，不能生成可检查证据包。","源图片证据未完整检测，且证据包尚未 ready。","证据包尚未 ready，不能进入 evidence writer transaction dry-run。"],"requiredActions":[{"owner":"qa","label":"回到证据包页面处理前置阻断后再进入写入事务预演","href":"/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card"}],"links":{"evidenceTransactionApi":"/api/public/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidenceTransactionPage":"/operations/asset-visual-approval-evidence-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidencePacket":"/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","evidencePacketApi":"/api/public/operations/asset-visual-approval-evidence-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalPlaceholder":"/operations/asset-visual-approval-placeholder-ledger?asset=in-invit-infra-corridor&format=isometric-nft-card","registryPreview":"/operations/asset-visual-registry-preview?asset=in-invit-infra-corridor&format=isometric-nft-card","visualTransaction":"/operations/virtual-asset-visual-transaction-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","approvalDryRun":"/operations/virtual-asset-visual-approval-dry-run?asset=in-invit-infra-corridor&format=isometric-nft-card","visualReview":"/operations/virtual-asset-visual-review-ledger?asset=in-invit-infra-corridor&decision=blocked-by-brief&format=isometric-nft-card","formalRegistry":"/operations/asset-visual-registry","search":"/search?q=%E5%8D%B0%E5%BA%A6%20REITs%20%2F%20InvIT%20Infra%20Corridor"},"mcp":{"visualApprovalEvidenceTransactionResourceUri":"reits://asset-visual-approval-evidence-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalEvidenceResourceUri":"reits://asset-visual-approval-evidence/in-invit-infra-corridor/isometric-nft-card","visualApprovalPlaceholderResourceUri":"reits://asset-visual-approval-placeholder/in-invit-infra-corridor/isometric-nft-card","visualRegistryPreviewResourceUri":"reits://asset-visual-registry-preview/in-invit-infra-corridor/isometric-nft-card","visualTransactionResourceUri":"reits://asset-visual-registry-transaction/in-invit-infra-corridor/isometric-nft-card","visualApprovalResourceUri":"reits://asset-visual-approval-dry-run/in-invit-infra-corridor/isometric-nft-card","visualReviewResourceUri":"reits://asset-visual-review-ledger/in-invit-infra-corridor/isometric-nft-card","visualTrialResourceUri":"reits://asset-visual-trials/in-invit-infra-corridor/isometric-nft-card","futureAssetResourceUri":"reits://virtual-assets/in-invit-infra-corridor","visualRegistryResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor","targetVisualResourceUri":"reits://asset-visual-registry/in-invit-infra-corridor/isometric-nft-card"}}],"statusBreakdown":[{"status":"evidence-transaction-ready","label":"证据写入事务可检查","count":6},{"status":"needs-pin-redraw","label":"需先重绘地图 Pin","count":0},{"status":"needs-compliance-review","label":"需先合规复核","count":1},{"status":"missing-file","label":"缺文件不可写证据","count":0},{"status":"blocked-by-brief","label":"Brief 阻断不可写证据","count":2}],"countryBreakdown":[{"countrySlug":"cn","countryName":"中国内地","transactionCount":4,"evidenceTransactionReadyCount":4,"blockedBeforeEvidenceTransactionCount":0},{"countrySlug":"au","countryName":"澳大利亚","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0},{"countrySlug":"uk","countryName":"英国","transactionCount":1,"evidenceTransactionReadyCount":1,"blockedBeforeEvidenceTransactionCount":0},{"countrySlug":"ca","countryName":"加拿大","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1},{"countrySlug":"eu","countryName":"欧盟","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1},{"countrySlug":"in","countryName":"印度","transactionCount":1,"evidenceTransactionReadyCount":0,"blockedBeforeEvidenceTransactionCount":1}],"qaWarnings":["该层只预演 approval evidence writer transaction，不上传证据、不写表、不提交最终批准。","evidence-transaction-ready 只代表事务形状可检查，签署人身份、审批时间戳和证据 URI 仍为空。","sourceEvidence 只进入 writer envelope 的 assert/precondition，不等同 approval evidence 已上传或写入。","evidenceWriteTransactionDisabled、databaseWriteDisabled、mcpQueueWriteDisabled 必须保持 true。","该事务不能直接推动 Pixel Atlas、地图、BBS 或正式图片清单发布。"],"publicNotes":["当前筛选范围内有 9 个证据写入事务 envelope，6 个可检查，7 个带本地生成源证据。","运营可以用该页确认未来 evidence writer 需要写哪些表、按什么幂等键锁定、失败后如何撤销。","下一步真正接 writer 前，应先补齐身份系统、审批时间、附件存储策略和 MCP governance index 写入权限。","BBS Gap 已进入 4 个证据写入事务 dry-run envelope；仍禁写 evidence、禁写 DB、禁排 MCP 队列。"]}