{"generatedAt":"2026-07-31T18:33:39.544Z","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-07-31T18:33:39.544Z","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":"fcb3c0a68652538fcd074338d6b1ccc4cb259c3854fca55444b743013288fe64","correctionDigest":"bfc2230354e909293a665e4c885bd5b06fad3332ccb64ae6821d5e4ad67f1a9a","approvalDigest":"3241dcb35602a86fb8ecca16a05f55410919f3fd58bb1020369580d4bec75ffb","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":"7cd9b01369a63fd812192485709e532f","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":"fcb3c0a68652538fcd074338d6b1ccc4cb259c3854fca55444b743013288fe64","correctionDigest":"bfc2230354e909293a665e4c885bd5b06fad3332ccb64ae6821d5e4ad67f1a9a","approvalDigest":"3241dcb35602a86fb8ecca16a05f55410919f3fd58bb1020369580d4bec75ffb","createdAt":"2026-07-31T18:33:39.544Z","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":"fcb3c0a68652538fcd074338d6b1ccc4cb259c3854fca55444b743013288fe64","note":"targetAuditDigest 必须与原审计日志一致。"},{"id":"correction-digest-match","label":"纠错摘要匹配","satisfied":true,"digest":"bfc2230354e909293a665e4c885bd5b06fad3332ccb64ae6821d5e4ad67f1a9a","note":"correctionDigest 必须来自纠错事件 dry-run。"},{"id":"approval-digest-match","label":"双人确认摘要匹配","satisfied":true,"digest":"3241dcb35602a86fb8ecca16a05f55410919f3fd58bb1020369580d4bec75ffb","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":"1e3c220bed3a8015f8f1b04c70ebd8ca1b441dd5dca22587e7944eee9c45027e","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 完成前，不得开放真实写入。"]}