{"generatedAt":"2026-09-07T03:28:49.530Z","scope":{"countrySlug":"sg","status":null,"action":"approve-for-manual-post","articleSlug":null,"correctionType":null},"metrics":{"transactionCount":1,"transactionDryRunReadyCount":1,"needsTransactionFieldsCount":0,"needsDualControlCount":0,"blockedByPolicyCount":0,"writeDisabledCount":1,"mcpQueueWriteDisabledCount":1,"rollbackPlanCount":1,"transactionDigestCount":1,"committedCount":0,"mcpResourceCount":1},"records":[{"generatedAt":"2026-09-07T03:28:49.530Z","transactionId":"bbs-audit-write-transaction-approve-for-manual-post-sreit-currency-dividend","dualControlId":"bbs-audit-correction-dual-control-approve-for-manual-post-sreit-currency-dividend","correctionEventId":"bbs-confirmation-audit-correction-approve-for-manual-post-sreit-currency-dividend","targetAuditLogId":"bbs-confirmation-audit-log-approve-for-manual-post-sreit-currency-dividend","targetAuditDigest":"b5ba1f5d16e6b21678f6371c573b4ed6499d45e13f85842b50db9cc28ad9f99e","correctionDigest":"2cb9af27324e4244089e2436cb3d25afd880e8bd306b42ee1e74ca177d34334f","approvalDigest":"06fc6e12102470885cecbe4af2fb43b15063b1b9ea771a110b89396c3e874146","action":"approve-for-manual-post","actionLabel":"批准手动发帖","articleSlug":"sreit-currency-dividend","confirmationId":"bbs-human-confirmation-sreit-currency-dividend","title":"【REITs 共审】新加坡 / 新加坡 S-REIT Harbor Block：新加坡 S-REIT 汇率和派息讨论进入内容候选池","countrySlug":"sg","countryName":"新加坡","assetSlug":"sg-commercial-harbor-block","assetName":"新加坡 S-REIT Harbor Block","status":"transaction-dry-run-ready","statusLabel":"事务 dry-run 可校验","correctionType":"policy-blocker-note","dualControlStatus":"dual-control-ready","dualControlStatusLabel":"双人确认 dry-run 可校验","transactionDryRun":true,"transactionWriteDisabled":true,"transactionOnly":true,"mcpQueueWriteDisabled":true,"databaseWriteDisabled":true,"approvalWritten":false,"correctionEventWritten":false,"auditLogMutated":false,"mcpIndexQueued":false,"bbsPosted":false,"atomicity":"all-or-nothing","requiredInputs":["transactionDryRun","transactionWriteDisabled","transactionOnly","transactionSchemaVersion","transactionReason","idempotencyKey","rollbackPlanAccepted","mcpQueueWriteDisabled","dualControlDryRun","dualControlWriteDisabled","dualControlOnly","approvalSchemaVersion","approvalReason","secondConfirm"],"blockers":[],"transactionEnvelope":{"table":"bbs_audit_write_transactions","schemaVersion":"2026-06-bbs-audit-write-transaction-v1","transactionId":"bbs-audit-write-transaction-approve-for-manual-post-sreit-currency-dividend","transactionType":"audit-correction-write","transactionMode":"dry-run-only","idempotencyKey":"f9e38f648e97fc03ceaeb8c11b4154bc","action":"approve-for-manual-post","articleSlug":"sreit-currency-dividend","correctionType":"policy-blocker-note","targetAuditLogId":"bbs-confirmation-audit-log-approve-for-manual-post-sreit-currency-dividend","auditDigest":"b5ba1f5d16e6b21678f6371c573b4ed6499d45e13f85842b50db9cc28ad9f99e","correctionDigest":"2cb9af27324e4244089e2436cb3d25afd880e8bd306b42ee1e74ca177d34334f","approvalDigest":"06fc6e12102470885cecbe4af2fb43b15063b1b9ea771a110b89396c3e874146","createdAt":"2026-09-07T03:28:49.530Z","atomicity":"all-or-nothing","writeDisabled":true},"writeSet":[{"id":"audit-log-original","table":"bbs_confirmation_audit_log","operation":"no-op","digestField":"auditDigest","writeDisabled":true,"note":"原审计日志不得修改，只作为 digest precondition。"},{"id":"correction-event","table":"bbs_confirmation_audit_correction_events","operation":"insert","digestField":"correctionDigest","writeDisabled":true,"note":"未来真实写入时插入 correction/redaction 事件。"},{"id":"dual-control-approval","table":"bbs_confirmation_audit_correction_approvals","operation":"insert","digestField":"approvalDigest","writeDisabled":true,"note":"未来真实写入时插入双人确认 approval。"},{"id":"mcp-governance-index","table":"reits_mcp_governance_index_queue","operation":"queue","digestField":"transactionDigest","writeDisabled":true,"note":"未来真实写入成功后再排队 MCP 治理索引。"}],"preconditions":[{"id":"audit-digest-match","label":"原审计摘要匹配","satisfied":true,"digest":"b5ba1f5d16e6b21678f6371c573b4ed6499d45e13f85842b50db9cc28ad9f99e","note":"targetAuditDigest 必须与原审计日志一致。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"2cb9af27324e4244089e2436cb3d25afd880e8bd306b42ee1e74ca177d34334f","note":"correctionDigest 必须来自纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"06fc6e12102470885cecbe4af2fb43b15063b1b9ea771a110b89396c3e874146","note":"approvalDigest 必须来自双人确认 dry-run。"}],"rollbackPlan":{"rollbackPlanId":"rollback-bbs-audit-write-transaction-approve-for-manual-post-sreit-currency-dividend","mode":"dry-run-only","compensationStrategy":"append-compensation-event-only","canRollbackWithoutMutation":true,"requiresOperatorReview":true,"rollbackWriteDisabled":true},"mcpQueuePlan":{"queueName":"reits_mcp_governance_index_queue","operation":"enqueue","writeDisabled":true,"resources":["reits://bbs-audit-write-transaction/approve-for-manual-post/sreit-currency-dividend","reits://bbs-audit-correction-dual-control/approve-for-manual-post/sreit-currency-dividend","reits://bbs-confirmation-audit-correction/approve-for-manual-post/sreit-currency-dividend","reits://bbs-confirmation-audit-log/approve-for-manual-post/sreit-currency-dividend","reits://bbs-confirmation-actor-snapshot/approve-for-manual-post/sreit-currency-dividend"]},"transactionDigest":"352883a05c5dfb21826c6e63d7e3c34bdf3b3d48db270923f3a7d72b80c9435e","links":{"transactionApi":"/api/public/operations/bbs-confirmation-audit-transactions?article=sreit-currency-dividend&action=approve-for-manual-post&type=policy-blocker-note","dualControl":"/operations/bbs-confirmation-audit-correction-dual-control?article=sreit-currency-dividend&action=approve-for-manual-post&type=policy-blocker-note","dualControlApi":"/api/public/operations/bbs-confirmation-audit-correction-dual-control?article=sreit-currency-dividend&action=approve-for-manual-post&type=policy-blocker-note","correction":"/operations/bbs-confirmation-audit-corrections?article=sreit-currency-dividend&action=approve-for-manual-post","correctionApi":"/api/public/operations/bbs-confirmation-audit-corrections?article=sreit-currency-dividend&action=approve-for-manual-post","auditLog":"/operations/bbs-confirmation-audit-log?article=sreit-currency-dividend&action=approve-for-manual-post","actorSnapshot":"/operations/bbs-confirmation-actor-snapshots?article=sreit-currency-dividend&action=approve-for-manual-post","roleGate":"/operations/bbs-confirmation-role-gate?article=sreit-currency-dividend&action=approve-for-manual-post","journal":"/operations/bbs-confirmation-action-journal?article=sreit-currency-dividend&action=approve-for-manual-post","action":"/operations/bbs-confirmation-actions?article=sreit-currency-dividend&action=approve-for-manual-post","confirmation":"/operations/bbs-human-confirmations?article=sreit-currency-dividend","articleQuality":"/operations/article-quality?article=sreit-currency-dividend","context":"/context?asset=sg-commercial-harbor-block"},"mcp":{"transactionResourceUri":"reits://bbs-audit-write-transaction/approve-for-manual-post/sreit-currency-dividend","dualControlResourceUri":"reits://bbs-audit-correction-dual-control/approve-for-manual-post/sreit-currency-dividend","correctionResourceUri":"reits://bbs-confirmation-audit-correction/approve-for-manual-post/sreit-currency-dividend","auditLogResourceUri":"reits://bbs-confirmation-audit-log/approve-for-manual-post/sreit-currency-dividend","actorSnapshotResourceUri":"reits://bbs-confirmation-actor-snapshot/approve-for-manual-post/sreit-currency-dividend","journalResourceUri":"reits://bbs-confirmation-action-journal/approve-for-manual-post/sreit-currency-dividend","actionResourceUri":"reits://bbs-confirmation-action/approve-for-manual-post/sreit-currency-dividend","confirmationResourceUri":"reits://bbs-human-confirmation/sreit-currency-dividend","articleResourceUri":"reits://article/sreit-currency-dividend","assetResourceUri":"reits://asset/sg-commercial-harbor-block"}}],"publicNotes":["BBS Audit Transaction 只定义未来真实写入前的事务 dry-run，不提交数据库。","事务 envelope 串联 auditDigest、correctionDigest、approvalDigest 和 idempotencyKey。","真实写入必须在事务成功后再排队 MCP 治理索引，当前 mcpQueueWriteDisabled=true。"],"qaWarnings":["该门禁不会写 transaction，transactionWritten 始终为 false。","该门禁不会排队 MCP 索引，mcpIndexQueued 始终为 false。","数据库事务、幂等锁、回滚 worker 和 MCP index worker 完成前，不得开放真实写入。"]}