fix(web): 同步治理頁繁中鏡像文案
Some checks failed
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m37s
CD Pipeline / build-and-deploy (push) Successful in 5m9s
CD Pipeline / post-deploy-checks (push) Successful in 1m52s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-19 03:03:33 +08:00
parent f2b7e8d66e
commit 9be4e57723
2 changed files with 176 additions and 172 deletions

View File

@@ -2329,7 +2329,7 @@
"stats": "建立 report-source-gap:stats_api",
"git": "建立 report-source-gap:gitea_activity",
"cost": "建立 report-source-gap:ai_cost_ledger",
"noSend": "維持 no-send preview不直接實發 Telegram"
"noSend": "維持 無發送 preview不直接實發 Telegram"
}
},
"sources": {
@@ -2342,7 +2342,7 @@
"incident": "缺資料時追查 incidents freshness、Alertmanager 入庫與 recurrence mirror。",
"resolution": "缺資料時追查 resolved_at、duration 與 postmortem 寫回。",
"disposition": "缺資料時追查 approval_records、auto repair execution 與 no-action 分流。",
"statusBoard": "缺資料時追查 committed snapshot、API route 與 no-send preview contract。"
"statusBoard": "缺資料時追查 committed snapshot、API route 與 無發送 preview contract。"
},
"sourceMatrix": {
"title": "資料源健康矩陣",
@@ -3925,91 +3925,91 @@
},
"boundaries": {
"gateway": "Gateway queue write",
"telegram": "Telegram send",
"botApi": "Bot API call",
"receipt": "Receipt production write",
"production": "Production write",
"secret": "Secret / paid / host / kubectl"
"telegram": "Telegram 發送",
"botApi": "Bot API 呼叫",
"receipt": "Receipt 正式寫入",
"production": "正式寫入",
"secret": "Secret / 付費 / 主機 / kubectl"
},
"riskTiers": {
"low": "low",
"medium": "medium",
"high": "high",
"critical": "critical"
"low": "低風險",
"medium": "中風險",
"high": "高風險",
"critical": "關鍵風險"
}
},
"reportNoWriteAnalysis": {
"title": "P2-407 AI 報表 no-write 分析",
"title": "P2-407 AI 報表 無寫入 分析",
"subtitle": "{current} → {next};分析建議 {recommendations};阻擋中的 runtime 操作 {blocked}。",
"badges": {
"mode": "committed snapshot",
"mode": "已提交快照",
"room": "戰情室 {room}",
"live": "live total {count}"
"live": "正式動作總數 {count}"
},
"metrics": {
"overall": "完成度",
"sources": "來源讀回",
"inputs": "報表輸入",
"passes": "Agent pass",
"passes": "Agent 通過",
"recommendations": "分析建議",
"artifacts": "草稿產物",
"gates": "Owner gates",
"gates": "負責人關卡",
"approvals": "需批准",
"live": "Live total"
"live": "正式動作總數"
},
"sections": {
"recommendations": "No-write 分析建議",
"recommendations": "無寫入 分析建議",
"agentPasses": "Agent 接手分析",
"ownerGates": "Owner gate",
"truth": "No-write truth"
"ownerGates": "負責人關卡",
"truth": "無寫入真相"
},
"labels": {
"score": "score {score}",
"approvalRequired": "approval {value}",
"score": "分數 {score}",
"approvalRequired": "批准 {value}",
"gateDetail": "owner {owner} · 欄位 {fields} · 驗收 {checks}",
"generated": "generated {generated}",
"env": "env {value}",
"redaction": "redaction {value}"
"generated": "產生於 {generated}",
"env": "環境 {value}",
"redaction": "脫敏 {value}"
},
"riskTiers": {
"low": "low",
"medium": "medium",
"high": "high",
"critical": "critical"
"low": "低風險",
"medium": "中風險",
"high": "高風險",
"critical": "關鍵風險"
}
},
"lowMediumWhitelist": {
"title": "P2-408 中 / 低風險白名單",
"subtitle": "{current} → {next};候選 {candidates};阻擋中的 runtime 操作 {blocked}。",
"badges": {
"mode": "no-live whitelist",
"mode": "無正式執行白名單",
"room": "戰情室 {room}",
"live": "live total {count}"
"live": "正式動作總數 {count}"
},
"metrics": {
"overall": "完成度",
"candidates": "白名單候選",
"low": "低風險",
"medium": "中風險",
"verifiers": "Verifier",
"rollback": "Rollback proof",
"audit": "Audit reason",
"verifiers": "驗證器",
"rollback": "回滾證據",
"audit": "審計理由",
"highRedirects": "高風險分流",
"live": "Live total"
"live": "正式動作總數"
},
"sections": {
"candidates": "中 / 低風險候選",
"ownerGates": "Owner gates",
"verifiers": "Dry-run verifier",
"truth": "Whitelist truth"
"ownerGates": "負責人關卡",
"verifiers": "Dry-run 驗證器",
"truth": "白名單真相"
},
"labels": {
"verifier": "verifier {value}",
"rollback": "rollback {value}",
"verifier": "驗證器 {value}",
"rollback": "回滾 {value}",
"gateDetail": "owner {owner} · 欄位 {fields} · 驗收 {checks}",
"generated": "generated {generated}",
"env": "env {value}",
"redaction": "redaction {value}"
"generated": "產生於 {generated}",
"env": "環境 {value}",
"redaction": "脫敏 {value}"
},
"agents": {
"openclaw": "OpenClaw",
@@ -4018,52 +4018,52 @@
"sre": "SRE"
},
"riskTiers": {
"low": "low",
"medium": "medium"
"low": "低風險",
"medium": "中風險"
},
"statuses": {
"candidate_only_no_live_execution": "候選 only",
"dry_run_ready_no_live_execution": "dry-run ready",
"owner_review_required_no_live_execution": "owner review"
"candidate_only_no_live_execution": "候選",
"dry_run_ready_no_live_execution": "dry-run 就緒",
"owner_review_required_no_live_execution": "需負責人審查"
}
},
"highRiskOwnerQueue": {
"title": "P2-409 高風險 Owner Review Queue",
"subtitle": "{current} → {next};佇列 {queue};阻擋中的 runtime 操作 {blocked}。",
"badges": {
"mode": "high-risk paused",
"mode": "高風險暫停",
"room": "戰情室 {room}",
"live": "live total {count}"
"live": "正式動作總數 {count}"
},
"metrics": {
"overall": "完成度",
"queue": "Queue items",
"critical": "Critical",
"high": "High",
"packets": "Approval packets",
"queue": "佇列項目",
"critical": "關鍵風險",
"high": "高風險",
"packets": "批准封包",
"guards": "拒收規則",
"checklists": "Checklist",
"accepted": "Owner accepted",
"live": "Live total"
"checklists": "檢查清單",
"accepted": "負責人已接受",
"live": "正式動作總數"
},
"sections": {
"queue": "高風險暫停佇列",
"routing": "路由政策",
"guards": "拒收規則",
"truth": "Queue truth"
"truth": "佇列真相"
},
"labels": {
"packet": "packet {value}",
"packet": "封包 {value}",
"fields": "owner 欄位 {count}",
"highRoute": "High route",
"criticalRoute": "Critical route",
"ownerRequired": "owner required {value}",
"verbalApproval": "verbal approval {value}",
"telegram": "Telegram policy",
"telegramDetail": "live action {count}",
"generated": "generated {generated}",
"redaction": "redaction {value}",
"ownerAccepted": "owner accepted {count}"
"highRoute": "高風險路由",
"criticalRoute": "關鍵路由",
"ownerRequired": "需要 owner {value}",
"verbalApproval": "口頭批准 {value}",
"telegram": "Telegram 政策",
"telegramDetail": "正式動作 {count}",
"generated": "產生於 {generated}",
"redaction": "脫敏 {value}",
"ownerAccepted": "負責人已接受 {count}"
},
"agents": {
"openclaw": "OpenClaw",
@@ -4074,53 +4074,53 @@
"devops": "DevOps"
},
"riskTiers": {
"high": "high",
"critical": "critical"
"high": "高風險",
"critical": "關鍵風險"
},
"statuses": {
"paused_owner_review_required": "paused",
"blocked_missing_owner_response": "owner missing",
"approval_packet_preview_ready": "packet ready"
"paused_owner_review_required": "已暫停",
"blocked_missing_owner_response": "缺負責人回覆",
"approval_packet_preview_ready": "封包就緒"
}
},
"actionAuditLedger": {
"title": "P2-410 AI Agent 行動審計帳本",
"subtitle": "{current} → {next}audit event {events};阻擋中的 runtime 操作 {blocked}。",
"badges": {
"mode": "immutable no-write ledger",
"immutable": "event templates {count}",
"live": "live write total {count}"
"mode": "不可變無寫入帳本",
"immutable": "事件模板 {count}",
"live": "正式寫入總數 {count}"
},
"metrics": {
"overall": "完成度",
"events": "Audit events",
"lowMedium": "Low / Medium",
"highRisk": "High risk",
"critical": "Critical",
"report": "Report gaps",
"telegram": "Telegram events",
"gates": "Verifier gates",
"fields": "Audit fields",
"live": "Live writes"
"events": "審計事件",
"lowMedium": "低 / 中風險",
"highRisk": "高風險",
"critical": "關鍵風險",
"report": "報表缺口",
"telegram": "Telegram 事件",
"gates": "驗證關卡",
"fields": "審計欄位",
"live": "正式寫入"
},
"sections": {
"events": "行動審計事件",
"boundaries": "No-write 邊界",
"gates": "Verifier receipt gates",
"truth": "Ledger truth"
"boundaries": "無寫入 邊界",
"gates": "驗證回執關卡",
"truth": "帳本真相"
},
"labels": {
"fields": "audit 欄位 {count}",
"sideEffects": "side effects {count}",
"auditDb": "Audit DB write",
"timelineKm": "Timeline / KM write",
"telegram": "Telegram send",
"writeTotal": "live write total {count}",
"sideEffects": "副作用 {count}",
"auditDb": "Audit DB 寫入",
"timelineKm": "Timeline / KM 寫入",
"telegram": "Telegram 發送",
"writeTotal": "正式寫入總數 {count}",
"playbook": "PlayBook trust {value}",
"queueBot": "queue {queue} / bot {bot}",
"generated": "generated {generated}",
"redaction": "redaction {value}",
"ownerAccepted": "owner accepted {count}"
"generated": "產生於 {generated}",
"redaction": "脫敏 {value}",
"ownerAccepted": "負責人已接受 {count}"
},
"agents": {
"openclaw": "OpenClaw",
@@ -4142,7 +4142,7 @@
"owner_queue_pause": "owner queue pause",
"runtime_action_rejection": "runtime rejection",
"work_item_owner_review": "work item review",
"no_send_preview": "no-send preview",
"no_send_preview": "無發送 preview",
"notification_egress_guard": "egress guard",
"writeback_blocked": "writeback blocked"
}
@@ -4865,7 +4865,7 @@
"labels": {
"requiredFields": "必填欄位 {count}",
"forbiddenFields": "禁止欄位 {count}",
"noWrite": "no-write proof: {value}"
"noWrite": "無寫入 proof: {value}"
},
"agents": {
"openclaw": "OpenClaw",
@@ -5108,7 +5108,7 @@
"subtitle": "{current} 已整理日報、週報、月報實發批准包;下一關 {next} 才能進入 fixture readback不直接實發。",
"source": "{generated} · {current}",
"route": "正式目標:{room}",
"statusLine": "這裡顯示 AI Agent 報告要如何送到 Telegram先走 AwoooI SRE 戰情室、先做 no-send 演練、先確認 dedup / redaction / 回執欄位;目前 scheduler、Gateway queue、Bot API、Telegram 實發、讀報回執與 AI 分析全部仍為 0。",
"statusLine": "這裡顯示 AI Agent 報告要如何送到 Telegram先走 AwoooI SRE 戰情室、先做 無發送 演練、先確認 dedup / redaction / 回執欄位;目前 scheduler、Gateway queue、Bot API、Telegram 實發、讀報回執與 AI 分析全部仍為 0。",
"routeGateTitle": "Telegram 路由與 TG Bot 閘門",
"receiptTitle": "讀報回執與 AI 分析演練",
"metrics": {
@@ -5129,7 +5129,7 @@
"ownerReview": "人工審核: {value}"
},
"labels": {
"noSendMode": "no-send: {value}",
"noSendMode": "無發送: {value}",
"requiredEvidence": "證據 {count}",
"gateway": "queue write: {value}",
"telegram": "send: {value}",
@@ -5183,9 +5183,9 @@
}
},
"reportRuntimeDryRun": {
"title": "P2-403M 報表 runtime no-write dry-run 證據包",
"title": "P2-403M 報表 runtime 無寫入 dry-run 證據包",
"source": "{generated} · {current} → {next}",
"truthTitle": "no-write dry-run 真相",
"truthTitle": "無寫入 dry-run 真相",
"queueTitle": "Gateway queue 草案",
"queueSummary": "草案收件目標是 {room}Secret 只能引用 {secret};目前 queue write {queue}、Bot API {bot}、Telegram send {send}。",
"metrics": {
@@ -5201,7 +5201,7 @@
"verifierLive": "live verifier"
},
"flags": {
"noWrite": "no-write package: {value}",
"noWrite": "無寫入 package: {value}",
"queueDraft": "queue draft: {value}",
"queueWrite": "queue write: {value}",
"receipt": "receipt write: {value}",
@@ -5272,7 +5272,7 @@
"liveCount": "live {count}"
},
"statuses": {
"passed_no_write": "no-write 通過",
"passed_no_write": "無寫入 通過",
"passed_redaction": "redaction 通過",
"ready_for_owner_review": "可審查",
"blocked_by_runtime_gate": "runtime 阻擋",
@@ -5287,18 +5287,18 @@
}
},
"runtimeWorkerShadowGate": {
"title": "P2-404 runtime worker shadow / no-write execution evidence gate",
"title": "P2-404 runtime worker shadow / 無寫入 execution evidence gate",
"source": "{generated} · {current} → {next}",
"truthTitle": "shadow gate 真相",
"boundaryTitle": "live 邊界",
"boundarySummary": "目前 live worker {live}、Gateway queue write {queue}、Telegram send {send}、production write {write};這段只允許 shadow/no-write evidence。",
"boundarySummary": "目前 live worker {live}、Gateway queue write {queue}、Telegram send {send}、production write {write};這段只允許 shadow/無寫入 evidence。",
"metrics": {
"overall": "P2-404 進度",
"candidates": "shadow 候選",
"passed": "no-write 通過",
"passed": "無寫入 通過",
"blocked": "阻擋候選",
"review": "需審查",
"replays": "no-write replay",
"replays": "無寫入 replay",
"verifierCases": "verifier cases",
"approvals": "需批准",
"liveRuns": "live worker",
@@ -5309,7 +5309,7 @@
"flags": {
"shadowReady": "shadow evidence: {value}",
"promotionReady": "fixture promotion: {value}",
"replayReady": "no-write replay: {value}",
"replayReady": "無寫入 replay: {value}",
"operatorReview": "operator packet: {value}",
"shadowLive": "shadow live: {value}",
"queueWrite": "queue write: {value}",
@@ -5327,8 +5327,8 @@
"sideEffect": "side effects {count}"
},
"statuses": {
"passed_no_write_replay": "no-write replay 通過",
"passed_no_write": "no-write 通過",
"passed_no_write_replay": "無寫入 replay 通過",
"passed_no_write": "無寫入 通過",
"needs_owner_review": "需 owner 審查",
"blocked_by_runtime_gate": "runtime 阻擋"
},
@@ -5349,7 +5349,7 @@
"overall": "P2-101 進度",
"categories": "操作類別",
"observeOnly": "只讀",
"noWrite": "no-write",
"noWrite": "無寫入",
"proposals": "提案",
"humanApproval": "需人工",
"blocked": "明確阻擋",
@@ -5385,7 +5385,7 @@
},
"lanes": {
"observe_only": "只讀觀察",
"no_write_replay_allowed": "no-write replay",
"no_write_replay_allowed": "無寫入 replay",
"proposal_only": "提案 / SOP",
"human_approval_required": "需人工批准",
"explicitly_blocked": "明確阻擋"
@@ -5412,7 +5412,7 @@
"overall": "P2-102 進度",
"candidates": "候選操作",
"evidence": "有證據",
"passed": "no-write 通過",
"passed": "無寫入 通過",
"needsReview": "需審查",
"allowlistBlocked": "等 allow-list",
"policyBlocked": "政策阻擋",
@@ -5448,7 +5448,7 @@
"reviewRequired": "人工審查: {value}"
},
"statuses": {
"passed_no_write": "no-write 通過",
"passed_no_write": "無寫入 通過",
"needs_owner_review": "需 owner 審查",
"blocked_until_allowlist": "等 allow-list",
"blocked_by_policy": "政策阻擋"
@@ -5692,7 +5692,7 @@
"title": "P2-106 統帥批准後結果捕捉 dry-run",
"source": "{generated} · {current} → {next}",
"packetTitle": "批准包",
"truthTitle": "no-write dry-run 真相",
"truthTitle": "無寫入 dry-run 真相",
"metrics": {
"overall": "P2-106 進度",
"templates": "捕捉模板",
@@ -5923,7 +5923,7 @@
"metrics": {
"overall": "P2-110 進度",
"cards": "實作卡",
"checks": "no-write verifier",
"checks": "無寫入 verifier",
"blockers": "阻塞項",
"actions": "操作選項",
"approvalRequired": "需批准",
@@ -5952,7 +5952,7 @@
"labels": {
"interfaces": "介面欄位 {count}",
"blockedActions": "阻擋動作 {count}",
"noWriteMode": "no-write: {value}",
"noWriteMode": "無寫入: {value}",
"requiredEvidence": "必備證據 {count}",
"liveQuery": "live query: {value}",
"runtimeWrite": "runtime 寫入: {value}",
@@ -6001,7 +6001,7 @@
"packets": "批准包",
"routeGates": "route gate",
"redactionChecks": "遮蔽檢查",
"receipts": "no-send receipt",
"receipts": "無發送 receipt",
"actions": "操作選項",
"approvalRequired": "需批准",
"blocked": "阻擋總數",
@@ -6019,7 +6019,7 @@
"packageReady": "批准包 ready: {value}",
"routeLocked": "SRE route lock: {value}",
"redactionReady": "遮蔽 ready: {value}",
"dryRunReceipt": "no-send receipt: {value}",
"dryRunReceipt": "無發送 receipt: {value}",
"scheduler": "scheduler: {value}",
"gatewayWrite": "Gateway queue: {value}",
"telegramSend": "Telegram 發送: {value}",
@@ -6030,7 +6030,7 @@
"labels": {
"approvalFields": "批准欄位 {count}",
"blockedActions": "阻擋動作 {count}",
"noSendMode": "no-send: {value}",
"noSendMode": "無發送: {value}",
"requiredEvidence": "必備證據 {count}",
"blockedRoutes": "阻擋路由 {count}",
"telegramSend": "Telegram: {value}",
@@ -6176,7 +6176,7 @@
"contracts": "receipt contract",
"reviewerPreviews": "reviewer queue",
"resultPreviews": "result capture",
"checks": "no-write verifier",
"checks": "無寫入 verifier",
"blockers": "阻塞映射",
"actions": "操作選項",
"approvalRequired": "需批准",
@@ -6203,8 +6203,8 @@
"reviewerReady": "reviewer preview={value}",
"resultReady": "result preview={value}",
"telegramSend": "Telegram send={value}",
"queueWrite": "queue write={value}",
"resultWrite": "result write={value}",
"queueWrite": "queue 寫入={value}",
"resultWrite": "結果寫入={value}",
"redactionRequired": "redaction={value}",
"promptDisplay": "prompt display={value}",
"secretDisplay": "secret display={value}",
@@ -6218,10 +6218,10 @@
"liveSend": "live send={value}",
"receiptWrite": "receipt write={value}",
"requiredFields": "fields {count}",
"queueWrite": "queue write={value}",
"queueWrite": "queue 寫入={value}",
"auditWrite": "audit write={value}",
"resultWrite": "result write={value}",
"learningWrite": "learning write={value}",
"resultWrite": "結果寫入={value}",
"learningWrite": "學習寫入={value}",
"liveVerifier": "live verifier={value}",
"blockedAction": "blocked{value}",
"blockedUntil": "until{value}",
@@ -6265,7 +6265,7 @@
"actionTypes": {
"review_promotion_lane": "審查 promotion lane",
"verify_failure_receipt_fixture": "驗證 failure receipt fixture",
"confirm_reviewer_queue_no_write": "確認 reviewer queue no-write",
"confirm_reviewer_queue_no_write": "確認 reviewer queue 無寫入",
"compare_result_capture_preview": "比對 result capture preview",
"promote_to_p2_114": "推進 P2-114"
}
@@ -6281,7 +6281,7 @@
"packets": "owner packet",
"templates": "acceptance template",
"reviews": "fixture review",
"verifiers": "no-write verifier",
"verifiers": "無寫入 verifier",
"blockers": "blocked promotion",
"actions": "操作選項",
"approvalRequired": "需批准",
@@ -6310,7 +6310,7 @@
"acceptanceReady": "acceptance ready={value}",
"ownerApproval": "owner approval={value}",
"telegramSend": "Telegram send={value}",
"resultWrite": "result write={value}",
"resultWrite": "結果寫入={value}",
"redactionRequired": "redaction={value}",
"promptDisplay": "prompt display={value}",
"secretDisplay": "secret display={value}",
@@ -6321,10 +6321,10 @@
"allowedFixture": "fixture{value}",
"blockedActions": "blocked actions {count}",
"requiredFields": "fields {count}",
"accepted": "accepted={value}",
"recordWrite": "record write={value}",
"accepted": "已接受={value}",
"recordWrite": "紀錄寫入={value}",
"reviewOutcome": "outcome{value}",
"runtimeWrite": "runtime write={value}",
"runtimeWrite": "runtime 寫入={value}",
"liveVerifier": "live verifier={value}",
"blockedAction": "blocked{value}",
"blockedUntil": "until{value}",
@@ -6378,10 +6378,10 @@
"truthTitle": "Canonical readback owner acceptance truth"
},
"failureReceiptNoSendReplay": {
"title": "P2-116 failure receipt no-send replay",
"title": "P2-116 failure receipt 無發送 replay",
"source": "產生 {generated};目前 {current};下一步 {next}",
"priorTitle": "前一關 owner acceptance",
"truthTitle": "No-send replay truth",
"truthTitle": "無發送 replay truth",
"metrics": {
"overall": "完成度",
"fixtures": "Replay fixtures",
@@ -6404,16 +6404,16 @@
"botCalls": "Bot API={value}",
"sendEnabled": "send enabled={value}",
"deprecatedRoutes": "舊路由={value}",
"queueWriteEnabled": "queue write={value}",
"queueWriteEnabled": "queue 寫入={value}",
"blockedAction": "blocked{value}",
"runtimeSendAllowed": "runtime send={value}"
}
},
"reviewerQueueNoWriteReadback": {
"title": "P2-117 reviewer queue no-write readback",
"title": "P2-117 reviewer queue 無寫入 readback",
"source": "產生 {generated};目前 {current};下一步 {next}",
"priorTitle": "前一關 no-send replay",
"truthTitle": "Reviewer queue no-write truth",
"priorTitle": "前一關 無發送 replay",
"truthTitle": "Reviewer queue 無寫入 truth",
"metrics": {
"overall": "完成度",
"fixtures": "Reviewer fixtures",
@@ -6433,19 +6433,19 @@
"targetQueue": "目標 queue{value}",
"reviewerWrites": "reviewer write={value}",
"queueWrites": "Gateway queue={value}",
"resultWrites": "result write={value}",
"resultWrites": "結果寫入={value}",
"queueLane": "lane{value}",
"queueWriteEnabled": "queue write={value}",
"queueWriteEnabled": "queue 寫入={value}",
"requiredReviewer": "reviewer{value}",
"blockedAction": "blocked{value}",
"runtimeQueueWriteAllowed": "runtime queue write={value}"
"runtimeQueueWriteAllowed": "runtime queue 寫入={value}"
}
},
"resultCaptureNoWriteReadback": {
"title": "P2-118 result capture no-write readback",
"title": "P2-118 result capture 無寫入 readback",
"source": "產生 {generated};目前 {current};下一步 {next}",
"priorTitle": "前一關 reviewer queue readback",
"truthTitle": "Result capture no-write truth",
"truthTitle": "Result capture 無寫入 truth",
"metrics": {
"overall": "完成度",
"fixtures": "Capture fixtures",
@@ -6463,8 +6463,8 @@
},
"labels": {
"targetCapture": "目標 capture{value}",
"resultWrites": "result write={value}",
"learningWrites": "learning write={value}",
"resultWrites": "結果寫入={value}",
"learningWrites": "學習寫入={value}",
"trustWrites": "trust write={value}",
"captureLane": "lane{value}",
"captureWriteEnabled": "capture write={value}",
@@ -6495,8 +6495,8 @@
},
"labels": {
"targetPromotion": "目標 promotion{value}",
"resultWrites": "result write={value}",
"learningWrites": "learning write={value}",
"resultWrites": "結果寫入={value}",
"learningWrites": "學習寫入={value}",
"trustWrites": "trust write={value}",
"approvalLane": "lane{value}",
"captureWriteEnabled": "capture write={value}",
@@ -6531,14 +6531,14 @@
},
"labels": {
"targetDryRun": "目標 dry-run{value}",
"resultWrites": "result write={value}",
"learningWrites": "learning write={value}",
"resultWrites": "結果寫入={value}",
"learningWrites": "學習寫入={value}",
"trustWrites": "trust write={value}",
"runtimeWriteEnabled": "runtime write={value}",
"runtimeWriteEnabled": "runtime 寫入={value}",
"requiredOwner": "owner{value}",
"fixtureOnly": "fixture only={value}",
"blockedAction": "blocked{value}",
"runtimeWriteAllowed": "runtime write={value}"
"runtimeWriteAllowed": "runtime 寫入={value}"
}
},
"resultCaptureWriterImplementationReview": {
@@ -6678,14 +6678,14 @@
}
},
"resultCaptureOwnerApprovedExecutionRehearsal": {
"title": "P2-126 owner-approved execution rehearsal / no-write apply gate",
"title": "P2-126 owner-approved execution rehearsal / 無寫入 apply gate",
"source": "產生 {generated};目前 {current};下一步 {next}",
"priorTitle": "前一關 owner promotion review",
"truthTitle": "execution rehearsal 真相",
"metrics": {
"overall": "完成度",
"rehearsals": "Execution rehearsals",
"applyChecks": "No-write apply checks",
"applyChecks": "無寫入 apply checks",
"verifiers": "Verifier rehearsals",
"rollbackDrills": "Rollback drills",
"blockers": "已阻擋 live apply",
@@ -6696,14 +6696,14 @@
},
"flags": {
"ownerPromotionLoaded": "已載入 owner promotion={value}",
"noWriteReady": "no-write rehearsal ready={value}",
"noWriteReady": "無寫入 rehearsal ready={value}",
"rollbackReady": "rollback drill ready={value}"
},
"labels": {
"writerApply": "writer 套用={value}",
"executionApply": "execution 套用={value}",
"gatewayWrites": "Gateway 寫入={value}",
"noWriteOnly": "no-write only={value}",
"noWriteOnly": "無寫入 only={value}",
"liveApply": "live apply={value}",
"rollbackRequired": "需要 rollback owner={value}",
"rollbackConfirmed": "rollback 已確認={value}"
@@ -6732,11 +6732,11 @@
"rollbackRequired": "rollback owner required={value}"
},
"labels": {
"ownerAccepted": "owner accepted={value}",
"ownerAccepted": "負責人已接受={value}",
"windowApproved": "window approved={value}",
"gatewayWrites": "Gateway 寫入={value}",
"acceptanceRequired": "acceptance required={value}",
"ownerAcceptedBool": "owner accepted={value}",
"ownerAcceptedBool": "負責人已接受={value}",
"windowApprovedBool": "window approved={value}",
"rollbackRequired": "需要 rollback owner={value}",
"rollbackConfirmed": "rollback 已確認={value}"
@@ -6814,7 +6814,7 @@
"truthTitle": "post-release verifier 真相",
"metrics": {
"overall": "完成度",
"verifiers": "Verifier gates",
"verifiers": "驗證關卡",
"rollbackGates": "Rollback gates",
"verificationHolds": "Verification holds",
"liveApplyGates": "Live-apply post gates",
@@ -7270,7 +7270,7 @@
"approvals": "需批准",
"highCritical": "高風險 / critical",
"liveWrites": "live / send / write",
"noSendPreviews": "no-send 預覽",
"noSendPreviews": "無發送 預覽",
"dedupKeys": "dedup key",
"receipts": "receipt expectation",
"previewLiveWrites": "preview 實發",
@@ -7289,12 +7289,12 @@
"ownerFields": "Owner 必填欄位",
"ownerAcceptance": "Owner 驗收檢查"
},
"previewTitle": "Telegram no-send 訊息預覽",
"previewTitle": "Telegram 無發送 訊息預覽",
"canaryTitle": "Canary 批准包",
"canarySendPacketTitle": "P2-405C Canary 發送批准包",
"labels": {
"gateway": "Gateway required={value}",
"noSend": "no-send preview={value}",
"noSend": "無發送 preview={value}",
"queuePreview": "queue preview={value}",
"directBot": "direct Bot API={value}",
"send": "Telegram send={value}",
@@ -7340,8 +7340,8 @@
"liveReadback": "live readback={value}",
"stopCondition": "停止={value}",
"nextGate": "下一關={value}",
"ownerReviewReceived": "owner review received={value}",
"ownerReviewAccepted": "owner review accepted={value}",
"ownerReviewReceived": "負責人審查已收件={value}",
"ownerReviewAccepted": "負責人審查已接受={value}",
"liveDeliveryApproved": "live canary approved={value}",
"priorReadback": "前次 readback 完成={done} / 失敗={failed}",
"receiptOwner": "receipt owner={value}",
@@ -7522,13 +7522,13 @@
},
"labels": {
"targetGate": "目標 gate{value}",
"resultWrites": "result write={value}",
"learningWrites": "learning write={value}",
"resultWrites": "結果寫入={value}",
"learningWrites": "學習寫入={value}",
"trustWrites": "trust write={value}",
"writer": "writer{value}",
"runtimeWriteEnabled": "runtime write={value}",
"runtimeWriteEnabled": "runtime 寫入={value}",
"blockedAction": "blocked{value}",
"runtimeWriteAllowed": "runtime write={value}"
"runtimeWriteAllowed": "runtime 寫入={value}"
}
}
}
@@ -8092,7 +8092,7 @@
"reportSourceGapOwnerReview": {
"eyebrow": "報表資料源 owner review",
"title": "報表資料源 PlayBook / Verifier 處置板",
"subtitle": "把 report-source-gap 從報表頁接到 Work Items每個缺口都要有 PlayBook 草案、Verifier 計畫、腳本 readback、排程 no-send 與 owner review。",
"subtitle": "把 report-source-gap 從報表頁接到 Work Items每個缺口都要有 PlayBook 草案、Verifier 計畫、腳本 readback、排程 無發送 與 owner review。",
"loading": "正在讀取 report-source-gap owner review read model。",
"unavailable": "報表資料源 read model 尚未回應;不能把報表全 0 或缺資料判定為健康。",
"empty": "目前沒有 report-source-gap owner review 卡。",
@@ -8101,7 +8101,7 @@
"openReports": "回報表總控",
"ownerRequired": "需 owner review",
"ownerOptional": "owner review 可後補",
"scheduleBoundary": "排程仍維持 no-send preview",
"scheduleBoundary": "排程仍維持 無發送 preview",
"fieldsTitle": "PlayBook 必填欄位",
"checksTitle": "Verifier 檢查",
"nextAction": "下一步:{action}",
@@ -8123,7 +8123,7 @@
"draft_required": "需草案",
"plan_required": "需計畫",
"readback_only": "只讀回讀",
"no_send_preview": "no-send preview",
"no_send_preview": "無發送 preview",
"ok": "正常",
"gap": "缺口",
"blocked": "阻塞",
@@ -8216,7 +8216,7 @@
"autoRepair": "必須同時有 auto_repair、verification_result=success與KM 回寫",
"recurrenceWorkItems": "Run 完成無修復、修復失敗與人工閘門必須進入可追蹤工作項",
"aiRouteRepairWorkItem": "Provider lane 降級時必須顯示 evidence、owner、PlayBook候選與是否可自動修復",
"reportSourceGapOwnerReview": "每個 report-source-gap 必須有 PlayBook 草案、Verifier 計畫、腳本 readback、排程 no-send 與 owner review不得把全 0 當健康或自動執行授權",
"reportSourceGapOwnerReview": "每個 report-source-gap 必須有 PlayBook 草案、Verifier 計畫、腳本 readback、排程 無發送 與 owner review不得把全 0 當健康或自動執行授權",
"configDriftFsm": "同一 drift fingerprint 必須顯示重複、PR、零 diff、交接與下一步",
"remediationQueue": "每筆 degraded / failed / timeout都必須映射到重跑、重驗、Ticket或人工檢查",
"telegramCallbacks": "按下詳情與歷史不能再只依賴 Redis TTL或舊快照",

View File

@@ -4,6 +4,7 @@
**完成內容**
- `apps/web/messages/zh-TW.json` 補齊 P2-407P2-411 主卡 badge、metric、section、label、risk tier 與 status 的繁中顯示。
- `apps/web/messages/en.json` 已用最新 `zh-TW` 內容同步,維持目前站台鏡像也全繁中的規則。
- 限縮更新 `docs/evaluations/*.json` 內會出現在治理頁的固定短語無寫入、無發送、正式動作總數、正式寫入總數、驗證關卡、負責人已接受、產生於、脫敏、runtime / queue / audit / result / learning 寫入狀態。
- 未新增 runtime worker、未發 Telegram、未呼叫 Bot API、未寫 DB、未寫 KM、未派工、未改主機或 K8s。
@@ -11,7 +12,10 @@
- 全部 `apps/web/messages/zh-TW.json``docs/evaluations/*.json` JSON parse 通過。
- P2-407P2-411 regression`53 passed`
- `pnpm --filter @awoooi/web typecheck` 通過。
- `WEB_MESSAGES_MIRROR_OK`
- `SECURITY_MIRROR_PROGRESS_GUARD_OK`
- `DOC_SECRET_SANITY_OK scanned_files=180`
- `DOC_SECRET_SANITY_OK scanned_files=934`
- 目標殘留字串檢查通過:`批准!``My request for Codex``Owner Acceptance``owner accepted``live total``Verifier gates``No-write``No-send``runtime write=false` 等皆未命中。
- `git diff --check` 通過。