From b937edadf3916c554fb1f7470ce8ae12d8999438 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Jun 2026 15:12:34 +0800 Subject: [PATCH] fix(web): remove internal handoff copy from product pages --- apps/web/messages/en.json | 302 +++++++++--------- apps/web/messages/zh-TW.json | 302 +++++++++--------- docs/LOGBOOK.md | 22 ++ .../security-mirror-progress-guard.py | 26 +- 4 files changed, 349 insertions(+), 303 deletions(-) diff --git a/apps/web/messages/en.json b/apps/web/messages/en.json index b01b50a3..bcadc4c0 100644 --- a/apps/web/messages/en.json +++ b/apps/web/messages/en.json @@ -306,8 +306,8 @@ }, "homeCommandMap": { "eyebrow": "AI Automation Command Map", - "title": "先看流程,再看清單", - "subtitle": "第一屏直接用流程圖、瓶頸和證據來源回答:告警跑到哪一段、卡在哪一關、下一步由誰處理。", + "title": "AI 自動化流程總覽", + "subtitle": "以流程節點、阻塞關卡與證據來源呈現告警處理階段、責任角色與下一步動作。", "selectedStage": "目前階段", "evidenceTitle": "證據來源", "openRuns": "查看 Runs", @@ -321,7 +321,7 @@ "automationDelivery": { "eyebrow": "AI 自動化管理產品面", "title": "目前完成項與待推進項", - "subtitle": "首頁直接呈現 production 真相鏈、Telegram callback、AI provider、KM、Ansible 與自動修復品質,不再只放空泛 KPI。", + "subtitle": "整合 production 真相鏈、Telegram callback、AI provider、KM、Ansible 與自動修復品質,作為首頁營運總覽。", "claimLabel": "完整自動修復宣稱", "claimReady": "可宣稱完整閉環", "claimBlocked": "尚不可宣稱完整閉環", @@ -394,7 +394,7 @@ "c4Runtime": { "standard": "C4 / Deployment", "title": "產品架構與 Runtime 拓樸", - "detail": "用 C4 分層說明使用者、Web、API、K8s、資料庫、外部工具與模型供應商的關係。", + "detail": "用 C4 分層說明操作角色、Web、API、K8s、資料庫、外部工具與模型供應商的關係。", "nodes": { "user": "Operator / Tenant", "web": "AwoooP Web", @@ -416,7 +416,7 @@ "decisionRules": { "standard": "DMN / Decision Table", "title": "AI 判斷與審批規則", - "detail": "把風險、信心分數、政策、模型路由與是否自動修復整理成可稽核決策表。", + "detail": "將風險、信心分數、政策、模型路由與是否自動修復整理成可稽核決策表。", "nodes": { "risk": "Risk", "confidence": "Confidence", @@ -439,7 +439,7 @@ "workspace": { "eyebrow": "Live Blueprint", "title": "AI 自動化完整作戰圖", - "subtitle": "這一區把流程、Runtime、決策表與證據鏈放在同一個作戰視圖,讓首頁能直接回答目前跑到哪裡、卡在哪一關、該由誰接續。", + "subtitle": "將流程、Runtime、決策表與證據鏈整合成同一個作戰視圖,呈現目前階段、阻塞關卡與接續角色。", "flow": { "title": "BPMN / Swimlane 流程", "subtitle": "告警進來後,從分析、調查、審批、執行到驗證的主幹流程。", @@ -467,7 +467,7 @@ }, "decision": { "title": "DMN 決策表", - "subtitle": "把 AI 是否能自動修復的判斷拆成可稽核條件。", + "subtitle": "將 AI 是否能自動修復的判斷拆成可稽核條件。", "headers": { "signal": "Signal", "value": "Current value", @@ -515,7 +515,7 @@ "signal": { "owner": "OpenClaw + AlertChain", "evidence": "Alertmanager / Sentry / SigNoz / Telegram callback trace", - "nextAction": "把 signal 併入 AwoooP run dossier,產生可追蹤 fingerprint" + "nextAction": "將 signal 併入 AwoooP run dossier,產生可追蹤 fingerprint" }, "intake": { "owner": "AwoooP Run Monitor", @@ -530,7 +530,7 @@ "mcp": { "owner": "MCP 閘道", "evidence": "K8s / Prometheus / Sentry / SigNoz / Gitea / 自建 MCP 查證結果", - "nextAction": "把 MCP 查證結果寫回 dossier,讓 LLM 不靠猜測判斷" + "nextAction": "將 MCP 查證結果寫回 dossier,讓 LLM 不靠猜測判斷" }, "playbook": { "owner": "OpenClaw + PlayBook trust 閘門", @@ -1997,7 +1997,7 @@ "commandPalette": { "placeholder": "搜尋指令、頁面或事件...", "noResults": "找不到符合結果", - "hint": "↑↓ 選擇 Enter 確認 Esc 關閉", + "hint": "↑↓ 選擇 Enter 確認 Esc 關閉", "groupNav": "導航", "groupActions": "快速動作", "groupRecent": "最近事件", @@ -2564,7 +2564,7 @@ }, "securityMirror": { "title": "IwoooS 資安鏡像", - "subtitle": "AwoooP 首頁已以正式只讀方式顯示 IwoooS / 資安鏡像狀態,讓使用者理解資安網進度與邊界;這不是執行入口,也不接執行路由器。", + "subtitle": "AwoooP 首頁已以正式只讀方式顯示 IwoooS / 資安鏡像狀態,讓操作角色理解資安網進度與邊界;這不是執行入口,也不接執行路由器。", "badge": "正式只讀", "openIwooos": "開啟 IwoooS", "checkpointsTitle": "接入檢查", @@ -2620,7 +2620,7 @@ "metrics": { "candidateRepos": { "label": "候選專案庫", - "detail": "S2.63 起已盤點 8 個候選專案庫;這不是建立 GitHub 專案庫的授權。" + "detail": "起已盤點 8 個候選專案庫;這不是建立 GitHub 專案庫的授權。" }, "inScopeRepos": { "label": "範圍內專案庫", @@ -3157,7 +3157,7 @@ }, "archiveHistory": { "title": "封存 / 回測歷史", - "empty": "尚無 owner 封存或 stale ratio 回測 dispatch;完成確認封存後會出現在這裡。", + "empty": "尚無 owner 封存或 stale ratio 回測 dispatch;完成確認封存後會出現在此處。", "executors": { "hermes_km_review_dedupe_owner_archive": "Hermes:owner 確認封存", "hermes_km_stale_ratio_recheck": "Hermes:stale ratio 回測", @@ -4270,7 +4270,7 @@ "visibilityValue": "只讀", "visibilityDetail": "只把資安鏡像投影到執行監控語境,不建立真正執行期動作。", "runtimeRuns": "資安執行數", - "runtimeRunsDetail": "目前為 0;S2.58 只做顯示候選,不建立執行紀錄。", + "runtimeRunsDetail": "目前為 0;只做顯示候選,不建立執行紀錄。", "activeGates": "主動執行閘門", "activeGatesDetail": "仍為 0;執行期閘門需獨立批准、回滾與後驗證證據。", "ownerResponse": "負責人已接受", @@ -5332,10 +5332,10 @@ "frontStage": { "eyebrow": "前台資安入口", "title": "安全合規保留,並整合到 IwoooS", - "subtitle": "專業建議是不移除。這個頁面保留既有安全監控與合規統計,作為前台使用者熟悉的入口;IwoooS 則成為資安網的總覽與唯一姿態來源,避免安全合規與 IwoooS 變成兩套敘事。", + "subtitle": "保留既有安全監控與合規統計作為前台入口;IwoooS 承接資安網總覽與唯一姿態來源,避免形成兩套資安敘事。", "openIwooos": "查看 IwoooS 總覽", "boundaryTitle": "低摩擦整合邊界", - "boundaryIntro": "這裡只做前台整合與導流,不新增掃描、修復、批准、部署或硬性阻擋控制。", + "boundaryIntro": "此區僅提供前台整合與導流,不新增掃描、修復、批准、部署或硬性阻擋控制。", "routeRoleTitle": "前台入口角色對照", "routeRoleSubtitle": "從安全合規進來時,也能直接看懂每個資安入口該負責什麼;這些入口只導覽與說明,不提供執行按鈕。", "routeLabel": "入口", @@ -5346,7 +5346,7 @@ "authority": { "eyebrow": "短版結論", "title": "IwoooS 是資安主控台;安全合規是熟悉入口", - "body": "這裡先讓使用者看懂入口關係,再把完整總覽交給 IwoooS。現階段仍是只讀、閘門 0,不啟動掃描、修復、批准或部署。", + "body": "此入口呈現安全合規與 IwoooS 的分工關係;現階段維持只讀與 Gate 0,不啟動掃描、修復、批准或部署。", "open": "前往 IwoooS 主控台", "signals": { "source": { @@ -5388,7 +5388,7 @@ }, "securityComplianceHub": { "title": "安全合規看熟悉入口", - "body": "保留既有安全監控與合規統計,讓前台使用者不用改變原本路徑。" + "body": "保留既有安全監控與合規統計,維持前台既有操作路徑。" }, "securityMonitor": { "title": "安全看事件訊號", @@ -5406,7 +5406,7 @@ "rolloutPhases": { "observe": { "title": "觀測與盤點", - "body": "目前只整理入口、主機、專案、網站、監控與工具姿態,不阻擋使用者流程。" + "body": "整理入口、主機、專案、網站、監控與工具姿態,維持既有操作流程。" }, "evidence": { "title": "補齊證據", @@ -5571,7 +5571,7 @@ "topologyAtlas": { "eyebrow": "專業架構與拓樸圖譜", "title": "用圖譜看攻擊面、資產關係與證據流", - "subtitle": "把主流資安產品常見的圖譜、攻擊路徑、爆炸半徑與證據線濃縮成四個可切換視角;少文字、多圖表,仍維持執行閘 0。", + "subtitle": "將主流資安產品常見的圖譜、攻擊路徑、爆炸半徑與證據線濃縮成四個可切換視角;少文字、多圖表,仍維持執行閘 0。", "tabsLabel": "架構拓樸圖譜視角", "mapLabel": "圖譜視角", "panelLabels": { @@ -5621,7 +5621,7 @@ }, "intelligenceDeck": { "eyebrow": "圖譜情報面板", - "title": "把關聯、路徑、半徑與時序放在同一層", + "title": "將關聯、路徑、半徑與時序放在同一層", "subtitle": "參考 XDR / CNAPP 常見的調查體驗:先用可點選情報卡看資安脈絡,再下鑽到節點與證據,不把頁面變成長文字清單。", "selectorLabel": "切換圖譜情報", "ringLabel": "目前可信度", @@ -5678,7 +5678,7 @@ "body": "GitHub / Gitea 是版本來源關鍵節點;目前只顯示 S4.9 負責人回覆待補與決策紀錄缺口,不執行分支參照或工作流程變更。" }, "kali": { - "body": "Kali 192.168.0.112 已列為資安主機節點;這裡只呈現它與版本來源、開發主機、證據鏈的關係,不代表已授權掃描。" + "body": "Kali 192.168.0.112 已列為資安主機節點;此區僅呈現它與版本來源、開發主機、證據鏈的關係,不代表已授權掃描。" }, "devHosts": { "body": "192.168.0.111 與 192.168.0.168 以開發主機群呈現,等主機維護窗口與負責人決策紀錄完整後才能進入執行期。" @@ -5700,7 +5700,7 @@ "mapTitle": "程式碼 → 資產 → 主機 → 證據 → 閘門", "detail": "用五層結構看 IwoooS:產品與網站、版本來源、Kali / 開發主機、監控與 AwoooP、最後才是執行閘。", "evidence": "8 類產品 / 網站、3 台主機、6 條工具鏈已進入同一張只讀圖譜。", - "next": "把 S4.9 負責人回覆與脫敏證據接成可驗證節點。", + "next": "將 S4.9 負責人回覆與脫敏證據接成可驗證節點。", "locked": "架構圖不是執行期授權,不代表可以掃描或修復。" }, "topology": { @@ -5822,15 +5822,15 @@ "body": "下一個進度 Gate 需要版本來源負責人回覆、脫敏 evidence pointer 與可追蹤決策紀錄。", "evidence": "IwoooS、AwoooP、拓樸圖與 progress guard 已把待補證據顯示到前台。", "next": "補 owner response received 與 redacted evidence pointer。", - "blocked": "received=0、accepted=0,所以 headline 不再硬往上推。" + "blocked": "received=0、accepted=0;整體進度維持保守估算。" }, "reviewerAcceptance": { "short": "審查接受", "title": "Reviewer acceptance 才能解除下一段", "body": "文件、schema 與前台呈現建立可理解狀態;解除 gate 仍需要 reviewer acceptance 與審查紀錄。", "evidence": "審查清單、回覆模板、handoff packet 已有只讀材料。", - "next": "把 S4.9 最小審查包交給負責人與 reviewer。", - "blocked": "accepted=0;不能把 UI 可見度當批准。" + "next": "將 S4.9 最小審查包交給負責人與 reviewer。", + "blocked": "accepted=0;可視化狀態不可替代正式批准。" }, "hostWindow": { "short": "主機窗口", @@ -5850,8 +5850,8 @@ }, "runtimeGate": { "short": "執行閘 0", - "title": "初期框架完成前不提高資安限制", - "body": "目前策略是先把資安網、可視化、證據流、責任邊界建好,再分階段收斂;不一開始把限制拉到影響產品速度。", + "title": "只讀框架完成前維持執行邊界", + "body": "先完成資安網、可視化、證據流與責任邊界,再依人工決策分階段收斂執行控制。", "evidence": "所有可見區塊都標記 action_buttons_allowed=false 與 runtime gate 0。", "next": "等人工決策完成後,才開下一個受控 runtime gate。", "blocked": "runtime_execution_authorized=false;active_runtime_gate_count=0。" @@ -5889,7 +5889,7 @@ "gateRadar": { "eyebrow": "執行閘雷達", "title": "一眼看懂哪裡可前進、哪裡不能碰", - "subtitle": "把可見成果、待補證據、人工審查、禁止動作拆成四條雷達線;這裡只切換視角,不執行任何動作。", + "subtitle": "將可見成果、待補證據、人工審查、禁止動作拆成四條雷達線;此區僅切換視角,不執行任何動作。", "tabsLabel": "執行閘雷達視角", "activeLabel": "目前視角", "summary": { @@ -5930,7 +5930,7 @@ "state": "等待 reviewer", "detail": "Kali 維護、主機更新、GitHub primary、runtime gate 都需要人工決策紀錄與回復窗口。", "evidence": "目前只準備審查材料,沒有建立正式執行紀錄。", - "next": "把審查材料收斂成 owner 可回覆的最小包。", + "next": "將審查材料收斂成 owner 可回覆的最小包。", "locked": "沒有 reviewer acceptance 前,不進入修復或主機變更。" }, "locked": { @@ -6145,7 +6145,7 @@ "concreteWorkSnapshot": { "eyebrow": "資安工作雷達", "title": "資安工作實際成果", - "subtitle": "把資安網拆成六條可追蹤工作流:第一屏呈現前台化、框架化、待回覆、待收件與 runtime 鎖定狀態。", + "subtitle": "將資安網拆成六條可追蹤工作流:第一屏呈現前台化、框架化、待回覆、待收件與 runtime 鎖定狀態。", "summary": { "visible": { "label": "可見工作流", @@ -6279,7 +6279,7 @@ "globalSecurityMeshMatrix": { "eyebrow": "全域資安納管矩陣", "title": "所有產品、主機、工具放在同一張表", - "subtitle": "把 AwoooI、AwoooP、IwoooS、公開網站群、VibeWork、Kali 112、開發主機與 GitHub / Gitea 版本來源放到同一個只讀矩陣,先呈現納管範圍,再決定哪一段要收證或開人工閘門。", + "subtitle": "將 AwoooI、AwoooP、IwoooS、公開網站群、VibeWork、Kali 112、開發主機與 GitHub / Gitea 版本來源放到同一個只讀矩陣,先呈現納管範圍,再決定哪一段要收證或開人工閘門。", "coverageLabel": "覆蓋", "evidenceLabel": "證據", "runtimeLabel": "執行", @@ -6327,7 +6327,7 @@ "coverage": "主入口", "evidence": "guard 已保護", "runtime": "仍鎖住", - "next": "把抽象進度轉成可見工作項與證據欄位。" + "next": "將抽象進度轉成可見工作項與證據欄位。" }, "publicSites": { "title": "公開網站群", @@ -6374,7 +6374,7 @@ "hostToolEvidenceChain": { "eyebrow": "主機與工具證據鏈", "title": "Kali、開發主機、監控工具一次看清楚", - "subtitle": "把 Kali 192.168.0.112、開發主機 192.168.0.111 / 192.168.0.168、Sentry / SigNoz、MCP、自建 MCP、Ansible、KM、GitHub / Gitea 放在同一條只讀證據鏈。這一層只回答「有沒有納入、證據在哪、下一關是誰」,不執行掃描或主機變更。", + "subtitle": "將 Kali 192.168.0.112、開發主機 192.168.0.111 / 192.168.0.168、Sentry / SigNoz、MCP、自建 MCP、Ansible、KM、GitHub / Gitea 放在同一條只讀證據鏈。這一層只回答「有沒有納入、證據在哪、下一關是誰」,不執行掃描或主機變更。", "flowTitle": "證據鏈順序", "evidenceLabel": "證據", "nextLabel": "下一步", @@ -6541,7 +6541,7 @@ }, "operatorNextTasks": { "title": "下一步任務板", - "subtitle": "把 61% 往下一階段推進需要的工作拆成四件事;這裡只顯示任務與完成條件,不送出請求、不啟動掃描、不建立執行。", + "subtitle": "將 61% 往下一階段推進需要的工作拆成四件事;此區僅顯示任務與完成條件,不送出請求、不啟動掃描、不建立執行。", "stepLabel": "任務", "doneLabel": "完成條件", "boundary": "固定邊界:owner_response_已收到_count=0;owner_response_已接受_count=0;active_runtime_閘門_count=0;runtime_execution_authorized=false;action_buttons_allowed=false;repo_creation_authorized=false;github_primary_switch_authorized=false。", @@ -6553,7 +6553,7 @@ }, "redactedEvidencePacket": { "title": "補齊脫敏證據包", - "body": "把來源、範圍、負責人判定、脫敏聲明與 evidence refs 放進可審查封包。", + "body": "將來源、範圍、負責人判定、脫敏聲明與 evidence refs 放進可審查封包。", "done": "只接受脫敏 載荷;機密明文、完整掃描輸出、主機 dump 與 原始日誌 不進 鏡像。" }, "runtimeGatePreflight": { @@ -6624,7 +6624,7 @@ }, "existingSurfaces": { "title": "既有資安頁面整合", - "subtitle": "把前端原本已存在的安全、合規、告警、授權、治理、稽核與程式碼審查入口收成一張只讀索引,讓資安能力分布與整合邊界更清楚。", + "subtitle": "將前端原本已存在的安全、合規、告警、授權、治理、稽核與程式碼審查入口收成一張只讀索引,讓資安能力分布與整合邊界更清楚。", "sourceLabel": "原始來源", "mode": "只讀連結 / 不新增執行按鈕", "items": { @@ -6682,7 +6682,7 @@ }, "surfaceConnections": { "title": "資安頁面連接狀態", - "subtitle": "把 10 個既有入口目前如何接回 IwoooS 說清楚:有些是直接橋接,有些是嵌入原本面板,有些是 AwoooP 只讀候選。這只是可見覆蓋,不代表授權或阻擋。", + "subtitle": "將 10 個既有入口目前如何接回 IwoooS 說清楚:有些是直接橋接,有些是嵌入原本面板,有些是 AwoooP 只讀候選。這只是可見覆蓋,不代表授權或阻擋。", "states": { "embeddedBridge": "嵌入橋接可見", "directBridge": "直接橋接可見", @@ -6743,7 +6743,7 @@ }, "coverage": { "title": "覆蓋與邊界矩陣", - "subtitle": "把 10 個既有資安頁面分成四個責任面,讓 IwoooS 能說清楚哪裡看訊號、哪裡做人工控制、哪裡看治理稽核、哪裡看工程審查。", + "subtitle": "將 10 個既有資安頁面分成四個責任面,讓 IwoooS 能說清楚哪裡看訊號、哪裡做人工控制、哪裡看治理稽核、哪裡看工程審查。", "groups": { "signals": { "title": "訊號與暴露面", @@ -6826,7 +6826,7 @@ }, "evidenceReadiness": { "title": "負責人證據就緒度", - "subtitle": "這裡顯示 重點 進度下一步真正需要的 evidence。每一項都是等待收件或人工決策,不會從前端直接觸發任何執行。", + "subtitle": "此區顯示 重點 進度下一步真正需要的 evidence。每一項都是等待收件或人工決策,不會從前端直接觸發任何執行。", "unlockLabel": "解除條件", "items": { "giteaOwnerAttestation": { @@ -6868,7 +6868,7 @@ }, "hostCoverage": { "title": "主機覆蓋視圖", - "subtitle": "把 Kali 與兩台開發主機放進 IwoooS 的可見資安範圍。這裡只顯示納管與 閘門 狀態,不建立 SSH、掃描、更新或阻擋控制。", + "subtitle": "將 Kali 與兩台開發主機放進 IwoooS 的可見資安範圍。此區僅顯示納管與 閘門 狀態,不建立 SSH、掃描、更新或阻擋控制。", "stateLabel": "目前狀態", "items": { "kali112": { @@ -6895,7 +6895,7 @@ "maintenanceGateLabel": "維護 閘門", "maintenanceGate": "Kali rolling full-upgrade / autoremove / reboot 仍是 security approval queue 的 pending approval。必須先有維護窗口、snapshot、rollback、post-health 複驗與人工批准,才能往主機更新前進。", "nextEvidenceLabel": "下一份要補的 evidence", - "nextEvidence": "把 `kali-full-upgrade-reboot-approval-20260513` 的窗口、回復 owner、服務驗證清單與失敗處理 lane 補齊。補齊前 IwoooS 只顯示就緒度,不提供任何更新或重啟入口。", + "nextEvidence": "將 `kali-full-upgrade-reboot-approval-20260513` 的窗口、回復 owner、服務驗證清單與失敗處理 lane 補齊。補齊前 IwoooS 只顯示就緒度,不提供任何更新或重啟入口。", "boundaryTitle": "只讀邊界", "boundaryIntro": "以下邊界由 `kali-integration-status.snapshot.json` 與 approval queue 投影而來,用來避免把可見狀態誤讀成執行授權。", "items": { @@ -6919,7 +6919,7 @@ }, "hostActionGates": { "title": "主機動作 閘門 矩陣", - "subtitle": "把主機相關高風險動作拆成只讀 閘門。這裡只說明哪些動作仍被鎖住,以及需要哪一類人工決策;不提供任何執行入口。", + "subtitle": "將主機相關高風險動作拆成只讀 閘門。此區僅說明哪些動作仍被鎖住,以及需要哪一類人工決策;不提供任何執行入口。", "gateLabel": "需要 閘門", "items": { "activeScan": { @@ -6949,7 +6949,7 @@ }, "runtimeBlocking": { "title": "Runtime 阻擋控制", - "body": "把 發現 變成產品阻擋或 runtime enforcement 仍要等 owner evidence 與人工決策。", + "body": "將 發現 變成產品阻擋或 runtime enforcement 仍要等 owner evidence 與人工決策。", "gate": "需要 已接受 決策紀錄;啟用中的執行期閘門 仍為 0" } } @@ -6998,7 +6998,7 @@ }, "hostEvidenceCollection": { "title": "主機 證據 收件順序", - "subtitle": "把七個主機 evidence 排成建議收件順序。每一步都只代表下一個可審項目,不會把 已收到 / 已接受 從 0 改掉。", + "subtitle": "將七個主機 evidence 排成建議收件順序。每一步都只代表下一個可審項目,不會把 已收到 / 已接受 從 0 改掉。", "stepLabel": "收件步驟", "dependencyLabel": "前置依賴", "items": { @@ -7052,7 +7052,7 @@ }, "dependencyOrder": { "title": "收件順序符合", - "body": "提交的 evidence 必須符合 S2.17 收件順序,不能跳過 scope 或 owner decision。", + "body": "提交的 evidence 必須符合 收件順序,不能跳過 scope 或 owner decision。", "reject": "跳過前置依賴就隔離" }, "scopeBeforeScan": { @@ -7084,7 +7084,7 @@ }, "hostEvidenceReviewOutcomes": { "title": "主機 證據審查結果分流", - "subtitle": "預檢後的 evidence 只能進這些只讀分流。這裡顯示人工審查可能結果,不會建立 批准紀錄、執行期閘門 或主機動作。", + "subtitle": "預檢後的 evidence 只能進這些只讀分流。此區顯示人工審查可能結果,不會建立 批准紀錄、執行期閘門 或主機動作。", "laneLabel": "結果分流", "nextLabel": "下一步", "items": { @@ -7105,7 +7105,7 @@ }, "quarantineDependencySkip": { "title": "前置依賴跳過即隔離", - "body": "跳過 S2.17 收件順序或前置依賴不完整時,先隔離再人工判讀。", + "body": "跳過 收件順序或前置依賴不完整時,先隔離再人工判讀。", "next": "隔離原因可見,不推 counter" }, "rejectRawPayload": { @@ -7138,7 +7138,7 @@ }, "hostEvidenceReviewHandoff": { "title": "主機 證據 人工審查交接包", - "subtitle": "人工 reviewer 只能依這些脫敏交接包判讀 evidence。這裡顯示送審必備資料,不會標示 已收到 / 已接受、建立 批准紀錄 或啟動 執行期閘門。", + "subtitle": "人工 reviewer 只能依這些脫敏交接包判讀 evidence。此區顯示送審必備資料,不會標示 已收到 / 已接受、建立 批准紀錄 或啟動 執行期閘門。", "packetLabel": "交接包", "requiredLabel": "必備內容", "items": { @@ -7174,7 +7174,7 @@ }, "runtimeGatePacket": { "title": "Runtime 閘門指標 包", - "body": "把可能的後續行動導回獨立 執行期閘門,避免 reviewer outcome lane 直接變成執行。", + "body": "將可能的後續行動導回獨立 執行期閘門,避免 reviewer outcome lane 直接變成執行。", "required": "後續追蹤 閘門 pointer;啟用中的執行期閘門=0" } } @@ -7224,7 +7224,7 @@ }, "hostEvidenceReviewerOutcomes": { "title": "主機 證據 Reviewer 結果分流", - "subtitle": "Reviewer checklist 後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會標示 passed、已接受、approval 或 執行期閘門。", + "subtitle": "Reviewer checklist 後只能進入這些只讀結果分流。此區顯示下一步判讀,不會標示 passed、已接受、approval 或 執行期閘門。", "laneLabel": "Reviewer 結果", "nextLabel": "下一步", "items": { @@ -7278,7 +7278,7 @@ }, "scanModeCandidate": { "title": "Scan mode candidate", - "body": "把 僅觀察、未來 active scan 或 憑證掃描 的差異拆清楚,避免候選包被誤認為掃描授權。", + "body": "將 僅觀察、未來 active scan 或 憑證掃描 的差異拆清楚,避免候選包被誤認為掃描授權。", "decision": "只顯示模式選項;active scan=false" }, "credentialHandlingCandidate": { @@ -7310,7 +7310,7 @@ }, "hostOwnerDecisionReviewChecklist": { "title": "主機 負責人 Decision Review Checklist", - "subtitle": "負責人 decision candidate packets 之後仍需人工逐項核對。這裡只顯示核對項,不建立決策紀錄、不標示 approved、不開 執行期閘門。", + "subtitle": "負責人 decision candidate packets 之後仍需人工逐項核對。此區僅顯示核對項,不建立決策紀錄、不標示 approved、不開 執行期閘門。", "checkLabel": "負責人 核對", "guardLabel": "安全邊界", "items": { @@ -7353,7 +7353,7 @@ }, "hostOwnerDecisionReviewOutcomes": { "title": "主機 負責人 Decision Review 結果分流", - "subtitle": "負責人審查清單後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會建立 決策紀錄、不會標示 approved、不會開 執行期閘門。", + "subtitle": "負責人審查清單後只能進入這些只讀結果分流。此區顯示下一步判讀,不會建立 決策紀錄、不會標示 approved、不會開 執行期閘門。", "laneLabel": "Review 結果", "nextLabel": "下一步", "items": { @@ -7439,7 +7439,7 @@ }, "hostOwnerDecisionRecordDraftReview": { "title": "主機 負責人 Decision Record Draft Review Checklist", - "subtitle": "Decision record 草稿包後仍需只讀核對。這裡只顯示草稿是否具備人工決策所需 metadata,不會建立正式 決策紀錄。", + "subtitle": "Decision record 草稿包後仍需只讀核對。此區僅顯示草稿是否具備人工決策所需 metadata,不會建立正式 決策紀錄。", "checkLabel": "Draft review", "guardLabel": "不可升級", "items": { @@ -7482,7 +7482,7 @@ }, "hostOwnerDecisionRecordDraftReviewOutcomes": { "title": "主機 負責人 Decision Record Draft Review 結果分流", - "subtitle": "Draft review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立 決策紀錄、不會開 執行期閘門。", + "subtitle": "Draft review checklist 後只能進入這些只讀結果分流。此區顯示下一步,不會標記 review passed、不會建立 決策紀錄、不會開 執行期閘門。", "laneLabel": "Review outcome", "nextLabel": "下一步", "items": { @@ -7568,7 +7568,7 @@ }, "hostOwnerDecisionRecordWriteupReview": { "title": "主機 負責人 Decision Record Write-Up Review Checklist", - "subtitle": "Write-up packets 後仍需要只讀核對。這裡只顯示正式 決策紀錄 撰寫欄位是否可讀,不會標記 write-up completed、不會建立或接受 決策紀錄、不會開 執行期閘門。", + "subtitle": "Write-up packets 後仍需要只讀核對。此區僅顯示正式 決策紀錄 撰寫欄位是否可讀,不會標記 write-up completed、不會建立或接受 決策紀錄、不會開 執行期閘門。", "checkLabel": "Write-up review", "guardLabel": "不可升級", "items": { @@ -7611,7 +7611,7 @@ }, "hostOwnerDecisionRecordWriteupReviewOutcomes": { "title": "主機 負責人 Decision Record Write-Up Review 結果分流", - "subtitle": "Write-up review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立或接受 決策紀錄、不會開 執行期閘門。", + "subtitle": "Write-up review checklist 後只能進入這些只讀結果分流。此區顯示下一步,不會標記 review passed、不會建立或接受 決策紀錄、不會開 執行期閘門。", "laneLabel": "Review outcome", "nextLabel": "下一步", "items": { @@ -7654,7 +7654,7 @@ }, "hostOwnerDecisionRecordFormalCandidates": { "title": "主機 負責人 Decision Record Formal Candidate Packets", - "subtitle": "Formal record candidate 只把未來可能寫入正式紀錄的欄位整理出來。這裡不建立 決策紀錄、不標記 finalized / 已接受、不產生 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal record candidate 只把未來可能寫入正式紀錄的欄位整理出來。此區不建立 決策紀錄、不標記 finalized / 已接受、不產生 批准紀錄、不開 執行期閘門。", "packetLabel": "Candidate packet", "fieldLabel": "候選欄位", "items": { @@ -7697,7 +7697,7 @@ }, "hostOwnerDecisionRecordFormalCandidateReview": { "title": "主機 負責人 Decision Record Formal Candidate Review Checklist", - "subtitle": "Formal candidate packets 進入後續人工紀錄前仍只能做只讀核對。這裡不標記 review passed、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal candidate packets 進入後續人工紀錄前仍只能做只讀核對。此區不標記 review passed、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "checkLabel": "Candidate review", "guardLabel": "仍鎖住", "items": { @@ -7740,7 +7740,7 @@ }, "hostOwnerDecisionRecordFormalCandidateReviewOutcomes": { "title": "主機 負責人 Decision Record Formal Candidate Review 結果分流", - "subtitle": "Formal candidate review outcome 只呈現候選核對後的下一步分流。這裡不標記 review passed、不標記 finalized、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal candidate review outcome 只呈現候選核對後的下一步分流。此區不標記 review passed、不標記 finalized、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "laneLabel": "結果 lane", "nextLabel": "下一步仍只讀", "items": { @@ -7788,7 +7788,7 @@ }, "hostOwnerDecisionRecordFormalRecordQueue": { "title": "主機 負責人 Decision Record Formal Record Queue Packets", - "subtitle": "Formal record queue packets 只整理未來人工正式紀錄佇列需要看到的資料包。這裡不 enqueue、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal record queue packets 只整理未來人工正式紀錄佇列需要看到的資料包。此區不 enqueue、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "packetLabel": "Queue packet", "fieldLabel": "佇列欄位", "items": { @@ -8385,7 +8385,7 @@ }, "headlineMovementAcceptanceGate": { "title": "61% 重估驗收紀錄", - "subtitle": "S2.100 的五個高層 閘門 中,AwoooP 正式環境落地 evidence 已有正式部署與只讀消費證據,因此本次只把 重點 從 58% 保守重估到 61%;其餘 負責人回覆、脫敏匯入、執行期閘門與 GitHub 主要來源仍是 0 / false。", + "subtitle": "五個高層 閘門 中,AwoooP 正式環境落地 evidence 已有正式部署與只讀消費證據,因此本次只把 重點 從 58% 保守重估到 61%;其餘 負責人回覆、脫敏匯入、執行期閘門與 GitHub 主要來源仍是 0 / false。", "gateLabel": "重估 閘門", "acceptanceLabel": "驗收條件", "guardLabel": "仍禁止", @@ -8449,7 +8449,7 @@ }, "sourceControlReadiness": { "title": "GitHub 主要來源就緒度", - "subtitle": "把 Gitea 轉 GitHub 的長期方向拆成只讀就緒度:候選 repo、負責人回覆、refs 真相、工作流程 / 機密 名稱與 回復 ADR 都要到齊,才會重估 primary_就緒_count。", + "subtitle": "將 Gitea 轉 GitHub 的長期方向拆成只讀就緒度:候選 repo、負責人回覆、refs 真相、工作流程 / 機密 名稱與 回復 ADR 都要到齊,才會重估 primary_就緒_count。", "gateLabel": "就緒度閘門", "guardLabel": "仍禁止", "items": { @@ -8487,7 +8487,7 @@ }, "awooopCoverage": { "title": "AwoooP 資安入口覆蓋狀態", - "subtitle": "把 AwoooP 8 個實際入口目前已接上的 IwoooS / 負責人回覆驗收邊界集中顯示。這只是入口覆蓋,不代表審批、執行、專案庫、分支 / 標籤參照、工作流程 / 機密設定、主要來源切換或 Gitea 停用授權。", + "subtitle": "將 AwoooP 8 個實際入口目前已接上的 IwoooS / 負責人回覆驗收邊界集中顯示。這只是入口覆蓋,不代表審批、執行、專案庫、分支 / 標籤參照、工作流程 / 機密設定、主要來源切換或 Gitea 停用授權。", "routeLabel": "入口路徑", "stageLabel": "完成階段", "boundaryLabel": "仍維持", @@ -8513,49 +8513,49 @@ "items": { "home": { "title": "AwoooP 首頁", - "body": "S2.72 顯示負責人回覆驗收總覽,讓首頁可以理解整體資安網進度。", + "body": "顯示負責人回覆驗收總覽,讓首頁可以理解整體資安網進度。", "boundary": "只讀總覽,不建立審批紀錄或執行期閘門。" }, "workItems": { "title": "工作鏈路", - "body": "S2.73 把負責人回覆驗收候選放進工作項語境,方便追蹤但不推動執行。", + "body": "將負責人回覆驗收候選放進工作項語境,方便追蹤但不推動執行。", "boundary": "只建立可見工作項,不建立平台執行或修復動作。" }, "contracts": { "title": "合約儀表板", - "body": "S2.74 顯示資安合約與負責人回覆驗收候選,讓契約來源可追溯。", + "body": "顯示資安合約與負責人回覆驗收候選,讓契約來源可追溯。", "boundary": "不發布合約修訂、不改生命週期、不開主要來源切換。" }, "approvals": { "title": "審批佇列", - "body": "S2.75 顯示審批佇列的負責人回覆驗收邊界,避免把可見焦點誤當批准。", + "body": "顯示審批佇列的負責人回覆驗收邊界,避免把可見焦點誤當批准。", "boundary": "不建立批准紀錄、不標記負責人回覆已收到或已接受。" }, "tenants": { "title": "租戶範圍", - "body": "S2.76 顯示租戶如何理解負責人回覆驗收範圍,但不修改租戶政策。", + "body": "顯示租戶如何理解負責人回覆驗收範圍,但不修改租戶政策。", "boundary": "不改租戶設定、不建立專案庫、不改分支或標籤參照。" }, "runs": { "title": "執行監控", - "body": "S2.77 顯示執行監控的負責人回覆驗收邊界,避免把監控可見性誤當執行。", + "body": "顯示執行監控的負責人回覆驗收邊界,避免把監控可見性誤當執行。", "boundary": "不建立平台執行、不接執行路由器、不呼叫外部工具。" }, "runDetail": { "title": "執行詳情", - "body": "S2.78 在單一執行詳情顯示驗收邊界與來源回覆包,讓檢視時仍保留只讀語義。", + "body": "在單一執行詳情顯示驗收邊界與來源回覆包,讓檢視時仍保留只讀語義。", "boundary": "不啟動工具、不補救、不建立執行期閘門。" }, "approvalDecision": { "title": "審批決策", - "body": "S2.79 在真正核准 / 拒絕前顯示審批決策與負責人回覆驗收分離。", + "body": "在真正核准 / 拒絕前顯示審批決策與負責人回覆驗收分離。", "boundary": "核准執行不等於負責人回覆已接受,也不等於資安落地執行。" } } }, "securityConvergenceRoadmap": { "title": "階段式資安收斂節奏", - "subtitle": "把目前的收斂策略明確寫在 IwoooS:初期先做可視化與提醒,不直接阻擋;等負責人回覆、脫敏證據、人工審查、回滾條件與後驗證都齊全,再分階段收緊。", + "subtitle": "將目前的收斂策略明確寫在 IwoooS:初期先做可視化與提醒,不直接阻擋;等負責人回覆、脫敏證據、人工審查、回滾條件與後驗證都齊全,再分階段收緊。", "movementLabel": "推進條件", "guardLabel": "仍不會做", "boundaryTitle": "逐步收緊仍維持的保護線", @@ -8619,7 +8619,7 @@ }, "ownerResponseCollectionBoard": { "title": "下一步人工收件作戰板", - "subtitle": "把真正能推動 61% 的下一步集中顯示:S4.9-S4.12 四包負責人回覆都還是 0 已收到 / 0 已接受。本看板只讓人知道要收什麼,不會寄送、建立、接受或執行任何動作。", + "subtitle": "將真正能推動 61% 的下一步集中顯示:S4.9-S4.12 四包負責人回覆都還是 0 已收到 / 0 已接受。本看板只讓人知道要收什麼,不會寄送、建立、接受或執行任何動作。", "packetLabel": "收件包", "movementLabel": "收件條件", "guardLabel": "仍不會做", @@ -8671,7 +8671,7 @@ }, "ownerResponseIntakeSafetyBoard": { "title": "人工回覆安全驗收閘道", - "subtitle": "把收件後怎麼判定可收、補證、隔離或拒收先攤開。現在匯入=0、隔離=0、拒收=0;這只是驗收規則可見,不會自動匯入、通知、修復或升高限制。", + "subtitle": "將收件後怎麼判定可收、補證、隔離或拒收先攤開。現在匯入=0、隔離=0、拒收=0;這只是驗收規則可見,不會自動匯入、通知、修復或升高限制。", "laneLabel": "驗收分流", "ruleLabel": "判定方式", "guardLabel": "仍不會做", @@ -8735,7 +8735,7 @@ }, "ownerResponseReviewOutcomeBoard": { "title": "人工回覆審查結果分流", - "subtitle": "把安全驗收後可能進入的結果先放到 IwoooS:維持等待、要求補證、可進人工審查、隔離、拒收、只讀更新、需要人工決策。現在可審=0、已接受=0、執行期閘門=0;分流只是讓流程透明,不會自動批准或執行。", + "subtitle": "將安全驗收後可能進入的結果先放到 IwoooS:維持等待、要求補證、可進人工審查、隔離、拒收、只讀更新、需要人工決策。現在可審=0、已接受=0、執行期閘門=0;分流只是讓流程透明,不會自動批准或執行。", "laneLabel": "結果分流", "resultLabel": "審查結果", "guardLabel": "仍不會做", @@ -8805,7 +8805,7 @@ }, "ownerResponseHumanDecisionQueueBoard": { "title": "人工決策準備佇列", - "subtitle": "把需要人工決策前必須整理的資料先放到 IwoooS:決策包草稿、證據追溯包、審查人指派、回滾窗口候選、執行期閘門分離與主要來源切換分離。現在可決策=0、已批准=0、執行期閘門=0;這只是準備佇列,不會建立審批紀錄或執行命令。", + "subtitle": "將需要人工決策前必須整理的資料先放到 IwoooS:決策包草稿、證據追溯包、審查人指派、回滾窗口候選、執行期閘門分離與主要來源切換分離。現在可決策=0、已批准=0、執行期閘門=0;這只是準備佇列,不會建立審批紀錄或執行命令。", "queueLabel": "準備佇列", "prepLabel": "準備內容", "guardLabel": "仍不會做", @@ -8831,7 +8831,7 @@ "items": { "decisionPacketDraft": { "title": "決策包草稿", - "body": "把審查結果、負責人範圍、脫敏證據與待決策問題整理成草稿。", + "body": "將審查結果、負責人範圍、脫敏證據與待決策問題整理成草稿。", "prep": "只產生可讀草稿,不建立正式人工決策紀錄。", "guard": "不把草稿當批准、不提高進度、不啟動任何動作。" }, @@ -9573,7 +9573,7 @@ }, "reviewOutcomeReference": { "title": "審查結果引用包", - "body": "整理 S2.94 的分流結果、補證要求、隔離或拒收理由,供人工確認引用。", + "body": "整理 的分流結果、補證要求、隔離或拒收理由,供人工確認引用。", "preparation": "只引用只讀結果,不把結果變成正式決策。", "guard": "不自動通過、不建立正式紀錄、不建立審批紀錄。" }, @@ -9649,7 +9649,7 @@ }, "reviewOutcomeLinked": { "title": "審查結果引用檢查", - "body": "確認 S2.94 分流結果、補證要求、隔離或拒收理由已被安全引用。", + "body": "確認 分流結果、補證要求、隔離或拒收理由已被安全引用。", "confirmation": "只確認引用關係,不把引用變成正式決策。", "guard": "不自動通過、不建立正式紀錄、不建立審批紀錄。" }, @@ -9777,7 +9777,7 @@ "items": { "outcomeTracePacket": { "title": "結果分流追溯包", - "body": "整理 S2.97 八條分流的來源、目前分流、退回理由與可讀證據索引。", + "body": "整理 八條分流的來源、目前分流、退回理由與可讀證據索引。", "requirement": "只整理結果脈絡,不把分流結果改成決策。", "guard": "不建立正式紀錄、不更新審批狀態、不標記已接受。" }, @@ -9903,7 +9903,7 @@ }, "awooopReadOnlyLandingReadiness": { "title": "AwoooP 只讀接入就緒度", - "subtitle": "S2.51 把 AwoooP 主線要如何只讀消費 IwoooS / 資安鏡像狀態整理成接入準備面板。這是接入就緒度,不是 正式環境落地 enabled,也不接 execution router。", + "subtitle": "將 AwoooP 主線要如何只讀消費 IwoooS / 資安鏡像狀態整理成接入準備面板。這是接入就緒度,不是 正式環境落地 enabled,也不接 execution router。", "readinessLabel": "只讀接入", "requirementLabel": "接入要求", "guardLabel": "仍鎖住", @@ -9985,7 +9985,7 @@ }, "cadenceCompression": { "title": "後續節奏改成批次推進", - "body": "S2.38-S2.45 已完成多層 checklist;後續應優先收斂 P0 負責人回覆與 AwoooP landing,避免持續拆分低影響核對項。", + "body": "已完成多層 checklist;後續應優先收斂 P0 負責人回覆與 AwoooP landing,避免持續拆分低影響核對項。", "unlock": "相同類型的 framework detail 之後合併成一批回報,只有高層 閘門 變動才調整 重點。", "guard": "節奏加快不等於放寬安全;runtime 與 source-control cutover 仍需人工 閘門。" } @@ -9993,7 +9993,7 @@ }, "ownerResponseNextActionFocus": { "title": "負責人 Response 下一步收件焦點", - "subtitle": "S2.47 將可推動 61% 的負責人回覆工作排清楚:先收 S4.9 Gitea owner attestation,再依序處理 GitHub target、refs 真相、工作流程 / 機密 name。這裡只顯示收件焦點,不催收、不代填、不標記已收到。", + "subtitle": "將可推動 61% 的負責人回覆工作排清楚:先收 S4.9 Gitea owner attestation,再依序處理 GitHub target、refs 真相、工作流程 / 機密 name。此區僅顯示收件焦點,不催收、不代填、不標記已收到。", "focusLabel": "下一步焦點", "nextLabel": "要看的 evidence", "guardLabel": "仍禁止", @@ -10026,14 +10026,14 @@ }, "s49OwnerResponseRequestTemplates": { "title": "S4.9 負責人 Response 五個回覆 Template", - "subtitle": "S2.49 將 S4.9 owner 要逐項回答的五個 template 顯示在 IwoooS。這裡只是 request-就緒 清單:request 仍未送出、不催收、不代填、不標記 已收到 / 已接受,也不把任何 template 當成 Gitea inventory 或 GitHub migration approval。", + "subtitle": "將 S4.9 owner 要逐項回答的五個 template 顯示在 IwoooS。此區是 request-就緒 清單:request 仍未送出、不催收、不代填、不標記 已收到 / 已接受,也不把任何 template 當成 Gitea inventory 或 GitHub migration approval。", "templateLabel": "Template", "ownerActionLabel": "負責人 要回覆", "guardLabel": "仍禁止", "items": { "publicOnlyVsLocalGiteaGap": { "title": "Public-only / local Gitea gap", - "body": "判定 `wooo/clawbot-v5` 與 `wooo/wooo-aiops` 是否屬於本輪 inventory / migration scope。", + "body": "判定 `wooo/clawbot-v5` 與 `wooo/wooo-aiops` 是否屬於目前階段 inventory / migration scope。", "ownerAction": "逐 repo 回覆 in scope、out of scope、legacy archived、external system、inaccessible 或 needs more evidence,並引用脫敏 evidence ref。", "guard": "request_就緒_not_sent;已收到=0;已接受=0;不寫 Gitea、不建立 repo、不 同步 ref。" }, @@ -10045,7 +10045,7 @@ }, "internal110AdjacentScope": { "title": "110 adjacent source scope", - "body": "判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入本輪 scope。", + "body": "判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入目前階段 scope。", "ownerAction": "逐項標示 in scope / out of scope / legacy / external / inaccessible,並補脫敏來源證據。", "guard": "不讀取私有 repo 內容、不匯入 archive、不把 110 adjacent source 自動納入 migration。" }, @@ -10065,7 +10065,7 @@ }, "s49OwnerResponseDispatchFlow": { "title": "S4.9 負責人回覆送件鏈路摘要", - "subtitle": "S2.106 把 S4.9 從工作單、封套、送件前檢查、結果分流、請求草稿到人工送件閘門整理成一條專業只讀鏈路。這是給管理、維運與 AwoooP 平行 Session 判讀目前待補項的摘要,不提供送出、批准、執行或主要來源切換入口。", + "subtitle": "將 S4.9 從工作單、封套、送件前檢查、結果分流、請求草稿到人工送件閘門整理成一條專業只讀鏈路。這是給管理、維運與 AwoooP 平行 Session 判讀目前待補項的摘要,不提供送出、批准、執行或主要來源切換入口。", "stepLabel": "步驟", "boundaryTitle": "送件鏈路邊界", "boundaryIntro": "以下鍵值固定這條鏈路仍是只讀可視化,不是 request sent、稽核事件、人工批准或執行授權。", @@ -10116,7 +10116,7 @@ }, "securityComplianceFrontStage": { "title": "前台安全合規整合判定", - "subtitle": "S2.107 的專業判定是保留 `/security-compliance`,並把它改成 IwoooS 的前台友善入口。前台操作角色仍可從熟悉的安全合規頁看到安全監控與合規統計,但資安網總覽、進度與執行邊界統一由 IwoooS 說明。", + "subtitle": "保留 `/security-compliance` 作為前台安全合規入口,並與 IwoooS 的資安網總覽、進度與執行邊界保持一致。", "decisionLabel": "判定", "boundaryTitle": "前台入口邊界", "boundaryIntro": "以下鍵值固定:這是導覽與資訊架構整合,不是 runtime 授權、審批、掃描、修復、部署或 GitHub primary 切換。", @@ -10126,8 +10126,8 @@ "detail": "保留既有安全合規入口,避免連結失效。" }, "decision": { - "label": "專業建議", - "detail": "整合到 IwoooS,不移除。" + "label": "架構策略", + "detail": "整合到 IwoooS,保留既有入口。" }, "removed": { "label": "是否移除", @@ -10153,13 +10153,13 @@ }, "runtimeControls": { "title": "不新增執行控制", - "body": "本階段只有可視化與資訊架構整理,不新增掃描、修復、批准、部署或 阻擋控制。" + "body": "目前僅提供可視化與資訊架構整理,不新增掃描、修復、批准、部署或阻擋控制。" } } }, "frontstageEntryRoles": { "title": "前台資安入口角色分流", - "subtitle": "S2.108 把前台會看到的資安入口拆成清楚角色:IwoooS 看總覽,安全合規維持熟悉入口,安全 / 合規保留原始資料頁,AwoooP 審批顯示人控等待。這只降低入口混淆,不新增執行控制。", + "subtitle": "將前台資安入口拆成清楚角色:IwoooS 看總覽,安全合規維持熟悉入口,安全 / 合規保留原始資料頁,AwoooP 審批顯示人控等待;此分流只降低入口混淆,不新增執行控制。", "routeLabel": "路由", "boundaryTitle": "入口分流邊界", "boundaryIntro": "以下鍵值固定:這是前台導覽與理解成本收斂,不是掃描、修復、批准、部署、GitHub 主要來源切換或任何執行期入口。", @@ -10206,7 +10206,7 @@ }, "lowFrictionRollout": { "title": "低摩擦分階段收斂主控", - "subtitle": "S2.111 把安全合規頁的低摩擦收斂節奏同步回 IwoooS 主入口:目前先觀測與盤點,補齊證據後才進人工審查;只有明確批准後才開執行期閘門,最後再逐步收嚴。", + "subtitle": "將安全合規頁的低摩擦收斂節奏同步回 IwoooS 主入口:目前先觀測與盤點,補齊證據後才進人工審查;只有明確批准後才開執行期閘門,最後再逐步收嚴。", "phaseLabel": "階段", "boundaryTitle": "分階段收斂邊界", "boundaryIntro": "以下鍵值固定:這是 IwoooS 主入口的策略可視化,不是掃描、修復、批准、部署、主要來源切換或任何執行期入口。", @@ -10253,7 +10253,7 @@ }, "lowFrictionNextActions": { "title": "低摩擦下一步行動邊界", - "subtitle": "S2.112 把 IwoooS 主入口的下一步拆成可做、準備與禁止:目前只能推只讀盤點、脫敏證據包與人工審查準備,掃描、主機變更、部署、來源切換仍要等明確批准與執行期閘門。", + "subtitle": "將 IwoooS 主入口的下一步拆成可做、準備與禁止:目前只能推只讀盤點、脫敏證據包與人工審查準備,掃描、主機變更、部署、來源切換仍要等明確批准與執行期閘門。", "boundaryTitle": "下一步行動邊界", "boundaryIntro": "以下鍵值固定:這是下一步行動的前台說明與防誤用邊界,不是掃描、修復、批准、部署、主機變更或版本來源操作入口。", "summary": { @@ -10299,7 +10299,7 @@ }, "progressMovementSignals": { "title": "61% 進度移動訊號驗收條", - "subtitle": "S2.113 把真正會讓整體資安網 重點 往前的訊號拉到 IwoooS:AwoooP 落地證據已驗證為 1,讓整體從 58% 保守重估到 61%;負責人回覆、脫敏證據匯入、執行期閘門與 GitHub 主要來源仍是 0 或 false。", + "subtitle": "將真正會讓整體資安網 重點 往前的訊號拉到 IwoooS:AwoooP 落地證據已驗證為 1,讓整體從 58% 保守重估到 61%;負責人回覆、脫敏證據匯入、執行期閘門與 GitHub 主要來源仍是 0 或 false。", "boundaryTitle": "進度移動驗收邊界", "boundaryIntro": "以下鍵值固定:這是 重點 移動條件的只讀驗收條,不是進度灌水、批准、掃描、修復、部署、主機變更或版本來源操作入口。", "summary": { @@ -10345,7 +10345,7 @@ }, "concreteSecurityWorkMap": { "title": "目前具體工作地圖", - "subtitle": "S2.123 回應「很難理解有哪些具體工作」:把目前資安網拆成六條實體工作流。已完成的是前台可視化與只讀框架;真正會推動 61% 的下一步仍是 S4.9 負責人回覆被收到、脫敏並接受。", + "subtitle": "將目前資安網拆成六條實體工作流。已完成的是前台可視化與只讀框架;真正會推動 61% 的下一步仍是 S4.9 負責人回覆被收到、脫敏並接受。", "workLabel": "工作", "boundaryTitle": "具體工作邊界", "boundaryIntro": "以下鍵值固定:這張圖只是把具體工作流講清楚,不是 runtime 授權、Kali 掃描、主機變更、repo/refs/工作流程/機密 操作、GitHub primary 切換或 Gitea 停用。", @@ -10395,14 +10395,14 @@ }, "runtimeExecutionGate": { "title": "runtime 掃描、修復、部署與主機變更", - "body": "已把所有執行動作放在人工批准與後續 執行期閘門 之後,不讓初期框架把資安限制拉太高。", + "body": "已把所有執行動作放在人工批准與後續 執行期閘門 之後,避免治理框架在未授權前影響產品交付速度。", "evidence": "具體產出:目前 active_runtime_閘門_count=0,scan/deploy/主機變更/source-control mutation 全部仍禁止。" } } }, "concreteSecurityDeliveryChecklist": { "title": "目前具體交付清單", - "subtitle": "S2.124 把六條具體工作流再拆成可追蹤交付項目:每一項都標明已交付內容、下一步需要的證據,以及目前仍被禁止的動作。這是只讀交付清單,不是批准、掃描、修復、部署或主機操作入口。", + "subtitle": "將六條具體工作流再拆成可追蹤交付項目:每一項都標明已交付內容、下一步需要的證據,以及目前仍被禁止的動作。這是只讀交付清單,不是批准、掃描、修復、部署或主機操作入口。", "deliverableLabel": "交付", "deliveredLabel": "已交付", "nextLabel": "下一步", @@ -10468,7 +10468,7 @@ }, "concreteSecurityBlockerResolution": { "title": "目前阻塞與解除條件", - "subtitle": "S2.125 把 61% 無法前進的原因拆成六個阻塞點。每個阻塞點都標明為什麼卡住,以及要用哪種脫敏證據或人工 閘門 才能解除;這仍是只讀狀態,不是批准或執行入口。", + "subtitle": "將 61% 無法前進的原因拆成六個阻塞點。每個阻塞點都標明為什麼卡住,以及要用哪種脫敏證據或人工 閘門 才能解除;這仍是只讀狀態,不是批准或執行入口。", "blockerLabel": "阻塞", "whyLabel": "卡住原因", "unlockLabel": "解除條件", @@ -10527,7 +10527,7 @@ }, "threeAxisProductProgress": { "title": "三軸進度與全產品套用範圍", - "subtitle": "S2.126 回應「是否也套用在所有專案產品」:所有專案產品都套用同一套三軸進度,但第一階段只套只讀治理與可視化,不自動套 runtime enforcement。這讓框架進度、整體加權進度與落地執行進度分開顯示,不再只看到 61%。", + "subtitle": "所有專案產品都套用同一套三軸進度,但第一階段只套只讀治理與可視化,不自動套 runtime enforcement。這讓框架進度、整體加權進度與落地執行進度分開顯示,避免只看到單一進度數字。", "scopeLabel": "範圍", "currentLabel": "目前套用", "nextLabel": "下一步", @@ -10599,7 +10599,7 @@ }, "productRolloutWaveLedger": { "title": "全產品分階段套用台帳", - "subtitle": "S2.127 把「所有專案產品都套用」轉成七個 分階段套用 wave,並把 VibeWork 新專案納入只讀波次:先套只讀可視化與證據欄位,再依 owner evidence、人工審查與 執行期閘門 分段收嚴。這仍是產品套用台帳,不是掃描、修復、部署或主機操作入口。", + "subtitle": "將「所有專案產品都套用」轉成七個 分階段套用 wave,並把 VibeWork 新專案納入只讀波次:先套只讀可視化與證據欄位,再依 owner evidence、人工審查與 執行期閘門 分段收嚴。這仍是產品套用台帳,不是掃描、修復、部署或主機操作入口。", "waveLabel": "波次", "allowedLabel": "目前可做", "beforeRuntimeLabel": "進 runtime 前", @@ -10671,7 +10671,7 @@ }, "productRolloutAcceptanceGates": { "title": "全產品 分階段套用 波次驗收門檻", - "subtitle": "S2.128 把 S2.127 的七個產品波次再補上六個驗收門檻:每個波次都要先通過只讀證據、owner evidence、脫敏審查、版本來源證明、主機安全窗口與 回復 / disable 條件,才可能被列入後續 runtime 候選。這仍是驗收門檻可視化,不是批准或執行。", + "subtitle": "將七個產品波次再補上六個驗收門檻:每個波次都要先通過只讀證據、owner evidence、脫敏審查、版本來源證明、主機安全窗口與 回復 / disable 條件,才可能被列入後續 runtime 候選。這仍是驗收門檻可視化,不是批准或執行。", "gateLabel": "門檻", "requiredEvidenceLabel": "需要證據", "acceptanceSignalLabel": "驗收訊號", @@ -10737,7 +10737,7 @@ }, "productRolloutAcceptanceOutcomes": { "title": "全產品 分階段套用 驗收結果分流", - "subtitle": "S2.129 把 S2.128 的驗收門檻往後補成七條結果分流:維持只讀、退回補證、隔離敏感、版本待證、主機暫停、待人工審與 runtime 未開。這讓所有產品的後續狀態可以被理解,但仍不建立 reviewer candidate、執行期閘門 或任何執行動作。", + "subtitle": "將驗收門檻往後補成七條結果分流:維持只讀、退回補證、隔離敏感、版本待證、主機暫停、待人工審與 runtime 未開。這讓所有產品的後續狀態可以被理解,但仍不建立 reviewer candidate、執行期閘門 或任何執行動作。", "laneLabel": "分流", "whyLabel": "判定原因", "nextLabel": "下一步", @@ -10809,7 +10809,7 @@ }, "productEvidenceWiringMap": { "title": "全產品證據接線地圖", - "subtitle": "S2.130 把所有產品下一步要接的證據線整理成六條 僅中繼資料 channel:產品範圍、負責人回覆、脫敏證據、版本來源真相、主機安全窗口與監控工具摘要。這是只讀接線圖,不代表任何產品已完成接線、通過驗收或可進 runtime。", + "subtitle": "將所有產品下一步要接的證據線整理成六條 僅中繼資料 channel:產品範圍、負責人回覆、脫敏證據、版本來源真相、主機安全窗口與監控工具摘要。這是只讀接線圖,不代表任何產品已完成接線、通過驗收或可進 runtime。", "channelLabel": "證據線", "evidenceLabel": "需要證據", "handoffLabel": "交接方式", @@ -10875,7 +10875,7 @@ }, "productEvidenceWiringPreflight": { "title": "全產品證據接線預檢", - "subtitle": "S2.131 把 S2.130 的六條證據線補上接線前預檢:範圍 metadata、負責人封套、脫敏邊界、版本來源真相、主機安全窗口與工具摘要都要先通過,只能進只讀接線候選。這不是送件、驗收、審批或 runtime 入口。", + "subtitle": "將六條證據線補上接線前預檢:範圍 metadata、負責人封套、脫敏邊界、版本來源真相、主機安全窗口與工具摘要都要先通過,只能進只讀接線候選。這不是送件、驗收、審批或 runtime 入口。", "checkLabel": "預檢", "checkPointLabel": "檢查重點", "passSignalLabel": "通過訊號", @@ -10948,7 +10948,7 @@ }, "productEvidenceWiringPreflightOutcomes": { "title": "全產品證據接線預檢結果分流", - "subtitle": "S2.132 把 S2.131 的預檢結果拆成八條分流:維持只讀、退回範圍、退回封套、隔離敏感、版本暫停、主機暫停、工具待摘要與 runtime 關閉。這讓所有產品的接線前狀態更容易理解,但仍不建立 reviewer candidate、稽核事件或 執行期閘門。", + "subtitle": "將預檢結果拆成八條分流:維持只讀、退回範圍、退回封套、隔離敏感、版本暫停、主機暫停、工具待摘要與 runtime 關閉。這讓所有產品的接線前狀態更容易理解,但仍不建立 reviewer candidate、稽核事件或 執行期閘門。", "outcomeLabel": "結果", "whyLabel": "判定原因", "nextLabel": "下一步", @@ -11026,7 +11026,7 @@ }, "productEvidenceWiringPreflightRecoveryLedger": { "title": "全產品預檢補件回收台帳", - "subtitle": "S2.133 把 S2.132 的退回、隔離與暫停分流接成七個只讀補件隊列。前台可呈現每一類產品要補什麼、由誰補、怎麼回到預檢,但這裡不送出 request、不催收、不接受證據、不建立審批,也不開執行期閘門。", + "subtitle": "將退回、隔離與暫停分流接成七個只讀補件隊列。前台可呈現每一類產品要補什麼、由誰補、怎麼回到預檢,但此區不送出 request、不催收、不接受證據、不建立審批,也不開執行期閘門。", "queueLabel": "隊列", "ownerLabel": "負責人", "requiredLabel": "需要補齊", @@ -11106,7 +11106,7 @@ }, "productEvidenceWiringPreflightRetryGates": { "title": "全產品補件重試門檻", - "subtitle": "S2.134 把 S2.133 回收後的補件整理成六個重試門檻:範圍、封套、脫敏、版本、主機與工具摘要都要先符合只讀條件,才可能重新進預檢候選。這不是送件、驗收、接受、審批或 runtime 入口。", + "subtitle": "將 回收後的補件整理成六個重試門檻:範圍、封套、脫敏、版本、主機與工具摘要都要先符合只讀條件,才可能重新進預檢候選。這不是送件、驗收、接受、審批或 runtime 入口。", "gateLabel": "門檻", "readyLabel": "可重試條件", "retryLabel": "重試方式", @@ -11135,7 +11135,7 @@ "scopeReady": { "title": "範圍重試門檻", "ready": "產品名稱、owner、公開面、內部面、資料分級、適用波次與 evidence ref 都完整。", - "retry": "只可標示為 scope retry candidate,重新跑 S2.131 範圍預檢。", + "retry": "只可標示為 scope retry candidate,重新執行範圍預檢。", "blocked": "不得匯入 raw inventory、內網拓撲原文、完整資產 dump 或掃描輸出。" }, "ownerReady": { @@ -11172,7 +11172,7 @@ }, "productEvidenceWiringPreflightRetryOutcomes": { "title": "全產品重試結果分流", - "subtitle": "S2.135 把 S2.134 的重試門檻後續結果拆成八條分流:維持只讀候選、退回補件、隔離敏感、版本退回、主機暫停、摘要退回、等待人工審查與 runtime 仍關閉。這讓所有產品看得懂重試後往哪裡走,但仍不代表接線完成、owner 已接受、reviewer queue 開啟或 runtime 授權。", + "subtitle": "將重試門檻後續結果拆成八條分流:維持只讀候選、退回補件、隔離敏感、版本退回、主機暫停、摘要退回、等待人工審查與 runtime 仍關閉。這讓所有產品看得懂重試後往哪裡走,但仍不代表接線完成、owner 已接受、reviewer queue 開啟或 runtime 授權。", "outcomeLabel": "結果", "decisionLabel": "判定", "nextLabel": "下一步", @@ -11207,7 +11207,7 @@ "returnSupplement": { "title": "退回補件", "decision": "補件仍缺 scope、owner role、decision、理由、evidence ref 或 後續追蹤 owner。", - "next": "退回 S2.133 補件回收台帳,要求產品 owner 重新補齊 僅中繼資料 欄位。", + "next": "退回 補件回收台帳,要求產品 owner 重新補齊 僅中繼資料 欄位。", "blocked": "不得代填、代簽、催收、自動送 request、建立審批或把聊天同意當正式證據。" }, "quarantineSensitive": { @@ -11250,7 +11250,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidate": { "title": "全產品人工審查候選準備", - "subtitle": "S2.136 把 S2.135 的等待人工審查分流拆成八個只讀準備包:候選識別、結果來源、負責人與範圍、脫敏聲明、版本來源證據、主機窗口、工具摘要證據與 runtime 分離。這讓所有產品知道進 reviewer queue 前要整理什麼,但仍不建立候選、不指派 reviewer、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將等待人工審查分流拆成八個只讀準備包:候選識別、結果來源、負責人與範圍、脫敏聲明、版本來源證據、主機窗口、工具摘要證據與 runtime 分離。這讓所有產品知道進 reviewer queue 前要整理什麼,但仍不建立候選、不指派 reviewer、不產生稽核事件,也不開 執行期閘門。", "packetLabel": "準備包", "requiredLabel": "需要整理", "handoffLabel": "交接方式", @@ -11284,7 +11284,7 @@ }, "sourceOutcomeTrace": { "title": "重試結果來源包", - "required": "對應 S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照。", + "required": "對應前序分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照。", "handoff": "只把重試結果來源串成 metadata trace,等待人工判讀。", "blocked": "不得覆寫原分流、跳過退回原因、隱藏隔離原因或改寫證據歷程。" }, @@ -11328,7 +11328,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflight": { "title": "全產品人工審查候選預檢", - "subtitle": "S2.137 把 S2.136 的八個人工審查候選準備包再拆成八個送入 reviewer queue 前的只讀預檢。這一步只確認識別、來源、範圍、脫敏、版本、主機、工具摘要與 runtime 分離是否可讀,不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", + "subtitle": "將八個人工審查候選準備包再拆成八個送入 reviewer queue 前的只讀預檢。這一步只確認識別、來源、範圍、脫敏、版本、主機、工具摘要與 runtime 分離是否可讀,不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", "checkLabel": "預檢", "requirementLabel": "需要確認", "passLabel": "通過訊號", @@ -11359,12 +11359,12 @@ "title": "候選識別預檢", "requirement": "產品名稱、候選批次、來源分流、重試時間、owner 與 evidence ref 都能追溯。", "pass": "只可標示 candidate identity readable,不建立 reviewer candidate。", - "fail": "缺批次、來源或 owner 時退回 S2.136 候選識別準備包。", + "fail": "缺批次、來源或 owner 時退回 候選識別準備包。", "blocked": "不得把識別可讀當成排程完成、人工接受、稽核事件或 runtime 授權。" }, "sourceOutcomeTrace": { "title": "重試結果來源預檢", - "requirement": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都可追溯。", + "requirement": "分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都可追溯。", "pass": "只可標示 outcome trace readable,等待人工判讀。", "fail": "來源缺漏、分流不一致或隔離原因不明時退回結果來源包。", "blocked": "不得覆寫原分流、跳過退回原因、隱藏隔離原因或改寫證據歷程。" @@ -11415,7 +11415,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes": { "title": "全產品人工審查候選預檢結果分流", - "subtitle": "S2.138 把 S2.137 的預檢結果拆成八條只讀分流:維持只讀、退回識別、退回來源、退回範圍、隔離敏感、版本 / 主機暫停、等待人工審查與 runtime 仍關閉。這讓所有專案產品看懂預檢後下一步,但仍不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", + "subtitle": "將預檢結果拆成八條只讀分流:維持只讀、退回識別、退回來源、退回範圍、隔離敏感、版本 / 主機暫停、等待人工審查與 runtime 仍關閉。這讓所有專案產品看懂預檢後下一步,但仍不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", "outcomeLabel": "分流", "decisionLabel": "判定", "nextLabel": "下一步", @@ -11450,12 +11450,12 @@ "returnIdentity": { "title": "退回識別補件", "decision": "產品名稱、批次、來源分流、重試時間、owner 或 evidence ref 缺漏時退回。", - "next": "回到 S2.136 候選識別準備包補齊 僅中繼資料 識別欄位。", + "next": "回到 候選識別準備包補齊 僅中繼資料 識別欄位。", "blocked": "不得代填 owner、跳過批次追溯、建立審查排程或送出 request。" }, "returnTrace": { "title": "退回來源追溯", - "decision": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源或前一輪預檢參照不一致時退回。", + "decision": "分流、退回 / 隔離 / 等待原因、補件來源或前一輪預檢參照不一致時退回。", "next": "回到結果來源包補齊來源鏈路,維持可讀但不接受。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11493,7 +11493,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger": { "title": "全產品人工審查候選預檢補件回收台帳", - "subtitle": "S2.139 把 S2.138 的退回、隔離與暫停結果整理成八個只讀補件回收佇列:識別補件、來源補件、範圍補件、脫敏重送、版本補證、主機窗口補證、工具摘要補件與 runtime 聲明。這讓所有專案產品知道被退回後要補什麼、由誰補、如何回到預檢,但仍不接受補件、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將退回、隔離與暫停結果整理成八個只讀補件回收佇列:識別補件、來源補件、範圍補件、脫敏重送、版本補證、主機窗口補證、工具摘要補件與 runtime 聲明。這讓所有專案產品知道被退回後要補什麼、由誰補、如何回到預檢,但仍不接受補件、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", "queueLabel": "回收佇列", "ownerLabel": "負責角色", "requiredLabel": "需要補齊", @@ -11524,13 +11524,13 @@ "title": "識別補件回收", "owner": "產品 owner 或指定資料整理人,只補 metadata,不代填決策。", "required": "產品名稱、批次、來源分流、重試時間、owner、evidence ref 與缺漏原因。", - "recovery": "補齊後只能回到 S2.137 候選識別預檢,不能直接進 reviewer queue。", + "recovery": "補齊後只能回到 候選識別預檢,不能直接進 reviewer queue。", "blocked": "不得代填 owner、跳過批次追溯、建立審查排程、送出 request 或建立候選。" }, "traceSupplement": { "title": "來源追溯補件回收", "owner": "證據整理人與來源系統 owner 共同補足分流來源。", - "required": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源、前一輪預檢參照與 evidence ref。", + "required": "分流、退回 / 隔離 / 等待原因、補件來源、前一輪預檢參照與 evidence ref。", "recovery": "補齊後只標示 outcome trace 可重新預檢,等待人工判讀。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11580,7 +11580,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates": { "title": "全產品人工審查候選預檢補件重試門檻", - "subtitle": "S2.140 把 S2.139 的補件回收台帳再拆成八個只讀重試門檻:識別、來源、範圍、脫敏、版本、主機窗口、工具摘要與 runtime 分離。這讓所有專案產品知道補件回收後何時可以重新回到 S2.137 預檢,但仍不接受補件、不標記通過、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將補件回收台帳再拆成八個只讀重試門檻:識別、來源、範圍、脫敏、版本、主機窗口、工具摘要與 runtime 分離。這讓所有專案產品知道補件回收後何時可以重新回到前序預檢,但仍不接受補件、不標記通過、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", "gateLabel": "門檻", "readyLabel": "可重試條件", "retryLabel": "重試方式", @@ -11609,12 +11609,12 @@ "identityGate": { "title": "識別重試門檻", "ready": "產品名稱、批次、來源分流、重試時間、owner、evidence ref 與缺漏原因都補齊。", - "retry": "只能回到 S2.137 候選識別預檢,重新檢查 metadata 可讀性。", + "retry": "只能回到 候選識別預檢,重新檢查 metadata 可讀性。", "blocked": "不得跳過識別重試、建立審查排程、送出 request、建立候選或代填 owner。" }, "traceGate": { "title": "來源重試門檻", - "ready": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都一致。", + "ready": "分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都一致。", "retry": "只標示 outcome trace 可重新預檢,等待人工判讀來源鏈路。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11659,7 +11659,7 @@ "firstProgressUnlockPath": { "eyebrow": "61% 下一步", "title": "第一個進度解鎖路徑", - "subtitle": "把 61% 下一個可推進路徑放到首頁首層:先收 S4.9 負責人可追溯回覆,再補齊脫敏證據參照,通過收件預檢與審查接受後,才可能成為進度審查候選。", + "subtitle": "將 61% 下一個可推進路徑放到首頁首層:先收 S4.9 負責人可追溯回覆,再補齊脫敏證據參照,通過收件預檢與審查接受後,才可能成為進度審查候選。", "stepLabel": "步驟", "boundaryTitle": "第一解鎖路徑邊界", "boundaryIntro": "以下鍵值固定:這是 S4.9 第一解鎖路徑的只讀收斂,不是送件完成、回覆已收到、批准、掃描、修復、部署或執行期入口。", @@ -11753,7 +11753,7 @@ "state": "跨 Session 已接線", "detail": "AwoooP、Alerts、Monitoring、Work Items、Runs、Approvals 與 Telegram truth-chain 已能連到同一筆 Incident 證據。", "evidence": "正式環境已有 truth-chain drill-down 與 deploy marker。", - "next": "把資安 owner response 與 reviewer queue 維持只讀同步。", + "next": "將資安 owner response 與 reviewer queue 維持只讀同步。", "locked": "AwoooP approval 不自動等於資安 runtime 批准。" }, "boundary": { @@ -11768,7 +11768,7 @@ }, "firstUnlockEvidencePacket": { "title": "第一解鎖證據包", - "subtitle": "S2.115 把 S4.9 要讓 61% 真正前進所需的證據收斂成五個欄位:負責人判定 metadata、範圍與來源參照、脫敏聲明、收件預檢軌跡、審查接受摘要。這裡只顯示要補什麼,不收 raw 載荷、不收機密明文、不開 重點 審查。", + "subtitle": "將 S4.9 要讓 61% 真正前進所需的證據收斂成五個欄位:負責人判定 metadata、範圍與來源參照、脫敏聲明、收件預檢軌跡、審查接受摘要。此區僅顯示要補什麼,不收 raw 載荷、不收機密明文、不開 重點 審查。", "slotLabel": "欄位", "boundaryTitle": "證據包收件邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的只讀欄位定義,不是送件、收件、驗收通過、審批、掃描、修復、部署或執行期入口。", @@ -11815,7 +11815,7 @@ }, "firstUnlockEvidencePacketPreflightOutcomes": { "title": "第一解鎖證據包預檢分流", - "subtitle": "S2.116 把第一解鎖證據包進來後的結果分成六條只讀分流:可進審查、補 owner metadata、補範圍參照、隔離 raw 載荷、拒收機密值、等待 reviewer。這裡只說明預檢結果,不把任何分流當成已接受或授權。", + "subtitle": "將第一解鎖證據包進來後的結果分成六條只讀分流:可進審查、補 owner metadata、補範圍參照、隔離 raw 載荷、拒收機密值、等待 reviewer。此區僅說明預檢結果,不把任何分流當成已接受或授權。", "laneLabel": "分流", "boundaryTitle": "預檢分流邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的預檢結果分流,不是證據已補齊、審查已接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11866,7 +11866,7 @@ }, "firstUnlockEvidencePacketSupplementPath": { "title": "第一解鎖證據包補件路徑", - "subtitle": "S2.117 把第一解鎖證據包未通過預檢時的補件方式拆成五步:補 owner metadata、補範圍參照、補脫敏聲明、補預檢軌跡、等待 reviewer queue。這裡只顯示補件路徑,不送出 request、不接受證據、不開 重點 審查。", + "subtitle": "將第一解鎖證據包未通過預檢時的補件方式拆成五步:補 owner metadata、補範圍參照、補脫敏聲明、補預檢軌跡、等待 reviewer queue。此區僅顯示補件路徑,不送出 request、不接受證據、不開 重點 審查。", "stepLabel": "補件步驟", "boundaryTitle": "補件路徑邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的補件說明,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11913,7 +11913,7 @@ }, "firstUnlockEvidencePacketSupplementPreReview": { "title": "第一解鎖證據包補件送審前檢查", - "subtitle": "S2.118 把補件要進 reviewer queue 前的檢查拆成六項:owner metadata 完整、範圍參照可追溯、脫敏聲明成立、預檢軌跡附上、禁止變更條款維持、reviewer queue 未開。這裡只顯示送審前檢查,不代表補件已送出或已接受。", + "subtitle": "將補件要進 reviewer queue 前的檢查拆成六項:owner metadata 完整、範圍參照可追溯、脫敏聲明成立、預檢軌跡附上、禁止變更條款維持、reviewer queue 未開。此區僅顯示送審前檢查,不代表補件已送出或已接受。", "checkLabel": "檢查", "boundaryTitle": "送審前檢查邊界", "boundaryIntro": "以下鍵值固定:這是補件送審前檢查,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11964,7 +11964,7 @@ }, "firstUnlockEvidencePacketSupplementPreReviewOutcomes": { "title": "第一解鎖證據包補件送審結果分流", - "subtitle": "S2.119 把補件送審前檢查後可能出現的結果拆成六條只讀分流:可排入 reviewer queue、退回補件、隔離敏感材料、拒收變更要求、維持佇列未開、等待 reviewer 指派。這裡只顯示結果分流,不代表 queue 已開、補件已送出或審查已接受。", + "subtitle": "將補件送審前檢查後可能出現的結果拆成六條只讀分流:可排入 reviewer queue、退回補件、隔離敏感材料、拒收變更要求、維持佇列未開、等待 reviewer 指派。此區僅顯示結果分流,不代表 queue 已開、補件已送出或審查已接受。", "outcomeLabel": "結果", "boundaryTitle": "結果分流邊界", "boundaryIntro": "以下鍵值固定:這是補件送審前檢查後的只讀結果分流,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -12015,7 +12015,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreparation": { "title": "第一解鎖證據包 reviewer 指派準備包", - "subtitle": "S2.120 把補件結果分流之後,若未來要進人工 reviewer 指派前需要整理的六個準備包前台化:佇列狀態凍結、reviewer 角色邊界、範圍包、證據索引、衝突揭露、指派稽核草稿。這裡只顯示準備包,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將補件結果分流之後,若未來要進人工 reviewer 指派前需要整理的六個準備包前台化:佇列狀態凍結、reviewer 角色邊界、範圍包、證據索引、衝突揭露、指派稽核草稿。此區僅顯示準備包,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "packetLabel": "準備包", "boundaryTitle": "指派準備邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前的只讀準備包,不是開 queue、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12040,7 +12040,7 @@ "items": { "queueStatusFreeze": { "title": "佇列狀態凍結", - "body": "把 queue_open=false、就緒_for_queue_count=0 與 request_sent=false 固定在同一個準備包,避免被誤讀成已開佇列。" + "body": "將 queue_open=false、就緒_for_queue_count=0 與 request_sent=false 固定在同一個準備包,避免被誤讀成已開佇列。" }, "reviewerRoleBoundary": { "title": "reviewer 角色邊界", @@ -12066,7 +12066,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreflight": { "title": "第一解鎖證據包 reviewer 指派前檢查", - "subtitle": "S2.121 把 reviewer 指派準備包之後的六項檢查前台化:佇列仍關閉、角色邊界可追溯、範圍包可追溯、證據索引已脫敏、衝突揭露已釐清、稽核草稿只含 metadata。這裡只顯示指派前檢查,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將 reviewer 指派準備包之後的六項檢查前台化:佇列仍關閉、角色邊界可追溯、範圍包可追溯、證據索引已脫敏、衝突揭露已釐清、稽核草稿只含 metadata。此區僅顯示指派前檢查,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "checkLabel": "檢查", "boundaryTitle": "指派前檢查邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前的只讀檢查,不是開 queue、建立 reviewer candidate、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12117,7 +12117,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome": { "title": "第一解鎖證據包 reviewer 指派前檢查結果分流", - "subtitle": "S2.122 把 reviewer 指派前檢查後的六條結果分流前台化:維持佇列關閉、退回角色邊界、退回範圍包、隔離未脫敏證據、暫停衝突揭露、保留 僅中繼資料 稽核草稿。這裡只顯示分流,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將 reviewer 指派前檢查後的六條結果分流前台化:維持佇列關閉、退回角色邊界、退回範圍包、隔離未脫敏證據、暫停衝突揭露、保留 僅中繼資料 稽核草稿。此區僅顯示分流,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "outcomeLabel": "結果", "boundaryTitle": "指派前結果分流邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前檢查後的只讀結果分流,不是建立 reviewer candidate、開 queue、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12168,7 +12168,7 @@ }, "s49OwnerResponseWorkOrder": { "title": "S4.9 負責人 Response 人工收件工作單", - "subtitle": "S2.101 把第一個真正能推動 61% 的 S4.9 回覆收件格式放到 IwoooS:每項都要包含 owner role/team、decision、decision reason、受影響 scope、脫敏 evidence refs 與 後續追蹤 owner。這裡只是人工收件工作單,不送出 request、不收件、不標記 已收到 / 已接受。", + "subtitle": "將第一個真正能推動 61% 的 S4.9 回覆收件格式放到 IwoooS:每項都要包含 owner role/team、decision、decision reason、受影響 scope、脫敏 evidence refs 與 後續追蹤 owner。此區是人工收件工作單,不送出 request、不收件、不標記 已收到 / 已接受。", "itemLabel": "收件項目", "requiredFieldsLabel": "必填欄位", "acceptanceLabel": "驗收方式", @@ -12195,7 +12195,7 @@ "items": { "scopeGapResponse": { "title": "Public-only / local gap 回覆", - "body": "請 owner 判定 public-only 與 local Gitea 差異是否納入本輪 inventory / migration scope。", + "body": "請 owner 判定 public-only 與 local Gitea 差異是否納入目前階段 inventory / migration scope。", "requiredFields": "owner role/team、decision、decision reason、affected scope、redacted evidence refs、後續追蹤 owner。", "acceptance": "decision 必須落在 in scope、out of scope、legacy archived、external system、inaccessible 或 needs more evidence。", "guard": "不建立 repo、不讀私有內容、不同步 refs、不把差異判定當 migration approval。" @@ -12209,7 +12209,7 @@ }, "adjacentSourceResponse": { "title": "110 adjacent source scope 回覆", - "body": "請 owner 判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入本輪 scope。", + "body": "請 owner 判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入目前階段 scope。", "requiredFields": "owner role/team、per-source decision、decision reason、affected source、redacted evidence refs、後續追蹤 owner。", "acceptance": "逐項標示 in scope、out of scope、legacy、external、inaccessible 或 needs more evidence,並保留脫敏 trace。", "guard": "不讀取私有 repo 內容、不匯入 archive、不把 110 adjacent source 自動納入 migration。" @@ -12232,7 +12232,7 @@ }, "s49OwnerResponseEnvelope": { "title": "S4.9 負責人回覆封套欄位", - "subtitle": "S2.102 把 S4.9 負責人回覆的六個必填欄位做成只讀回覆封套矩陣。這讓負責人可以照同一格式回覆,也讓審查者能逐欄驗收;目前仍是空白封套,不提交、不收件、不建立稽核事件。", + "subtitle": "將 S4.9 負責人回覆的六個必填欄位做成只讀回覆封套矩陣。這讓負責人可以照同一格式回覆,也讓審查者能逐欄驗收;目前仍是空白封套,不提交、不收件、不建立稽核事件。", "fieldLabel": "封套欄位", "formatLabel": "建議格式", "guardLabel": "仍禁止", @@ -12296,7 +12296,7 @@ }, "s49OwnerResponseEnvelopePreflight": { "title": "S4.9 負責人回覆封套送件前檢查", - "subtitle": "S2.103 把回覆封套送出前的六個檢查點做成只讀看板。它只協助負責人與審查者確認欄位、判定、證據、範圍、變更要求與後續負責人是否可讀;目前通過=0、可送件=0,不送出、不收件、不建立稽核事件。", + "subtitle": "將回覆封套送出前的六個檢查點做成只讀看板。它只協助負責人與審查者確認欄位、判定、證據、範圍、變更要求與後續負責人是否可讀;目前通過=0、可送件=0,不送出、不收件、不建立稽核事件。", "checkLabel": "送件前檢查", "failureLabel": "不通過時", "guardLabel": "仍禁止", @@ -12360,7 +12360,7 @@ }, "s49OwnerResponseEnvelopePreflightOutcome": { "title": "S4.9 負責人回覆封套送件前結果分流", - "subtitle": "S2.104 把送件前檢查後的七種結果做成只讀分流。它只說明封套不通過時要補欄、修正判定、隔離敏感證據、修正範圍、拒收變更要求或維持等待;目前可進收件=0,不送出、不收件、不接受。", + "subtitle": "將送件前檢查後的七種結果做成只讀分流。它只說明封套不通過時要補欄、修正判定、隔離敏感證據、修正範圍、拒收變更要求或維持等待;目前可進收件=0,不送出、不收件、不接受。", "laneLabel": "結果分流", "nextLabel": "下一步", "guardLabel": "仍禁止", @@ -12430,7 +12430,7 @@ }, "s49OwnerResponseRequestDraft": { "title": "S4.9 負責人回覆送件請求草稿", - "subtitle": "S2.105 把送件請求拆成只讀草稿,讓封套、預檢與結果分流之後仍有明確的防誤送邊界。這裡只顯示送件前要整理的草稿項,不寄送 request、不通知負責人、不建立稽核事件、不標記收到或接受。", + "subtitle": "將送件請求拆成只讀草稿,讓封套、預檢與結果分流之後仍有明確的防誤送邊界。此區僅顯示送件前要整理的草稿項,不寄送 request、不通知負責人、不建立稽核事件、不標記收到或接受。", "draftLabel": "草稿項", "gapLabel": "目前缺口", "guardLabel": "仍禁止", @@ -12456,7 +12456,7 @@ "items": { "scopeMappingDraft": { "title": "收件範圍對應草稿", - "body": "把 S4.9 五個人工收件項對應到封套範圍,確認每筆請求只問已定義的清冊、端點、鄰近來源、標準負責人或 legacy disposition 問題。", + "body": "將 S4.9 五個人工收件項對應到封套範圍,確認每筆請求只問已定義的清冊、端點、鄰近來源、標準負責人或 legacy disposition 問題。", "gap": "尚未有可送出的範圍對應,不建立 request。", "guard": "不自動擴大專案庫範圍、不把範圍草稿當 負責人回覆。" }, @@ -12486,7 +12486,7 @@ }, "manualDispatchGateDraft": { "title": "人工送件閘門草稿", - "body": "把送件前最後一道人工確認獨立出來:只有確認收件範圍、對象、脫敏證據、禁止變更條款與稽核範本後,才可另行批准送件。", + "body": "將送件前最後一道人工確認獨立出來:只有確認收件範圍、對象、脫敏證據、禁止變更條款與稽核範本後,才可另行批准送件。", "gap": "人工送件閘門未開,request_sent 仍為 false。", "guard": "不提供送出按鈕、不代替負責人回覆、不開執行期閘門。" } @@ -12494,7 +12494,7 @@ }, "s49OwnerResponsePreflight": { "title": "S4.9 負責人 Response 收件前 預檢", - "subtitle": "S2.48 把 S4.9 的 6 個收件前檢查拉到 IwoooS:先確認回覆是否對應已知 attestation item、欄位完整、decision 合法、evidence 脫敏、沒有執行要求,且五個 items 到齊前不得 已接受。這裡只顯示 preflight,不寄送 request、不標記 已收到、不建立 audit event。", + "subtitle": "將 S4.9 的 6 個收件前檢查拉到 IwoooS:先確認回覆是否對應已知 attestation item、欄位完整、decision 合法、evidence 脫敏、沒有執行要求,且五個 items 到齊前不得 已接受。此區僅顯示 preflight,不寄送 request、不標記 已收到、不建立 audit event。", "checkLabel": "預檢", "failureLabel": "不通過時", "guardLabel": "仍禁止", @@ -12539,7 +12539,7 @@ }, "awooopCrossSessionHandoff": { "title": "AwoooP 跨 Session Handoff", - "subtitle": "S2.52 將目前 PR、分支、進度語義、必跑 guard、禁止動作與下一個協調 閘門 固定成只讀 handoff packet,讓另一個 AwoooP Session 可直接接手,不把 handoff 當 正式環境落地 或執行授權。", + "subtitle": "將目前 PR、分支、進度語義、必跑 guard、禁止動作與下一個協調 閘門 固定成只讀 handoff packet,讓另一個 AwoooP Session 可直接接手,不把 handoff 當 正式環境落地 或執行授權。", "packetLabel": "Handoff packet", "handoffLabel": "交接說明", "guardLabel": "仍鎖住", @@ -12585,7 +12585,7 @@ "fastProgress": { "eyebrow": "快速進度回報", "title": "目前做了什麼,一眼看懂", - "subtitle": "這裡只放高層第一屏摘要:哪些已經前台可見、Kali 112 是否納管、所有產品是否套用、以及哪些執行動作仍未批准。詳細證據保留在下方區塊。", + "subtitle": "此區僅放高層第一屏摘要:哪些已經前台可見、Kali 112 是否納管、所有產品是否套用、以及哪些執行動作仍未批准。詳細證據保留在下方區塊。", "nextGate": { "title": "下一個可推動進度的 Gate", "body": "先收到並驗收 S4.9 Gitea 清冊負責人回覆。這件事完成前,61% 不應假性前進;完成後才檢查是否能打開 reviewer / runtime 的下一段人工流程。" @@ -12593,7 +12593,7 @@ "items": { "done": { "title": "前台可見工作已整合", - "body": "IwoooS 已串起安全合規、告警、授權、治理、錯誤追蹤、操作日誌與程式碼審查,讓資安工作不再只藏在文件。" + "body": "IwoooS 已串起安全合規、告警、授權、治理、錯誤追蹤、操作日誌與程式碼審查,讓資安工作改以藏在文件。" }, "kali112": { "title": "Kali 112 已納入資安網", diff --git a/apps/web/messages/zh-TW.json b/apps/web/messages/zh-TW.json index b01b50a3..bcadc4c0 100644 --- a/apps/web/messages/zh-TW.json +++ b/apps/web/messages/zh-TW.json @@ -306,8 +306,8 @@ }, "homeCommandMap": { "eyebrow": "AI Automation Command Map", - "title": "先看流程,再看清單", - "subtitle": "第一屏直接用流程圖、瓶頸和證據來源回答:告警跑到哪一段、卡在哪一關、下一步由誰處理。", + "title": "AI 自動化流程總覽", + "subtitle": "以流程節點、阻塞關卡與證據來源呈現告警處理階段、責任角色與下一步動作。", "selectedStage": "目前階段", "evidenceTitle": "證據來源", "openRuns": "查看 Runs", @@ -321,7 +321,7 @@ "automationDelivery": { "eyebrow": "AI 自動化管理產品面", "title": "目前完成項與待推進項", - "subtitle": "首頁直接呈現 production 真相鏈、Telegram callback、AI provider、KM、Ansible 與自動修復品質,不再只放空泛 KPI。", + "subtitle": "整合 production 真相鏈、Telegram callback、AI provider、KM、Ansible 與自動修復品質,作為首頁營運總覽。", "claimLabel": "完整自動修復宣稱", "claimReady": "可宣稱完整閉環", "claimBlocked": "尚不可宣稱完整閉環", @@ -394,7 +394,7 @@ "c4Runtime": { "standard": "C4 / Deployment", "title": "產品架構與 Runtime 拓樸", - "detail": "用 C4 分層說明使用者、Web、API、K8s、資料庫、外部工具與模型供應商的關係。", + "detail": "用 C4 分層說明操作角色、Web、API、K8s、資料庫、外部工具與模型供應商的關係。", "nodes": { "user": "Operator / Tenant", "web": "AwoooP Web", @@ -416,7 +416,7 @@ "decisionRules": { "standard": "DMN / Decision Table", "title": "AI 判斷與審批規則", - "detail": "把風險、信心分數、政策、模型路由與是否自動修復整理成可稽核決策表。", + "detail": "將風險、信心分數、政策、模型路由與是否自動修復整理成可稽核決策表。", "nodes": { "risk": "Risk", "confidence": "Confidence", @@ -439,7 +439,7 @@ "workspace": { "eyebrow": "Live Blueprint", "title": "AI 自動化完整作戰圖", - "subtitle": "這一區把流程、Runtime、決策表與證據鏈放在同一個作戰視圖,讓首頁能直接回答目前跑到哪裡、卡在哪一關、該由誰接續。", + "subtitle": "將流程、Runtime、決策表與證據鏈整合成同一個作戰視圖,呈現目前階段、阻塞關卡與接續角色。", "flow": { "title": "BPMN / Swimlane 流程", "subtitle": "告警進來後,從分析、調查、審批、執行到驗證的主幹流程。", @@ -467,7 +467,7 @@ }, "decision": { "title": "DMN 決策表", - "subtitle": "把 AI 是否能自動修復的判斷拆成可稽核條件。", + "subtitle": "將 AI 是否能自動修復的判斷拆成可稽核條件。", "headers": { "signal": "Signal", "value": "Current value", @@ -515,7 +515,7 @@ "signal": { "owner": "OpenClaw + AlertChain", "evidence": "Alertmanager / Sentry / SigNoz / Telegram callback trace", - "nextAction": "把 signal 併入 AwoooP run dossier,產生可追蹤 fingerprint" + "nextAction": "將 signal 併入 AwoooP run dossier,產生可追蹤 fingerprint" }, "intake": { "owner": "AwoooP Run Monitor", @@ -530,7 +530,7 @@ "mcp": { "owner": "MCP 閘道", "evidence": "K8s / Prometheus / Sentry / SigNoz / Gitea / 自建 MCP 查證結果", - "nextAction": "把 MCP 查證結果寫回 dossier,讓 LLM 不靠猜測判斷" + "nextAction": "將 MCP 查證結果寫回 dossier,讓 LLM 不靠猜測判斷" }, "playbook": { "owner": "OpenClaw + PlayBook trust 閘門", @@ -1997,7 +1997,7 @@ "commandPalette": { "placeholder": "搜尋指令、頁面或事件...", "noResults": "找不到符合結果", - "hint": "↑↓ 選擇 Enter 確認 Esc 關閉", + "hint": "↑↓ 選擇 Enter 確認 Esc 關閉", "groupNav": "導航", "groupActions": "快速動作", "groupRecent": "最近事件", @@ -2564,7 +2564,7 @@ }, "securityMirror": { "title": "IwoooS 資安鏡像", - "subtitle": "AwoooP 首頁已以正式只讀方式顯示 IwoooS / 資安鏡像狀態,讓使用者理解資安網進度與邊界;這不是執行入口,也不接執行路由器。", + "subtitle": "AwoooP 首頁已以正式只讀方式顯示 IwoooS / 資安鏡像狀態,讓操作角色理解資安網進度與邊界;這不是執行入口,也不接執行路由器。", "badge": "正式只讀", "openIwooos": "開啟 IwoooS", "checkpointsTitle": "接入檢查", @@ -2620,7 +2620,7 @@ "metrics": { "candidateRepos": { "label": "候選專案庫", - "detail": "S2.63 起已盤點 8 個候選專案庫;這不是建立 GitHub 專案庫的授權。" + "detail": "起已盤點 8 個候選專案庫;這不是建立 GitHub 專案庫的授權。" }, "inScopeRepos": { "label": "範圍內專案庫", @@ -3157,7 +3157,7 @@ }, "archiveHistory": { "title": "封存 / 回測歷史", - "empty": "尚無 owner 封存或 stale ratio 回測 dispatch;完成確認封存後會出現在這裡。", + "empty": "尚無 owner 封存或 stale ratio 回測 dispatch;完成確認封存後會出現在此處。", "executors": { "hermes_km_review_dedupe_owner_archive": "Hermes:owner 確認封存", "hermes_km_stale_ratio_recheck": "Hermes:stale ratio 回測", @@ -4270,7 +4270,7 @@ "visibilityValue": "只讀", "visibilityDetail": "只把資安鏡像投影到執行監控語境,不建立真正執行期動作。", "runtimeRuns": "資安執行數", - "runtimeRunsDetail": "目前為 0;S2.58 只做顯示候選,不建立執行紀錄。", + "runtimeRunsDetail": "目前為 0;只做顯示候選,不建立執行紀錄。", "activeGates": "主動執行閘門", "activeGatesDetail": "仍為 0;執行期閘門需獨立批准、回滾與後驗證證據。", "ownerResponse": "負責人已接受", @@ -5332,10 +5332,10 @@ "frontStage": { "eyebrow": "前台資安入口", "title": "安全合規保留,並整合到 IwoooS", - "subtitle": "專業建議是不移除。這個頁面保留既有安全監控與合規統計,作為前台使用者熟悉的入口;IwoooS 則成為資安網的總覽與唯一姿態來源,避免安全合規與 IwoooS 變成兩套敘事。", + "subtitle": "保留既有安全監控與合規統計作為前台入口;IwoooS 承接資安網總覽與唯一姿態來源,避免形成兩套資安敘事。", "openIwooos": "查看 IwoooS 總覽", "boundaryTitle": "低摩擦整合邊界", - "boundaryIntro": "這裡只做前台整合與導流,不新增掃描、修復、批准、部署或硬性阻擋控制。", + "boundaryIntro": "此區僅提供前台整合與導流,不新增掃描、修復、批准、部署或硬性阻擋控制。", "routeRoleTitle": "前台入口角色對照", "routeRoleSubtitle": "從安全合規進來時,也能直接看懂每個資安入口該負責什麼;這些入口只導覽與說明,不提供執行按鈕。", "routeLabel": "入口", @@ -5346,7 +5346,7 @@ "authority": { "eyebrow": "短版結論", "title": "IwoooS 是資安主控台;安全合規是熟悉入口", - "body": "這裡先讓使用者看懂入口關係,再把完整總覽交給 IwoooS。現階段仍是只讀、閘門 0,不啟動掃描、修復、批准或部署。", + "body": "此入口呈現安全合規與 IwoooS 的分工關係;現階段維持只讀與 Gate 0,不啟動掃描、修復、批准或部署。", "open": "前往 IwoooS 主控台", "signals": { "source": { @@ -5388,7 +5388,7 @@ }, "securityComplianceHub": { "title": "安全合規看熟悉入口", - "body": "保留既有安全監控與合規統計,讓前台使用者不用改變原本路徑。" + "body": "保留既有安全監控與合規統計,維持前台既有操作路徑。" }, "securityMonitor": { "title": "安全看事件訊號", @@ -5406,7 +5406,7 @@ "rolloutPhases": { "observe": { "title": "觀測與盤點", - "body": "目前只整理入口、主機、專案、網站、監控與工具姿態,不阻擋使用者流程。" + "body": "整理入口、主機、專案、網站、監控與工具姿態,維持既有操作流程。" }, "evidence": { "title": "補齊證據", @@ -5571,7 +5571,7 @@ "topologyAtlas": { "eyebrow": "專業架構與拓樸圖譜", "title": "用圖譜看攻擊面、資產關係與證據流", - "subtitle": "把主流資安產品常見的圖譜、攻擊路徑、爆炸半徑與證據線濃縮成四個可切換視角;少文字、多圖表,仍維持執行閘 0。", + "subtitle": "將主流資安產品常見的圖譜、攻擊路徑、爆炸半徑與證據線濃縮成四個可切換視角;少文字、多圖表,仍維持執行閘 0。", "tabsLabel": "架構拓樸圖譜視角", "mapLabel": "圖譜視角", "panelLabels": { @@ -5621,7 +5621,7 @@ }, "intelligenceDeck": { "eyebrow": "圖譜情報面板", - "title": "把關聯、路徑、半徑與時序放在同一層", + "title": "將關聯、路徑、半徑與時序放在同一層", "subtitle": "參考 XDR / CNAPP 常見的調查體驗:先用可點選情報卡看資安脈絡,再下鑽到節點與證據,不把頁面變成長文字清單。", "selectorLabel": "切換圖譜情報", "ringLabel": "目前可信度", @@ -5678,7 +5678,7 @@ "body": "GitHub / Gitea 是版本來源關鍵節點;目前只顯示 S4.9 負責人回覆待補與決策紀錄缺口,不執行分支參照或工作流程變更。" }, "kali": { - "body": "Kali 192.168.0.112 已列為資安主機節點;這裡只呈現它與版本來源、開發主機、證據鏈的關係,不代表已授權掃描。" + "body": "Kali 192.168.0.112 已列為資安主機節點;此區僅呈現它與版本來源、開發主機、證據鏈的關係,不代表已授權掃描。" }, "devHosts": { "body": "192.168.0.111 與 192.168.0.168 以開發主機群呈現,等主機維護窗口與負責人決策紀錄完整後才能進入執行期。" @@ -5700,7 +5700,7 @@ "mapTitle": "程式碼 → 資產 → 主機 → 證據 → 閘門", "detail": "用五層結構看 IwoooS:產品與網站、版本來源、Kali / 開發主機、監控與 AwoooP、最後才是執行閘。", "evidence": "8 類產品 / 網站、3 台主機、6 條工具鏈已進入同一張只讀圖譜。", - "next": "把 S4.9 負責人回覆與脫敏證據接成可驗證節點。", + "next": "將 S4.9 負責人回覆與脫敏證據接成可驗證節點。", "locked": "架構圖不是執行期授權,不代表可以掃描或修復。" }, "topology": { @@ -5822,15 +5822,15 @@ "body": "下一個進度 Gate 需要版本來源負責人回覆、脫敏 evidence pointer 與可追蹤決策紀錄。", "evidence": "IwoooS、AwoooP、拓樸圖與 progress guard 已把待補證據顯示到前台。", "next": "補 owner response received 與 redacted evidence pointer。", - "blocked": "received=0、accepted=0,所以 headline 不再硬往上推。" + "blocked": "received=0、accepted=0;整體進度維持保守估算。" }, "reviewerAcceptance": { "short": "審查接受", "title": "Reviewer acceptance 才能解除下一段", "body": "文件、schema 與前台呈現建立可理解狀態;解除 gate 仍需要 reviewer acceptance 與審查紀錄。", "evidence": "審查清單、回覆模板、handoff packet 已有只讀材料。", - "next": "把 S4.9 最小審查包交給負責人與 reviewer。", - "blocked": "accepted=0;不能把 UI 可見度當批准。" + "next": "將 S4.9 最小審查包交給負責人與 reviewer。", + "blocked": "accepted=0;可視化狀態不可替代正式批准。" }, "hostWindow": { "short": "主機窗口", @@ -5850,8 +5850,8 @@ }, "runtimeGate": { "short": "執行閘 0", - "title": "初期框架完成前不提高資安限制", - "body": "目前策略是先把資安網、可視化、證據流、責任邊界建好,再分階段收斂;不一開始把限制拉到影響產品速度。", + "title": "只讀框架完成前維持執行邊界", + "body": "先完成資安網、可視化、證據流與責任邊界,再依人工決策分階段收斂執行控制。", "evidence": "所有可見區塊都標記 action_buttons_allowed=false 與 runtime gate 0。", "next": "等人工決策完成後,才開下一個受控 runtime gate。", "blocked": "runtime_execution_authorized=false;active_runtime_gate_count=0。" @@ -5889,7 +5889,7 @@ "gateRadar": { "eyebrow": "執行閘雷達", "title": "一眼看懂哪裡可前進、哪裡不能碰", - "subtitle": "把可見成果、待補證據、人工審查、禁止動作拆成四條雷達線;這裡只切換視角,不執行任何動作。", + "subtitle": "將可見成果、待補證據、人工審查、禁止動作拆成四條雷達線;此區僅切換視角,不執行任何動作。", "tabsLabel": "執行閘雷達視角", "activeLabel": "目前視角", "summary": { @@ -5930,7 +5930,7 @@ "state": "等待 reviewer", "detail": "Kali 維護、主機更新、GitHub primary、runtime gate 都需要人工決策紀錄與回復窗口。", "evidence": "目前只準備審查材料,沒有建立正式執行紀錄。", - "next": "把審查材料收斂成 owner 可回覆的最小包。", + "next": "將審查材料收斂成 owner 可回覆的最小包。", "locked": "沒有 reviewer acceptance 前,不進入修復或主機變更。" }, "locked": { @@ -6145,7 +6145,7 @@ "concreteWorkSnapshot": { "eyebrow": "資安工作雷達", "title": "資安工作實際成果", - "subtitle": "把資安網拆成六條可追蹤工作流:第一屏呈現前台化、框架化、待回覆、待收件與 runtime 鎖定狀態。", + "subtitle": "將資安網拆成六條可追蹤工作流:第一屏呈現前台化、框架化、待回覆、待收件與 runtime 鎖定狀態。", "summary": { "visible": { "label": "可見工作流", @@ -6279,7 +6279,7 @@ "globalSecurityMeshMatrix": { "eyebrow": "全域資安納管矩陣", "title": "所有產品、主機、工具放在同一張表", - "subtitle": "把 AwoooI、AwoooP、IwoooS、公開網站群、VibeWork、Kali 112、開發主機與 GitHub / Gitea 版本來源放到同一個只讀矩陣,先呈現納管範圍,再決定哪一段要收證或開人工閘門。", + "subtitle": "將 AwoooI、AwoooP、IwoooS、公開網站群、VibeWork、Kali 112、開發主機與 GitHub / Gitea 版本來源放到同一個只讀矩陣,先呈現納管範圍,再決定哪一段要收證或開人工閘門。", "coverageLabel": "覆蓋", "evidenceLabel": "證據", "runtimeLabel": "執行", @@ -6327,7 +6327,7 @@ "coverage": "主入口", "evidence": "guard 已保護", "runtime": "仍鎖住", - "next": "把抽象進度轉成可見工作項與證據欄位。" + "next": "將抽象進度轉成可見工作項與證據欄位。" }, "publicSites": { "title": "公開網站群", @@ -6374,7 +6374,7 @@ "hostToolEvidenceChain": { "eyebrow": "主機與工具證據鏈", "title": "Kali、開發主機、監控工具一次看清楚", - "subtitle": "把 Kali 192.168.0.112、開發主機 192.168.0.111 / 192.168.0.168、Sentry / SigNoz、MCP、自建 MCP、Ansible、KM、GitHub / Gitea 放在同一條只讀證據鏈。這一層只回答「有沒有納入、證據在哪、下一關是誰」,不執行掃描或主機變更。", + "subtitle": "將 Kali 192.168.0.112、開發主機 192.168.0.111 / 192.168.0.168、Sentry / SigNoz、MCP、自建 MCP、Ansible、KM、GitHub / Gitea 放在同一條只讀證據鏈。這一層只回答「有沒有納入、證據在哪、下一關是誰」,不執行掃描或主機變更。", "flowTitle": "證據鏈順序", "evidenceLabel": "證據", "nextLabel": "下一步", @@ -6541,7 +6541,7 @@ }, "operatorNextTasks": { "title": "下一步任務板", - "subtitle": "把 61% 往下一階段推進需要的工作拆成四件事;這裡只顯示任務與完成條件,不送出請求、不啟動掃描、不建立執行。", + "subtitle": "將 61% 往下一階段推進需要的工作拆成四件事;此區僅顯示任務與完成條件,不送出請求、不啟動掃描、不建立執行。", "stepLabel": "任務", "doneLabel": "完成條件", "boundary": "固定邊界:owner_response_已收到_count=0;owner_response_已接受_count=0;active_runtime_閘門_count=0;runtime_execution_authorized=false;action_buttons_allowed=false;repo_creation_authorized=false;github_primary_switch_authorized=false。", @@ -6553,7 +6553,7 @@ }, "redactedEvidencePacket": { "title": "補齊脫敏證據包", - "body": "把來源、範圍、負責人判定、脫敏聲明與 evidence refs 放進可審查封包。", + "body": "將來源、範圍、負責人判定、脫敏聲明與 evidence refs 放進可審查封包。", "done": "只接受脫敏 載荷;機密明文、完整掃描輸出、主機 dump 與 原始日誌 不進 鏡像。" }, "runtimeGatePreflight": { @@ -6624,7 +6624,7 @@ }, "existingSurfaces": { "title": "既有資安頁面整合", - "subtitle": "把前端原本已存在的安全、合規、告警、授權、治理、稽核與程式碼審查入口收成一張只讀索引,讓資安能力分布與整合邊界更清楚。", + "subtitle": "將前端原本已存在的安全、合規、告警、授權、治理、稽核與程式碼審查入口收成一張只讀索引,讓資安能力分布與整合邊界更清楚。", "sourceLabel": "原始來源", "mode": "只讀連結 / 不新增執行按鈕", "items": { @@ -6682,7 +6682,7 @@ }, "surfaceConnections": { "title": "資安頁面連接狀態", - "subtitle": "把 10 個既有入口目前如何接回 IwoooS 說清楚:有些是直接橋接,有些是嵌入原本面板,有些是 AwoooP 只讀候選。這只是可見覆蓋,不代表授權或阻擋。", + "subtitle": "將 10 個既有入口目前如何接回 IwoooS 說清楚:有些是直接橋接,有些是嵌入原本面板,有些是 AwoooP 只讀候選。這只是可見覆蓋,不代表授權或阻擋。", "states": { "embeddedBridge": "嵌入橋接可見", "directBridge": "直接橋接可見", @@ -6743,7 +6743,7 @@ }, "coverage": { "title": "覆蓋與邊界矩陣", - "subtitle": "把 10 個既有資安頁面分成四個責任面,讓 IwoooS 能說清楚哪裡看訊號、哪裡做人工控制、哪裡看治理稽核、哪裡看工程審查。", + "subtitle": "將 10 個既有資安頁面分成四個責任面,讓 IwoooS 能說清楚哪裡看訊號、哪裡做人工控制、哪裡看治理稽核、哪裡看工程審查。", "groups": { "signals": { "title": "訊號與暴露面", @@ -6826,7 +6826,7 @@ }, "evidenceReadiness": { "title": "負責人證據就緒度", - "subtitle": "這裡顯示 重點 進度下一步真正需要的 evidence。每一項都是等待收件或人工決策,不會從前端直接觸發任何執行。", + "subtitle": "此區顯示 重點 進度下一步真正需要的 evidence。每一項都是等待收件或人工決策,不會從前端直接觸發任何執行。", "unlockLabel": "解除條件", "items": { "giteaOwnerAttestation": { @@ -6868,7 +6868,7 @@ }, "hostCoverage": { "title": "主機覆蓋視圖", - "subtitle": "把 Kali 與兩台開發主機放進 IwoooS 的可見資安範圍。這裡只顯示納管與 閘門 狀態,不建立 SSH、掃描、更新或阻擋控制。", + "subtitle": "將 Kali 與兩台開發主機放進 IwoooS 的可見資安範圍。此區僅顯示納管與 閘門 狀態,不建立 SSH、掃描、更新或阻擋控制。", "stateLabel": "目前狀態", "items": { "kali112": { @@ -6895,7 +6895,7 @@ "maintenanceGateLabel": "維護 閘門", "maintenanceGate": "Kali rolling full-upgrade / autoremove / reboot 仍是 security approval queue 的 pending approval。必須先有維護窗口、snapshot、rollback、post-health 複驗與人工批准,才能往主機更新前進。", "nextEvidenceLabel": "下一份要補的 evidence", - "nextEvidence": "把 `kali-full-upgrade-reboot-approval-20260513` 的窗口、回復 owner、服務驗證清單與失敗處理 lane 補齊。補齊前 IwoooS 只顯示就緒度,不提供任何更新或重啟入口。", + "nextEvidence": "將 `kali-full-upgrade-reboot-approval-20260513` 的窗口、回復 owner、服務驗證清單與失敗處理 lane 補齊。補齊前 IwoooS 只顯示就緒度,不提供任何更新或重啟入口。", "boundaryTitle": "只讀邊界", "boundaryIntro": "以下邊界由 `kali-integration-status.snapshot.json` 與 approval queue 投影而來,用來避免把可見狀態誤讀成執行授權。", "items": { @@ -6919,7 +6919,7 @@ }, "hostActionGates": { "title": "主機動作 閘門 矩陣", - "subtitle": "把主機相關高風險動作拆成只讀 閘門。這裡只說明哪些動作仍被鎖住,以及需要哪一類人工決策;不提供任何執行入口。", + "subtitle": "將主機相關高風險動作拆成只讀 閘門。此區僅說明哪些動作仍被鎖住,以及需要哪一類人工決策;不提供任何執行入口。", "gateLabel": "需要 閘門", "items": { "activeScan": { @@ -6949,7 +6949,7 @@ }, "runtimeBlocking": { "title": "Runtime 阻擋控制", - "body": "把 發現 變成產品阻擋或 runtime enforcement 仍要等 owner evidence 與人工決策。", + "body": "將 發現 變成產品阻擋或 runtime enforcement 仍要等 owner evidence 與人工決策。", "gate": "需要 已接受 決策紀錄;啟用中的執行期閘門 仍為 0" } } @@ -6998,7 +6998,7 @@ }, "hostEvidenceCollection": { "title": "主機 證據 收件順序", - "subtitle": "把七個主機 evidence 排成建議收件順序。每一步都只代表下一個可審項目,不會把 已收到 / 已接受 從 0 改掉。", + "subtitle": "將七個主機 evidence 排成建議收件順序。每一步都只代表下一個可審項目,不會把 已收到 / 已接受 從 0 改掉。", "stepLabel": "收件步驟", "dependencyLabel": "前置依賴", "items": { @@ -7052,7 +7052,7 @@ }, "dependencyOrder": { "title": "收件順序符合", - "body": "提交的 evidence 必須符合 S2.17 收件順序,不能跳過 scope 或 owner decision。", + "body": "提交的 evidence 必須符合 收件順序,不能跳過 scope 或 owner decision。", "reject": "跳過前置依賴就隔離" }, "scopeBeforeScan": { @@ -7084,7 +7084,7 @@ }, "hostEvidenceReviewOutcomes": { "title": "主機 證據審查結果分流", - "subtitle": "預檢後的 evidence 只能進這些只讀分流。這裡顯示人工審查可能結果,不會建立 批准紀錄、執行期閘門 或主機動作。", + "subtitle": "預檢後的 evidence 只能進這些只讀分流。此區顯示人工審查可能結果,不會建立 批准紀錄、執行期閘門 或主機動作。", "laneLabel": "結果分流", "nextLabel": "下一步", "items": { @@ -7105,7 +7105,7 @@ }, "quarantineDependencySkip": { "title": "前置依賴跳過即隔離", - "body": "跳過 S2.17 收件順序或前置依賴不完整時,先隔離再人工判讀。", + "body": "跳過 收件順序或前置依賴不完整時,先隔離再人工判讀。", "next": "隔離原因可見,不推 counter" }, "rejectRawPayload": { @@ -7138,7 +7138,7 @@ }, "hostEvidenceReviewHandoff": { "title": "主機 證據 人工審查交接包", - "subtitle": "人工 reviewer 只能依這些脫敏交接包判讀 evidence。這裡顯示送審必備資料,不會標示 已收到 / 已接受、建立 批准紀錄 或啟動 執行期閘門。", + "subtitle": "人工 reviewer 只能依這些脫敏交接包判讀 evidence。此區顯示送審必備資料,不會標示 已收到 / 已接受、建立 批准紀錄 或啟動 執行期閘門。", "packetLabel": "交接包", "requiredLabel": "必備內容", "items": { @@ -7174,7 +7174,7 @@ }, "runtimeGatePacket": { "title": "Runtime 閘門指標 包", - "body": "把可能的後續行動導回獨立 執行期閘門,避免 reviewer outcome lane 直接變成執行。", + "body": "將可能的後續行動導回獨立 執行期閘門,避免 reviewer outcome lane 直接變成執行。", "required": "後續追蹤 閘門 pointer;啟用中的執行期閘門=0" } } @@ -7224,7 +7224,7 @@ }, "hostEvidenceReviewerOutcomes": { "title": "主機 證據 Reviewer 結果分流", - "subtitle": "Reviewer checklist 後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會標示 passed、已接受、approval 或 執行期閘門。", + "subtitle": "Reviewer checklist 後只能進入這些只讀結果分流。此區顯示下一步判讀,不會標示 passed、已接受、approval 或 執行期閘門。", "laneLabel": "Reviewer 結果", "nextLabel": "下一步", "items": { @@ -7278,7 +7278,7 @@ }, "scanModeCandidate": { "title": "Scan mode candidate", - "body": "把 僅觀察、未來 active scan 或 憑證掃描 的差異拆清楚,避免候選包被誤認為掃描授權。", + "body": "將 僅觀察、未來 active scan 或 憑證掃描 的差異拆清楚,避免候選包被誤認為掃描授權。", "decision": "只顯示模式選項;active scan=false" }, "credentialHandlingCandidate": { @@ -7310,7 +7310,7 @@ }, "hostOwnerDecisionReviewChecklist": { "title": "主機 負責人 Decision Review Checklist", - "subtitle": "負責人 decision candidate packets 之後仍需人工逐項核對。這裡只顯示核對項,不建立決策紀錄、不標示 approved、不開 執行期閘門。", + "subtitle": "負責人 decision candidate packets 之後仍需人工逐項核對。此區僅顯示核對項,不建立決策紀錄、不標示 approved、不開 執行期閘門。", "checkLabel": "負責人 核對", "guardLabel": "安全邊界", "items": { @@ -7353,7 +7353,7 @@ }, "hostOwnerDecisionReviewOutcomes": { "title": "主機 負責人 Decision Review 結果分流", - "subtitle": "負責人審查清單後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會建立 決策紀錄、不會標示 approved、不會開 執行期閘門。", + "subtitle": "負責人審查清單後只能進入這些只讀結果分流。此區顯示下一步判讀,不會建立 決策紀錄、不會標示 approved、不會開 執行期閘門。", "laneLabel": "Review 結果", "nextLabel": "下一步", "items": { @@ -7439,7 +7439,7 @@ }, "hostOwnerDecisionRecordDraftReview": { "title": "主機 負責人 Decision Record Draft Review Checklist", - "subtitle": "Decision record 草稿包後仍需只讀核對。這裡只顯示草稿是否具備人工決策所需 metadata,不會建立正式 決策紀錄。", + "subtitle": "Decision record 草稿包後仍需只讀核對。此區僅顯示草稿是否具備人工決策所需 metadata,不會建立正式 決策紀錄。", "checkLabel": "Draft review", "guardLabel": "不可升級", "items": { @@ -7482,7 +7482,7 @@ }, "hostOwnerDecisionRecordDraftReviewOutcomes": { "title": "主機 負責人 Decision Record Draft Review 結果分流", - "subtitle": "Draft review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立 決策紀錄、不會開 執行期閘門。", + "subtitle": "Draft review checklist 後只能進入這些只讀結果分流。此區顯示下一步,不會標記 review passed、不會建立 決策紀錄、不會開 執行期閘門。", "laneLabel": "Review outcome", "nextLabel": "下一步", "items": { @@ -7568,7 +7568,7 @@ }, "hostOwnerDecisionRecordWriteupReview": { "title": "主機 負責人 Decision Record Write-Up Review Checklist", - "subtitle": "Write-up packets 後仍需要只讀核對。這裡只顯示正式 決策紀錄 撰寫欄位是否可讀,不會標記 write-up completed、不會建立或接受 決策紀錄、不會開 執行期閘門。", + "subtitle": "Write-up packets 後仍需要只讀核對。此區僅顯示正式 決策紀錄 撰寫欄位是否可讀,不會標記 write-up completed、不會建立或接受 決策紀錄、不會開 執行期閘門。", "checkLabel": "Write-up review", "guardLabel": "不可升級", "items": { @@ -7611,7 +7611,7 @@ }, "hostOwnerDecisionRecordWriteupReviewOutcomes": { "title": "主機 負責人 Decision Record Write-Up Review 結果分流", - "subtitle": "Write-up review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立或接受 決策紀錄、不會開 執行期閘門。", + "subtitle": "Write-up review checklist 後只能進入這些只讀結果分流。此區顯示下一步,不會標記 review passed、不會建立或接受 決策紀錄、不會開 執行期閘門。", "laneLabel": "Review outcome", "nextLabel": "下一步", "items": { @@ -7654,7 +7654,7 @@ }, "hostOwnerDecisionRecordFormalCandidates": { "title": "主機 負責人 Decision Record Formal Candidate Packets", - "subtitle": "Formal record candidate 只把未來可能寫入正式紀錄的欄位整理出來。這裡不建立 決策紀錄、不標記 finalized / 已接受、不產生 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal record candidate 只把未來可能寫入正式紀錄的欄位整理出來。此區不建立 決策紀錄、不標記 finalized / 已接受、不產生 批准紀錄、不開 執行期閘門。", "packetLabel": "Candidate packet", "fieldLabel": "候選欄位", "items": { @@ -7697,7 +7697,7 @@ }, "hostOwnerDecisionRecordFormalCandidateReview": { "title": "主機 負責人 Decision Record Formal Candidate Review Checklist", - "subtitle": "Formal candidate packets 進入後續人工紀錄前仍只能做只讀核對。這裡不標記 review passed、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal candidate packets 進入後續人工紀錄前仍只能做只讀核對。此區不標記 review passed、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "checkLabel": "Candidate review", "guardLabel": "仍鎖住", "items": { @@ -7740,7 +7740,7 @@ }, "hostOwnerDecisionRecordFormalCandidateReviewOutcomes": { "title": "主機 負責人 Decision Record Formal Candidate Review 結果分流", - "subtitle": "Formal candidate review outcome 只呈現候選核對後的下一步分流。這裡不標記 review passed、不標記 finalized、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal candidate review outcome 只呈現候選核對後的下一步分流。此區不標記 review passed、不標記 finalized、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "laneLabel": "結果 lane", "nextLabel": "下一步仍只讀", "items": { @@ -7788,7 +7788,7 @@ }, "hostOwnerDecisionRecordFormalRecordQueue": { "title": "主機 負責人 Decision Record Formal Record Queue Packets", - "subtitle": "Formal record queue packets 只整理未來人工正式紀錄佇列需要看到的資料包。這裡不 enqueue、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", + "subtitle": "Formal record queue packets 只整理未來人工正式紀錄佇列需要看到的資料包。此區不 enqueue、不建立 決策紀錄、不標記 已接受、不建立 批准紀錄、不開 執行期閘門。", "packetLabel": "Queue packet", "fieldLabel": "佇列欄位", "items": { @@ -8385,7 +8385,7 @@ }, "headlineMovementAcceptanceGate": { "title": "61% 重估驗收紀錄", - "subtitle": "S2.100 的五個高層 閘門 中,AwoooP 正式環境落地 evidence 已有正式部署與只讀消費證據,因此本次只把 重點 從 58% 保守重估到 61%;其餘 負責人回覆、脫敏匯入、執行期閘門與 GitHub 主要來源仍是 0 / false。", + "subtitle": "五個高層 閘門 中,AwoooP 正式環境落地 evidence 已有正式部署與只讀消費證據,因此本次只把 重點 從 58% 保守重估到 61%;其餘 負責人回覆、脫敏匯入、執行期閘門與 GitHub 主要來源仍是 0 / false。", "gateLabel": "重估 閘門", "acceptanceLabel": "驗收條件", "guardLabel": "仍禁止", @@ -8449,7 +8449,7 @@ }, "sourceControlReadiness": { "title": "GitHub 主要來源就緒度", - "subtitle": "把 Gitea 轉 GitHub 的長期方向拆成只讀就緒度:候選 repo、負責人回覆、refs 真相、工作流程 / 機密 名稱與 回復 ADR 都要到齊,才會重估 primary_就緒_count。", + "subtitle": "將 Gitea 轉 GitHub 的長期方向拆成只讀就緒度:候選 repo、負責人回覆、refs 真相、工作流程 / 機密 名稱與 回復 ADR 都要到齊,才會重估 primary_就緒_count。", "gateLabel": "就緒度閘門", "guardLabel": "仍禁止", "items": { @@ -8487,7 +8487,7 @@ }, "awooopCoverage": { "title": "AwoooP 資安入口覆蓋狀態", - "subtitle": "把 AwoooP 8 個實際入口目前已接上的 IwoooS / 負責人回覆驗收邊界集中顯示。這只是入口覆蓋,不代表審批、執行、專案庫、分支 / 標籤參照、工作流程 / 機密設定、主要來源切換或 Gitea 停用授權。", + "subtitle": "將 AwoooP 8 個實際入口目前已接上的 IwoooS / 負責人回覆驗收邊界集中顯示。這只是入口覆蓋,不代表審批、執行、專案庫、分支 / 標籤參照、工作流程 / 機密設定、主要來源切換或 Gitea 停用授權。", "routeLabel": "入口路徑", "stageLabel": "完成階段", "boundaryLabel": "仍維持", @@ -8513,49 +8513,49 @@ "items": { "home": { "title": "AwoooP 首頁", - "body": "S2.72 顯示負責人回覆驗收總覽,讓首頁可以理解整體資安網進度。", + "body": "顯示負責人回覆驗收總覽,讓首頁可以理解整體資安網進度。", "boundary": "只讀總覽,不建立審批紀錄或執行期閘門。" }, "workItems": { "title": "工作鏈路", - "body": "S2.73 把負責人回覆驗收候選放進工作項語境,方便追蹤但不推動執行。", + "body": "將負責人回覆驗收候選放進工作項語境,方便追蹤但不推動執行。", "boundary": "只建立可見工作項,不建立平台執行或修復動作。" }, "contracts": { "title": "合約儀表板", - "body": "S2.74 顯示資安合約與負責人回覆驗收候選,讓契約來源可追溯。", + "body": "顯示資安合約與負責人回覆驗收候選,讓契約來源可追溯。", "boundary": "不發布合約修訂、不改生命週期、不開主要來源切換。" }, "approvals": { "title": "審批佇列", - "body": "S2.75 顯示審批佇列的負責人回覆驗收邊界,避免把可見焦點誤當批准。", + "body": "顯示審批佇列的負責人回覆驗收邊界,避免把可見焦點誤當批准。", "boundary": "不建立批准紀錄、不標記負責人回覆已收到或已接受。" }, "tenants": { "title": "租戶範圍", - "body": "S2.76 顯示租戶如何理解負責人回覆驗收範圍,但不修改租戶政策。", + "body": "顯示租戶如何理解負責人回覆驗收範圍,但不修改租戶政策。", "boundary": "不改租戶設定、不建立專案庫、不改分支或標籤參照。" }, "runs": { "title": "執行監控", - "body": "S2.77 顯示執行監控的負責人回覆驗收邊界,避免把監控可見性誤當執行。", + "body": "顯示執行監控的負責人回覆驗收邊界,避免把監控可見性誤當執行。", "boundary": "不建立平台執行、不接執行路由器、不呼叫外部工具。" }, "runDetail": { "title": "執行詳情", - "body": "S2.78 在單一執行詳情顯示驗收邊界與來源回覆包,讓檢視時仍保留只讀語義。", + "body": "在單一執行詳情顯示驗收邊界與來源回覆包,讓檢視時仍保留只讀語義。", "boundary": "不啟動工具、不補救、不建立執行期閘門。" }, "approvalDecision": { "title": "審批決策", - "body": "S2.79 在真正核准 / 拒絕前顯示審批決策與負責人回覆驗收分離。", + "body": "在真正核准 / 拒絕前顯示審批決策與負責人回覆驗收分離。", "boundary": "核准執行不等於負責人回覆已接受,也不等於資安落地執行。" } } }, "securityConvergenceRoadmap": { "title": "階段式資安收斂節奏", - "subtitle": "把目前的收斂策略明確寫在 IwoooS:初期先做可視化與提醒,不直接阻擋;等負責人回覆、脫敏證據、人工審查、回滾條件與後驗證都齊全,再分階段收緊。", + "subtitle": "將目前的收斂策略明確寫在 IwoooS:初期先做可視化與提醒,不直接阻擋;等負責人回覆、脫敏證據、人工審查、回滾條件與後驗證都齊全,再分階段收緊。", "movementLabel": "推進條件", "guardLabel": "仍不會做", "boundaryTitle": "逐步收緊仍維持的保護線", @@ -8619,7 +8619,7 @@ }, "ownerResponseCollectionBoard": { "title": "下一步人工收件作戰板", - "subtitle": "把真正能推動 61% 的下一步集中顯示:S4.9-S4.12 四包負責人回覆都還是 0 已收到 / 0 已接受。本看板只讓人知道要收什麼,不會寄送、建立、接受或執行任何動作。", + "subtitle": "將真正能推動 61% 的下一步集中顯示:S4.9-S4.12 四包負責人回覆都還是 0 已收到 / 0 已接受。本看板只讓人知道要收什麼,不會寄送、建立、接受或執行任何動作。", "packetLabel": "收件包", "movementLabel": "收件條件", "guardLabel": "仍不會做", @@ -8671,7 +8671,7 @@ }, "ownerResponseIntakeSafetyBoard": { "title": "人工回覆安全驗收閘道", - "subtitle": "把收件後怎麼判定可收、補證、隔離或拒收先攤開。現在匯入=0、隔離=0、拒收=0;這只是驗收規則可見,不會自動匯入、通知、修復或升高限制。", + "subtitle": "將收件後怎麼判定可收、補證、隔離或拒收先攤開。現在匯入=0、隔離=0、拒收=0;這只是驗收規則可見,不會自動匯入、通知、修復或升高限制。", "laneLabel": "驗收分流", "ruleLabel": "判定方式", "guardLabel": "仍不會做", @@ -8735,7 +8735,7 @@ }, "ownerResponseReviewOutcomeBoard": { "title": "人工回覆審查結果分流", - "subtitle": "把安全驗收後可能進入的結果先放到 IwoooS:維持等待、要求補證、可進人工審查、隔離、拒收、只讀更新、需要人工決策。現在可審=0、已接受=0、執行期閘門=0;分流只是讓流程透明,不會自動批准或執行。", + "subtitle": "將安全驗收後可能進入的結果先放到 IwoooS:維持等待、要求補證、可進人工審查、隔離、拒收、只讀更新、需要人工決策。現在可審=0、已接受=0、執行期閘門=0;分流只是讓流程透明,不會自動批准或執行。", "laneLabel": "結果分流", "resultLabel": "審查結果", "guardLabel": "仍不會做", @@ -8805,7 +8805,7 @@ }, "ownerResponseHumanDecisionQueueBoard": { "title": "人工決策準備佇列", - "subtitle": "把需要人工決策前必須整理的資料先放到 IwoooS:決策包草稿、證據追溯包、審查人指派、回滾窗口候選、執行期閘門分離與主要來源切換分離。現在可決策=0、已批准=0、執行期閘門=0;這只是準備佇列,不會建立審批紀錄或執行命令。", + "subtitle": "將需要人工決策前必須整理的資料先放到 IwoooS:決策包草稿、證據追溯包、審查人指派、回滾窗口候選、執行期閘門分離與主要來源切換分離。現在可決策=0、已批准=0、執行期閘門=0;這只是準備佇列,不會建立審批紀錄或執行命令。", "queueLabel": "準備佇列", "prepLabel": "準備內容", "guardLabel": "仍不會做", @@ -8831,7 +8831,7 @@ "items": { "decisionPacketDraft": { "title": "決策包草稿", - "body": "把審查結果、負責人範圍、脫敏證據與待決策問題整理成草稿。", + "body": "將審查結果、負責人範圍、脫敏證據與待決策問題整理成草稿。", "prep": "只產生可讀草稿,不建立正式人工決策紀錄。", "guard": "不把草稿當批准、不提高進度、不啟動任何動作。" }, @@ -9573,7 +9573,7 @@ }, "reviewOutcomeReference": { "title": "審查結果引用包", - "body": "整理 S2.94 的分流結果、補證要求、隔離或拒收理由,供人工確認引用。", + "body": "整理 的分流結果、補證要求、隔離或拒收理由,供人工確認引用。", "preparation": "只引用只讀結果,不把結果變成正式決策。", "guard": "不自動通過、不建立正式紀錄、不建立審批紀錄。" }, @@ -9649,7 +9649,7 @@ }, "reviewOutcomeLinked": { "title": "審查結果引用檢查", - "body": "確認 S2.94 分流結果、補證要求、隔離或拒收理由已被安全引用。", + "body": "確認 分流結果、補證要求、隔離或拒收理由已被安全引用。", "confirmation": "只確認引用關係,不把引用變成正式決策。", "guard": "不自動通過、不建立正式紀錄、不建立審批紀錄。" }, @@ -9777,7 +9777,7 @@ "items": { "outcomeTracePacket": { "title": "結果分流追溯包", - "body": "整理 S2.97 八條分流的來源、目前分流、退回理由與可讀證據索引。", + "body": "整理 八條分流的來源、目前分流、退回理由與可讀證據索引。", "requirement": "只整理結果脈絡,不把分流結果改成決策。", "guard": "不建立正式紀錄、不更新審批狀態、不標記已接受。" }, @@ -9903,7 +9903,7 @@ }, "awooopReadOnlyLandingReadiness": { "title": "AwoooP 只讀接入就緒度", - "subtitle": "S2.51 把 AwoooP 主線要如何只讀消費 IwoooS / 資安鏡像狀態整理成接入準備面板。這是接入就緒度,不是 正式環境落地 enabled,也不接 execution router。", + "subtitle": "將 AwoooP 主線要如何只讀消費 IwoooS / 資安鏡像狀態整理成接入準備面板。這是接入就緒度,不是 正式環境落地 enabled,也不接 execution router。", "readinessLabel": "只讀接入", "requirementLabel": "接入要求", "guardLabel": "仍鎖住", @@ -9985,7 +9985,7 @@ }, "cadenceCompression": { "title": "後續節奏改成批次推進", - "body": "S2.38-S2.45 已完成多層 checklist;後續應優先收斂 P0 負責人回覆與 AwoooP landing,避免持續拆分低影響核對項。", + "body": "已完成多層 checklist;後續應優先收斂 P0 負責人回覆與 AwoooP landing,避免持續拆分低影響核對項。", "unlock": "相同類型的 framework detail 之後合併成一批回報,只有高層 閘門 變動才調整 重點。", "guard": "節奏加快不等於放寬安全;runtime 與 source-control cutover 仍需人工 閘門。" } @@ -9993,7 +9993,7 @@ }, "ownerResponseNextActionFocus": { "title": "負責人 Response 下一步收件焦點", - "subtitle": "S2.47 將可推動 61% 的負責人回覆工作排清楚:先收 S4.9 Gitea owner attestation,再依序處理 GitHub target、refs 真相、工作流程 / 機密 name。這裡只顯示收件焦點,不催收、不代填、不標記已收到。", + "subtitle": "將可推動 61% 的負責人回覆工作排清楚:先收 S4.9 Gitea owner attestation,再依序處理 GitHub target、refs 真相、工作流程 / 機密 name。此區僅顯示收件焦點,不催收、不代填、不標記已收到。", "focusLabel": "下一步焦點", "nextLabel": "要看的 evidence", "guardLabel": "仍禁止", @@ -10026,14 +10026,14 @@ }, "s49OwnerResponseRequestTemplates": { "title": "S4.9 負責人 Response 五個回覆 Template", - "subtitle": "S2.49 將 S4.9 owner 要逐項回答的五個 template 顯示在 IwoooS。這裡只是 request-就緒 清單:request 仍未送出、不催收、不代填、不標記 已收到 / 已接受,也不把任何 template 當成 Gitea inventory 或 GitHub migration approval。", + "subtitle": "將 S4.9 owner 要逐項回答的五個 template 顯示在 IwoooS。此區是 request-就緒 清單:request 仍未送出、不催收、不代填、不標記 已收到 / 已接受,也不把任何 template 當成 Gitea inventory 或 GitHub migration approval。", "templateLabel": "Template", "ownerActionLabel": "負責人 要回覆", "guardLabel": "仍禁止", "items": { "publicOnlyVsLocalGiteaGap": { "title": "Public-only / local Gitea gap", - "body": "判定 `wooo/clawbot-v5` 與 `wooo/wooo-aiops` 是否屬於本輪 inventory / migration scope。", + "body": "判定 `wooo/clawbot-v5` 與 `wooo/wooo-aiops` 是否屬於目前階段 inventory / migration scope。", "ownerAction": "逐 repo 回覆 in scope、out of scope、legacy archived、external system、inaccessible 或 needs more evidence,並引用脫敏 evidence ref。", "guard": "request_就緒_not_sent;已收到=0;已接受=0;不寫 Gitea、不建立 repo、不 同步 ref。" }, @@ -10045,7 +10045,7 @@ }, "internal110AdjacentScope": { "title": "110 adjacent source scope", - "body": "判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入本輪 scope。", + "body": "判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入目前階段 scope。", "ownerAction": "逐項標示 in scope / out of scope / legacy / external / inaccessible,並補脫敏來源證據。", "guard": "不讀取私有 repo 內容、不匯入 archive、不把 110 adjacent source 自動納入 migration。" }, @@ -10065,7 +10065,7 @@ }, "s49OwnerResponseDispatchFlow": { "title": "S4.9 負責人回覆送件鏈路摘要", - "subtitle": "S2.106 把 S4.9 從工作單、封套、送件前檢查、結果分流、請求草稿到人工送件閘門整理成一條專業只讀鏈路。這是給管理、維運與 AwoooP 平行 Session 判讀目前待補項的摘要,不提供送出、批准、執行或主要來源切換入口。", + "subtitle": "將 S4.9 從工作單、封套、送件前檢查、結果分流、請求草稿到人工送件閘門整理成一條專業只讀鏈路。這是給管理、維運與 AwoooP 平行 Session 判讀目前待補項的摘要,不提供送出、批准、執行或主要來源切換入口。", "stepLabel": "步驟", "boundaryTitle": "送件鏈路邊界", "boundaryIntro": "以下鍵值固定這條鏈路仍是只讀可視化,不是 request sent、稽核事件、人工批准或執行授權。", @@ -10116,7 +10116,7 @@ }, "securityComplianceFrontStage": { "title": "前台安全合規整合判定", - "subtitle": "S2.107 的專業判定是保留 `/security-compliance`,並把它改成 IwoooS 的前台友善入口。前台操作角色仍可從熟悉的安全合規頁看到安全監控與合規統計,但資安網總覽、進度與執行邊界統一由 IwoooS 說明。", + "subtitle": "保留 `/security-compliance` 作為前台安全合規入口,並與 IwoooS 的資安網總覽、進度與執行邊界保持一致。", "decisionLabel": "判定", "boundaryTitle": "前台入口邊界", "boundaryIntro": "以下鍵值固定:這是導覽與資訊架構整合,不是 runtime 授權、審批、掃描、修復、部署或 GitHub primary 切換。", @@ -10126,8 +10126,8 @@ "detail": "保留既有安全合規入口,避免連結失效。" }, "decision": { - "label": "專業建議", - "detail": "整合到 IwoooS,不移除。" + "label": "架構策略", + "detail": "整合到 IwoooS,保留既有入口。" }, "removed": { "label": "是否移除", @@ -10153,13 +10153,13 @@ }, "runtimeControls": { "title": "不新增執行控制", - "body": "本階段只有可視化與資訊架構整理,不新增掃描、修復、批准、部署或 阻擋控制。" + "body": "目前僅提供可視化與資訊架構整理,不新增掃描、修復、批准、部署或阻擋控制。" } } }, "frontstageEntryRoles": { "title": "前台資安入口角色分流", - "subtitle": "S2.108 把前台會看到的資安入口拆成清楚角色:IwoooS 看總覽,安全合規維持熟悉入口,安全 / 合規保留原始資料頁,AwoooP 審批顯示人控等待。這只降低入口混淆,不新增執行控制。", + "subtitle": "將前台資安入口拆成清楚角色:IwoooS 看總覽,安全合規維持熟悉入口,安全 / 合規保留原始資料頁,AwoooP 審批顯示人控等待;此分流只降低入口混淆,不新增執行控制。", "routeLabel": "路由", "boundaryTitle": "入口分流邊界", "boundaryIntro": "以下鍵值固定:這是前台導覽與理解成本收斂,不是掃描、修復、批准、部署、GitHub 主要來源切換或任何執行期入口。", @@ -10206,7 +10206,7 @@ }, "lowFrictionRollout": { "title": "低摩擦分階段收斂主控", - "subtitle": "S2.111 把安全合規頁的低摩擦收斂節奏同步回 IwoooS 主入口:目前先觀測與盤點,補齊證據後才進人工審查;只有明確批准後才開執行期閘門,最後再逐步收嚴。", + "subtitle": "將安全合規頁的低摩擦收斂節奏同步回 IwoooS 主入口:目前先觀測與盤點,補齊證據後才進人工審查;只有明確批准後才開執行期閘門,最後再逐步收嚴。", "phaseLabel": "階段", "boundaryTitle": "分階段收斂邊界", "boundaryIntro": "以下鍵值固定:這是 IwoooS 主入口的策略可視化,不是掃描、修復、批准、部署、主要來源切換或任何執行期入口。", @@ -10253,7 +10253,7 @@ }, "lowFrictionNextActions": { "title": "低摩擦下一步行動邊界", - "subtitle": "S2.112 把 IwoooS 主入口的下一步拆成可做、準備與禁止:目前只能推只讀盤點、脫敏證據包與人工審查準備,掃描、主機變更、部署、來源切換仍要等明確批准與執行期閘門。", + "subtitle": "將 IwoooS 主入口的下一步拆成可做、準備與禁止:目前只能推只讀盤點、脫敏證據包與人工審查準備,掃描、主機變更、部署、來源切換仍要等明確批准與執行期閘門。", "boundaryTitle": "下一步行動邊界", "boundaryIntro": "以下鍵值固定:這是下一步行動的前台說明與防誤用邊界,不是掃描、修復、批准、部署、主機變更或版本來源操作入口。", "summary": { @@ -10299,7 +10299,7 @@ }, "progressMovementSignals": { "title": "61% 進度移動訊號驗收條", - "subtitle": "S2.113 把真正會讓整體資安網 重點 往前的訊號拉到 IwoooS:AwoooP 落地證據已驗證為 1,讓整體從 58% 保守重估到 61%;負責人回覆、脫敏證據匯入、執行期閘門與 GitHub 主要來源仍是 0 或 false。", + "subtitle": "將真正會讓整體資安網 重點 往前的訊號拉到 IwoooS:AwoooP 落地證據已驗證為 1,讓整體從 58% 保守重估到 61%;負責人回覆、脫敏證據匯入、執行期閘門與 GitHub 主要來源仍是 0 或 false。", "boundaryTitle": "進度移動驗收邊界", "boundaryIntro": "以下鍵值固定:這是 重點 移動條件的只讀驗收條,不是進度灌水、批准、掃描、修復、部署、主機變更或版本來源操作入口。", "summary": { @@ -10345,7 +10345,7 @@ }, "concreteSecurityWorkMap": { "title": "目前具體工作地圖", - "subtitle": "S2.123 回應「很難理解有哪些具體工作」:把目前資安網拆成六條實體工作流。已完成的是前台可視化與只讀框架;真正會推動 61% 的下一步仍是 S4.9 負責人回覆被收到、脫敏並接受。", + "subtitle": "將目前資安網拆成六條實體工作流。已完成的是前台可視化與只讀框架;真正會推動 61% 的下一步仍是 S4.9 負責人回覆被收到、脫敏並接受。", "workLabel": "工作", "boundaryTitle": "具體工作邊界", "boundaryIntro": "以下鍵值固定:這張圖只是把具體工作流講清楚,不是 runtime 授權、Kali 掃描、主機變更、repo/refs/工作流程/機密 操作、GitHub primary 切換或 Gitea 停用。", @@ -10395,14 +10395,14 @@ }, "runtimeExecutionGate": { "title": "runtime 掃描、修復、部署與主機變更", - "body": "已把所有執行動作放在人工批准與後續 執行期閘門 之後,不讓初期框架把資安限制拉太高。", + "body": "已把所有執行動作放在人工批准與後續 執行期閘門 之後,避免治理框架在未授權前影響產品交付速度。", "evidence": "具體產出:目前 active_runtime_閘門_count=0,scan/deploy/主機變更/source-control mutation 全部仍禁止。" } } }, "concreteSecurityDeliveryChecklist": { "title": "目前具體交付清單", - "subtitle": "S2.124 把六條具體工作流再拆成可追蹤交付項目:每一項都標明已交付內容、下一步需要的證據,以及目前仍被禁止的動作。這是只讀交付清單,不是批准、掃描、修復、部署或主機操作入口。", + "subtitle": "將六條具體工作流再拆成可追蹤交付項目:每一項都標明已交付內容、下一步需要的證據,以及目前仍被禁止的動作。這是只讀交付清單,不是批准、掃描、修復、部署或主機操作入口。", "deliverableLabel": "交付", "deliveredLabel": "已交付", "nextLabel": "下一步", @@ -10468,7 +10468,7 @@ }, "concreteSecurityBlockerResolution": { "title": "目前阻塞與解除條件", - "subtitle": "S2.125 把 61% 無法前進的原因拆成六個阻塞點。每個阻塞點都標明為什麼卡住,以及要用哪種脫敏證據或人工 閘門 才能解除;這仍是只讀狀態,不是批准或執行入口。", + "subtitle": "將 61% 無法前進的原因拆成六個阻塞點。每個阻塞點都標明為什麼卡住,以及要用哪種脫敏證據或人工 閘門 才能解除;這仍是只讀狀態,不是批准或執行入口。", "blockerLabel": "阻塞", "whyLabel": "卡住原因", "unlockLabel": "解除條件", @@ -10527,7 +10527,7 @@ }, "threeAxisProductProgress": { "title": "三軸進度與全產品套用範圍", - "subtitle": "S2.126 回應「是否也套用在所有專案產品」:所有專案產品都套用同一套三軸進度,但第一階段只套只讀治理與可視化,不自動套 runtime enforcement。這讓框架進度、整體加權進度與落地執行進度分開顯示,不再只看到 61%。", + "subtitle": "所有專案產品都套用同一套三軸進度,但第一階段只套只讀治理與可視化,不自動套 runtime enforcement。這讓框架進度、整體加權進度與落地執行進度分開顯示,避免只看到單一進度數字。", "scopeLabel": "範圍", "currentLabel": "目前套用", "nextLabel": "下一步", @@ -10599,7 +10599,7 @@ }, "productRolloutWaveLedger": { "title": "全產品分階段套用台帳", - "subtitle": "S2.127 把「所有專案產品都套用」轉成七個 分階段套用 wave,並把 VibeWork 新專案納入只讀波次:先套只讀可視化與證據欄位,再依 owner evidence、人工審查與 執行期閘門 分段收嚴。這仍是產品套用台帳,不是掃描、修復、部署或主機操作入口。", + "subtitle": "將「所有專案產品都套用」轉成七個 分階段套用 wave,並把 VibeWork 新專案納入只讀波次:先套只讀可視化與證據欄位,再依 owner evidence、人工審查與 執行期閘門 分段收嚴。這仍是產品套用台帳,不是掃描、修復、部署或主機操作入口。", "waveLabel": "波次", "allowedLabel": "目前可做", "beforeRuntimeLabel": "進 runtime 前", @@ -10671,7 +10671,7 @@ }, "productRolloutAcceptanceGates": { "title": "全產品 分階段套用 波次驗收門檻", - "subtitle": "S2.128 把 S2.127 的七個產品波次再補上六個驗收門檻:每個波次都要先通過只讀證據、owner evidence、脫敏審查、版本來源證明、主機安全窗口與 回復 / disable 條件,才可能被列入後續 runtime 候選。這仍是驗收門檻可視化,不是批准或執行。", + "subtitle": "將七個產品波次再補上六個驗收門檻:每個波次都要先通過只讀證據、owner evidence、脫敏審查、版本來源證明、主機安全窗口與 回復 / disable 條件,才可能被列入後續 runtime 候選。這仍是驗收門檻可視化,不是批准或執行。", "gateLabel": "門檻", "requiredEvidenceLabel": "需要證據", "acceptanceSignalLabel": "驗收訊號", @@ -10737,7 +10737,7 @@ }, "productRolloutAcceptanceOutcomes": { "title": "全產品 分階段套用 驗收結果分流", - "subtitle": "S2.129 把 S2.128 的驗收門檻往後補成七條結果分流:維持只讀、退回補證、隔離敏感、版本待證、主機暫停、待人工審與 runtime 未開。這讓所有產品的後續狀態可以被理解,但仍不建立 reviewer candidate、執行期閘門 或任何執行動作。", + "subtitle": "將驗收門檻往後補成七條結果分流:維持只讀、退回補證、隔離敏感、版本待證、主機暫停、待人工審與 runtime 未開。這讓所有產品的後續狀態可以被理解,但仍不建立 reviewer candidate、執行期閘門 或任何執行動作。", "laneLabel": "分流", "whyLabel": "判定原因", "nextLabel": "下一步", @@ -10809,7 +10809,7 @@ }, "productEvidenceWiringMap": { "title": "全產品證據接線地圖", - "subtitle": "S2.130 把所有產品下一步要接的證據線整理成六條 僅中繼資料 channel:產品範圍、負責人回覆、脫敏證據、版本來源真相、主機安全窗口與監控工具摘要。這是只讀接線圖,不代表任何產品已完成接線、通過驗收或可進 runtime。", + "subtitle": "將所有產品下一步要接的證據線整理成六條 僅中繼資料 channel:產品範圍、負責人回覆、脫敏證據、版本來源真相、主機安全窗口與監控工具摘要。這是只讀接線圖,不代表任何產品已完成接線、通過驗收或可進 runtime。", "channelLabel": "證據線", "evidenceLabel": "需要證據", "handoffLabel": "交接方式", @@ -10875,7 +10875,7 @@ }, "productEvidenceWiringPreflight": { "title": "全產品證據接線預檢", - "subtitle": "S2.131 把 S2.130 的六條證據線補上接線前預檢:範圍 metadata、負責人封套、脫敏邊界、版本來源真相、主機安全窗口與工具摘要都要先通過,只能進只讀接線候選。這不是送件、驗收、審批或 runtime 入口。", + "subtitle": "將六條證據線補上接線前預檢:範圍 metadata、負責人封套、脫敏邊界、版本來源真相、主機安全窗口與工具摘要都要先通過,只能進只讀接線候選。這不是送件、驗收、審批或 runtime 入口。", "checkLabel": "預檢", "checkPointLabel": "檢查重點", "passSignalLabel": "通過訊號", @@ -10948,7 +10948,7 @@ }, "productEvidenceWiringPreflightOutcomes": { "title": "全產品證據接線預檢結果分流", - "subtitle": "S2.132 把 S2.131 的預檢結果拆成八條分流:維持只讀、退回範圍、退回封套、隔離敏感、版本暫停、主機暫停、工具待摘要與 runtime 關閉。這讓所有產品的接線前狀態更容易理解,但仍不建立 reviewer candidate、稽核事件或 執行期閘門。", + "subtitle": "將預檢結果拆成八條分流:維持只讀、退回範圍、退回封套、隔離敏感、版本暫停、主機暫停、工具待摘要與 runtime 關閉。這讓所有產品的接線前狀態更容易理解,但仍不建立 reviewer candidate、稽核事件或 執行期閘門。", "outcomeLabel": "結果", "whyLabel": "判定原因", "nextLabel": "下一步", @@ -11026,7 +11026,7 @@ }, "productEvidenceWiringPreflightRecoveryLedger": { "title": "全產品預檢補件回收台帳", - "subtitle": "S2.133 把 S2.132 的退回、隔離與暫停分流接成七個只讀補件隊列。前台可呈現每一類產品要補什麼、由誰補、怎麼回到預檢,但這裡不送出 request、不催收、不接受證據、不建立審批,也不開執行期閘門。", + "subtitle": "將退回、隔離與暫停分流接成七個只讀補件隊列。前台可呈現每一類產品要補什麼、由誰補、怎麼回到預檢,但此區不送出 request、不催收、不接受證據、不建立審批,也不開執行期閘門。", "queueLabel": "隊列", "ownerLabel": "負責人", "requiredLabel": "需要補齊", @@ -11106,7 +11106,7 @@ }, "productEvidenceWiringPreflightRetryGates": { "title": "全產品補件重試門檻", - "subtitle": "S2.134 把 S2.133 回收後的補件整理成六個重試門檻:範圍、封套、脫敏、版本、主機與工具摘要都要先符合只讀條件,才可能重新進預檢候選。這不是送件、驗收、接受、審批或 runtime 入口。", + "subtitle": "將 回收後的補件整理成六個重試門檻:範圍、封套、脫敏、版本、主機與工具摘要都要先符合只讀條件,才可能重新進預檢候選。這不是送件、驗收、接受、審批或 runtime 入口。", "gateLabel": "門檻", "readyLabel": "可重試條件", "retryLabel": "重試方式", @@ -11135,7 +11135,7 @@ "scopeReady": { "title": "範圍重試門檻", "ready": "產品名稱、owner、公開面、內部面、資料分級、適用波次與 evidence ref 都完整。", - "retry": "只可標示為 scope retry candidate,重新跑 S2.131 範圍預檢。", + "retry": "只可標示為 scope retry candidate,重新執行範圍預檢。", "blocked": "不得匯入 raw inventory、內網拓撲原文、完整資產 dump 或掃描輸出。" }, "ownerReady": { @@ -11172,7 +11172,7 @@ }, "productEvidenceWiringPreflightRetryOutcomes": { "title": "全產品重試結果分流", - "subtitle": "S2.135 把 S2.134 的重試門檻後續結果拆成八條分流:維持只讀候選、退回補件、隔離敏感、版本退回、主機暫停、摘要退回、等待人工審查與 runtime 仍關閉。這讓所有產品看得懂重試後往哪裡走,但仍不代表接線完成、owner 已接受、reviewer queue 開啟或 runtime 授權。", + "subtitle": "將重試門檻後續結果拆成八條分流:維持只讀候選、退回補件、隔離敏感、版本退回、主機暫停、摘要退回、等待人工審查與 runtime 仍關閉。這讓所有產品看得懂重試後往哪裡走,但仍不代表接線完成、owner 已接受、reviewer queue 開啟或 runtime 授權。", "outcomeLabel": "結果", "decisionLabel": "判定", "nextLabel": "下一步", @@ -11207,7 +11207,7 @@ "returnSupplement": { "title": "退回補件", "decision": "補件仍缺 scope、owner role、decision、理由、evidence ref 或 後續追蹤 owner。", - "next": "退回 S2.133 補件回收台帳,要求產品 owner 重新補齊 僅中繼資料 欄位。", + "next": "退回 補件回收台帳,要求產品 owner 重新補齊 僅中繼資料 欄位。", "blocked": "不得代填、代簽、催收、自動送 request、建立審批或把聊天同意當正式證據。" }, "quarantineSensitive": { @@ -11250,7 +11250,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidate": { "title": "全產品人工審查候選準備", - "subtitle": "S2.136 把 S2.135 的等待人工審查分流拆成八個只讀準備包:候選識別、結果來源、負責人與範圍、脫敏聲明、版本來源證據、主機窗口、工具摘要證據與 runtime 分離。這讓所有產品知道進 reviewer queue 前要整理什麼,但仍不建立候選、不指派 reviewer、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將等待人工審查分流拆成八個只讀準備包:候選識別、結果來源、負責人與範圍、脫敏聲明、版本來源證據、主機窗口、工具摘要證據與 runtime 分離。這讓所有產品知道進 reviewer queue 前要整理什麼,但仍不建立候選、不指派 reviewer、不產生稽核事件,也不開 執行期閘門。", "packetLabel": "準備包", "requiredLabel": "需要整理", "handoffLabel": "交接方式", @@ -11284,7 +11284,7 @@ }, "sourceOutcomeTrace": { "title": "重試結果來源包", - "required": "對應 S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照。", + "required": "對應前序分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照。", "handoff": "只把重試結果來源串成 metadata trace,等待人工判讀。", "blocked": "不得覆寫原分流、跳過退回原因、隱藏隔離原因或改寫證據歷程。" }, @@ -11328,7 +11328,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflight": { "title": "全產品人工審查候選預檢", - "subtitle": "S2.137 把 S2.136 的八個人工審查候選準備包再拆成八個送入 reviewer queue 前的只讀預檢。這一步只確認識別、來源、範圍、脫敏、版本、主機、工具摘要與 runtime 分離是否可讀,不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", + "subtitle": "將八個人工審查候選準備包再拆成八個送入 reviewer queue 前的只讀預檢。這一步只確認識別、來源、範圍、脫敏、版本、主機、工具摘要與 runtime 分離是否可讀,不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", "checkLabel": "預檢", "requirementLabel": "需要確認", "passLabel": "通過訊號", @@ -11359,12 +11359,12 @@ "title": "候選識別預檢", "requirement": "產品名稱、候選批次、來源分流、重試時間、owner 與 evidence ref 都能追溯。", "pass": "只可標示 candidate identity readable,不建立 reviewer candidate。", - "fail": "缺批次、來源或 owner 時退回 S2.136 候選識別準備包。", + "fail": "缺批次、來源或 owner 時退回 候選識別準備包。", "blocked": "不得把識別可讀當成排程完成、人工接受、稽核事件或 runtime 授權。" }, "sourceOutcomeTrace": { "title": "重試結果來源預檢", - "requirement": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都可追溯。", + "requirement": "分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都可追溯。", "pass": "只可標示 outcome trace readable,等待人工判讀。", "fail": "來源缺漏、分流不一致或隔離原因不明時退回結果來源包。", "blocked": "不得覆寫原分流、跳過退回原因、隱藏隔離原因或改寫證據歷程。" @@ -11415,7 +11415,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightOutcomes": { "title": "全產品人工審查候選預檢結果分流", - "subtitle": "S2.138 把 S2.137 的預檢結果拆成八條只讀分流:維持只讀、退回識別、退回來源、退回範圍、隔離敏感、版本 / 主機暫停、等待人工審查與 runtime 仍關閉。這讓所有專案產品看懂預檢後下一步,但仍不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", + "subtitle": "將預檢結果拆成八條只讀分流:維持只讀、退回識別、退回來源、退回範圍、隔離敏感、版本 / 主機暫停、等待人工審查與 runtime 仍關閉。這讓所有專案產品看懂預檢後下一步,但仍不建立 reviewer candidate、不開 reviewer queue、不指派 reviewer、不建立稽核事件,也不開 執行期閘門。", "outcomeLabel": "分流", "decisionLabel": "判定", "nextLabel": "下一步", @@ -11450,12 +11450,12 @@ "returnIdentity": { "title": "退回識別補件", "decision": "產品名稱、批次、來源分流、重試時間、owner 或 evidence ref 缺漏時退回。", - "next": "回到 S2.136 候選識別準備包補齊 僅中繼資料 識別欄位。", + "next": "回到 候選識別準備包補齊 僅中繼資料 識別欄位。", "blocked": "不得代填 owner、跳過批次追溯、建立審查排程或送出 request。" }, "returnTrace": { "title": "退回來源追溯", - "decision": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源或前一輪預檢參照不一致時退回。", + "decision": "分流、退回 / 隔離 / 等待原因、補件來源或前一輪預檢參照不一致時退回。", "next": "回到結果來源包補齊來源鏈路,維持可讀但不接受。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11493,7 +11493,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryLedger": { "title": "全產品人工審查候選預檢補件回收台帳", - "subtitle": "S2.139 把 S2.138 的退回、隔離與暫停結果整理成八個只讀補件回收佇列:識別補件、來源補件、範圍補件、脫敏重送、版本補證、主機窗口補證、工具摘要補件與 runtime 聲明。這讓所有專案產品知道被退回後要補什麼、由誰補、如何回到預檢,但仍不接受補件、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將退回、隔離與暫停結果整理成八個只讀補件回收佇列:識別補件、來源補件、範圍補件、脫敏重送、版本補證、主機窗口補證、工具摘要補件與 runtime 聲明。這讓所有專案產品知道被退回後要補什麼、由誰補、如何回到預檢,但仍不接受補件、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", "queueLabel": "回收佇列", "ownerLabel": "負責角色", "requiredLabel": "需要補齊", @@ -11524,13 +11524,13 @@ "title": "識別補件回收", "owner": "產品 owner 或指定資料整理人,只補 metadata,不代填決策。", "required": "產品名稱、批次、來源分流、重試時間、owner、evidence ref 與缺漏原因。", - "recovery": "補齊後只能回到 S2.137 候選識別預檢,不能直接進 reviewer queue。", + "recovery": "補齊後只能回到 候選識別預檢,不能直接進 reviewer queue。", "blocked": "不得代填 owner、跳過批次追溯、建立審查排程、送出 request 或建立候選。" }, "traceSupplement": { "title": "來源追溯補件回收", "owner": "證據整理人與來源系統 owner 共同補足分流來源。", - "required": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源、前一輪預檢參照與 evidence ref。", + "required": "分流、退回 / 隔離 / 等待原因、補件來源、前一輪預檢參照與 evidence ref。", "recovery": "補齊後只標示 outcome trace 可重新預檢,等待人工判讀。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11580,7 +11580,7 @@ }, "productEvidenceWiringPreflightRetryReviewCandidatePreflightRecoveryRetryGates": { "title": "全產品人工審查候選預檢補件重試門檻", - "subtitle": "S2.140 把 S2.139 的補件回收台帳再拆成八個只讀重試門檻:識別、來源、範圍、脫敏、版本、主機窗口、工具摘要與 runtime 分離。這讓所有專案產品知道補件回收後何時可以重新回到 S2.137 預檢,但仍不接受補件、不標記通過、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", + "subtitle": "將補件回收台帳再拆成八個只讀重試門檻:識別、來源、範圍、脫敏、版本、主機窗口、工具摘要與 runtime 分離。這讓所有專案產品知道補件回收後何時可以重新回到前序預檢,但仍不接受補件、不標記通過、不建立 reviewer candidate、不開 reviewer queue、不產生稽核事件,也不開 執行期閘門。", "gateLabel": "門檻", "readyLabel": "可重試條件", "retryLabel": "重試方式", @@ -11609,12 +11609,12 @@ "identityGate": { "title": "識別重試門檻", "ready": "產品名稱、批次、來源分流、重試時間、owner、evidence ref 與缺漏原因都補齊。", - "retry": "只能回到 S2.137 候選識別預檢,重新檢查 metadata 可讀性。", + "retry": "只能回到 候選識別預檢,重新檢查 metadata 可讀性。", "blocked": "不得跳過識別重試、建立審查排程、送出 request、建立候選或代填 owner。" }, "traceGate": { "title": "來源重試門檻", - "ready": "S2.135 分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都一致。", + "ready": "分流、退回 / 隔離 / 等待原因、補件來源與前一輪預檢參照都一致。", "retry": "只標示 outcome trace 可重新預檢,等待人工判讀來源鏈路。", "blocked": "不得覆寫原分流、刪除失敗原因、改寫證據歷程或把來源缺口視為通過。" }, @@ -11659,7 +11659,7 @@ "firstProgressUnlockPath": { "eyebrow": "61% 下一步", "title": "第一個進度解鎖路徑", - "subtitle": "把 61% 下一個可推進路徑放到首頁首層:先收 S4.9 負責人可追溯回覆,再補齊脫敏證據參照,通過收件預檢與審查接受後,才可能成為進度審查候選。", + "subtitle": "將 61% 下一個可推進路徑放到首頁首層:先收 S4.9 負責人可追溯回覆,再補齊脫敏證據參照,通過收件預檢與審查接受後,才可能成為進度審查候選。", "stepLabel": "步驟", "boundaryTitle": "第一解鎖路徑邊界", "boundaryIntro": "以下鍵值固定:這是 S4.9 第一解鎖路徑的只讀收斂,不是送件完成、回覆已收到、批准、掃描、修復、部署或執行期入口。", @@ -11753,7 +11753,7 @@ "state": "跨 Session 已接線", "detail": "AwoooP、Alerts、Monitoring、Work Items、Runs、Approvals 與 Telegram truth-chain 已能連到同一筆 Incident 證據。", "evidence": "正式環境已有 truth-chain drill-down 與 deploy marker。", - "next": "把資安 owner response 與 reviewer queue 維持只讀同步。", + "next": "將資安 owner response 與 reviewer queue 維持只讀同步。", "locked": "AwoooP approval 不自動等於資安 runtime 批准。" }, "boundary": { @@ -11768,7 +11768,7 @@ }, "firstUnlockEvidencePacket": { "title": "第一解鎖證據包", - "subtitle": "S2.115 把 S4.9 要讓 61% 真正前進所需的證據收斂成五個欄位:負責人判定 metadata、範圍與來源參照、脫敏聲明、收件預檢軌跡、審查接受摘要。這裡只顯示要補什麼,不收 raw 載荷、不收機密明文、不開 重點 審查。", + "subtitle": "將 S4.9 要讓 61% 真正前進所需的證據收斂成五個欄位:負責人判定 metadata、範圍與來源參照、脫敏聲明、收件預檢軌跡、審查接受摘要。此區僅顯示要補什麼,不收 raw 載荷、不收機密明文、不開 重點 審查。", "slotLabel": "欄位", "boundaryTitle": "證據包收件邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的只讀欄位定義,不是送件、收件、驗收通過、審批、掃描、修復、部署或執行期入口。", @@ -11815,7 +11815,7 @@ }, "firstUnlockEvidencePacketPreflightOutcomes": { "title": "第一解鎖證據包預檢分流", - "subtitle": "S2.116 把第一解鎖證據包進來後的結果分成六條只讀分流:可進審查、補 owner metadata、補範圍參照、隔離 raw 載荷、拒收機密值、等待 reviewer。這裡只說明預檢結果,不把任何分流當成已接受或授權。", + "subtitle": "將第一解鎖證據包進來後的結果分成六條只讀分流:可進審查、補 owner metadata、補範圍參照、隔離 raw 載荷、拒收機密值、等待 reviewer。此區僅說明預檢結果,不把任何分流當成已接受或授權。", "laneLabel": "分流", "boundaryTitle": "預檢分流邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的預檢結果分流,不是證據已補齊、審查已接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11866,7 +11866,7 @@ }, "firstUnlockEvidencePacketSupplementPath": { "title": "第一解鎖證據包補件路徑", - "subtitle": "S2.117 把第一解鎖證據包未通過預檢時的補件方式拆成五步:補 owner metadata、補範圍參照、補脫敏聲明、補預檢軌跡、等待 reviewer queue。這裡只顯示補件路徑,不送出 request、不接受證據、不開 重點 審查。", + "subtitle": "將第一解鎖證據包未通過預檢時的補件方式拆成五步:補 owner metadata、補範圍參照、補脫敏聲明、補預檢軌跡、等待 reviewer queue。此區僅顯示補件路徑,不送出 request、不接受證據、不開 重點 審查。", "stepLabel": "補件步驟", "boundaryTitle": "補件路徑邊界", "boundaryIntro": "以下鍵值固定:這是第一解鎖證據包的補件說明,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11913,7 +11913,7 @@ }, "firstUnlockEvidencePacketSupplementPreReview": { "title": "第一解鎖證據包補件送審前檢查", - "subtitle": "S2.118 把補件要進 reviewer queue 前的檢查拆成六項:owner metadata 完整、範圍參照可追溯、脫敏聲明成立、預檢軌跡附上、禁止變更條款維持、reviewer queue 未開。這裡只顯示送審前檢查,不代表補件已送出或已接受。", + "subtitle": "將補件要進 reviewer queue 前的檢查拆成六項:owner metadata 完整、範圍參照可追溯、脫敏聲明成立、預檢軌跡附上、禁止變更條款維持、reviewer queue 未開。此區僅顯示送審前檢查,不代表補件已送出或已接受。", "checkLabel": "檢查", "boundaryTitle": "送審前檢查邊界", "boundaryIntro": "以下鍵值固定:這是補件送審前檢查,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -11964,7 +11964,7 @@ }, "firstUnlockEvidencePacketSupplementPreReviewOutcomes": { "title": "第一解鎖證據包補件送審結果分流", - "subtitle": "S2.119 把補件送審前檢查後可能出現的結果拆成六條只讀分流:可排入 reviewer queue、退回補件、隔離敏感材料、拒收變更要求、維持佇列未開、等待 reviewer 指派。這裡只顯示結果分流,不代表 queue 已開、補件已送出或審查已接受。", + "subtitle": "將補件送審前檢查後可能出現的結果拆成六條只讀分流:可排入 reviewer queue、退回補件、隔離敏感材料、拒收變更要求、維持佇列未開、等待 reviewer 指派。此區僅顯示結果分流,不代表 queue 已開、補件已送出或審查已接受。", "outcomeLabel": "結果", "boundaryTitle": "結果分流邊界", "boundaryIntro": "以下鍵值固定:這是補件送審前檢查後的只讀結果分流,不是送件、收件、審查接受、重點 審查、掃描、修復、部署或執行期入口。", @@ -12015,7 +12015,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreparation": { "title": "第一解鎖證據包 reviewer 指派準備包", - "subtitle": "S2.120 把補件結果分流之後,若未來要進人工 reviewer 指派前需要整理的六個準備包前台化:佇列狀態凍結、reviewer 角色邊界、範圍包、證據索引、衝突揭露、指派稽核草稿。這裡只顯示準備包,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將補件結果分流之後,若未來要進人工 reviewer 指派前需要整理的六個準備包前台化:佇列狀態凍結、reviewer 角色邊界、範圍包、證據索引、衝突揭露、指派稽核草稿。此區僅顯示準備包,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "packetLabel": "準備包", "boundaryTitle": "指派準備邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前的只讀準備包,不是開 queue、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12040,7 +12040,7 @@ "items": { "queueStatusFreeze": { "title": "佇列狀態凍結", - "body": "把 queue_open=false、就緒_for_queue_count=0 與 request_sent=false 固定在同一個準備包,避免被誤讀成已開佇列。" + "body": "將 queue_open=false、就緒_for_queue_count=0 與 request_sent=false 固定在同一個準備包,避免被誤讀成已開佇列。" }, "reviewerRoleBoundary": { "title": "reviewer 角色邊界", @@ -12066,7 +12066,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreflight": { "title": "第一解鎖證據包 reviewer 指派前檢查", - "subtitle": "S2.121 把 reviewer 指派準備包之後的六項檢查前台化:佇列仍關閉、角色邊界可追溯、範圍包可追溯、證據索引已脫敏、衝突揭露已釐清、稽核草稿只含 metadata。這裡只顯示指派前檢查,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將 reviewer 指派準備包之後的六項檢查前台化:佇列仍關閉、角色邊界可追溯、範圍包可追溯、證據索引已脫敏、衝突揭露已釐清、稽核草稿只含 metadata。此區僅顯示指派前檢查,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "checkLabel": "檢查", "boundaryTitle": "指派前檢查邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前的只讀檢查,不是開 queue、建立 reviewer candidate、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12117,7 +12117,7 @@ }, "firstUnlockEvidencePacketReviewerAssignmentPreflightOutcome": { "title": "第一解鎖證據包 reviewer 指派前檢查結果分流", - "subtitle": "S2.122 把 reviewer 指派前檢查後的六條結果分流前台化:維持佇列關閉、退回角色邊界、退回範圍包、隔離未脫敏證據、暫停衝突揭露、保留 僅中繼資料 稽核草稿。這裡只顯示分流,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", + "subtitle": "將 reviewer 指派前檢查後的六條結果分流前台化:維持佇列關閉、退回角色邊界、退回範圍包、隔離未脫敏證據、暫停衝突揭露、保留 僅中繼資料 稽核草稿。此區僅顯示分流,不代表 reviewer candidate 已成立、queue 已開或 reviewer 已指派。", "outcomeLabel": "結果", "boundaryTitle": "指派前結果分流邊界", "boundaryIntro": "以下鍵值固定:這是 reviewer 指派前檢查後的只讀結果分流,不是建立 reviewer candidate、開 queue、指派 reviewer、接受補件、建立稽核事件、重點 審查、掃描、修復、部署或執行期入口。", @@ -12168,7 +12168,7 @@ }, "s49OwnerResponseWorkOrder": { "title": "S4.9 負責人 Response 人工收件工作單", - "subtitle": "S2.101 把第一個真正能推動 61% 的 S4.9 回覆收件格式放到 IwoooS:每項都要包含 owner role/team、decision、decision reason、受影響 scope、脫敏 evidence refs 與 後續追蹤 owner。這裡只是人工收件工作單,不送出 request、不收件、不標記 已收到 / 已接受。", + "subtitle": "將第一個真正能推動 61% 的 S4.9 回覆收件格式放到 IwoooS:每項都要包含 owner role/team、decision、decision reason、受影響 scope、脫敏 evidence refs 與 後續追蹤 owner。此區是人工收件工作單,不送出 request、不收件、不標記 已收到 / 已接受。", "itemLabel": "收件項目", "requiredFieldsLabel": "必填欄位", "acceptanceLabel": "驗收方式", @@ -12195,7 +12195,7 @@ "items": { "scopeGapResponse": { "title": "Public-only / local gap 回覆", - "body": "請 owner 判定 public-only 與 local Gitea 差異是否納入本輪 inventory / migration scope。", + "body": "請 owner 判定 public-only 與 local Gitea 差異是否納入目前階段 inventory / migration scope。", "requiredFields": "owner role/team、decision、decision reason、affected scope、redacted evidence refs、後續追蹤 owner。", "acceptance": "decision 必須落在 in scope、out of scope、legacy archived、external system、inaccessible 或 needs more evidence。", "guard": "不建立 repo、不讀私有內容、不同步 refs、不把差異判定當 migration approval。" @@ -12209,7 +12209,7 @@ }, "adjacentSourceResponse": { "title": "110 adjacent source scope 回覆", - "body": "請 owner 判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入本輪 scope。", + "body": "請 owner 判定 `bitan-pharmacy`、`root/momo-pro-system`、`tsenyang-website`、`wooo/wooo-infra-config` 是否納入目前階段 scope。", "requiredFields": "owner role/team、per-source decision、decision reason、affected source、redacted evidence refs、後續追蹤 owner。", "acceptance": "逐項標示 in scope、out of scope、legacy、external、inaccessible 或 needs more evidence,並保留脫敏 trace。", "guard": "不讀取私有 repo 內容、不匯入 archive、不把 110 adjacent source 自動納入 migration。" @@ -12232,7 +12232,7 @@ }, "s49OwnerResponseEnvelope": { "title": "S4.9 負責人回覆封套欄位", - "subtitle": "S2.102 把 S4.9 負責人回覆的六個必填欄位做成只讀回覆封套矩陣。這讓負責人可以照同一格式回覆,也讓審查者能逐欄驗收;目前仍是空白封套,不提交、不收件、不建立稽核事件。", + "subtitle": "將 S4.9 負責人回覆的六個必填欄位做成只讀回覆封套矩陣。這讓負責人可以照同一格式回覆,也讓審查者能逐欄驗收;目前仍是空白封套,不提交、不收件、不建立稽核事件。", "fieldLabel": "封套欄位", "formatLabel": "建議格式", "guardLabel": "仍禁止", @@ -12296,7 +12296,7 @@ }, "s49OwnerResponseEnvelopePreflight": { "title": "S4.9 負責人回覆封套送件前檢查", - "subtitle": "S2.103 把回覆封套送出前的六個檢查點做成只讀看板。它只協助負責人與審查者確認欄位、判定、證據、範圍、變更要求與後續負責人是否可讀;目前通過=0、可送件=0,不送出、不收件、不建立稽核事件。", + "subtitle": "將回覆封套送出前的六個檢查點做成只讀看板。它只協助負責人與審查者確認欄位、判定、證據、範圍、變更要求與後續負責人是否可讀;目前通過=0、可送件=0,不送出、不收件、不建立稽核事件。", "checkLabel": "送件前檢查", "failureLabel": "不通過時", "guardLabel": "仍禁止", @@ -12360,7 +12360,7 @@ }, "s49OwnerResponseEnvelopePreflightOutcome": { "title": "S4.9 負責人回覆封套送件前結果分流", - "subtitle": "S2.104 把送件前檢查後的七種結果做成只讀分流。它只說明封套不通過時要補欄、修正判定、隔離敏感證據、修正範圍、拒收變更要求或維持等待;目前可進收件=0,不送出、不收件、不接受。", + "subtitle": "將送件前檢查後的七種結果做成只讀分流。它只說明封套不通過時要補欄、修正判定、隔離敏感證據、修正範圍、拒收變更要求或維持等待;目前可進收件=0,不送出、不收件、不接受。", "laneLabel": "結果分流", "nextLabel": "下一步", "guardLabel": "仍禁止", @@ -12430,7 +12430,7 @@ }, "s49OwnerResponseRequestDraft": { "title": "S4.9 負責人回覆送件請求草稿", - "subtitle": "S2.105 把送件請求拆成只讀草稿,讓封套、預檢與結果分流之後仍有明確的防誤送邊界。這裡只顯示送件前要整理的草稿項,不寄送 request、不通知負責人、不建立稽核事件、不標記收到或接受。", + "subtitle": "將送件請求拆成只讀草稿,讓封套、預檢與結果分流之後仍有明確的防誤送邊界。此區僅顯示送件前要整理的草稿項,不寄送 request、不通知負責人、不建立稽核事件、不標記收到或接受。", "draftLabel": "草稿項", "gapLabel": "目前缺口", "guardLabel": "仍禁止", @@ -12456,7 +12456,7 @@ "items": { "scopeMappingDraft": { "title": "收件範圍對應草稿", - "body": "把 S4.9 五個人工收件項對應到封套範圍,確認每筆請求只問已定義的清冊、端點、鄰近來源、標準負責人或 legacy disposition 問題。", + "body": "將 S4.9 五個人工收件項對應到封套範圍,確認每筆請求只問已定義的清冊、端點、鄰近來源、標準負責人或 legacy disposition 問題。", "gap": "尚未有可送出的範圍對應,不建立 request。", "guard": "不自動擴大專案庫範圍、不把範圍草稿當 負責人回覆。" }, @@ -12486,7 +12486,7 @@ }, "manualDispatchGateDraft": { "title": "人工送件閘門草稿", - "body": "把送件前最後一道人工確認獨立出來:只有確認收件範圍、對象、脫敏證據、禁止變更條款與稽核範本後,才可另行批准送件。", + "body": "將送件前最後一道人工確認獨立出來:只有確認收件範圍、對象、脫敏證據、禁止變更條款與稽核範本後,才可另行批准送件。", "gap": "人工送件閘門未開,request_sent 仍為 false。", "guard": "不提供送出按鈕、不代替負責人回覆、不開執行期閘門。" } @@ -12494,7 +12494,7 @@ }, "s49OwnerResponsePreflight": { "title": "S4.9 負責人 Response 收件前 預檢", - "subtitle": "S2.48 把 S4.9 的 6 個收件前檢查拉到 IwoooS:先確認回覆是否對應已知 attestation item、欄位完整、decision 合法、evidence 脫敏、沒有執行要求,且五個 items 到齊前不得 已接受。這裡只顯示 preflight,不寄送 request、不標記 已收到、不建立 audit event。", + "subtitle": "將 S4.9 的 6 個收件前檢查拉到 IwoooS:先確認回覆是否對應已知 attestation item、欄位完整、decision 合法、evidence 脫敏、沒有執行要求,且五個 items 到齊前不得 已接受。此區僅顯示 preflight,不寄送 request、不標記 已收到、不建立 audit event。", "checkLabel": "預檢", "failureLabel": "不通過時", "guardLabel": "仍禁止", @@ -12539,7 +12539,7 @@ }, "awooopCrossSessionHandoff": { "title": "AwoooP 跨 Session Handoff", - "subtitle": "S2.52 將目前 PR、分支、進度語義、必跑 guard、禁止動作與下一個協調 閘門 固定成只讀 handoff packet,讓另一個 AwoooP Session 可直接接手,不把 handoff 當 正式環境落地 或執行授權。", + "subtitle": "將目前 PR、分支、進度語義、必跑 guard、禁止動作與下一個協調 閘門 固定成只讀 handoff packet,讓另一個 AwoooP Session 可直接接手,不把 handoff 當 正式環境落地 或執行授權。", "packetLabel": "Handoff packet", "handoffLabel": "交接說明", "guardLabel": "仍鎖住", @@ -12585,7 +12585,7 @@ "fastProgress": { "eyebrow": "快速進度回報", "title": "目前做了什麼,一眼看懂", - "subtitle": "這裡只放高層第一屏摘要:哪些已經前台可見、Kali 112 是否納管、所有產品是否套用、以及哪些執行動作仍未批准。詳細證據保留在下方區塊。", + "subtitle": "此區僅放高層第一屏摘要:哪些已經前台可見、Kali 112 是否納管、所有產品是否套用、以及哪些執行動作仍未批准。詳細證據保留在下方區塊。", "nextGate": { "title": "下一個可推動進度的 Gate", "body": "先收到並驗收 S4.9 Gitea 清冊負責人回覆。這件事完成前,61% 不應假性前進;完成後才檢查是否能打開 reviewer / runtime 的下一段人工流程。" @@ -12593,7 +12593,7 @@ "items": { "done": { "title": "前台可見工作已整合", - "body": "IwoooS 已串起安全合規、告警、授權、治理、錯誤追蹤、操作日誌與程式碼審查,讓資安工作不再只藏在文件。" + "body": "IwoooS 已串起安全合規、告警、授權、治理、錯誤追蹤、操作日誌與程式碼審查,讓資安工作改以藏在文件。" }, "kali112": { "title": "Kali 112 已納入資安網", diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 0d031237..00304680 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,25 @@ +## 2026-06-01|前台產品文案去內部交接語氣 + +**背景**: + +- 前台頁面仍殘留 `S2.xxx`、`專業建議`、`回應「...」`、`這裡只...` 等內部交接或對話式語氣。 +- 產品頁應呈現能力、狀態、證據與下一步,不應把工作溝通內容直接寫給使用者看。 + +**本次調整**: + +- `apps/web/messages/zh-TW.json` / `apps/web/messages/en.json`: + - 收斂首頁 AI 自動化流程、完成項、專業圖像化視圖文案。 + - 收斂安全合規與 IwoooS 入口文案,移除內部 session 編號與交接語氣。 + - `en.json` 維持與 `zh-TW.json` 完全繁中鏡像。 +- `scripts/security/security-mirror-progress-guard.py`: + - 將 product voice guard 擴大到首頁、IwoooS、安全合規三個前台入口。 + - 阻擋 `S2.`、`回應「`、`專業建議`、`這裡`、`Codex`、`Claude` 等內部工作語言再次進入產品文案。 + +**進度邊界**: + +- 這是產品文案與體驗品質修正,不改變 runtime gate、資安成熟度或 AI 自動修復能力數據。 +- 內部工作紀錄仍放在 LOGBOOK / docs / run evidence,不再放進前台產品敘事。 + ## 2026-06-01|IwoooS 高層快照層文案產品化修正 **背景**: diff --git a/scripts/security/security-mirror-progress-guard.py b/scripts/security/security-mirror-progress-guard.py index f37a17ce..3d21a44f 100755 --- a/scripts/security/security-mirror-progress-guard.py +++ b/scripts/security/security-mirror-progress-guard.py @@ -244,8 +244,32 @@ def validate(root: Path) -> None: web_messages_en, web_messages_zh, ) + product_voice_sections = [ + web_messages_zh["dashboard"]["homeCommandMap"], + web_messages_zh["dashboard"]["automationDelivery"], + web_messages_zh["dashboard"]["automationDiagrams"], + web_messages_zh["securityCompliance"], + web_messages_zh["iwooos"], + ] iwooos_visible_text = "\n".join(collect_string_values(web_messages_zh["iwooos"])) + product_visible_text = "\n".join( + text for section in product_voice_sections for text in collect_string_values(section) + ) for forbidden in [ + "S2.", + "回應「", + "專業建議", + "本輪", + "這裡", + "到底", + "空泛", + "不再只", + "卡在哪", + "初期框架", + "Claude", + "Codex", + "交辦", + "對話", "不用讀", "不用翻對話", "使用者最", @@ -270,7 +294,7 @@ def validate(root: Path) -> None: "目前卡點", "主要卡點", ]: - assert_text_not_contains("web_messages.zh-TW.iwooos.product_voice", iwooos_visible_text, forbidden) + assert_text_not_contains("web_messages.zh-TW.product_voice", product_visible_text, forbidden) for text in [ "IwoooSVisualCommandDashboard", 'data-testid="iwooos-visual-command-dashboard"',