4223 lines
194 KiB
JSON
4223 lines
194 KiB
JSON
{
|
||
"metadata": {
|
||
"title": "AWOOOI - 零干預維運,以人為本的決策",
|
||
"description": "AI 驅動的智能維運平台"
|
||
},
|
||
"common": {
|
||
"loading": "載入中...",
|
||
"error": "發生錯誤",
|
||
"success": "成功",
|
||
"cancel": "取消",
|
||
"confirm": "確認",
|
||
"close": "關閉",
|
||
"closeEsc": "關閉 (ESC)",
|
||
"previous": "上一個 (←)",
|
||
"next": "下一個 (→)",
|
||
"save": "儲存",
|
||
"delete": "刪除",
|
||
"edit": "編輯",
|
||
"back": "返回",
|
||
"clear": "清除",
|
||
"refresh": "重新整理",
|
||
"viewDetails": "檢視詳情",
|
||
"later": "稍後",
|
||
"keyboardShortcuts": "鍵盤快捷鍵",
|
||
"showShortcuts": "顯示快捷鍵"
|
||
},
|
||
"brand": {
|
||
"name": "AWOOOI",
|
||
"slogan": "零干預維運,以人為本的決策。",
|
||
"sloganAlt": "Zero-Touch Ops. Human-Centric Decisions.",
|
||
"tagline": "AI 指揮操作介面",
|
||
"aiTagline": "AI 觀察。AI 行動。您簽核。",
|
||
"version": "v1.0.0",
|
||
"environment": "正式環境"
|
||
},
|
||
"nav": {
|
||
"home": "首頁",
|
||
"dashboard": "儀表板",
|
||
"approvals": "授權中心",
|
||
"errors": "錯誤追蹤",
|
||
"actions": "行動日誌",
|
||
"knowledge": "知識殿堂",
|
||
"settings": "設定",
|
||
"alerts": "告警",
|
||
"monitoring": "服務監控",
|
||
"apm": "APM",
|
||
"topology": "拓撲圖",
|
||
"security": "安全",
|
||
"compliance": "合規",
|
||
"autoRepair": "自動修復",
|
||
"deployments": "部署管理",
|
||
"tickets": "工單",
|
||
"cost": "成本分析",
|
||
"reports": "報表",
|
||
"terminal": "終端",
|
||
"apps": "應用",
|
||
"services": "服務目錄",
|
||
"users": "使用者",
|
||
"notifications": "通知",
|
||
"billing": "帳單",
|
||
"help": "說明",
|
||
"drift": "漂移偵測",
|
||
"neuralCommand": "神經指揮中心",
|
||
"commandCenter": "指令中心",
|
||
"observability": "可觀測性",
|
||
"automation": "自動化",
|
||
"operations": "營運",
|
||
"securityCompliance": "安全合規",
|
||
"classicAICenter": "經典 AI 中心",
|
||
"governance": "AI 治理",
|
||
"awooop": "AwoooP",
|
||
"iwooos": "IwoooS"
|
||
},
|
||
"locale": {
|
||
"switch": "切換語系",
|
||
"zhTW": "繁",
|
||
"en": "EN"
|
||
},
|
||
"demo": {
|
||
"title": "AWOOOI 展示",
|
||
"subtitle": "視覺驗收測試",
|
||
"mockMode": "模擬模式",
|
||
"spikeControls": "CPU 飆高模擬控制台",
|
||
"spikeActive": "飆高進行中",
|
||
"triggerSpike": "觸發 {host}",
|
||
"clearSpike": "清除飆高",
|
||
"approvalCards": "HITL 授權卡片 (CPO-107)",
|
||
"statusShowcase": "狀態指示燈展示",
|
||
"lowRiskDemo": "低風險 - 1 秒長按",
|
||
"highRiskDemo": "高風險 - 1 秒長按",
|
||
"criticalDemo": "危急 + 毀滅性 - 2 秒長按 + 紅色光暈",
|
||
"hitlRealApi": "HITL Multi-Sig (真實 API)",
|
||
"addCritical": "+ 嚴重",
|
||
"addMedium": "+ 中度",
|
||
"creating": "建立中..."
|
||
},
|
||
"host": {
|
||
"devops": {
|
||
"name": "DevOps 金庫",
|
||
"shortName": "DevOps"
|
||
},
|
||
"security": {
|
||
"name": "Kali 安全中心",
|
||
"shortName": "Kali"
|
||
},
|
||
"k3s": {
|
||
"name": "K3s 主控節點",
|
||
"shortName": "K3s"
|
||
},
|
||
"aiWeb": {
|
||
"name": "AI+Web 中心",
|
||
"shortName": "AI+Web"
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"title": "AI中心",
|
||
"tagline": "AI 指揮操作介面",
|
||
"subtitle": "AI 驅動的統一運維視圖",
|
||
"liveStats": "即時統計",
|
||
"activeNodes": "活躍節點",
|
||
"pendingAlerts": "待處理告警",
|
||
"pendingApprovals": "待處理授權",
|
||
"overallStatus": "整體狀態",
|
||
"waitingData": "等待資料中...",
|
||
"cpu": "CPU",
|
||
"memory": "記憶體",
|
||
"baseline": "基準線",
|
||
"baselineFormat": "(基準線: {value}%)",
|
||
"criticality": "重備性",
|
||
"systemStatus": "系統狀態",
|
||
"eventStream": "事件流",
|
||
"aiAgent": "AI 代理",
|
||
"globalPulse": "全局脈搏",
|
||
"liveUpdates": "即時更新",
|
||
"liveDashboard": "即時事件流 (SSE)",
|
||
"loadingMetrics": "載入指標中...",
|
||
"metricsError": "指標載入失敗",
|
||
"flow": {
|
||
"alert": "告警",
|
||
"detection": "AI偵測",
|
||
"analysis": "AI分析",
|
||
"proposal": "提案生成",
|
||
"approval": "等待授權",
|
||
"execution": "執行",
|
||
"resolved": "完成"
|
||
},
|
||
"activeIncidents": "活躍事件",
|
||
"serviceHealth": "服務健康",
|
||
"todayIncidents": "今日事件",
|
||
"autoRemediationRate": "自動處置率",
|
||
"mttrAvg": "MTTR 均值",
|
||
"stable": "穩定",
|
||
"normal": "正常",
|
||
"openclawEngine": "OPENCLAW 認知引擎",
|
||
"infrastructure": "基礎架構",
|
||
"podHealth": "POD 健康",
|
||
"allRunning": "全部運行中",
|
||
"servicesUp": "服務上線",
|
||
"monitoringTools": "監控工具",
|
||
"monitoringStatus": {
|
||
"up": "正常",
|
||
"down": "離線",
|
||
"unknown": "未知",
|
||
"firing": "觸發",
|
||
"alert": "告警"
|
||
},
|
||
"connectionError": "無法連線",
|
||
"metaVersion": "版本",
|
||
"metaStats": "統計",
|
||
"metaUpdatedAt": "更新",
|
||
"tabs": {
|
||
"overview": "戰情總覽",
|
||
"alerts": "告警 & 授權",
|
||
"stream": "活動串流",
|
||
"disposition": "處置統計"
|
||
},
|
||
"alertEvents": "告警事件",
|
||
"noActiveAlerts": "目前無活躍告警",
|
||
"pendingApprovalsTitle": "待批准授權",
|
||
"noPendingApprovals": "無待批准項目",
|
||
"approve": "批准",
|
||
"reject": "拒絕",
|
||
"activityStream": "系統活動串流",
|
||
"sseConnected": "SSE 連線中",
|
||
"sseDisconnected": "連線中斷",
|
||
"waitingEvents": "等待即時事件...",
|
||
"statusLabel": "狀態",
|
||
"hostsLabel": "主機",
|
||
"eventsCount": "{count} 筆",
|
||
"noDispositionData": "目前無處置統計資料",
|
||
"totalDispositions": "處置總次數",
|
||
"autoRate": "自動化率",
|
||
"humanRate": "人工介入率",
|
||
"autoRepairLabel": "自動修復",
|
||
"humanApprovedLabel": "人工審核",
|
||
"manualResolvedLabel": "手動處理",
|
||
"coldStartLabel": "冷啟動",
|
||
"dispositionBreakdown": "處置方式分佈",
|
||
"hostView": "主機",
|
||
"topoView": "拓撲",
|
||
"waitingHostData": "等待主機資料...",
|
||
"dashboardConnecting": "Dashboard API 連線中",
|
||
"alertBadge": "{count} 告警",
|
||
"alertBadgeZero": "0 告警",
|
||
"awaitingConfirm": "等待確認",
|
||
"viewAllAlerts": "查看全部告警",
|
||
"viewAllAuth": "查看全部授權",
|
||
"viewAllReport": "查看完整報表",
|
||
"aiModelStatus": "AI 模型狀態",
|
||
"loading": "載入中...",
|
||
"trendUp": "↑{pct}%",
|
||
"searchPlaceholderShort": "搜尋...",
|
||
"cotTitle": "推理時間軸",
|
||
"cotNoEvents": "等待事件推理資料...",
|
||
"cotReasoning": "推理",
|
||
"cotConfidence": "信心",
|
||
"cotProvider": "模型",
|
||
"cotLatency": "耗時",
|
||
"cotTools": "工具呼叫",
|
||
"cotClickHint": "點擊事件查看推理細節",
|
||
"byAnomalyTitle": "異常類型分佈 Top 5",
|
||
"byAnomalyAutoRate": "自動修復率 {pct}%",
|
||
"mttrTitle": "MTTR 概覽",
|
||
"mttrUnit": "分鐘",
|
||
"mttrNoData": "尚無 MTTR 資料"
|
||
},
|
||
"openclaw": {
|
||
"name": "OpenClaw",
|
||
"monitoring": "即時監控中",
|
||
"statusOk": "正常",
|
||
"statusWarning": "警告",
|
||
"messageOk": "所有系統運作正常,無需處理。",
|
||
"messageWarning": "{host} 狀態異常,建議檢查相關服務。"
|
||
},
|
||
"ai": {
|
||
"title": "AI 決策引擎",
|
||
"intercepting": "[SYS] 攔截異常訊號...",
|
||
"analyzing": "OpenClaw 正在分析爆炸半徑...",
|
||
"calculating": "計算風險矩陣與簽核門檻...",
|
||
"generating": "生成修復腳本建議...",
|
||
"complete": "分析完成,待簽核卡片已建立",
|
||
"processingAlert": "正在處理告警...",
|
||
"analysisComplete": "分析完成",
|
||
"patrolling": "巡邏中...",
|
||
"standby": "待命",
|
||
"processFlow": "AI 決策流程",
|
||
"processing": "處理中"
|
||
},
|
||
"agent": {
|
||
"title": "AI 代理",
|
||
"state": "狀態",
|
||
"idle": "待命",
|
||
"standby": "待命中",
|
||
"patrolling": "巡邏中",
|
||
"intercepting": "攔截異常中",
|
||
"analyzing": "分析中",
|
||
"generating": "生成提案中",
|
||
"complete": "分析完成",
|
||
"executing": "執行中",
|
||
"waitingApproval": "等待授權",
|
||
"error": "錯誤",
|
||
"lastCheck": "最後檢查"
|
||
},
|
||
"metrics": {
|
||
"title": "全局脈搏",
|
||
"realtime": "即時更新",
|
||
"rps": "每秒請求",
|
||
"errorRate": "錯誤率",
|
||
"p99Latency": "P99 延遲",
|
||
"aiSuccess": "AI 成功率"
|
||
},
|
||
"connection": {
|
||
"disconnected": "已斷線",
|
||
"connecting": "連線中...",
|
||
"subscribing": "訂閱中...",
|
||
"connected": "即時",
|
||
"streaming": "串流中",
|
||
"reconnecting": "重新連線...",
|
||
"error": "連線錯誤",
|
||
"mockMode": "模擬"
|
||
},
|
||
"terminal": {
|
||
"title": "AWOOOI 終端機",
|
||
"version": "版本",
|
||
"waiting": "> 等待指令...",
|
||
"initiate": "啟動同步",
|
||
"executing": ">_ 執行中...",
|
||
"events": "{count} 事件",
|
||
"stream": "串流: /agent/thinking",
|
||
"waitingForData": "等待決策鏈資料...",
|
||
"steps": "步驟",
|
||
"streaming": "串流中",
|
||
"paused": "已暫停",
|
||
"blastRadius": "[ 爆炸半徑 ]",
|
||
"rootCauseChain": "[ 根因分析鏈 ]",
|
||
"upstreamImpact": "[ 上游影響 ]",
|
||
"downstreamDependencies": "[ 下游依賴 ]",
|
||
"dependsOn": "依賴",
|
||
"calls": "呼叫",
|
||
"finopsAnalysis": "[ FINOPS 分析 ]",
|
||
"wastedPerMonth": "每月浪費",
|
||
"realizable": "可實現",
|
||
"freed": "已釋放",
|
||
"connecting": "連線中...",
|
||
"connected": "已連線",
|
||
"streamComplete": "串流完成",
|
||
"streamAborted": "串流已中斷",
|
||
"stop": "停止",
|
||
"clear": "清除"
|
||
},
|
||
"omniTerminal": {
|
||
"title": "OMNI-TERMINAL",
|
||
"fullTitle": "AWOOOI // OMNI-TERMINAL",
|
||
"shortcut": "⌘J",
|
||
"open": "開啟終端機",
|
||
"close": "關閉終端機",
|
||
"inputPlaceholder": "輸入指令...",
|
||
"inputPlaceholderFull": "輸入指令或詢問 AI... (例如: /approval list)",
|
||
"sseLive": "SSE 即時連線",
|
||
"offline": "離線",
|
||
"system": "[SYS]",
|
||
"agent": "[AI]",
|
||
"user": "$",
|
||
"unknownComponent": "未知組件",
|
||
"executing": "執行中",
|
||
"completed": "已完成",
|
||
"failed": "失敗"
|
||
},
|
||
"nuclearKey": {
|
||
"authorize": "授權執行",
|
||
"authorized": "已授權",
|
||
"authorizing": "授權中...",
|
||
"holdToAuthorize": "長按以授權...",
|
||
"holdHintMobile": "按住以授權",
|
||
"holdHintDesktop": "按住 Y 鍵或點擊長按以授權",
|
||
"keepHolding": "繼續按住以授權...",
|
||
"highBlastRadius": "此操作具有高影響範圍",
|
||
"executionAuthorized": "執行已授權並完成",
|
||
"executionFailed": "執行失敗",
|
||
"riskLevel": {
|
||
"low": "低風險",
|
||
"medium": "中風險",
|
||
"high": "高風險",
|
||
"critical": "危急"
|
||
}
|
||
},
|
||
"incident": {
|
||
"title": "事件管理",
|
||
"activeIncidents": "活躍事件",
|
||
"noActiveIncidents": "目前無活躍事件",
|
||
"systemStable": "系統穩定",
|
||
"activeAlerts": "筆活躍告警",
|
||
"signals": "筆告警",
|
||
"proposals": "筆提案",
|
||
"affectedServices": "受影響服務",
|
||
"emptyState": "目前沒有活躍事件",
|
||
"emptyStateDescription": "系統運作正常,無需處理",
|
||
"status": {
|
||
"investigating": "調查中",
|
||
"mitigating": "緩解中",
|
||
"resolved": "已解決",
|
||
"closed": "已關閉"
|
||
},
|
||
"severity": {
|
||
"P0": "P0 (危急)",
|
||
"P1": "P1 (嚴重)",
|
||
"P2": "P2 (警告)",
|
||
"P3": "P3 (資訊)"
|
||
},
|
||
"generateProposal": "生成提案",
|
||
"viewDetails": "查看詳情",
|
||
"card": {
|
||
"executing": "執行中...",
|
||
"approved": "[ 已授權 ]",
|
||
"rejected": "[ 已拒絕 ]",
|
||
"error": "錯誤",
|
||
"timeout": "超時",
|
||
"retry": "重試",
|
||
"timeoutMessage": "執行超時,請檢查 API 日誌",
|
||
"checkApiLogs": "請檢查 API 日誌",
|
||
"analyzing": "大腦分析中...",
|
||
"waitingDecision": "等待決策",
|
||
"authorizeExecution": "授權執行",
|
||
"rejectProposal": "拒絕提案",
|
||
"aiExecuting": ">_ AI 執行中 (Tier 1)",
|
||
"brainAnalyzing": ">_ 大腦分析中...",
|
||
"decisionReady": ">_ 決策就緒 (Tier {tier})",
|
||
"waitingCommander": ">_ 等待統帥親核 (Tier {tier})",
|
||
"suggestedAction": "> 建議行動:",
|
||
"authorize": "授權",
|
||
"reject": "拒絕",
|
||
"anomaly": "異常",
|
||
"affectedServices": "影響服務",
|
||
"signalCount": "信號數",
|
||
"statusLabel": "狀態",
|
||
"aiProposal": "AI 提案",
|
||
"processingTimeline": "處理歷程",
|
||
"timelineLoading": "載入處理歷程...",
|
||
"timelineEvents": "事件明細",
|
||
"timelineSource": "來源",
|
||
"timelineRoute": "MCP",
|
||
"timelineWrites": "寫入"
|
||
}
|
||
},
|
||
"status": {
|
||
"idle": "待命",
|
||
"thinking": "思考中",
|
||
"syncing": "同步中",
|
||
"executing": "執行中",
|
||
"waitingApproval": "等待授權",
|
||
"error": "錯誤",
|
||
"healthy": "健康",
|
||
"warning": "警告",
|
||
"critical": "危急",
|
||
"degraded": "降級",
|
||
"unhealthy": "異常"
|
||
},
|
||
"approval": {
|
||
"title": "授權請求",
|
||
"card": "授權卡片",
|
||
"approve": "批准",
|
||
"reject": "拒絕",
|
||
"holdToApprove": "長按以批准",
|
||
"holdToConfirm": "長按以確認",
|
||
"holdToSign": "長按以簽核",
|
||
"confirming": "確認中...",
|
||
"signing": "簽核中...",
|
||
"needMore": "還需 {count} 人簽核",
|
||
"confirmDestructive": "確認毀滅性操作",
|
||
"approveDestructive": "批准 (毀滅性)",
|
||
"pendingApprovals": "待授權項目",
|
||
"riskLevel": "風險等級",
|
||
"signatures": "簽核",
|
||
"requiredSignatures": "所需簽核數",
|
||
"currentSignatures": "已簽核數",
|
||
"requestedBy": "申請者",
|
||
"expiresAt": "到期時間",
|
||
"holdHint": "長按按鈕 {seconds} 秒以{action}",
|
||
"actionApprove": "批准",
|
||
"actionConfirm": "確認毀滅性操作",
|
||
"actionSign": "簽核",
|
||
"waitingSecondSig": "等待第二位主管簽核",
|
||
"signedBy": "已由 {name} 簽核",
|
||
"signedAt": "於 {time}",
|
||
"signSuccess": "簽核成功",
|
||
"executionTriggered": "已觸發執行",
|
||
"rejectSuccess": "已拒絕",
|
||
"rejectReason": "拒絕原因",
|
||
"enterReason": "請輸入拒絕原因...",
|
||
"signComment": "簽核備註 (選填)",
|
||
"enterComment": "輸入備註...",
|
||
"noApprovals": "目前沒有待簽核項目",
|
||
"fetchError": "無法取得授權清單",
|
||
"noPendingApprovals": "目前無待授權項目",
|
||
"selectApproval": "請選擇一個待授權項目",
|
||
"backToList": "返回列表",
|
||
"previousApproval": "上一個項目",
|
||
"nextApproval": "下一個項目",
|
||
"holdToApproveHint": "長按按鈕以批准或拒絕",
|
||
"swipeHint": "向左滑動查看詳情,向右滑動返回列表",
|
||
"holdYToApprove": "長按 Y 鍵核准 (2秒)",
|
||
"pressNToReject": "按 N 鍵拒絕",
|
||
"justNow": "剛剛",
|
||
"minutesAgo": "{count} 分鐘前",
|
||
"hoursAgo": "{count} 小時前",
|
||
"daysAgo": "{count} 天前",
|
||
"batch": {
|
||
"title": "批次處理模式",
|
||
"bulkApprove": "全部接受",
|
||
"sequential": "逐一審核",
|
||
"criticalOnly": "僅顯示 CRITICAL",
|
||
"eligible": "項可批次",
|
||
"items": "項",
|
||
"securityNote": "CRITICAL 風險與 DESTRUCTIVE 資料影響的項目需單獨審核,無法批次核准。"
|
||
}
|
||
},
|
||
"risk": {
|
||
"low": "低風險",
|
||
"medium": "中風險",
|
||
"high": "高風險",
|
||
"critical": "危急"
|
||
},
|
||
"dryRun": {
|
||
"title": "預演檢查",
|
||
"validation": "DRY-RUN 驗證",
|
||
"passed": "通過",
|
||
"failed": "失敗",
|
||
"checks": "檢查項目",
|
||
"rbac": "權限驗證",
|
||
"syntax": "語法驗證",
|
||
"resource": "資源檢查",
|
||
"replicaCount": "副本數量",
|
||
"backupAvailable": "備份可用",
|
||
"clusterAdmin": "叢集管理員",
|
||
"dbAdmin": "資料庫管理員",
|
||
"deploymentAdmin": "部署管理員",
|
||
"noRecentBackup": "無近期備份!",
|
||
"ok": "正常"
|
||
},
|
||
"blastRadius": {
|
||
"title": "爆炸半徑",
|
||
"affectedPods": "受影響 Pod",
|
||
"estimatedDowntime": "預估停機時間",
|
||
"relatedServices": "相關服務",
|
||
"dataImpact": "資料影響",
|
||
"none": "無",
|
||
"readOnly": "唯讀",
|
||
"write": "可寫",
|
||
"destructive": "毀滅性"
|
||
},
|
||
"graphRag": {
|
||
"title": "拓撲分析",
|
||
"blastRadius": "爆炸半徑",
|
||
"rootCause": "根本原因",
|
||
"upstreamImpact": "上游影響",
|
||
"downstreamChain": "下游依賴鏈",
|
||
"dependsOn": "依賴於",
|
||
"calls": "呼叫",
|
||
"affectedCount": "受影響數量",
|
||
"probableRootCauses": "可能的根本原因"
|
||
},
|
||
"finops": {
|
||
"title": "成本分析",
|
||
"totalWasted": "每月浪費",
|
||
"realizableSavings": "可實現節省",
|
||
"freedResources": "釋放資源",
|
||
"annualProjection": "年度預估",
|
||
"topActions": "主要建議",
|
||
"orphanedPvc": "孤兒儲存卷",
|
||
"zombiePod": "殭屍容器",
|
||
"overProvisioned": "過度配置"
|
||
},
|
||
"trustEngine": {
|
||
"title": "信任引擎",
|
||
"trustScore": "信任分數",
|
||
"progressive": "漸進自治",
|
||
"approved": "已批准",
|
||
"rejected": "已拒絕",
|
||
"neverDowngrade": "永不降級"
|
||
},
|
||
"multiSig": {
|
||
"title": "多重簽核",
|
||
"signature": "簽章",
|
||
"signedBy": "簽署人",
|
||
"signedAt": "簽署時間",
|
||
"voided": "已作廢",
|
||
"toctouWarning": "狀態變更警告"
|
||
},
|
||
"privacy": {
|
||
"title": "隱私防護",
|
||
"redacted": "已脫敏",
|
||
"piiDetected": "偵測到個資"
|
||
},
|
||
"mockData": {
|
||
"deletePod": "刪除 Pod: nginx-frontend-7d4b8c9f5-xk2m3",
|
||
"deletePodDesc": "清理無回應的前端 Pod,將觸發 ReplicaSet 自動重建",
|
||
"dropTable": "刪除資料表: user_sessions",
|
||
"dropTableDesc": "清除所有使用者 Session,將強制登出所有用戶",
|
||
"scaleDeployment": "擴展部署: api-backend",
|
||
"scaleDeploymentDesc": "從 3 個副本擴展至 5 個以應對流量增加",
|
||
"testActions": {
|
||
"lowAction": "擴展部署 api-backend 至 5 副本",
|
||
"lowDesc": "增加後端服務副本數以應對流量增長",
|
||
"mediumAction": "刪除 Pod nginx-ingress-7d6f8c9b5-abc12",
|
||
"mediumDesc": "清理無回應的前端 Pod,ReplicaSet 將自動重建",
|
||
"criticalAction": "刪除資料表 user_sessions",
|
||
"criticalDesc": "清除所有用戶 session 以強制重新登入。此操作將影響所有線上用戶。"
|
||
}
|
||
},
|
||
"actionLog": {
|
||
"title": "行動日誌",
|
||
"subtitle": "K8s 操作執行稽核軌跡",
|
||
"noLogs": "目前沒有執行紀錄",
|
||
"loading": "載入中...",
|
||
"fetchError": "無法取得稽核日誌",
|
||
"columns": {
|
||
"time": "執行時間",
|
||
"operation": "操作類型",
|
||
"target": "目標資源",
|
||
"namespace": "命名空間",
|
||
"status": "狀態",
|
||
"duration": "耗時",
|
||
"executor": "執行者"
|
||
},
|
||
"operations": {
|
||
"DELETE_POD": "刪除 Pod",
|
||
"RESTART_DEPLOYMENT": "重啟部署",
|
||
"SCALE_DEPLOYMENT": "擴展部署"
|
||
},
|
||
"status": {
|
||
"success": "成功",
|
||
"failure": "失敗"
|
||
},
|
||
"stats": {
|
||
"title": "統計概覽",
|
||
"total": "總執行數",
|
||
"successRate": "成功率",
|
||
"avgDuration": "平均耗時",
|
||
"last24h": "過去 24 小時"
|
||
},
|
||
"dryRun": {
|
||
"passed": "Dry-Run 通過",
|
||
"failed": "Dry-Run 失敗"
|
||
},
|
||
"pagination": {
|
||
"page": "第 {current} 頁,共 {total} 頁",
|
||
"prev": "上一頁",
|
||
"next": "下一頁"
|
||
}
|
||
},
|
||
"placeholder": {
|
||
"underConstruction": "建置中",
|
||
"authorizations": "[ 授權中心建置中 ]",
|
||
"knowledgeBase": "[ 知識殿堂建置中 ]",
|
||
"settings": "[ 系統設定建置中 ]"
|
||
},
|
||
"footer": {
|
||
"copyright": "© 2026 岑洋國際行銷有限公司",
|
||
"poweredBy": "由 leWOOOgo 引擎驅動"
|
||
},
|
||
"errorBoundary": {
|
||
"systemFailure": "[系統故障]",
|
||
"criticalError": "偵測到嚴重的 UI 渲染錯誤。自動修復嘗試已耗盡。",
|
||
"escalating": "正在升級至 OpenClaw AIOps 代理...",
|
||
"forceRestart": "強制手動重啟",
|
||
"detectingAnomaly": "[ 偵測異常中 ]",
|
||
"autoHealingAttempt": "啟動自動修復協議 (嘗試 {attempt}/3)"
|
||
},
|
||
"errors": {
|
||
"title": "錯誤追蹤",
|
||
"subtitle": "Sentry 錯誤追蹤 + OpenClaw AI 分析",
|
||
"overview": "錯誤概覽",
|
||
"recentIssues": "近期問題",
|
||
"errorTrend": "錯誤趨勢",
|
||
"noData": "無錯誤數據",
|
||
"noIssues": "目前沒有錯誤",
|
||
"noTrendData": "無趨勢數據",
|
||
"unresolvedIssues": "未解決問題",
|
||
"errors24h": "24 小時內錯誤",
|
||
"criticalErrors": "嚴重錯誤",
|
||
"totalIssues": "總問題數",
|
||
"totalErrors": "錯誤總數 ({period})",
|
||
"projects": "專案",
|
||
"aiAnalyze": "AI 分析",
|
||
"aiAnalysis": "AI 分析結果",
|
||
"analyzing": "分析中...",
|
||
"rootCause": "根因",
|
||
"fixSummary": "修復建議",
|
||
"category": "類別",
|
||
"confidence": "信心度",
|
||
"loading": "載入中...",
|
||
"refresh": "重新整理",
|
||
"sentryDashboard": "Sentry 儀表板",
|
||
"footerInfo": "資料來源: Sentry Self-Hosted | AI 分析: OpenClaw | 自動刷新: 60 秒",
|
||
"timeAgo": {
|
||
"minutes": "{count} 分鐘前",
|
||
"hours": "{count} 小時前",
|
||
"days": "{count} 天前"
|
||
},
|
||
"uxAudit": {
|
||
"title": "UX 審計",
|
||
"noData": "無 Session Replay 數據",
|
||
"replaysWithErrors": "有錯誤的 Replay",
|
||
"uiErrors": "UI 錯誤",
|
||
"rageClicks": "憤怒點擊",
|
||
"deadClicks": "死亡點擊",
|
||
"recentReplays": "近期 Replay",
|
||
"recentUIErrors": "近期 UI 錯誤",
|
||
"replayWithErrors": "Replay 包含 {count} 個錯誤",
|
||
"occurrences": "{count} 次發生",
|
||
"viewDashboard": "查看 Replay Dashboard",
|
||
"health": {
|
||
"good": "良好",
|
||
"moderate": "中等",
|
||
"poor": "不佳"
|
||
}
|
||
}
|
||
},
|
||
"alerts": {
|
||
"autoRefresh": "每 {seconds} 秒自動刷新",
|
||
"incidentCount": "{count, plural, one {# 個事件} other {# 個事件}}"
|
||
},
|
||
"navSection": {
|
||
"aiCore": "AI 核心",
|
||
"monitoring": "監控與安全",
|
||
"ops": "運維管理",
|
||
"knowledge": "知識與工具"
|
||
},
|
||
"sidebar": {
|
||
"expand": "展開側欄",
|
||
"collapse": "收合側欄"
|
||
},
|
||
"settings": {
|
||
"title": "系統設定",
|
||
"appearance": "外觀",
|
||
"appearanceDesc": "主題、字體、密度",
|
||
"appearanceSettings": "外觀設定",
|
||
"language": "語言",
|
||
"languageDesc": "介面語言設定",
|
||
"languageSettings": "語言設定",
|
||
"notify": "通知",
|
||
"notifyDesc": "Telegram / 瀏覽器通知偏好",
|
||
"notifySettings": "通知設定",
|
||
"system": "系統資訊",
|
||
"systemDesc": "版本與 API 端點",
|
||
"systemSettings": "系統資訊",
|
||
"compactMode": "緊湊模式",
|
||
"compactModeDesc": "減少各元件間距,顯示更多資訊",
|
||
"designSystem": "設計系統",
|
||
"designSystemValue": "Nothing.tech 純白工業風(固定)",
|
||
"themeColor": "主題色",
|
||
"themeColorValue": "OpenClaw Blue + 橘紅 Accent(固定)",
|
||
"browserNotify": "瀏覽器推播通知",
|
||
"browserNotifyDesc": "新 Incident 時顯示系統通知",
|
||
"p0Only": "僅 P0 CRITICAL 通知",
|
||
"p0OnlyDesc": "過濾低嚴重度告警,減少噪音",
|
||
"telegramNotify": "Telegram 通知",
|
||
"telegramNotifyDesc": "由 OpenClaw Bot 推送(需後端設定)",
|
||
"backendConfig": "後端設定",
|
||
"frontendVersion": "前端版本",
|
||
"apiEndpoint": "API 端點",
|
||
"notConfigured": "(未設定)",
|
||
"phase": "Phase",
|
||
"save": "儲存設定",
|
||
"saved": "已儲存",
|
||
"zhTW": "繁",
|
||
"zhTWSub": "Traditional Chinese",
|
||
"en": "EN",
|
||
"enSub": "English (US)"
|
||
},
|
||
"autoRepair": {
|
||
"subtitle": "高品質 Playbook 自動執行 · 風險 ≤ MEDIUM · 成功率 ≥ 95%",
|
||
"approvedPlaybooks": "已批准 Playbooks",
|
||
"highQualityPlaybooks": "高品質 Playbooks",
|
||
"highQualitySub": "成功率 ≥ 95% · 執行 ≥ 10 次",
|
||
"totalExecutions": "總執行次數",
|
||
"overallSuccessRate": "整體成功率",
|
||
"eligible": "✓ 可啟用自動修復",
|
||
"notEligible": "尚無高品質 Playbook",
|
||
"ready": "自動修復已就緒",
|
||
"notReady": "自動修復未就緒",
|
||
"readyDesc": "{count} 個高品質 Playbook 可用",
|
||
"notReadyDesc": "需要至少 1 個高品質 Playbook(成功率 ≥ 95%、執行 ≥ 10 次)",
|
||
"incidentEval": "活躍 Incident 評估(P1/P2)",
|
||
"canAutoRepair": "可自動修復",
|
||
"notEligibleShort": "不符合條件",
|
||
"riskLevel": "風險等級",
|
||
"successRate": "成功率",
|
||
"execCount": "執行次數",
|
||
"decisionReason": "決策原因",
|
||
"execSuccess": "執行成功 ({ms}ms)",
|
||
"execFailed": "執行失敗: {error}",
|
||
"executing": "執行中...",
|
||
"execute": "執行修復",
|
||
"noEligible": "目前無符合自動修復條件的 Incident",
|
||
"dispositionAuto": "自動修復",
|
||
"dispositionHuman": "人工審核",
|
||
"dispositionManual": "手動處理",
|
||
"dispositionCold": "冷啟動信任"
|
||
},
|
||
"openclawPanel": {
|
||
"patrolling": "[AGENT] patrolling...",
|
||
"intercepting": "[SYS] Intercepting anomaly...",
|
||
"analyzing": "[SYS] Analyzing blast radius...",
|
||
"generating": "[SYS] Generating proposed action...",
|
||
"complete": "[SYS] Analysis complete"
|
||
},
|
||
"knowledgeBase": {
|
||
"title": "知識殿堂",
|
||
"searchPlaceholder": "搜尋知識條目...",
|
||
"allCategories": "全部",
|
||
"noResults": "找不到相關知識條目",
|
||
"createEntry": "新增條目",
|
||
"viewCount": "瀏覽",
|
||
"relatedPlaybook": "相關 Playbook",
|
||
"relatedIncident": "相關事件",
|
||
"approve": "審核通過",
|
||
"approving": "審核中...",
|
||
"archive": "封存",
|
||
"archiving": "封存中...",
|
||
"status": {
|
||
"draft": "草稿",
|
||
"review": "審核中",
|
||
"approved": "已批准",
|
||
"archived": "已封存",
|
||
"published": "已發布"
|
||
},
|
||
"type": {
|
||
"incident_case": "案例分析",
|
||
"runbook": "操作手冊",
|
||
"best_practice": "最佳實踐",
|
||
"postmortem": "事後分析",
|
||
"auto_runbook": "AI 自動 Runbook",
|
||
"anti_pattern": "失敗案例"
|
||
},
|
||
"source": {
|
||
"ai_extracted": "AI 萃取",
|
||
"human": "人工建立"
|
||
},
|
||
"category": {
|
||
"infrastructure": "基礎設施",
|
||
"application": "應用層",
|
||
"ai_system": "AI 系統",
|
||
"security": "安全 / 合規"
|
||
},
|
||
"filterByType": "篩選類型",
|
||
"filterByStatus": "篩選狀態",
|
||
"entries": "筆",
|
||
"empty": "尚未建立任何知識條目",
|
||
"emptyDescription": "知識庫將自動從 Incident 中萃取案例,你也可以手動新增",
|
||
"semanticSearchPlaceholder": "輸入語意搜尋查詢...",
|
||
"semanticOn": "語意",
|
||
"semanticOff": "語意",
|
||
"switchToSemantic": "切換至語意搜尋 (pgvector)",
|
||
"switchToKeyword": "切換至關鍵字搜尋",
|
||
"semanticSearchHint": "輸入查詢內容,使用 AI 向量搜尋相關知識"
|
||
},
|
||
"monitoring": {
|
||
"healthy": "正常",
|
||
"warning": "警告",
|
||
"critical": "異常",
|
||
"goldMetrics": "黃金指標 (GOLD METRICS)",
|
||
"hostStatus": "主機狀態 (FOUR-HOST ARCHITECTURE)",
|
||
"serviceList": "服務清單",
|
||
"serviceName": "服務名稱",
|
||
"status": "狀態",
|
||
"latency": "延遲",
|
||
"uptime": "可用率",
|
||
"lastCheck": "最後檢查"
|
||
},
|
||
"services": {
|
||
"title": "服務目錄",
|
||
"subtitle": "所有主機上的服務清單",
|
||
"name": "服務名稱",
|
||
"host": "主機",
|
||
"status": "狀態",
|
||
"cpu": "CPU%",
|
||
"ram": "RAM%",
|
||
"noServices": "目前無服務資料",
|
||
"fetchError": "無法取得服務清單"
|
||
},
|
||
"topology": {
|
||
"title": "拓撲圖",
|
||
"subtitle": "服務依賴與健康狀態",
|
||
"noHosts": "目前無主機資料",
|
||
"fetchError": "無法取得主機資料",
|
||
"services": "服務",
|
||
"cpu": "CPU",
|
||
"ram": "RAM",
|
||
"groupInfra": "基礎設施",
|
||
"groupSecurity": "安全中心",
|
||
"groupK3s": "K3s 叢集",
|
||
"groupAiData": "AI/數據中心",
|
||
"allHealthy": "全部健康",
|
||
"allReachable": "全部可達",
|
||
"warning": "異常",
|
||
"healthy": "健康",
|
||
"investigating": "調查中",
|
||
"groupExternal": "外部服務",
|
||
"hostDevops": "DevOps 金庫",
|
||
"hostAiData": "AI+Web 中心",
|
||
"hostK3sMaster": "K3s Master",
|
||
"hostK3sWorker": "K3s Worker"
|
||
},
|
||
"notifications": {
|
||
"title": "通知",
|
||
"subtitle": "通知頻道設定",
|
||
"channel": "頻道",
|
||
"type": "類型",
|
||
"status": "狀態",
|
||
"noChannels": "目前無通知頻道",
|
||
"fetchError": "無法取得通知頻道"
|
||
},
|
||
"reports": {
|
||
"title": "報表",
|
||
"subtitle": "事件統計摘要",
|
||
"incidentSummary": "事件摘要",
|
||
"resolutionStats": "解決率統計",
|
||
"total": "總計",
|
||
"resolved": "已解決",
|
||
"unresolved": "未解決",
|
||
"avgResolutionTime": "平均解決時間",
|
||
"resolutionRate": "解決率",
|
||
"fetchError": "無法取得報表資料",
|
||
"noData": "目前無統計資料",
|
||
"totalDispositions": "處置總次數",
|
||
"autoRate": "自動化率",
|
||
"humanRate": "人工介入率",
|
||
"autoRepair": "自動修復",
|
||
"humanApproved": "人工審核",
|
||
"manualResolved": "手動處理",
|
||
"coldStartTrust": "冷啟動信任",
|
||
"dispositionBreakdown": "處置方式分佈",
|
||
"byAnomalyType": "按異常類型明細",
|
||
"anomalyKey": "異常類型"
|
||
},
|
||
"apm": {
|
||
"title": "APM",
|
||
"subtitle": "應用性能監控 — 黃金指標",
|
||
"loading": "載入中...",
|
||
"metric": "指標",
|
||
"value": "數值",
|
||
"status": "狀態",
|
||
"openSignoz": "開啟 SigNoz",
|
||
"noData": "暫無 APM 數據",
|
||
"noDataDescription": "APM 整合尚未啟用,待 SignOz 連線後自動顯示"
|
||
},
|
||
"apps": {
|
||
"title": "應用",
|
||
"subtitle": "所有主機服務狀態",
|
||
"loading": "載入中...",
|
||
"host": "主機",
|
||
"service": "服務",
|
||
"port": "Port",
|
||
"latency": "延遲",
|
||
"status": "狀態",
|
||
"error": "載入失敗",
|
||
"noApps": "無服務資料"
|
||
},
|
||
"billing": {
|
||
"title": "使用量",
|
||
"subtitle": "系統操作使用量統計",
|
||
"loading": "載入中...",
|
||
"totalExecutions": "總執行數",
|
||
"last24h": "近 24 小時",
|
||
"successRate": "成功率",
|
||
"avgDuration": "平均耗時",
|
||
"currentMonth": "本月執行數",
|
||
"totalUsage": "總用量",
|
||
"error": "載入失敗",
|
||
"noData": "無使用量資料"
|
||
},
|
||
"compliance": {
|
||
"title": "合規",
|
||
"subtitle": "系統治理合規狀態",
|
||
"loading": "載入中...",
|
||
"totalIncidents": "事件總數",
|
||
"resolvedRate": "解決率",
|
||
"approvedPlaybooks": "Playbook 數",
|
||
"highQualityPlaybooks": "高品質 Playbook",
|
||
"executionSuccessRate": "執行成功率",
|
||
"autoRepairEligible": "可自動修復",
|
||
"yes": "是",
|
||
"no": "否",
|
||
"error": "載入失敗",
|
||
"noData": "無合規資料"
|
||
},
|
||
"cost": {
|
||
"title": "成本分析",
|
||
"subtitle": "AI 執行效能統計",
|
||
"loading": "載入中...",
|
||
"totalProposals": "提案總數",
|
||
"executionRate": "執行率",
|
||
"successRate": "成功率",
|
||
"avgEffectiveness": "平均有效性",
|
||
"error": "載入失敗",
|
||
"noData": "無成本資料"
|
||
},
|
||
"deployments": {
|
||
"title": "部署管理",
|
||
"subtitle": "K3s 服務部署狀態",
|
||
"loading": "載入中...",
|
||
"service": "服務",
|
||
"port": "Port",
|
||
"latency": "延遲",
|
||
"status": "狀態",
|
||
"host": "主機",
|
||
"error": "載入失敗",
|
||
"noDeployments": "無部署資料",
|
||
"name": "服務名稱",
|
||
"version": "版本",
|
||
"time": "時間"
|
||
},
|
||
"help": {
|
||
"title": "說明",
|
||
"subtitle": "系統資訊與說明",
|
||
"version": "版本資訊",
|
||
"appVersion": "應用程式版本",
|
||
"platform": "平台",
|
||
"docs": "文件",
|
||
"docsDescription": "查閱完整說明文件請造訪 AWOOOI Docs"
|
||
},
|
||
"security": {
|
||
"title": "安全",
|
||
"subtitle": "錯誤與安全事件監控",
|
||
"loading": "載入中...",
|
||
"totalIssues": "問題總數",
|
||
"criticalIssues": "嚴重問題",
|
||
"errorRate": "錯誤率",
|
||
"recentIssues": "最近問題",
|
||
"issue": "問題",
|
||
"count": "次數",
|
||
"error": "載入失敗",
|
||
"noData": "無安全事件"
|
||
},
|
||
"iwooos": {
|
||
"eyebrow": "Information Security Mesh",
|
||
"title": "IwoooS",
|
||
"subtitle": "資安網的態勢入口。把 Kali、source-control、owner response、approval gate、AwoooP mirror-only evidence 收成一個可讀的資安態勢,不啟動掃描、不修復、不阻擋產品流程。",
|
||
"boundary": {
|
||
"label": "目前邊界",
|
||
"state": "Mirror-only / Observe-first",
|
||
"detail": "所有數字來自已驗證 snapshot 與 guard。此頁只顯示態勢、缺口、下一個 gate 與非阻擋分流。"
|
||
},
|
||
"metrics": {
|
||
"overall": {
|
||
"label": "整體資安網",
|
||
"detail": "headline progress,不是授權"
|
||
},
|
||
"framework": {
|
||
"label": "框架成熟度",
|
||
"detail": "文件、schema、read-only evidence"
|
||
},
|
||
"runtime": {
|
||
"label": "落地執行",
|
||
"detail": "runtime gate 尚未啟用"
|
||
},
|
||
"contracts": {
|
||
"label": "主要契約",
|
||
"detail": "33 ready / 2 partial / 1 contract-only"
|
||
},
|
||
"activeGates": {
|
||
"label": "Active runtime gates",
|
||
"detail": "人工批准前維持 0"
|
||
}
|
||
},
|
||
"pillars": {
|
||
"exposure": {
|
||
"title": "Exposure Posture",
|
||
"state": "Waiting evidence",
|
||
"body": "主流資安管理會把資產、暴露面、弱點與 owner gate 放在同一張圖。IwoooS 先顯示覆蓋缺口,不把缺口變成阻擋。"
|
||
},
|
||
"sourceControl": {
|
||
"title": "Source-control Supply Chain",
|
||
"state": "Draft gated",
|
||
"body": "Gitea 到 GitHub 的長期方向已確認,但 refs、workflow、secret name 與 rollback ADR 仍需 owner response。"
|
||
},
|
||
"kali": {
|
||
"title": "Kali 112 Mesh",
|
||
"state": "Observe-only",
|
||
"body": "Kali 112 已在資安網範圍中,111 / 168 也納入 observe-only。active scan 與 /execute 仍維持封鎖候選。"
|
||
},
|
||
"governance": {
|
||
"title": "Approval Boundary",
|
||
"state": "Locked",
|
||
"body": "7 個 pending approval、1 個 block candidate、0 active runtime gates。任何執行都必須先留下人工決策與後續 runtime gate。"
|
||
}
|
||
},
|
||
"lanes": {
|
||
"title": "非阻擋分流",
|
||
"subtitle": "初期只 observe / warn,避免資安框架拖慢產品與部署節奏。",
|
||
"lowMedium": {
|
||
"title": "LOW / MEDIUM observation",
|
||
"body": "標風險、建 follow-up、補 evidence_ref,不阻擋 deploy。"
|
||
},
|
||
"ownerMissing": {
|
||
"title": "Owner response missing",
|
||
"body": "顯示缺口與下一個收件候選,不把未回覆當拒絕。"
|
||
},
|
||
"mirrorIncomplete": {
|
||
"title": "Mirror data incomplete",
|
||
"body": "顯示 partial / quarantine reason,等待新的 redacted snapshot。"
|
||
},
|
||
"sourceDrift": {
|
||
"title": "Source-control drift draft",
|
||
"body": "維持 draft reconcile plan,不 sync refs、不 force push。"
|
||
},
|
||
"kaliObserve": {
|
||
"title": "Kali observe finding",
|
||
"body": "只顯示 redacted finding summary,不啟動 active scan。"
|
||
},
|
||
"workflowGap": {
|
||
"title": "Workflow / secret name gap",
|
||
"body": "要求 redacted export,不收集 secret value、不啟用 runner。"
|
||
},
|
||
"progressHolding": {
|
||
"title": "Progress display holding",
|
||
"body": "58% 代表等待高層 gate,不代表卡住,也不是 runtime approval。"
|
||
}
|
||
},
|
||
"existingSurfaces": {
|
||
"title": "既有資安頁面整合",
|
||
"subtitle": "把前端原本已存在的安全、合規、告警、授權、治理、稽核與 Code Review 入口收成一張只讀索引,讓使用者知道資安能力已經散在哪裡。",
|
||
"sourceLabel": "原始來源",
|
||
"mode": "只讀連結 / 不新增執行按鈕",
|
||
"items": {
|
||
"securityCompliance": {
|
||
"title": "安全合規整合頁",
|
||
"body": "SecurityPanel 與 CompliancePanel 的既有整合頁,集中顯示錯誤、事件、修復與合規統計。",
|
||
"source": "SecurityPanel / CompliancePanel;errors、incident summary、auto-repair stats"
|
||
},
|
||
"legacySecurity": {
|
||
"title": "既有安全監控頁",
|
||
"body": "保留早期 standalone security route 的可見性,避免既有錯誤統計與 Sentry issue 入口被 IwoooS 吃掉。",
|
||
"source": "apps/web/src/app/[locale]/security/page.tsx;errors stats / issues"
|
||
},
|
||
"legacyCompliance": {
|
||
"title": "既有合規頁",
|
||
"body": "保留早期 standalone compliance route 的可見性,顯示 incident、playbook 與 auto-repair 成效資料。",
|
||
"source": "apps/web/src/app/[locale]/compliance/page.tsx;incident summary / auto-repair stats"
|
||
},
|
||
"alerts": {
|
||
"title": "告警管理",
|
||
"body": "現有 active incident 入口,依 P0 到 P3 顯示告警與處理狀態,作為資安態勢的即時訊號。",
|
||
"source": "useIncidents;incidents / pending approvals"
|
||
},
|
||
"errors": {
|
||
"title": "錯誤與 UX 稽核",
|
||
"body": "現有錯誤追蹤與 UX audit 入口,可回看 issue、趨勢、session replay 與使用者痛點。",
|
||
"source": "ErrorsPanel;error stats / trends / ux-audit"
|
||
},
|
||
"authorizations": {
|
||
"title": "授權中心",
|
||
"body": "HITL 與 multi-sig 的既有入口,是未來資安 runtime gate 前必須保留的人控邊界。",
|
||
"source": "LiveApprovalPanel;pending approvals / SSE"
|
||
},
|
||
"governance": {
|
||
"title": "AI 治理中樞",
|
||
"body": "現有治理事件、SLO、補救佇列與 dry-run history 入口,適合作為自動化前的治理證據面。",
|
||
"source": "governance tabs;AI SLO / governance events / queue"
|
||
},
|
||
"alertOperationLogs": {
|
||
"title": "告警操作日誌",
|
||
"body": "完整 alert operation log 入口,能看見 guardrail、preflight、approval escalation 與處理結果。",
|
||
"source": "alert-operation-logs;events / stats"
|
||
},
|
||
"awooopApprovals": {
|
||
"title": "AwoooP 審批佇列",
|
||
"body": "AwoooP approvals 既有頁面,顯示 read-only dry-run、write observed、blocked 等人控狀態。",
|
||
"source": "AwoooP approvals;platform approvals"
|
||
},
|
||
"codeReview": {
|
||
"title": "AI Code Review 控制面",
|
||
"body": "既有 Code Review 頁面顯示 Hermes、OpenClaw、Elephant Alpha、NemoTron 與 non-blocking review pipeline。",
|
||
"source": "code-review page;review pipeline / agent assignment"
|
||
}
|
||
}
|
||
},
|
||
"coverage": {
|
||
"title": "覆蓋與邊界矩陣",
|
||
"subtitle": "把 10 個既有資安頁面分成四個責任面,讓 IwoooS 能說清楚哪裡看訊號、哪裡做人工控制、哪裡看治理稽核、哪裡看工程審查。",
|
||
"groups": {
|
||
"signals": {
|
||
"title": "訊號與暴露面",
|
||
"body": "集中安全、合規、告警、錯誤與 UX 稽核訊號;只顯示風險,不把觀察結果直接升成阻擋。"
|
||
},
|
||
"humanControl": {
|
||
"title": "人工控制邊界",
|
||
"body": "保留 HITL、multi-sig 與 AwoooP approvals 的人控位置;沒有人工決策就不啟動 runtime gate。"
|
||
},
|
||
"governanceAudit": {
|
||
"title": "治理與稽核",
|
||
"body": "治理事件、SLO、補救佇列與操作日誌用來看流程證據,不把 audit event 當執行授權。"
|
||
},
|
||
"engineeringReview": {
|
||
"title": "工程審查",
|
||
"body": "Code Review 維持 non-blocking review pipeline,用於風險分級與後續修復建議,不直接等同 deploy approval。"
|
||
}
|
||
},
|
||
"conflicts": {
|
||
"title": "重疊與衝突控制",
|
||
"subtitle": "同一個資安訊號可能在多個頁面出現,IwoooS 只做入口整理,不改變原始頁面的責任與權限。",
|
||
"preserveOwnership": {
|
||
"title": "保留原頁 owner",
|
||
"body": "每個 route 繼續由原本頁面與 API contract 負責,IwoooS 不搬移資料寫入權。"
|
||
},
|
||
"noRuntimeLift": {
|
||
"title": "不把只讀索引升成 runtime",
|
||
"body": "coverage matrix 只能顯示覆蓋與缺口,不建立 scan、execute、repair 或 blocking gate。"
|
||
},
|
||
"codeReviewNotDeployGate": {
|
||
"title": "Code Review 不等於部署批准",
|
||
"body": "AI Code Review 可以提供風險分級與 coding follow-up,但不能直接變成 deploy approval。"
|
||
},
|
||
"awooopNotSecurityApproval": {
|
||
"title": "AwoooP approvals 不等於資安批准",
|
||
"body": "AwoooP 審批佇列可顯示人控狀態,但資安 gate 仍需對應決策紀錄與 follow-up runtime gate。"
|
||
},
|
||
"kaliNotCalled": {
|
||
"title": "前端索引不呼叫 Kali",
|
||
"body": "Kali 112 維持 observe-only;任何 active scan 或 /execute 都必須走人工批准與後續 gate。"
|
||
}
|
||
}
|
||
},
|
||
"journey": {
|
||
"title": "資安處理旅程",
|
||
"subtitle": "把目前資安網的可見流程固定成只讀狀態圖:先看態勢,再查既有頁面,最後才進入 owner evidence、人工決策與後續 gate。",
|
||
"outputLabel": "輸出",
|
||
"steps": {
|
||
"readPosture": {
|
||
"title": "讀取目前態勢",
|
||
"body": "先看 58% headline、framework / runtime landing、active gates 與下一個高層 gate。",
|
||
"output": "只讀 posture,不代表授權"
|
||
},
|
||
"openSurface": {
|
||
"title": "開啟既有頁面",
|
||
"body": "依照 security、alert、authorization、governance、audit、code review 的責任面進入原頁。",
|
||
"output": "保留原頁 owner 與資料邊界"
|
||
},
|
||
"triageLane": {
|
||
"title": "判讀非阻擋分流",
|
||
"body": "LOW / MEDIUM、缺 owner response、partial mirror 與 Kali observe finding 先維持 observe / warn。",
|
||
"output": "follow-up,不升 blocking"
|
||
},
|
||
"collectEvidence": {
|
||
"title": "收 owner evidence",
|
||
"body": "下一個建議收件仍是 S4.9 Gitea owner attestation response,且只接受脫敏 evidence。",
|
||
"output": "更新 received / accepted 狀態,不執行"
|
||
},
|
||
"humanDecision": {
|
||
"title": "等待人工決策",
|
||
"body": "資安 gate 需要 decision record;AwoooP approval、Code Review 或進度數字都不能自動替代。",
|
||
"output": "人控決策,不是 runtime"
|
||
},
|
||
"runtimeGate": {
|
||
"title": "後續 runtime gate",
|
||
"body": "只有人工批准後,才進入 follow-up runtime gate template;目前 active runtime gates 仍為 0。",
|
||
"output": "待批准後另開 gate"
|
||
}
|
||
}
|
||
},
|
||
"evidenceReadiness": {
|
||
"title": "Owner Evidence Readiness",
|
||
"subtitle": "這裡顯示 headline 進度下一步真正需要的 evidence。每一項都是等待收件或人工決策,不會從前端直接觸發任何執行。",
|
||
"unlockLabel": "解除條件",
|
||
"items": {
|
||
"giteaOwnerAttestation": {
|
||
"title": "Gitea owner attestation",
|
||
"body": "目前建議先收 S4.9,補齊 Gitea 清冊覆蓋與 owner 判定。",
|
||
"unlock": "收到並接受脫敏 owner response"
|
||
},
|
||
"githubTargetOwner": {
|
||
"title": "GitHub target owner",
|
||
"body": "確認 GitHub target、visibility、canonical owner 與 repo 是否可進 primary readiness。",
|
||
"unlock": "S4.10 owner response accepted"
|
||
},
|
||
"refsTruthOwner": {
|
||
"title": "Refs truth owner",
|
||
"body": "確認 main/dev truth、deprecated drift、release tags 與 GitHub-only refs 的真相來源。",
|
||
"unlock": "S4.11 refs truth response accepted"
|
||
},
|
||
"workflowSecretOwner": {
|
||
"title": "Workflow / secret name owner",
|
||
"body": "確認 workflow、webhook、runner、deploy key、branch protection、secret name parity。",
|
||
"unlock": "S4.12 workflow / secret response accepted"
|
||
},
|
||
"redactedFindingIngestion": {
|
||
"title": "Redacted finding ingestion",
|
||
"body": "Kali finding 與安全發現需要先以脫敏 payload 進入 mirror,不能直接進 runtime。",
|
||
"unlock": "人工批准後接收脫敏 finding"
|
||
},
|
||
"kaliScanScope": {
|
||
"title": "Kali scan scope",
|
||
"body": "Kali 112、111、168 目前仍是 observe-only;active scan 與 /execute 仍需獨立批准。",
|
||
"unlock": "scan scope approval + follow-up gate"
|
||
},
|
||
"followupRuntimeGate": {
|
||
"title": "Follow-up runtime gate",
|
||
"body": "所有實際執行都要等人工 decision record 後,另開 follow-up runtime gate。",
|
||
"unlock": "decision record accepted,active gate 仍為 0"
|
||
}
|
||
}
|
||
},
|
||
"hostCoverage": {
|
||
"title": "主機覆蓋視圖",
|
||
"subtitle": "把 Kali 與兩台開發主機放進 IwoooS 的可見資安範圍。這裡只顯示納管與 gate 狀態,不建立 SSH、掃描、更新或阻擋控制。",
|
||
"stateLabel": "目前狀態",
|
||
"items": {
|
||
"kali112": {
|
||
"title": "Kali 資安主機",
|
||
"body": "192.168.0.112 是資安網的 Kali 節點,已在 posture 與 evidence refs 中作為 observe-only 整合面。",
|
||
"state": "已納入視野;active scan、/execute、主機更新仍需獨立批准"
|
||
},
|
||
"dev168": {
|
||
"title": "開發主機 168",
|
||
"body": "192.168.0.168 納入 IwoooS 的 observe-only 開發主機覆蓋,用於後續 scope approval 與 finding 關聯。",
|
||
"state": "scope declared;尚未批准 credentialed scan 或 runtime control"
|
||
},
|
||
"dev111": {
|
||
"title": "開發主機 111",
|
||
"body": "192.168.0.111 納入 IwoooS 的 observe-only 開發主機覆蓋,與 168 一起維持低摩擦分階段收斂。",
|
||
"state": "scope declared;尚未批准 credentialed scan 或 runtime control"
|
||
}
|
||
}
|
||
},
|
||
"hostActionGates": {
|
||
"title": "主機動作 Gate 矩陣",
|
||
"subtitle": "把主機相關高風險動作拆成只讀 gate。這裡只說明哪些動作仍被鎖住,以及需要哪一類人工決策;不提供任何執行入口。",
|
||
"gateLabel": "需要 Gate",
|
||
"items": {
|
||
"activeScan": {
|
||
"title": "Active scan",
|
||
"body": "對 Kali 112、開發主機 168 / 111 的主動掃描仍未批准,不能由 IwoooS 直接觸發。",
|
||
"gate": "需要 S1.6 scan scope approval 與後續 runtime gate"
|
||
},
|
||
"credentialedScan": {
|
||
"title": "Credentialed scan",
|
||
"body": "任何帶憑證的掃描都必須先有 scope、credential handling 與脫敏 evidence 規範。",
|
||
"gate": "需要 S1.6 scope approval;目前 credentialed scan=false"
|
||
},
|
||
"kaliExecute": {
|
||
"title": "Kali /execute",
|
||
"body": "Kali 執行端點仍是 block candidate,不能因主機已納入視野就開放。",
|
||
"gate": "需要人工 decision record 與 S3.4 follow-up runtime gate"
|
||
},
|
||
"sshChange": {
|
||
"title": "SSH / host change",
|
||
"body": "登入主機、改設定、套用調校、重啟服務或變更 SSH 設定都不屬於目前前端權限。",
|
||
"gate": "需要明確人工批准、變更計畫與 rollback evidence"
|
||
},
|
||
"kaliUpdate": {
|
||
"title": "Kali host update",
|
||
"body": "Kali 更新與主機調校會影響掃描結果與工具鏈穩定性,必須和資安 gate 分開批准。",
|
||
"gate": "需要維護窗口、更新清單、驗證指標與 rollback 計畫"
|
||
},
|
||
"runtimeBlocking": {
|
||
"title": "Runtime blocking control",
|
||
"body": "把 finding 變成產品阻擋或 runtime enforcement 仍要等 owner evidence 與人工決策。",
|
||
"gate": "需要 accepted decision record;active runtime gates 仍為 0"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceReadiness": {
|
||
"title": "主機 Evidence Readiness",
|
||
"subtitle": "列出主機掃描、更新、SSH 變更或 runtime blocking 前必須補齊的 evidence。這些項目目前都只是待收件,不代表已批准。",
|
||
"evidenceLabel": "需要 Evidence",
|
||
"items": {
|
||
"scopeBoundary": {
|
||
"title": "Scope boundary",
|
||
"body": "確認 112、168、111 的允許目標、排除範圍、掃描深度與速率限制。",
|
||
"evidence": "需要脫敏 scan scope approval;received=0、accepted=0"
|
||
},
|
||
"ownerDecision": {
|
||
"title": "Owner decision record",
|
||
"body": "每個主機動作都需要人控決策,不能用 IwoooS 可見狀態或 AwoooP queue 取代。",
|
||
"evidence": "需要 accepted decision record;目前 active runtime gates=0"
|
||
},
|
||
"credentialHandling": {
|
||
"title": "Credential handling",
|
||
"body": "帶憑證掃描前要先定義憑證來源、保存邊界、遮蔽方式與拒收規則。",
|
||
"evidence": "禁止收集憑證明文;目前 credentialed scan=false"
|
||
},
|
||
"maintenanceWindow": {
|
||
"title": "Maintenance window",
|
||
"body": "Kali 更新、主機調校或 SSH 變更都需要維護窗口,避免影響開發與產品流程。",
|
||
"evidence": "需要窗口、影響範圍、通知與回復標準"
|
||
},
|
||
"rollbackPlan": {
|
||
"title": "Rollback plan",
|
||
"body": "任何主機變更都要能回復,包含套件、設定、服務與工具鏈版本。",
|
||
"evidence": "需要 rollback owner、步驟與驗證方式"
|
||
},
|
||
"validationMetrics": {
|
||
"title": "Validation metrics",
|
||
"body": "主機動作後要有驗證指標,確認掃描器、監控、服務與使用者流程沒有退化。",
|
||
"evidence": "需要 post-check 指標與失敗處理 lane"
|
||
},
|
||
"redactedIngestion": {
|
||
"title": "Redacted ingestion",
|
||
"body": "主機 finding 或掃描結果只能以脫敏摘要進入 mirror,不能直接把 raw payload 當 runtime input。",
|
||
"evidence": "需要 redacted payload acceptance;payloads_ingested=false"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceCollection": {
|
||
"title": "主機 Evidence 收件順序",
|
||
"subtitle": "把七個主機 evidence 排成建議收件順序。每一步都只代表下一個可審項目,不會把 received / accepted 從 0 改掉。",
|
||
"stepLabel": "收件步驟",
|
||
"dependencyLabel": "前置依賴",
|
||
"items": {
|
||
"scopeFirst": {
|
||
"title": "先定義 scope boundary",
|
||
"body": "先確認允許目標、排除範圍、深度與速率。沒有 scope,不進 scan。",
|
||
"dependency": "無;這是主機收件第一步"
|
||
},
|
||
"ownerSecond": {
|
||
"title": "再收 owner decision",
|
||
"body": "確認誰批准、批准範圍與決策紀錄,不用 queue 狀態替代人控決策。",
|
||
"dependency": "需要 scope boundary 可讀"
|
||
},
|
||
"credentialThird": {
|
||
"title": "隔離 credential handling",
|
||
"body": "若未來要帶憑證掃描,先定義憑證來源、保存邊界、遮蔽與拒收。",
|
||
"dependency": "需要 owner decision;仍禁止收集憑證明文"
|
||
},
|
||
"maintenanceFourth": {
|
||
"title": "安排 maintenance window",
|
||
"body": "更新、調校或 SSH 變更前先確認窗口、影響範圍與通知。",
|
||
"dependency": "需要 owner decision 與變更範圍"
|
||
},
|
||
"rollbackFifth": {
|
||
"title": "補 rollback plan",
|
||
"body": "每個主機動作都要能回復套件、設定、服務與工具鏈版本。",
|
||
"dependency": "需要 maintenance window 與變更清單"
|
||
},
|
||
"validationSixth": {
|
||
"title": "定義 validation metrics",
|
||
"body": "先定義 post-check 指標與失敗處理 lane,再談執行。",
|
||
"dependency": "需要 rollback plan"
|
||
},
|
||
"redactedSeventh": {
|
||
"title": "最後才收 redacted ingestion",
|
||
"body": "finding / scan result 只用脫敏摘要進 mirror,不吃 raw payload。",
|
||
"dependency": "需要 validation metrics;payloads_ingested=false"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceIntake": {
|
||
"title": "主機 Evidence Intake Preflight",
|
||
"subtitle": "未來收到主機 evidence 前,先用這組只讀預檢規則判斷能否進人工 review。預檢不會收 raw payload、憑證明文,也不會改 received / accepted。",
|
||
"checkLabel": "預檢",
|
||
"rejectLabel": "拒收 / 隔離條件",
|
||
"items": {
|
||
"metadataPointer": {
|
||
"title": "Metadata pointer only",
|
||
"body": "主機 evidence 只接受脫敏 metadata pointer、來源步驟與摘要,不直接吃完整掃描輸出。",
|
||
"reject": "缺 redacted metadata pointer 就拒收"
|
||
},
|
||
"dependencyOrder": {
|
||
"title": "Collection order match",
|
||
"body": "提交的 evidence 必須符合 S2.17 收件順序,不能跳過 scope 或 owner decision。",
|
||
"reject": "跳過前置依賴就隔離"
|
||
},
|
||
"scopeBeforeScan": {
|
||
"title": "Scope before scan",
|
||
"body": "任何 scan 相關 evidence 都要先能對到 scope boundary;沒有 scope 不進人工審。",
|
||
"reject": "scan evidence 沒有 scope 就拒收"
|
||
},
|
||
"ownerBeforeChange": {
|
||
"title": "Owner before host change",
|
||
"body": "SSH、更新、調校或 blocking control 的 evidence 需要 owner decision pointer。",
|
||
"reject": "主機變更缺 decision record 就拒收"
|
||
},
|
||
"credentialPlaintext": {
|
||
"title": "Credential plaintext blocked",
|
||
"body": "任何帳密、token、private key、session 或憑證明文都不能進 IwoooS mirror。",
|
||
"reject": "偵測到憑證明文就拒收並隔離"
|
||
},
|
||
"rawPayload": {
|
||
"title": "Raw payload blocked",
|
||
"body": "完整掃描 raw output、未脫敏 finding、主機 dump 或 log bundle 不進 projection。",
|
||
"reject": "raw payload 一律拒收"
|
||
},
|
||
"counterFreeze": {
|
||
"title": "Frontend counters frozen",
|
||
"body": "前端只能顯示預檢狀態,不能把 received / accepted 從 0 推進。",
|
||
"reject": "前端嘗試推 counter 就阻擋"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceReviewOutcomes": {
|
||
"title": "主機 Evidence Review Outcome Lanes",
|
||
"subtitle": "預檢後的 evidence 只能進這些只讀分流。這裡顯示人工審查可能結果,不會建立 approval record、runtime gate 或主機動作。",
|
||
"laneLabel": "結果分流",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForHumanReview": {
|
||
"title": "Ready for human review",
|
||
"body": "metadata pointer、依賴順序、scope 與 owner pointer 都可讀時,才可標示為人工審查候選。",
|
||
"next": "只顯示候選;received=0、accepted=0"
|
||
},
|
||
"needsScopeEvidence": {
|
||
"title": "Needs scope evidence",
|
||
"body": "scan 或 finding evidence 無法對到 scope boundary 時,回到補 scope lane。",
|
||
"next": "補 scope,不進 scan"
|
||
},
|
||
"needsOwnerDecision": {
|
||
"title": "Needs owner decision",
|
||
"body": "主機變更、更新、SSH 或 blocking 類 evidence 缺 decision pointer 時,回到 owner decision lane。",
|
||
"next": "補 decision record,不啟動主機動作"
|
||
},
|
||
"quarantineDependencySkip": {
|
||
"title": "Quarantine dependency skip",
|
||
"body": "跳過 S2.17 收件順序或前置依賴不完整時,先隔離再人工判讀。",
|
||
"next": "隔離原因可見,不推 counter"
|
||
},
|
||
"rejectRawPayload": {
|
||
"title": "Reject raw payload",
|
||
"body": "完整掃描輸出、未脫敏 finding、host dump 或 log bundle 不進 IwoooS。",
|
||
"next": "要求改交脫敏摘要"
|
||
},
|
||
"rejectCredentialPlaintext": {
|
||
"title": "Reject credential plaintext",
|
||
"body": "任何帳密、token、private key、session 或憑證明文都直接拒收並隔離。",
|
||
"next": "不保存、不轉送、不顯示明文"
|
||
},
|
||
"waitingRuntimeGate": {
|
||
"title": "Waiting runtime gate",
|
||
"body": "即使人工審查後可採取行動,也只能等待後續 runtime gate,不由 outcome lane 執行。",
|
||
"next": "active runtime gates 仍為 0"
|
||
}
|
||
}
|
||
},
|
||
"nextGate": {
|
||
"title": "下一個高層 Gate",
|
||
"body": "S4.9 Gitea owner attestation response 是目前建議先收的 owner evidence。任何 headline 提升都要等 owner response、redacted payload ingestion、active runtime gate 或 GitHub primary readiness 有真實變化。"
|
||
},
|
||
"evidence": {
|
||
"title": "目前 Evidence"
|
||
},
|
||
"blocked": {
|
||
"title": "禁止動作",
|
||
"body": "此頁不提供 scan、execute、repo、refs、workflow、secret、runner、primary switch 或 deploy action button。"
|
||
},
|
||
"hostEvidenceReviewHandoff": {
|
||
"title": "主機 Evidence 人工審查交接包",
|
||
"subtitle": "人工 reviewer 只能依這些脫敏交接包判讀 evidence。這裡顯示送審必備資料,不會標示 received / accepted、建立 approval record 或啟動 runtime gate。",
|
||
"packetLabel": "交接包",
|
||
"requiredLabel": "必備內容",
|
||
"items": {
|
||
"scopeSummaryPacket": {
|
||
"title": "Scope 摘要包",
|
||
"body": "描述主機、服務、網段、掃描邊界與排除範圍,只允許指標與摘要,不保存原始掃描輸出。",
|
||
"required": "redacted scope pointer;不含 raw payload"
|
||
},
|
||
"ownerDecisionPacket": {
|
||
"title": "Owner Decision 包",
|
||
"body": "提供誰批准審查、批准範圍、限制條件與到期時間,避免 reviewer 自行擴權。",
|
||
"required": "owner decision record pointer;不等於主機動作批准"
|
||
},
|
||
"credentialHandlingPacket": {
|
||
"title": "Credential Handling 包",
|
||
"body": "只顯示憑證處理方式與保管責任,不顯示帳密、token、private key 或 session value。",
|
||
"required": "metadata-only handling statement;secret value=blocked"
|
||
},
|
||
"maintenanceRollbackPacket": {
|
||
"title": "Maintenance / Rollback 包",
|
||
"body": "若後續需要變更,先提供維護窗口、影響範圍、rollback owner 與復原驗證方法。",
|
||
"required": "maintenance window + rollback pointer;不啟動變更"
|
||
},
|
||
"validationMetricsPacket": {
|
||
"title": "Validation Metrics 包",
|
||
"body": "定義 reviewer 檢查後要看哪些 metrics、logs、baseline 或 follow-up evidence。",
|
||
"required": "post-check metrics pointer;不代表 runtime gate opened"
|
||
},
|
||
"redactionAttestationPacket": {
|
||
"title": "Redaction Attestation 包",
|
||
"body": "確認 evidence 已移除 raw log、host dump、credential、private URL credential 與未脫敏截圖。",
|
||
"required": "redaction attestation only;不保存敏感 payload"
|
||
},
|
||
"runtimeGatePacket": {
|
||
"title": "Runtime Gate Pointer 包",
|
||
"body": "把可能的後續行動導回獨立 runtime gate,避免 reviewer outcome lane 直接變成執行。",
|
||
"required": "follow-up gate pointer;active runtime gates=0"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceReviewerChecklist": {
|
||
"title": "主機 Evidence Reviewer Checklist",
|
||
"subtitle": "Reviewer 在看 handoff packets 後,只能依這些只讀檢查判斷是否可進下一個人工決策。檢查清單不會標示 passed、received / accepted、approval 或 runtime gate。",
|
||
"checkLabel": "審查檢查",
|
||
"verifyLabel": "確認項目",
|
||
"items": {
|
||
"scopeBoundaryMatch": {
|
||
"title": "Scope boundary match",
|
||
"body": "確認 handoff scope 與 host coverage、網段、服務、排除範圍一致,沒有自行擴大掃描邊界。",
|
||
"verify": "只核對 redacted pointer;不啟動 scan"
|
||
},
|
||
"ownerDecisionScopeExpiry": {
|
||
"title": "Owner decision scope / expiry",
|
||
"body": "確認 owner decision record 有批准人、範圍、限制條件與到期時間,且仍在有效期內。",
|
||
"verify": "只判讀 decision pointer;不建立 approval record"
|
||
},
|
||
"credentialHandlingMetadataOnly": {
|
||
"title": "Credential handling metadata only",
|
||
"body": "確認 reviewer 只看到處理方式與責任人,不接觸任何明文驗證素材。",
|
||
"verify": "secret value collection=false"
|
||
},
|
||
"redactionAttestationPass": {
|
||
"title": "Redaction attestation pass",
|
||
"body": "確認 raw log、host dump、未脫敏截圖、private URL credential 與敏感 payload 都已排除。",
|
||
"verify": "raw payload allowed=false"
|
||
},
|
||
"maintenanceRollbackComplete": {
|
||
"title": "Maintenance / rollback complete",
|
||
"body": "若 evidence 暗示後續變更,確認已存在維護窗口、rollback owner 與復原驗證指標。",
|
||
"verify": "只顯示未來變更條件;不執行 change"
|
||
},
|
||
"validationMetricsLinked": {
|
||
"title": "Validation metrics linked",
|
||
"body": "確認 post-check metrics、baseline、logs 或 follow-up evidence 已連到可讀的脫敏 pointer。",
|
||
"verify": "只顯示 validation pointer;不開 runtime gate"
|
||
},
|
||
"runtimeGateSeparated": {
|
||
"title": "Runtime gate separated",
|
||
"body": "確認 reviewer checklist 的任何結果都不能直接變成 runtime action,必須回到獨立 runtime gate。",
|
||
"verify": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostEvidenceReviewerOutcomes": {
|
||
"title": "主機 Evidence Reviewer Outcome Lanes",
|
||
"subtitle": "Reviewer checklist 後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會標示 passed、accepted、approval 或 runtime gate。",
|
||
"laneLabel": "Reviewer 結果",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForOwnerDecision": {
|
||
"title": "Ready for owner decision",
|
||
"body": "scope、owner、redaction、rollback、validation 與 runtime separation 都可讀時,只能標示為 owner decision 候選。",
|
||
"next": "顯示候選;received=0、accepted=0"
|
||
},
|
||
"scopeMismatch": {
|
||
"title": "Scope mismatch",
|
||
"body": "handoff scope 與主機覆蓋、網段、服務或排除範圍不一致時,回到補 scope lane。",
|
||
"next": "補 scope pointer;不啟動 scan"
|
||
},
|
||
"ownerExpired": {
|
||
"title": "Owner decision expired",
|
||
"body": "owner decision 缺 scope、限制條件或已過期時,回到 owner decision lane。",
|
||
"next": "補 decision record;不建立 approval"
|
||
},
|
||
"credentialMetadataFailed": {
|
||
"title": "Credential metadata failed",
|
||
"body": "credential handling 不是 metadata-only 或責任邊界不可讀時,先隔離 reviewer outcome。",
|
||
"next": "只要求 metadata-only 說明;不收敏感素材"
|
||
},
|
||
"redactionFailed": {
|
||
"title": "Redaction failed",
|
||
"body": "redaction attestation 無法證明 raw logs、host dump、未脫敏截圖或 sensitive payload 已排除時,拒收。",
|
||
"next": "要求重新脫敏;不保存 raw payload"
|
||
},
|
||
"rollbackMissing": {
|
||
"title": "Rollback missing",
|
||
"body": "maintenance window、rollback owner 或復原驗證指標缺漏時,不能進入後續決策。",
|
||
"next": "補 rollback pointer;不執行 change"
|
||
},
|
||
"runtimeGateRequired": {
|
||
"title": "Runtime gate required",
|
||
"body": "任何可能的後續主機行動都必須導回獨立 runtime gate,不能由 reviewer outcome 執行。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionCandidates": {
|
||
"title": "主機 Owner Decision Candidate Packets",
|
||
"subtitle": "Reviewer outcome 進到 owner decision 候選後,IwoooS 只顯示需要人工判讀的決策包。不建立 decision record、不標示 approved、不開 runtime gate。",
|
||
"packetLabel": "候選包",
|
||
"decisionLabel": "人工決策範圍",
|
||
"items": {
|
||
"scopeApprovalCandidate": {
|
||
"title": "Scope approval candidate",
|
||
"body": "確認主機、網段、服務、排除範圍與觀察目的都能被 owner 讀懂。",
|
||
"decision": "只顯示 scope 候選;owner decision received=0"
|
||
},
|
||
"scanModeCandidate": {
|
||
"title": "Scan mode candidate",
|
||
"body": "把 observe-only、未來 active scan 或 credentialed scan 的差異拆清楚,避免候選包被誤認為掃描授權。",
|
||
"decision": "只顯示模式選項;active scan=false"
|
||
},
|
||
"credentialHandlingCandidate": {
|
||
"title": "Credential handling candidate",
|
||
"body": "只描述 metadata-only handling、責任人與保存邊界,不要求或保存敏感素材。",
|
||
"decision": "只顯示處理原則;collection=false"
|
||
},
|
||
"maintenanceWindowCandidate": {
|
||
"title": "Maintenance window candidate",
|
||
"body": "若未來涉及主機更新或調校,先顯示候選維護窗口與限制條件。",
|
||
"decision": "只顯示時間範圍;host update=false"
|
||
},
|
||
"rollbackOwnerCandidate": {
|
||
"title": "Rollback owner candidate",
|
||
"body": "顯示未來 rollback owner、復原路徑與人工聯絡點,避免變更前缺少責任邊界。",
|
||
"decision": "只顯示 owner pointer;change=false"
|
||
},
|
||
"validationMetricsCandidate": {
|
||
"title": "Validation metrics candidate",
|
||
"body": "列出未來 post-check metrics、baseline 與回看 evidence pointer,作為後續 gate 的人工判讀素材。",
|
||
"decision": "只顯示驗證項目;runtime gate=false"
|
||
},
|
||
"runtimeGateCandidate": {
|
||
"title": "Runtime gate candidate",
|
||
"body": "任何後續主機動作仍需獨立 runtime gate,不能由 owner decision candidate 直接執行。",
|
||
"decision": "只顯示 gate 候選;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionReviewChecklist": {
|
||
"title": "主機 Owner Decision Review Checklist",
|
||
"subtitle": "Owner decision candidate packets 之後仍需人工逐項核對。這裡只顯示核對項,不建立決策紀錄、不標示 approved、不開 runtime gate。",
|
||
"checkLabel": "Owner 核對",
|
||
"guardLabel": "安全邊界",
|
||
"items": {
|
||
"scopeBoundaryReadable": {
|
||
"title": "Scope boundary readable",
|
||
"body": "確認 owner 能讀懂主機、網段、服務、排除範圍與觀察目的,且沒有超出原始 scope。",
|
||
"guard": "只核對 scope;owner decision received=0"
|
||
},
|
||
"scanModeNotAuthorization": {
|
||
"title": "Scan mode not authorization",
|
||
"body": "確認 observe-only、future active scan、credentialed scan 都只是選項說明,不是掃描授權。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"credentialBoundaryMetadataOnly": {
|
||
"title": "Credential boundary metadata only",
|
||
"body": "確認 credential handling 只保留 metadata、owner 與保存邊界,不要求敏感素材。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"maintenanceWindowNotChange": {
|
||
"title": "Maintenance window not change",
|
||
"body": "確認維護窗口只是未來候選條件,不代表可以進行 Kali 主機套件變更或主機調校。",
|
||
"guard": "host update=false"
|
||
},
|
||
"rollbackOwnerReadable": {
|
||
"title": "Rollback owner readable",
|
||
"body": "確認 rollback owner、復原路徑與人工聯絡點可讀,但尚未批准任何 change。",
|
||
"guard": "approval record=false"
|
||
},
|
||
"validationMetricsPredefined": {
|
||
"title": "Validation metrics predefined",
|
||
"body": "確認 post-check metrics、baseline 與 evidence pointer 已先定義,供未來 gate 判讀。",
|
||
"guard": "runtime gate opened=false"
|
||
},
|
||
"runtimeGateStillSeparate": {
|
||
"title": "Runtime gate still separate",
|
||
"body": "確認 owner decision checklist 不能直接執行任何後續主機動作,仍需獨立 runtime gate。",
|
||
"guard": "action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionReviewOutcomes": {
|
||
"title": "主機 Owner Decision Review Outcome Lanes",
|
||
"subtitle": "Owner review checklist 後只能進入這些只讀結果分流。這裡顯示下一步判讀,不會建立 decision record、不會標示 approved、不會開 runtime gate。",
|
||
"laneLabel": "Review 結果",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForDecisionRecord": {
|
||
"title": "Ready for decision record",
|
||
"body": "scope、scan mode、credential boundary、maintenance、rollback、validation 與 runtime separation 都可讀時,只能顯示 formal decision record 候選。",
|
||
"next": "顯示決策紀錄候選;received=0、accepted=0"
|
||
},
|
||
"scopeNeedsRefresh": {
|
||
"title": "Scope needs refresh",
|
||
"body": "scope boundary 不可讀、過期或超出主機覆蓋時,回到補 scope lane。",
|
||
"next": "補 scope pointer;不啟動 scan"
|
||
},
|
||
"scanModeNeedsScope": {
|
||
"title": "Scan mode needs scope",
|
||
"body": "scan mode 尚未對齊 scope 或被誤讀成授權時,必須回到 scope / mode 說明。",
|
||
"next": "補 scan mode 說明;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential handling 若無法保持 metadata-only 或責任邊界不可讀,先隔離 decision outcome。",
|
||
"next": "補 metadata-only 邊界;secret collection=false"
|
||
},
|
||
"maintenanceWindowMissing": {
|
||
"title": "Maintenance window missing",
|
||
"body": "未來可能涉及更新或調校時,若缺維護窗口與限制條件,不能進入決策紀錄。",
|
||
"next": "補 window pointer;host update=false"
|
||
},
|
||
"rollbackOwnerMissing": {
|
||
"title": "Rollback owner missing",
|
||
"body": "rollback owner 或復原路徑不可讀時,不能進入後續批准語義。",
|
||
"next": "補 rollback owner;approval record=false"
|
||
},
|
||
"runtimeGateRequired": {
|
||
"title": "Runtime gate required",
|
||
"body": "任何後續主機動作都必須導回獨立 runtime gate,不能由 owner review outcome 執行。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordDrafts": {
|
||
"title": "主機 Owner Decision Record Draft Packets",
|
||
"subtitle": "Owner review outcome 若進入 ready lane,IwoooS 也只能顯示 decision record 草稿欄位。不建立 record、不標示 accepted、不開 runtime gate。",
|
||
"packetLabel": "Draft packet",
|
||
"metadataLabel": "必要 metadata",
|
||
"items": {
|
||
"scopeStatementDraft": {
|
||
"title": "Scope statement draft",
|
||
"body": "草稿只整理主機、網段、服務、排除範圍與觀察目的,避免 owner decision 模糊。",
|
||
"metadata": "host / network / service / exclusion;record created=false"
|
||
},
|
||
"scanModeDraft": {
|
||
"title": "Scan mode draft",
|
||
"body": "草稿只描述 observe-only、future active scan 或 credentialed scan 的候選模式,不代表掃描批准。",
|
||
"metadata": "mode candidate;active scan=false"
|
||
},
|
||
"credentialBoundaryDraft": {
|
||
"title": "Credential boundary draft",
|
||
"body": "草稿只保留 credential handling 的 metadata、owner 與保存邊界,不收集敏感素材。",
|
||
"metadata": "metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceConstraintsDraft": {
|
||
"title": "Maintenance constraints draft",
|
||
"body": "草稿只記錄未來可能維護窗口、限制條件與不可影響範圍,不代表可以更新主機。",
|
||
"metadata": "window / constraint;host update=false"
|
||
},
|
||
"rollbackOwnerDraft": {
|
||
"title": "Rollback owner draft",
|
||
"body": "草稿只整理 rollback owner、復原路徑與人工聯絡點,讓後續 gate 不缺責任人。",
|
||
"metadata": "owner / recovery pointer;approval record=false"
|
||
},
|
||
"validationMetricsDraft": {
|
||
"title": "Validation metrics draft",
|
||
"body": "草稿只列出 post-check metrics、baseline 與 evidence pointer,供未來人工判讀。",
|
||
"metadata": "metrics / baseline;accepted=0"
|
||
},
|
||
"runtimeGateDraft": {
|
||
"title": "Runtime gate draft",
|
||
"body": "草稿只標示若未來批准,仍需另開 follow-up runtime gate,不能由草稿直接執行。",
|
||
"metadata": "runtime gate pointer;active gates=0"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordDraftReview": {
|
||
"title": "主機 Owner Decision Record Draft Review Checklist",
|
||
"subtitle": "Decision record 草稿包後仍需只讀核對。這裡只顯示草稿是否具備人工決策所需 metadata,不會建立正式 decision record。",
|
||
"checkLabel": "Draft review",
|
||
"guardLabel": "不可升級",
|
||
"items": {
|
||
"scopeStatementComplete": {
|
||
"title": "Scope statement complete",
|
||
"body": "確認 scope 草稿已包含主機、網段、服務、排除範圍與觀察目的,避免決策紀錄範圍不清。",
|
||
"guard": "只核對草稿;record created=false"
|
||
},
|
||
"scanModeStillNotApproval": {
|
||
"title": "Scan mode still not approval",
|
||
"body": "確認 scan mode 仍只是候選描述,不被解讀成 active scan 或 credentialed scan 授權。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"credentialBoundaryMetadataOnly": {
|
||
"title": "Credential boundary metadata only",
|
||
"body": "確認 credential boundary 仍維持 metadata-only,沒有要求或保存敏感素材。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"maintenanceConstraintsReadable": {
|
||
"title": "Maintenance constraints readable",
|
||
"body": "確認維護窗口、限制條件與不可影響範圍可讀,但不代表可以更新或調校主機。",
|
||
"guard": "host update=false"
|
||
},
|
||
"rollbackOwnerReadable": {
|
||
"title": "Rollback owner readable",
|
||
"body": "確認 rollback owner、復原路徑與人工聯絡點可讀,但尚未建立 approval record。",
|
||
"guard": "approval record=false"
|
||
},
|
||
"validationMetricsLinked": {
|
||
"title": "Validation metrics linked",
|
||
"body": "確認 post-check metrics、baseline 與 evidence pointer 已連到草稿,供後續人審使用。",
|
||
"guard": "accepted=0"
|
||
},
|
||
"runtimeGateStillClosed": {
|
||
"title": "Runtime gate still closed",
|
||
"body": "確認 decision record 草稿審查不會開 runtime gate,後續執行仍需獨立 gate。",
|
||
"guard": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordDraftReviewOutcomes": {
|
||
"title": "主機 Owner Decision Record Draft Review Outcome Lanes",
|
||
"subtitle": "Draft review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立 decision record、不會開 runtime gate。",
|
||
"laneLabel": "Review outcome",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForDecisionRecordWriteup": {
|
||
"title": "Ready for decision record write-up",
|
||
"body": "scope、scan mode、credential boundary、maintenance、rollback、validation 與 runtime separation 都可讀時,只能進入正式 decision record 撰寫候選。",
|
||
"next": "顯示 write-up candidate;record created=false"
|
||
},
|
||
"scopeDraftIncomplete": {
|
||
"title": "Scope draft incomplete",
|
||
"body": "scope 草稿缺主機、網段、服務、排除範圍或觀察目的時,回到 scope 草稿補件。",
|
||
"next": "補 scope statement;不建立 record"
|
||
},
|
||
"scanModeAmbiguous": {
|
||
"title": "Scan mode ambiguous",
|
||
"body": "scan mode 仍可能被誤讀成授權時,回到 scan mode 草稿與 scope 說明。",
|
||
"next": "補 scan mode wording;scan authorized=false"
|
||
},
|
||
"credentialBoundaryIncomplete": {
|
||
"title": "Credential boundary incomplete",
|
||
"body": "credential boundary 若不清楚 metadata-only、owner 或保存邊界,必須回到 credential 草稿補件。",
|
||
"next": "補 metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceConstraintsIncomplete": {
|
||
"title": "Maintenance constraints incomplete",
|
||
"body": "維護窗口、限制條件或不可影響範圍不可讀時,不能進入正式決策紀錄撰寫。",
|
||
"next": "補 constraints;host update=false"
|
||
},
|
||
"rollbackOwnerIncomplete": {
|
||
"title": "Rollback owner incomplete",
|
||
"body": "rollback owner、復原路徑或人工聯絡點不可讀時,不能建立後續批准語義。",
|
||
"next": "補 rollback owner;approval record=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "任何後續主機動作仍要等待獨立 runtime gate,不能由 draft review outcome 執行。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordWriteups": {
|
||
"title": "主機 Owner Decision Record Write-Up Packets",
|
||
"subtitle": "Draft review outcome 若進入 ready for write-up,IwoooS 也只能顯示正式 decision record 撰寫欄位。不建立 record、不標示 completed / accepted、不開 runtime gate。",
|
||
"packetLabel": "Write-up packet",
|
||
"fieldLabel": "必要欄位",
|
||
"items": {
|
||
"decisionSummaryWriteup": {
|
||
"title": "Decision summary write-up",
|
||
"body": "只整理 owner 要做的人工作業判斷、風險接受邊界與不執行聲明。",
|
||
"field": "decision summary;write-up completed=0"
|
||
},
|
||
"approvedScopeWriteup": {
|
||
"title": "Approved scope write-up",
|
||
"body": "只整理主機、網段、服務、排除範圍、觀察目的與到期時間。",
|
||
"field": "scope / expiry;record created=false"
|
||
},
|
||
"scanModeLimitsWriteup": {
|
||
"title": "Scan mode limits write-up",
|
||
"body": "只整理 observe-only、future active scan 或 credentialed scan 的限制條件,不代表掃描批准。",
|
||
"field": "mode limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryWriteup": {
|
||
"title": "Credential boundary write-up",
|
||
"body": "只整理 credential handling metadata、owner、保存邊界與不可收集內容。",
|
||
"field": "metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackWriteup": {
|
||
"title": "Maintenance and rollback write-up",
|
||
"body": "只整理維護窗口候選、限制條件、rollback owner、復原路徑與人工聯絡點。",
|
||
"field": "window / rollback;host update=false"
|
||
},
|
||
"validationEvidenceWriteup": {
|
||
"title": "Validation evidence write-up",
|
||
"body": "只整理 post-check metrics、baseline、evidence pointer 與人工驗收條件。",
|
||
"field": "metrics / evidence;accepted=0"
|
||
},
|
||
"runtimeGatePointerWriteup": {
|
||
"title": "Runtime gate pointer write-up",
|
||
"body": "只標示若未來批准,仍要另開 follow-up runtime gate,不能由 write-up 執行。",
|
||
"field": "runtime gate pointer;active gates=0"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordWriteupReview": {
|
||
"title": "主機 Owner Decision Record Write-Up Review Checklist",
|
||
"subtitle": "Write-up packets 後仍需要只讀核對。這裡只顯示正式 decision record 撰寫欄位是否可讀,不會標記 write-up completed、不會建立或接受 decision record、不會開 runtime gate。",
|
||
"checkLabel": "Write-up review",
|
||
"guardLabel": "不可升級",
|
||
"items": {
|
||
"decisionSummaryReadable": {
|
||
"title": "Decision summary readable",
|
||
"body": "確認 write-up 只整理 owner 人工判斷、風險接受邊界與不執行聲明,不新增批准語義。",
|
||
"guard": "write-up review only;completed=0"
|
||
},
|
||
"scopeExpiryComplete": {
|
||
"title": "Scope and expiry complete",
|
||
"body": "確認 scope、排除範圍、觀察目的與到期時間可讀,避免正式紀錄範圍不清。",
|
||
"guard": "record created=false"
|
||
},
|
||
"scanModeLimitsExplicit": {
|
||
"title": "Scan mode limits explicit",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan 的限制條件明確,且不代表掃描授權。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"credentialBoundaryMetadataOnly": {
|
||
"title": "Credential boundary metadata only",
|
||
"body": "確認 credential handling 仍只保留 metadata、owner 與保存邊界,不要求或保存敏感素材。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"maintenanceRollbackLinked": {
|
||
"title": "Maintenance and rollback linked",
|
||
"body": "確認維護窗口候選、限制條件、rollback owner、復原路徑與人工聯絡點都可追。",
|
||
"guard": "host update=false"
|
||
},
|
||
"validationEvidenceLinked": {
|
||
"title": "Validation evidence linked",
|
||
"body": "確認 post-check metrics、baseline、evidence pointer 與人工驗收條件已連到 write-up。",
|
||
"guard": "accepted=0"
|
||
},
|
||
"runtimeGateStillSeparate": {
|
||
"title": "Runtime gate still separate",
|
||
"body": "確認 runtime gate pointer 仍指向獨立 follow-up gate,write-up review 不會開 gate。",
|
||
"guard": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordWriteupReviewOutcomes": {
|
||
"title": "主機 Owner Decision Record Write-Up Review Outcome Lanes",
|
||
"subtitle": "Write-up review checklist 後只能進入這些只讀結果分流。這裡顯示下一步,不會標記 review passed、不會建立或接受 decision record、不會開 runtime gate。",
|
||
"laneLabel": "Review outcome",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForFormalRecordCandidate": {
|
||
"title": "Ready for formal record candidate",
|
||
"body": "summary、scope、scan limits、credential boundary、maintenance、rollback、validation 與 runtime separation 都可讀時,只能顯示正式紀錄候選。",
|
||
"next": "顯示 formal record candidate;record created=false"
|
||
},
|
||
"decisionSummaryNeedsClarification": {
|
||
"title": "Decision summary needs clarification",
|
||
"body": "decision summary、風險接受邊界或不執行聲明不可讀時,回到 write-up 補件。",
|
||
"next": "補 decision summary;completed=0"
|
||
},
|
||
"scopeExpiryNeedsRefresh": {
|
||
"title": "Scope and expiry needs refresh",
|
||
"body": "scope、排除範圍、觀察目的或到期時間不完整時,不能進入正式紀錄候選。",
|
||
"next": "補 scope / expiry;record created=false"
|
||
},
|
||
"scanModeLimitsAmbiguous": {
|
||
"title": "Scan mode limits ambiguous",
|
||
"body": "scan mode limits 仍可能被誤讀成 active scan 或 credentialed scan 授權時,必須回到 write-up 修正。",
|
||
"next": "補 scan wording;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential boundary 若不清楚 metadata-only、owner、保存邊界或不可收集內容,必須回到 credential write-up。",
|
||
"next": "補 metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackIncomplete": {
|
||
"title": "Maintenance and rollback incomplete",
|
||
"body": "維護窗口、限制條件、rollback owner、復原路徑或人工聯絡點不可讀時,不能建立批准語義。",
|
||
"next": "補 maintenance / rollback;host update=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "validation evidence 或 runtime gate pointer 仍需要獨立 follow-up gate,不能由 review outcome 執行。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalCandidates": {
|
||
"title": "主機 Owner Decision Record Formal Candidate Packets",
|
||
"subtitle": "Formal record candidate 只把未來可能寫入正式紀錄的欄位整理出來。這裡不建立 decision record、不標記 finalized / accepted、不產生 approval record、不開 runtime gate。",
|
||
"packetLabel": "Candidate packet",
|
||
"fieldLabel": "候選欄位",
|
||
"items": {
|
||
"recordIdentityCandidate": {
|
||
"title": "Record identity candidate",
|
||
"body": "整理候選 record id、版本、owner、review scope 與追蹤來源,避免正式紀錄沒有可追溯身份。",
|
||
"field": "identity / version;record created=false"
|
||
},
|
||
"decisionSummaryCandidate": {
|
||
"title": "Decision summary candidate",
|
||
"body": "整理人工 owner decision summary、風險接受邊界與不執行聲明,但不把它寫成已接受決策。",
|
||
"field": "decision summary;finalized=0"
|
||
},
|
||
"approvedScopeCandidate": {
|
||
"title": "Approved scope candidate",
|
||
"body": "整理 host、network、service、exclusion、觀察目的與到期時間,保留 scope 可讀性。",
|
||
"field": "scope / expiry;accepted=0"
|
||
},
|
||
"scanModeLimitsCandidate": {
|
||
"title": "Scan mode limits candidate",
|
||
"body": "整理 observe-only、未來 active scan 與 credentialed scan 的限制,避免被誤讀成掃描授權。",
|
||
"field": "scan limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryCandidate": {
|
||
"title": "Credential boundary candidate",
|
||
"body": "整理 metadata-only credential owner、保存邊界、遮蔽要求與不可收集內容。",
|
||
"field": "metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackCandidate": {
|
||
"title": "Maintenance and rollback candidate",
|
||
"body": "整理維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點。",
|
||
"field": "window / rollback;host update=false"
|
||
},
|
||
"validationRuntimeGateCandidate": {
|
||
"title": "Validation and runtime gate candidate",
|
||
"body": "整理 validation evidence、post-check metrics、baseline pointer 與仍需獨立 follow-up runtime gate 的聲明。",
|
||
"field": "validation / runtime pointer;active gates=0"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalCandidateReview": {
|
||
"title": "主機 Owner Decision Record Formal Candidate Review Checklist",
|
||
"subtitle": "Formal candidate packets 進入後續人工紀錄前仍只能做只讀核對。這裡不標記 review passed、不建立 decision record、不標記 accepted、不建立 approval record、不開 runtime gate。",
|
||
"checkLabel": "Candidate review",
|
||
"guardLabel": "仍鎖住",
|
||
"items": {
|
||
"identityTraceable": {
|
||
"title": "Record identity traceable",
|
||
"body": "確認 candidate record id、版本、owner、review scope 與 trace source 可讀,且沒有建立正式紀錄。",
|
||
"guard": "record created=false"
|
||
},
|
||
"decisionSummaryReadable": {
|
||
"title": "Decision summary readable",
|
||
"body": "確認 decision summary、風險接受邊界與不執行聲明可讀,但仍不代表 decision accepted。",
|
||
"guard": "accepted=0"
|
||
},
|
||
"scopeExpiryConsistent": {
|
||
"title": "Scope and expiry consistent",
|
||
"body": "確認 host、network、service、exclusion、觀察目的與到期時間一致,仍只作為候選欄位。",
|
||
"guard": "finalized=0"
|
||
},
|
||
"scanLimitsStillNotAuthorization": {
|
||
"title": "Scan limits still not authorization",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan limits 沒有被誤讀成 active scan 或 credentialed scan 授權。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"credentialBoundaryStillMetadataOnly": {
|
||
"title": "Credential boundary still metadata-only",
|
||
"body": "確認 credential boundary 只保留 metadata、owner、retention、masking 與不可收集內容。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"maintenanceRollbackTraceable": {
|
||
"title": "Maintenance and rollback traceable",
|
||
"body": "確認維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點可追。",
|
||
"guard": "host update=false"
|
||
},
|
||
"runtimeGateStillClosed": {
|
||
"title": "Runtime gate still closed",
|
||
"body": "確認 validation evidence 與 runtime gate pointer 仍只指向獨立 follow-up gate,candidate review 不會開 gate。",
|
||
"guard": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalCandidateReviewOutcomes": {
|
||
"title": "主機 Owner Decision Record Formal Candidate Review Outcome Lanes",
|
||
"subtitle": "Formal candidate review outcome 只呈現候選核對後的下一步分流。這裡不標記 review passed、不標記 finalized、不建立 decision record、不標記 accepted、不建立 approval record、不開 runtime gate。",
|
||
"laneLabel": "Outcome lane",
|
||
"nextLabel": "下一步仍只讀",
|
||
"items": {
|
||
"readyForHumanRecordQueue": {
|
||
"title": "Ready for human record queue",
|
||
"body": "候選欄位可讀時,只能顯示可送人工正式紀錄佇列,不會建立 decision record。",
|
||
"next": "queue visible only;record created=false"
|
||
},
|
||
"identityNeedsTrace": {
|
||
"title": "Record identity needs trace",
|
||
"body": "candidate record id、版本、owner、review scope 或 trace source 不足時,回到身份追蹤補件。",
|
||
"next": "補 identity trace;review passed=0"
|
||
},
|
||
"decisionSummaryNeedsClarification": {
|
||
"title": "Decision summary needs clarification",
|
||
"body": "decision summary、風險接受邊界或不執行聲明不清楚時,維持候選狀態。",
|
||
"next": "補 decision summary;accepted=0"
|
||
},
|
||
"scopeExpiryNeedsRefresh": {
|
||
"title": "Scope and expiry need refresh",
|
||
"body": "host、network、service、exclusion、觀察目的或到期時間不一致時,不進入正式紀錄。",
|
||
"next": "補 scope / expiry;finalized=0"
|
||
},
|
||
"scanLimitsAmbiguous": {
|
||
"title": "Scan limits remain ambiguous",
|
||
"body": "active scan 或 credentialed scan limits 可能被誤讀時,仍鎖在不授權狀態。",
|
||
"next": "補 scan limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential metadata、retention、masking 或 forbidden collection 邊界不清楚時,直接隔離。",
|
||
"next": "補 metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackIncomplete": {
|
||
"title": "Maintenance and rollback incomplete",
|
||
"body": "維護窗口、限制條件、rollback owner、復原路徑或人工聯絡點不可追時,不能建立批准語義。",
|
||
"next": "補 maintenance / rollback;host update=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "validation evidence 或 runtime gate pointer 仍需要獨立 follow-up gate,不能由 outcome 開 gate。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalRecordQueue": {
|
||
"title": "主機 Owner Decision Record Formal Record Queue Packets",
|
||
"subtitle": "Formal record queue packets 只整理未來人工正式紀錄佇列需要看到的資料包。這裡不 enqueue、不建立 decision record、不標記 accepted、不建立 approval record、不開 runtime gate。",
|
||
"packetLabel": "Queue packet",
|
||
"fieldLabel": "佇列欄位",
|
||
"items": {
|
||
"queueIdentityPacket": {
|
||
"title": "Queue identity packet",
|
||
"body": "整理 candidate record id、版本、owner、review scope 與 trace source,讓人工佇列能追蹤身份。",
|
||
"field": "identity trace;queue enqueued=0"
|
||
},
|
||
"queueDecisionSummaryPacket": {
|
||
"title": "Queue decision summary packet",
|
||
"body": "整理 decision summary、風險接受邊界與不執行聲明,但不建立正式 decision record。",
|
||
"field": "decision summary;record created=false"
|
||
},
|
||
"queueScopeExpiryPacket": {
|
||
"title": "Queue scope and expiry packet",
|
||
"body": "整理 host、network、service、exclusion、觀察目的與到期時間,仍只作為人工佇列可讀資訊。",
|
||
"field": "scope / expiry;finalized=0"
|
||
},
|
||
"queueScanLimitsPacket": {
|
||
"title": "Queue scan limits packet",
|
||
"body": "整理 observe-only、future active scan 與 credentialed scan limits,避免被誤讀成掃描授權。",
|
||
"field": "scan limits;scan authorized=false"
|
||
},
|
||
"queueCredentialBoundaryPacket": {
|
||
"title": "Queue credential boundary packet",
|
||
"body": "整理 metadata-only credential owner、retention、masking 與 forbidden collection 邊界。",
|
||
"field": "metadata-only boundary;secret collection=false"
|
||
},
|
||
"queueMaintenanceRollbackPacket": {
|
||
"title": "Queue maintenance and rollback packet",
|
||
"body": "整理維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點。",
|
||
"field": "window / rollback;host update=false"
|
||
},
|
||
"queueValidationRuntimeGatePacket": {
|
||
"title": "Queue validation and runtime gate packet",
|
||
"body": "整理 validation evidence、post-check metrics、baseline pointer 與獨立 runtime gate 需求。",
|
||
"field": "validation / runtime pointer;active gates=0"
|
||
},
|
||
"queueNoExecutionAttestationPacket": {
|
||
"title": "Queue no-execution attestation packet",
|
||
"body": "整理仍不執行、不批准、不開 gate 的聲明,避免佇列資料包被當成授權。",
|
||
"field": "not authorization;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalRecordQueueReview": {
|
||
"title": "主機 Owner Decision Record Formal Record Queue Review Checklist",
|
||
"subtitle": "Formal record queue review checklist 只確認佇列資料包是否可供未來人工正式紀錄審查。不標記 review passed、不 enqueue、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"checkLabel": "Queue review",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"queueIdentityTraceable": {
|
||
"title": "Queue identity traceable",
|
||
"body": "確認 queue identity 能回溯 candidate record、版本、owner、review scope 與來源,不把可追蹤性當成正式入列。",
|
||
"guard": "trace only;queue enqueued=0"
|
||
},
|
||
"queueDecisionSummaryReadable": {
|
||
"title": "Queue decision summary readable",
|
||
"body": "確認 decision summary 與 no-execution statement 可讀,但不產生正式 decision record。",
|
||
"guard": "summary only;record created=false"
|
||
},
|
||
"queueScopeExpiryFresh": {
|
||
"title": "Queue scope and expiry fresh",
|
||
"body": "確認 host、network、service、exclusion、觀察目的與 expiry 沒有過期或超出原始 scope。",
|
||
"guard": "scope check only;finalized=0"
|
||
},
|
||
"queueScanLimitsNotAuthorization": {
|
||
"title": "Queue scan limits not authorization",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan limits 仍只是限制描述,不是掃描批准。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"queueCredentialBoundaryMetadataOnly": {
|
||
"title": "Queue credential boundary metadata-only",
|
||
"body": "確認 credential boundary 只保留 metadata、owner、retention 與 masking 邊界,不要求敏感素材。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"queueMaintenanceRollbackLinked": {
|
||
"title": "Queue maintenance and rollback linked",
|
||
"body": "確認維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點都有 pointer,但不代表可以做主機套件變更或調校。",
|
||
"guard": "host change=false"
|
||
},
|
||
"queueValidationGateSeparate": {
|
||
"title": "Queue validation gate separate",
|
||
"body": "確認 validation evidence、post-check metrics 與 baseline pointer 仍導向獨立 runtime gate。",
|
||
"guard": "active gates=0"
|
||
},
|
||
"queueNoExecutionAttestationPresent": {
|
||
"title": "Queue no-execution attestation present",
|
||
"body": "確認 no-execution / no-approval / no-runtime-gate 聲明仍在,避免 checklist 被當成 action entry。",
|
||
"guard": "action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordFormalRecordQueueReviewOutcomes": {
|
||
"title": "主機 Owner Decision Record Formal Record Queue Review Outcome Lanes",
|
||
"subtitle": "Formal record queue review outcome lanes 只顯示 checklist 後的下一步分流。不代表 review passed、不 enqueue、不建立 decision record、不接受 owner decision、不建立 approval record、不開 runtime gate。",
|
||
"laneLabel": "Queue review outcome",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForHumanRecordOwnerHandoff": {
|
||
"title": "Ready for human record owner handoff",
|
||
"body": "所有 queue review 條件都可讀時,只能顯示未來交給人工 record owner 的候選狀態。",
|
||
"next": "顯示 handoff 候選;review passed=0、queue enqueued=0"
|
||
},
|
||
"identityNeedsTraceRefresh": {
|
||
"title": "Identity needs trace refresh",
|
||
"body": "candidate record id、版本、owner、review scope 或 trace source 不清楚時,回到 identity packet 補證。",
|
||
"next": "補 identity trace;record created=false"
|
||
},
|
||
"decisionSummaryNeedsClarification": {
|
||
"title": "Decision summary needs clarification",
|
||
"body": "decision summary 或 no-execution statement 不可讀時,回到 summary packet 補文字。",
|
||
"next": "補 decision summary;accepted=0"
|
||
},
|
||
"scopeExpiryNeedsRefresh": {
|
||
"title": "Scope and expiry need refresh",
|
||
"body": "host、network、service、exclusion、觀察目的或 expiry 過期或超出原始 scope 時,回到 scope packet。",
|
||
"next": "補 scope / expiry;finalized=0"
|
||
},
|
||
"scanLimitsRemainAmbiguous": {
|
||
"title": "Scan limits remain ambiguous",
|
||
"body": "observe-only、future active scan 或 credentialed scan limits 若仍可能被誤讀成授權,必須回到 scan limits packet。",
|
||
"next": "補 scan limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential boundary 若無法保持 metadata-only 或責任邊界不可讀,必須隔離補證。",
|
||
"next": "補 metadata-only boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackIncomplete": {
|
||
"title": "Maintenance and rollback incomplete",
|
||
"body": "維護窗口、限制條件、rollback owner、復原路徑或人工聯絡點缺漏時,不能進入正式紀錄語義。",
|
||
"next": "補 maintenance / rollback;host change=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "validation evidence 或 runtime gate pointer 仍需要獨立 follow-up gate,不能由 queue review outcome 開 gate。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanHandoffReadiness": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Handoff Readiness Packets",
|
||
"subtitle": "Human record owner handoff readiness packets 只顯示未來交給人工 record owner 前要準備的 metadata。不代表 handoff started、不代表 handoff ready、不代表 review passed、不建立 decision record、不接受 owner decision、不開 runtime gate。",
|
||
"packetLabel": "Handoff readiness packet",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"handoffIdentityTrace": {
|
||
"title": "Handoff identity and trace",
|
||
"body": "顯示 candidate record id、版本、來源 outcome lane、source queue review 與 trace pointer 是否足夠供未來人工 record owner 辨識。",
|
||
"guard": "handoff started=0;ready=0"
|
||
},
|
||
"handoffOwnerBoundary": {
|
||
"title": "Human record owner boundary",
|
||
"body": "顯示未來 record owner、backup owner、聯絡窗口與責任邊界,但不自動通知、不收 decision、不建立 approval record。",
|
||
"guard": "owner decision received=0"
|
||
},
|
||
"handoffDecisionSummary": {
|
||
"title": "Decision summary packet",
|
||
"body": "顯示 decision summary、no-execution statement 與候選結論是否可讀,避免 handoff 時把摘要當成批准。",
|
||
"guard": "decision record created=false"
|
||
},
|
||
"handoffScopeExpiry": {
|
||
"title": "Scope and expiry packet",
|
||
"body": "顯示 host、network、service、exclusion、觀察目的與 expiry 的 handoff 摘要,過期或越界時仍只能回補 scope。",
|
||
"guard": "review passed=0"
|
||
},
|
||
"handoffScanLimits": {
|
||
"title": "Scan limits packet",
|
||
"body": "顯示 observe-only、future active scan 與 credentialed scan limits 的限制文字,讓人工 record owner 清楚這不是掃描授權。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"handoffCredentialBoundary": {
|
||
"title": "Credential boundary packet",
|
||
"body": "顯示 credential boundary metadata、retention 與 masking 責任,不收 plaintext、不收 token value、不收 raw secret。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"handoffMaintenanceRollback": {
|
||
"title": "Maintenance and rollback packet",
|
||
"body": "顯示維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點,仍不允許 SSH、package update 或主機調校。",
|
||
"guard": "host change=false"
|
||
},
|
||
"handoffRuntimeGate": {
|
||
"title": "Runtime gate separation packet",
|
||
"body": "顯示 validation evidence 與 follow-up runtime gate pointer 仍是獨立 gate,不能由 handoff readiness 開啟。",
|
||
"guard": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanHandoffReadinessReview": {
|
||
"title": "主機 Owner Decision Record Human Handoff Readiness Review Checklist",
|
||
"subtitle": "Human handoff readiness review checklist 只顯示 handoff readiness packets 進人工 record owner 前的只讀核對條件。不代表 review passed、不開始 handoff、不標記 handoff ready、不建立 decision record、不接受 owner decision、不開 runtime gate。",
|
||
"checkLabel": "Handoff readiness check",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"identityTraceReadable": {
|
||
"title": "Identity trace readable",
|
||
"body": "確認 candidate record id、版本、來源 outcome lane、source queue review 與 trace pointer 可讀;缺漏時只能回補 identity trace。",
|
||
"guard": "handoff started=0;ready=0"
|
||
},
|
||
"ownerBoundaryReadable": {
|
||
"title": "Owner boundary readable",
|
||
"body": "確認 future record owner、backup owner、聯絡窗口與責任邊界可讀;不能自動通知或收 owner decision。",
|
||
"guard": "owner decision received=0"
|
||
},
|
||
"decisionSummaryReadable": {
|
||
"title": "Decision summary readable",
|
||
"body": "確認 decision summary、候選結論與 no-execution statement 可讀,避免 handoff readiness 被誤讀成批准。",
|
||
"guard": "decision record created=false"
|
||
},
|
||
"scopeExpiryCurrent": {
|
||
"title": "Scope and expiry current",
|
||
"body": "確認 host、network、service、exclusion、觀察目的與 expiry 沒有過期或越界;過期時只能回補 scope。",
|
||
"guard": "review passed=0"
|
||
},
|
||
"scanLimitsNotAuthorization": {
|
||
"title": "Scan limits not authorization",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan limits 仍只是限制文字,不是掃描批准。",
|
||
"guard": "scan authorized=false"
|
||
},
|
||
"credentialBoundaryMetadataOnly": {
|
||
"title": "Credential boundary metadata-only",
|
||
"body": "確認 credential boundary 只含 metadata、retention 與 masking 責任;不得收 plaintext、token value 或 raw secret。",
|
||
"guard": "secret collection=false"
|
||
},
|
||
"maintenanceRollbackTraceable": {
|
||
"title": "Maintenance and rollback traceable",
|
||
"body": "確認維護窗口、限制條件、rollback owner、復原路徑與人工聯絡點可追溯,但仍不能 SSH、更新套件或調校主機。",
|
||
"guard": "host change=false"
|
||
},
|
||
"runtimeGateSeparate": {
|
||
"title": "Runtime gate separate",
|
||
"body": "確認 validation evidence 與 follow-up runtime gate 仍維持獨立,不由 readiness review 開啟。",
|
||
"guard": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanHandoffReadinessReviewOutcomes": {
|
||
"title": "主機 Owner Decision Record Human Handoff Readiness Review Outcome Lanes",
|
||
"subtitle": "Human handoff readiness review outcome lanes 只顯示 checklist 後的下一步分流。不代表 review passed、不開始 handoff、不標記 handoff ready、不建立 decision record、不接受 owner decision、不建立 approval record、不開 runtime gate。",
|
||
"laneLabel": "Handoff review outcome",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForHumanRecordOwnerReviewCandidate": {
|
||
"title": "Ready for human record owner review candidate",
|
||
"body": "所有 readiness review 條件都可讀時,只能顯示未來交給人工 record owner 看看的候選狀態。",
|
||
"next": "顯示 review candidate;review passed=0、handoff started=0"
|
||
},
|
||
"identityTraceNeedsRefresh": {
|
||
"title": "Identity trace needs refresh",
|
||
"body": "candidate record id、版本、來源 outcome lane、source queue review 或 trace pointer 不清楚時,回到 identity packet 補證。",
|
||
"next": "補 identity trace;handoff ready=0"
|
||
},
|
||
"ownerBoundaryNeedsClarification": {
|
||
"title": "Owner boundary needs clarification",
|
||
"body": "record owner、backup owner、聯絡窗口或責任邊界不可讀時,回到 owner boundary packet 補文字。",
|
||
"next": "補 owner boundary;decision received=0"
|
||
},
|
||
"decisionSummaryNeedsClarification": {
|
||
"title": "Decision summary needs clarification",
|
||
"body": "decision summary、候選結論或 no-execution statement 不可讀時,回到 decision summary packet。",
|
||
"next": "補 decision summary;record created=false"
|
||
},
|
||
"scopeExpiryNeedsRefresh": {
|
||
"title": "Scope and expiry need refresh",
|
||
"body": "host、network、service、exclusion、觀察目的或 expiry 過期或越界時,回到 scope packet。",
|
||
"next": "補 scope / expiry;review passed=0"
|
||
},
|
||
"scanLimitsRemainAmbiguous": {
|
||
"title": "Scan limits remain ambiguous",
|
||
"body": "observe-only、future active scan 或 credentialed scan limits 仍可能被誤讀成授權時,回到 scan limits packet。",
|
||
"next": "補 scan limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential boundary 若不是 metadata-only,或 plaintext、token value、raw secret 邊界不清楚,必須隔離補證。",
|
||
"next": "補 credential boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackIncomplete": {
|
||
"title": "Maintenance and rollback incomplete",
|
||
"body": "維護窗口、限制條件、rollback owner、復原路徑或人工聯絡點缺漏時,不能進入人工 record owner review 語義。",
|
||
"next": "補 maintenance / rollback;host change=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "validation evidence 或 follow-up runtime gate pointer 仍需要獨立 gate,不能由 readiness review outcome 開 gate。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanRecordOwnerReviewCandidatePackets": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Review Candidate Packets",
|
||
"subtitle": "Human record owner review candidate packets 只整理未來人工 record owner 可能需要看的 metadata。它不開始 handoff、不標記 review ready、不收 owner decision、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"packetLabel": "Review candidate packet",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"reviewCandidateIdentity": {
|
||
"title": "Review candidate identity packet",
|
||
"body": "整理 candidate id、來源 readiness outcome、版本、trace pointer 與來源 queue review 連結,讓人工 record owner 未來能看懂來源。",
|
||
"guard": "review started=0;decision record created=false"
|
||
},
|
||
"reviewOwnerBoundary": {
|
||
"title": "Review owner boundary packet",
|
||
"body": "整理 human record owner、backup owner、聯絡窗口與責任邊界,但不把 owner contact 視為已接案或已決策。",
|
||
"guard": "owner decision received=0;handoff started=0"
|
||
},
|
||
"reviewDecisionSummary": {
|
||
"title": "Review decision summary packet",
|
||
"body": "整理候選決策摘要、風險接受邊界與 no-execution statement,避免人工 review 候選被誤讀成正式紀錄。",
|
||
"guard": "review ready=0;record accepted=0"
|
||
},
|
||
"reviewScopeExpiry": {
|
||
"title": "Review scope and expiry packet",
|
||
"body": "整理 host、network、service、exclusion、observation intent 與 expiry,讓 review candidate 的範圍維持可讀。",
|
||
"guard": "scope review only;runtime gate opened=false"
|
||
},
|
||
"reviewScanLimits": {
|
||
"title": "Review scan limits packet",
|
||
"body": "整理 observe-only、future active scan 與 credentialed scan limits,明確保留 active scan 仍需獨立批准。",
|
||
"guard": "scan authorized=false;action buttons=false"
|
||
},
|
||
"reviewCredentialBoundary": {
|
||
"title": "Review credential boundary packet",
|
||
"body": "整理 credential owner、retention、masking 與 forbidden collection,只允許 metadata,不收 plaintext、token value 或 raw secret。",
|
||
"guard": "secret collection=false;raw payload=false"
|
||
},
|
||
"reviewMaintenanceRollback": {
|
||
"title": "Review maintenance and rollback packet",
|
||
"body": "整理 maintenance window、constraints、rollback owner、recovery path 與人工聯絡點,但不代表可以變更主機。",
|
||
"guard": "host change=false;Kali update=false"
|
||
},
|
||
"reviewValidationRuntimeGate": {
|
||
"title": "Review validation and runtime gate packet",
|
||
"body": "整理 validation evidence pointer、post-check metrics 與獨立 runtime gate requirement,仍不能由 candidate packet 開 gate。",
|
||
"guard": "runtime gate opened=false;runtime execution=false"
|
||
},
|
||
"reviewNoExecutionAttestation": {
|
||
"title": "Review no-execution attestation packet",
|
||
"body": "固定 not authorization、no execution、no approval、no runtime gate statement,避免人工 review candidate 被誤解成批准。",
|
||
"guard": "not_authorization=true;approval record=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanRecordOwnerReviewCandidateChecklist": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Review Candidate Checklist",
|
||
"subtitle": "Human record owner review candidate checklist 只核對 candidate packets 是否可讀。不代表 checklist passed、不開始 review、不標記 review ready、不收 owner decision、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"checkLabel": "Review candidate check",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"candidateIdentityTraceable": {
|
||
"title": "Candidate identity traceable",
|
||
"body": "確認 candidate id、來源 outcome、版本、trace pointer 與 queue review link 可追溯。",
|
||
"guard": "check passed=0;review started=0"
|
||
},
|
||
"candidateOwnerBoundaryReadable": {
|
||
"title": "Candidate owner boundary readable",
|
||
"body": "確認 human record owner、backup owner、聯絡窗口與責任邊界可讀,但不代表 owner 已接案。",
|
||
"guard": "owner decision received=0;review ready=0"
|
||
},
|
||
"candidateDecisionSummaryReadable": {
|
||
"title": "Candidate decision summary readable",
|
||
"body": "確認候選決策摘要、風險接受邊界與 no-execution statement 可讀,仍不是正式 decision record。",
|
||
"guard": "decision record created=false;accepted=0"
|
||
},
|
||
"candidateScopeExpiryCurrent": {
|
||
"title": "Candidate scope and expiry current",
|
||
"body": "確認 host、network、service、exclusion、observation intent 與 expiry 仍在候選範圍內。",
|
||
"guard": "scope check only;runtime gate opened=false"
|
||
},
|
||
"candidateScanLimitsNotAuthorization": {
|
||
"title": "Candidate scan limits not authorization",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan limits 沒有被寫成掃描授權。",
|
||
"guard": "scan authorized=false;action buttons=false"
|
||
},
|
||
"candidateCredentialBoundaryMetadataOnly": {
|
||
"title": "Candidate credential boundary metadata-only",
|
||
"body": "確認 credential owner、retention、masking 與 forbidden collection 仍是 metadata-only。",
|
||
"guard": "secret collection=false;raw payload=false"
|
||
},
|
||
"candidateMaintenanceRollbackTraceable": {
|
||
"title": "Candidate maintenance and rollback traceable",
|
||
"body": "確認 maintenance window、constraints、rollback owner、recovery path 與人工聯絡點可追溯。",
|
||
"guard": "host change=false;Kali update=false"
|
||
},
|
||
"candidateValidationRuntimeGateSeparate": {
|
||
"title": "Candidate validation and runtime gate separate",
|
||
"body": "確認 validation evidence pointer、post-check metrics 與 runtime gate requirement 仍維持獨立。",
|
||
"guard": "runtime gate opened=false;runtime execution=false"
|
||
},
|
||
"candidateNoExecutionAttestationPresent": {
|
||
"title": "Candidate no-execution attestation present",
|
||
"body": "確認 not authorization、no execution、no approval、no runtime gate statement 都可見。",
|
||
"guard": "not_authorization=true;approval record=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanRecordOwnerReviewCandidateOutcomes": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Review Candidate Outcome Lanes",
|
||
"subtitle": "Human record owner review candidate outcome lanes 只顯示 candidate checklist 後下一步分流。不代表 checklist passed、不開始 review、不標記 review ready、不收 owner decision、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"laneLabel": "Review candidate outcome",
|
||
"nextLabel": "下一步",
|
||
"items": {
|
||
"readyForHumanRecordOwnerReviewPreparation": {
|
||
"title": "Ready for human record owner review preparation candidate",
|
||
"body": "所有 candidate checklist 只讀條件都可被準備成未來人工 record owner review 畫面,但目前仍只是 preparation candidate。",
|
||
"next": "display only;review started=0"
|
||
},
|
||
"identityTraceNeedsRefresh": {
|
||
"title": "Identity trace needs refresh",
|
||
"body": "candidate identity、source outcome、version、trace pointer 或 queue review link 需要補齊或刷新。",
|
||
"next": "refresh identity trace;check passed=0"
|
||
},
|
||
"ownerBoundaryNeedsClarification": {
|
||
"title": "Owner boundary needs clarification",
|
||
"body": "human record owner、backup owner、contact channel 或責任邊界仍需釐清,不能視為 owner 已接案。",
|
||
"next": "clarify owner boundary;decision received=0"
|
||
},
|
||
"decisionSummaryNeedsClarification": {
|
||
"title": "Decision summary needs clarification",
|
||
"body": "候選決策摘要、風險接受邊界或 no-execution statement 仍不夠清楚,不能建立正式紀錄。",
|
||
"next": "clarify summary;record created=false"
|
||
},
|
||
"scopeExpiryNeedsRefresh": {
|
||
"title": "Scope and expiry need refresh",
|
||
"body": "host、network、service、exclusion、observation intent 或 expiry 需要刷新後才能進下一層人工準備。",
|
||
"next": "refresh scope;review ready=0"
|
||
},
|
||
"scanLimitsRemainAmbiguous": {
|
||
"title": "Scan limits remain ambiguous",
|
||
"body": "observe-only、future active scan 或 credentialed scan limits 仍可能被誤讀成授權,需要保留為阻擋分流。",
|
||
"next": "clarify limits;scan authorized=false"
|
||
},
|
||
"credentialBoundaryFailed": {
|
||
"title": "Credential boundary failed",
|
||
"body": "credential owner、retention、masking 或 forbidden collection 沒有維持 metadata-only 時必須隔離。",
|
||
"next": "quarantine credential boundary;secret collection=false"
|
||
},
|
||
"maintenanceRollbackIncomplete": {
|
||
"title": "Maintenance and rollback incomplete",
|
||
"body": "maintenance window、constraints、rollback owner、recovery path 或人工聯絡點仍缺漏,不能導向主機變更。",
|
||
"next": "complete maintenance data;host change=false"
|
||
},
|
||
"runtimeGateStillRequired": {
|
||
"title": "Runtime gate still required",
|
||
"body": "validation evidence、post-check metrics 或 follow-up runtime gate pointer 仍需獨立 gate,不可由 candidate outcome 開啟。",
|
||
"next": "active runtime gates=0;action buttons=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanRecordOwnerReviewPreparationPackets": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Review Preparation Packets",
|
||
"subtitle": "Human record owner review preparation packets 只整理未來人工 record owner review 畫面需要的 metadata。它不代表 preparation completed、不開始 review、不標記 review ready、不收 owner decision、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"packetLabel": "Review preparation packet",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"preparationIdentityTrace": {
|
||
"title": "Preparation identity trace packet",
|
||
"body": "整理 preparation id、來源 candidate outcome、版本、trace pointer 與 candidate checklist link,讓未來 review 畫面能追溯來源。",
|
||
"guard": "prepared=0;review started=0"
|
||
},
|
||
"preparationOwnerBoundary": {
|
||
"title": "Preparation owner boundary packet",
|
||
"body": "整理 human record owner、backup owner、聯絡窗口、責任邊界與待確認項目,但不代表 owner 已接案或已決策。",
|
||
"guard": "owner decision received=0;review ready=0"
|
||
},
|
||
"preparationDecisionSummary": {
|
||
"title": "Preparation decision summary packet",
|
||
"body": "整理候選決策摘要、風險接受邊界、no-execution statement 與正式紀錄前置說明,仍不是 decision record。",
|
||
"guard": "decision record created=false;accepted=0"
|
||
},
|
||
"preparationScopeExpiry": {
|
||
"title": "Preparation scope and expiry packet",
|
||
"body": "整理 host、network、service、exclusion、observation intent、expiry 與刷新需求,讓準備層保持只讀可見。",
|
||
"guard": "scope preparation only;runtime gate opened=false"
|
||
},
|
||
"preparationScanLimits": {
|
||
"title": "Preparation scan limits packet",
|
||
"body": "整理 observe-only、future active scan、credentialed scan limits 與仍需獨立批准的掃描邊界。",
|
||
"guard": "scan authorized=false;action buttons=false"
|
||
},
|
||
"preparationCredentialBoundary": {
|
||
"title": "Preparation credential boundary packet",
|
||
"body": "整理 credential owner、retention、masking、forbidden collection 與隔離規則,只允許 metadata-only。",
|
||
"guard": "secret collection=false;raw payload=false"
|
||
},
|
||
"preparationMaintenanceRollback": {
|
||
"title": "Preparation maintenance and rollback packet",
|
||
"body": "整理 maintenance window、constraints、rollback owner、recovery path 與人工聯絡點,但不代表可以變更主機。",
|
||
"guard": "host change=false;Kali update=false"
|
||
},
|
||
"preparationValidationRuntimeGate": {
|
||
"title": "Preparation validation and runtime gate packet",
|
||
"body": "整理 validation evidence pointer、post-check metrics 與獨立 runtime gate requirement,仍不能由 preparation packet 開 gate。",
|
||
"guard": "runtime gate opened=false;runtime execution=false"
|
||
},
|
||
"preparationNoExecutionAttestation": {
|
||
"title": "Preparation no-execution attestation packet",
|
||
"body": "固定 not authorization、no execution、no approval、no runtime gate statement,避免 preparation packet 被誤解成批准。",
|
||
"guard": "not_authorization=true;approval record=false"
|
||
}
|
||
}
|
||
},
|
||
"hostOwnerDecisionRecordHumanRecordOwnerReviewPreparationChecklist": {
|
||
"title": "主機 Owner Decision Record Human Record Owner Review Preparation Checklist",
|
||
"subtitle": "Human record owner review preparation checklist 只核對 preparation packets 是否可讀。不代表 preparation completed、不代表 checklist passed、不開始 review、不標記 review ready、不收 owner decision、不建立 decision record、不建立 approval record、不開 runtime gate。",
|
||
"checkLabel": "Review preparation check",
|
||
"guardLabel": "保護邊界",
|
||
"items": {
|
||
"preparationIdentityTraceReadable": {
|
||
"title": "Preparation identity trace readable",
|
||
"body": "確認 preparation id、來源 candidate outcome、版本、trace pointer 與 candidate checklist link 可追溯。",
|
||
"guard": "prepared=0;check passed=0"
|
||
},
|
||
"preparationOwnerBoundaryReadable": {
|
||
"title": "Preparation owner boundary readable",
|
||
"body": "確認 human record owner、backup owner、聯絡窗口、責任邊界與待確認項目可讀,但不代表 owner 已接案。",
|
||
"guard": "owner decision received=0;review ready=0"
|
||
},
|
||
"preparationDecisionSummaryReadable": {
|
||
"title": "Preparation decision summary readable",
|
||
"body": "確認候選決策摘要、風險接受邊界、no-execution statement 與正式紀錄前置說明可讀,仍不是 decision record。",
|
||
"guard": "decision record created=false;accepted=0"
|
||
},
|
||
"preparationScopeExpiryCurrent": {
|
||
"title": "Preparation scope and expiry current",
|
||
"body": "確認 host、network、service、exclusion、observation intent、expiry 與刷新需求仍在準備層可讀範圍內。",
|
||
"guard": "scope check only;runtime gate opened=false"
|
||
},
|
||
"preparationScanLimitsNotAuthorization": {
|
||
"title": "Preparation scan limits not authorization",
|
||
"body": "確認 observe-only、future active scan 與 credentialed scan limits 沒有被寫成掃描授權。",
|
||
"guard": "scan authorized=false;action buttons=false"
|
||
},
|
||
"preparationCredentialBoundaryMetadataOnly": {
|
||
"title": "Preparation credential boundary metadata-only",
|
||
"body": "確認 credential owner、retention、masking、forbidden collection 與隔離規則仍是 metadata-only。",
|
||
"guard": "secret collection=false;raw payload=false"
|
||
},
|
||
"preparationMaintenanceRollbackTraceable": {
|
||
"title": "Preparation maintenance and rollback traceable",
|
||
"body": "確認 maintenance window、constraints、rollback owner、recovery path 與人工聯絡點可追溯。",
|
||
"guard": "host change=false;Kali update=false"
|
||
},
|
||
"preparationValidationRuntimeGateSeparate": {
|
||
"title": "Preparation validation and runtime gate separate",
|
||
"body": "確認 validation evidence pointer、post-check metrics 與獨立 runtime gate requirement 仍維持分離。",
|
||
"guard": "runtime gate opened=false;runtime execution=false"
|
||
},
|
||
"preparationNoExecutionAttestationPresent": {
|
||
"title": "Preparation no-execution attestation present",
|
||
"body": "確認 not authorization、no execution、no approval、no runtime gate statement 都可見,避免 checklist 被誤解成批准。",
|
||
"guard": "not_authorization=true;approval record=false"
|
||
}
|
||
}
|
||
},
|
||
"progressHoldMovementGates": {
|
||
"title": "為什麼 58% 還不動",
|
||
"subtitle": "S2.50 把 headline progress 的移動門檻直接顯示出來:目前不是沒有推進,而是五個會讓 58% 進入下一輪重估的 gate 都還沒有實質 evidence。框架、文件、前端可見性會累積在 80-85% 框架進度,但不會灌水成落地百分比。",
|
||
"gateLabel": "移動門檻",
|
||
"moveLabel": "什麼時候會動",
|
||
"guardLabel": "不灌水原則",
|
||
"items": {
|
||
"ownerResponseAccepted": {
|
||
"title": "Owner response accepted 仍是 0",
|
||
"body": "S4.9-S4.12 都還沒有 owner response received / accepted,S4.9 目前只是 request-ready。",
|
||
"move": "第一批脫敏 owner response 通過 S4.9 preflight 與 S4.13 rollup 後,headline 才有重估依據。",
|
||
"guard": "不把 request-ready、template、preflight 或 focus 當成 received / accepted。"
|
||
},
|
||
"redactedPayloadIngested": {
|
||
"title": "Redacted payload ingestion 仍未啟用",
|
||
"body": "目前只定義 evidence refs、redaction examples、quarantine 與 preflight,尚未有 accepted payload ingestion。",
|
||
"move": "脫敏 payload 經人工批准、通過 preflight、進入只讀 ingestion 後,runtime landing 才能重估。",
|
||
"guard": "不收 raw payload、不收 credential plaintext、不把文件範例當 ingestion。"
|
||
},
|
||
"activeRuntimeGate": {
|
||
"title": "Active runtime gate 仍是 0",
|
||
"body": "Kali `/execute`、SSH、主機更新、blocking control、repo / refs / workflow 動作都仍在獨立 gate 之外。",
|
||
"move": "人工批准、scope、rollback、post-check metrics 完整,並另開 active runtime gate 後才會動。",
|
||
"guard": "不從 IwoooS 前端、progress 數字或 checklist 開 runtime gate。"
|
||
},
|
||
"githubPrimaryReady": {
|
||
"title": "GitHub primary ready 仍是 0",
|
||
"body": "GitHub target、refs truth、workflow / secret name parity、rollback ADR 都還在 owner response / readiness 階段。",
|
||
"move": "至少一批 repo 通過 target、refs、workflow / secret name 與 rollback readiness,primary_ready_count 才可大於 0。",
|
||
"guard": "不建 repo、不 sync refs、不切 primary、不把 candidate 當 readiness。"
|
||
},
|
||
"awooopReadOnlyLanding": {
|
||
"title": "AwoooP landing 仍未進 production 消費",
|
||
"body": "IwoooS 已可見,但 AwoooP 主線仍需只讀消費 rollup、evidence refs 與 guard result,且不得接 execution router。",
|
||
"move": "AwoooP 以只讀模式消費這組狀態並通過 guard 後,使用者體感會提升,但仍不代表 production execution。",
|
||
"guard": "read-only landing 不是 action button、approval、runtime execution 或 blocking control。"
|
||
}
|
||
}
|
||
},
|
||
"awooopReadOnlyLandingReadiness": {
|
||
"title": "AwoooP 只讀 Landing Readiness",
|
||
"subtitle": "S2.51 把 AwoooP 主線要如何只讀消費 IwoooS / security mirror 狀態整理成接入準備面板。這是 landing readiness,不是 production landing enabled,也不接 execution router。",
|
||
"readinessLabel": "只讀接入",
|
||
"requirementLabel": "接入要求",
|
||
"guardLabel": "仍鎖住",
|
||
"items": {
|
||
"rollupSnapshotReadable": {
|
||
"title": "Rollup snapshot 可讀",
|
||
"body": "`security-mirror-status-rollup.snapshot.json` 與 `iwooos-posture-projection.snapshot.json` 已可作為 AwoooP 只讀入口的主要來源。",
|
||
"requirement": "AwoooP 只讀消費 committed snapshot 與 guard output,不直接呼叫 Kali、Gitea、GitHub 或 runtime API。",
|
||
"guard": "production_landing_enabled=false;execution router linked=false"
|
||
},
|
||
"evidenceRefsReadable": {
|
||
"title": "Evidence refs 可追溯",
|
||
"body": "IwoooS 已列出 security rollout、owner response validation、Kali status、rollup 與 projection 的 evidence refs。",
|
||
"requirement": "AwoooP landing 只能顯示 evidence refs 與狀態摘要,不保存 raw payload、credential plaintext 或 token value。",
|
||
"guard": "payloads_ingested=false;secret value collection=false"
|
||
},
|
||
"guardChecksKnown": {
|
||
"title": "Guard checks 已知",
|
||
"body": "`security-mirror-progress-guard.py` 與 `source-control-owner-response-guard.py` 是接入前必跑的只讀檢查。",
|
||
"requirement": "AwoooP 主線接入前必須保留 progress、owner response、runtime flags、action button 與 forbidden output 檢查。",
|
||
"guard": "不跳過 guard;不把 guard pass 當 runtime approval"
|
||
},
|
||
"routeGroupsKnown": {
|
||
"title": "Mirror route groups 已知",
|
||
"body": "`security_mirror_route_v1` 已定義 Operator Console、runtime state、channel event、audit evidence、approval queue 的只讀目的地。",
|
||
"requirement": "AwoooP 只能依 route group 顯示與分類,不新增 scan、execute、repair、repo、refs 或 deploy action。",
|
||
"guard": "action_buttons_allowed=false;runtime_execution_authorized=false"
|
||
},
|
||
"forbiddenOutputsLocked": {
|
||
"title": "Forbidden outputs 鎖住",
|
||
"body": "IwoooS / rollup 已明確列出不得從 landing readiness 產生 action button、runtime gate、GitHub primary 或 production execution。",
|
||
"requirement": "AwoooP 接入時必須保留禁止輸出清單,並把所有寫入、執行、切換與收 secret value 的入口維持關閉。",
|
||
"guard": "不把 landing readiness 當 production consumption"
|
||
},
|
||
"productionHandoffPending": {
|
||
"title": "Production handoff 仍待接入",
|
||
"body": "目前只是 AwoooP 只讀 landing 的接入準備,尚未證明 AwoooP production 主線已消費這組狀態。",
|
||
"requirement": "需要後續 PR / deployment evidence 證明 AwoooP 主線只讀顯示 rollup、evidence refs 與 guard result。",
|
||
"guard": "progress_change_applied=false;headline percent delta=0"
|
||
}
|
||
}
|
||
},
|
||
"progressAcceleration": {
|
||
"title": "進度加速與真正解鎖點",
|
||
"subtitle": "目前不是沒有推進,而是 58% headline 只在 owner response、runtime gate、GitHub primary readiness 或 AwoooP production landing 有實質 evidence 時才會重估。這裡把下一批有感推進點集中顯示。",
|
||
"laneLabel": "加速路線",
|
||
"unlockLabel": "解鎖訊號",
|
||
"guardLabel": "仍維持低摩擦邊界",
|
||
"items": {
|
||
"ownerResponses": {
|
||
"title": "Owner responses 先收斂",
|
||
"body": "S4.9-S4.12 的 Gitea、GitHub target、refs truth、workflow / secret name owner response 是目前 58% 最主要的卡點。",
|
||
"unlock": "收到並驗收第一批脫敏 owner response 後,headline 才有重估依據。",
|
||
"guard": "只收脫敏 evidence;不建立 repo、不同步 refs、不修改 workflow、不收 secret value。"
|
||
},
|
||
"redactedIngestion": {
|
||
"title": "Redacted ingestion 接上可見證據",
|
||
"body": "資安 finding、Kali observe 訊號與 owner evidence 需要先以 redacted metadata 進入只讀收件面,再談 runtime。",
|
||
"unlock": "redacted payload ingestion adapter 經人工批准並通過 preflight 後,runtime landing 會有實質訊號。",
|
||
"guard": "不收 raw payload、不收 credential plaintext、不啟動 active scan。"
|
||
},
|
||
"runtimeGate": {
|
||
"title": "Runtime gate 必須獨立批准",
|
||
"body": "後續真正掃描、修復、主機更新或 blocking control 都不能從前端狀態自動推進。",
|
||
"unlock": "S3 / S3.4 有人工批准、rollback、post-check metrics 與 active runtime gate 後,才進入落地重估。",
|
||
"guard": "active runtime gate=0;action button=false;Kali /execute 仍是 block candidate。"
|
||
},
|
||
"githubReadiness": {
|
||
"title": "GitHub primary readiness 要拆關鍵缺口",
|
||
"body": "Gitea 轉 GitHub 的大方向已確認,但 target、refs、workflow / secret name、rollback ADR 還沒全量驗證。",
|
||
"unlock": "owner response、refs truth、workflow parity 與 rollback ADR 都可驗證後,primary_ready_count 才能往上。",
|
||
"guard": "不切 primary、不 force push、不刪 refs、不建立未批准 target repo。"
|
||
},
|
||
"awooopLanding": {
|
||
"title": "AwoooP / IwoooS 主線可見",
|
||
"body": "使用者感覺慢的原因之一,是資安工作還太像後台契約;需要把下一步、卡點、禁令與解鎖訊號放到產品入口。",
|
||
"unlock": "AwoooP 主線只讀消費 rollup 與 IwoooS 面板後,使用者能直接看到真正卡點。",
|
||
"guard": "只讀 landing;不把可見狀態當授權,不新增執行按鈕。"
|
||
},
|
||
"cadenceCompression": {
|
||
"title": "後續節奏改成批次推進",
|
||
"body": "S2.38-S2.45 太多細層 checklist 讓進度看起來碎。後續應優先收斂 P0 owner response 與 AwoooP landing,而不是無限拆小核對項。",
|
||
"unlock": "相同類型的 framework detail 之後合併成一批回報,只有高層 gate 變動才調整 headline。",
|
||
"guard": "節奏加快不等於放寬安全;runtime 與 source-control cutover 仍需人工 gate。"
|
||
}
|
||
}
|
||
},
|
||
"ownerResponseNextActionFocus": {
|
||
"title": "Owner Response 下一步收件焦點",
|
||
"subtitle": "S2.47 將下一個真正能推動 58% 的 owner response 工作排清楚:先收 S4.9 Gitea owner attestation,再依序處理 GitHub target、refs truth、workflow / secret name。這裡只顯示收件焦點,不催收、不代填、不標記 received。",
|
||
"focusLabel": "下一步焦點",
|
||
"nextLabel": "要看的 evidence",
|
||
"guardLabel": "仍禁止",
|
||
"items": {
|
||
"giteaOwnerAttestation": {
|
||
"title": "S4.9 Gitea owner attestation 先收",
|
||
"body": "先確認 Gitea 覆蓋範圍、public-only / local gap、org/user endpoint、110 adjacent source、canonical owner 與 legacy disposition。",
|
||
"next": "需要 owner 依 GITEA-INVENTORY-OWNER-ATTESTATION-RESPONSE 回覆 5 個脫敏 evidence refs。",
|
||
"guard": "received=0;accepted=0;不保存 token value、不寫 Gitea、不 sync refs、不切 primary。"
|
||
},
|
||
"githubTargetOwnerDecision": {
|
||
"title": "S4.10 GitHub target 決策接續",
|
||
"body": "確認每個 GitHub target 的 owner、visibility、canonical disposition 與 not_found_or_private 處理方式。",
|
||
"next": "S4.9 通過後,才依 GITHUB-TARGET-OWNER-DECISION-RESPONSE 收 7 個 target responses。",
|
||
"guard": "不建立 GitHub repo、不改 visibility、不同步 refs、不把 target response 當 primary approval。"
|
||
},
|
||
"refsTruthOwnerResponse": {
|
||
"title": "S4.11 Refs truth 再判定",
|
||
"body": "釐清 main/dev truth、deprecated drift、release tag 與 GitHub-only refs,避免 migration 時把舊 refs 誤當真相。",
|
||
"next": "需要 repo owner 對 141 個 ref review items 做單 repo / 單 ref 判定。",
|
||
"guard": "不 fetch、不 push、不 delete refs、不 force push、不 rewrite history。"
|
||
},
|
||
"workflowSecretOwnerResponse": {
|
||
"title": "S4.12 Workflow / secret 名稱最後補齊",
|
||
"body": "補 webhook、runner、deploy key、branch protection / CODEOWNERS、repository secret name parity。",
|
||
"next": "只收名稱、owner 與脫敏 parity evidence,讓 GitHub readiness 有可驗證缺口表。",
|
||
"guard": "不收 secret value、不改 workflow、不啟用 runner、不使用 write token。"
|
||
}
|
||
}
|
||
},
|
||
"s49OwnerResponseRequestTemplates": {
|
||
"title": "S4.9 Owner Response 五個回覆 Template",
|
||
"subtitle": "S2.49 將 S4.9 owner 要逐項回答的五個 template 顯示在 IwoooS。這裡只是 request-ready 清單:request 仍未送出、不催收、不代填、不標記 received / accepted,也不把任何 template 當成 Gitea inventory 或 GitHub migration approval。",
|
||
"templateLabel": "Template",
|
||
"ownerActionLabel": "Owner 要回覆",
|
||
"guardLabel": "仍禁止",
|
||
"items": {
|
||
"publicOnlyVsLocalGiteaGap": {
|
||
"title": "Public-only / local Gitea gap",
|
||
"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 refs。",
|
||
"guard": "request_ready_not_sent;received=0;accepted=0;不寫 Gitea、不建立 repo、不 sync refs。"
|
||
},
|
||
"orgUserEndpointIdentity": {
|
||
"title": "Gitea `wooo` org/user endpoint",
|
||
"body": "釐清 `wooo` 在 Gitea 中應以 user、org 或兩者盤點,避免把 endpoint 404 誤讀成不存在。",
|
||
"ownerAction": "回覆 canonical endpoint 身分、查證方式與後續 owner。",
|
||
"guard": "不呼叫 admin API、不使用 token、不把 endpoint 判定當成 inventory completed。"
|
||
},
|
||
"internal110AdjacentScope": {
|
||
"title": "110 adjacent source 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。"
|
||
},
|
||
"repoOwnerCanonicalScope": {
|
||
"title": "Repo owner / canonical / GitHub target",
|
||
"body": "為 in-scope repo 指定 owner、canonical source、GitHub target candidate 與 visibility review owner。",
|
||
"ownerAction": "回覆 owner role/team、canonical source、GitHub target candidate、visibility review owner 與理由。",
|
||
"guard": "不建立 GitHub repo、不改 visibility、不切 primary、不把 target candidate 當 approval。"
|
||
},
|
||
"legacyOrInaccessibleDisposition": {
|
||
"title": "Legacy / inaccessible disposition",
|
||
"body": "對 legacy、inaccessible 或 external repo 留下 disposition、理由與 follow-up owner。",
|
||
"ownerAction": "標示 archive、exclude、follow-up evidence 或 external owner,並保留脫敏 trace。",
|
||
"guard": "不刪除、不停用、不封存 repo;disposition 只是人工分類,不是執行命令。"
|
||
}
|
||
}
|
||
},
|
||
"s49OwnerResponsePreflight": {
|
||
"title": "S4.9 Owner Response 收件前 Preflight",
|
||
"subtitle": "S2.48 把 S4.9 的 6 個收件前檢查拉到 IwoooS:先確認回覆是否對應已知 attestation item、欄位完整、decision 合法、evidence 脫敏、沒有執行要求,且五個 items 到齊前不得 accepted。這裡只顯示 preflight,不寄送 request、不標記 received、不建立 audit event。",
|
||
"checkLabel": "Preflight",
|
||
"failureLabel": "不通過時",
|
||
"guardLabel": "仍禁止",
|
||
"items": {
|
||
"knownAttestationItem": {
|
||
"title": "對應 S4.7 已知 item",
|
||
"body": "owner response 必須明確對應 public-only / local gap、org/user endpoint、110 adjacent source、canonical owner 或 legacy disposition 其中之一。",
|
||
"failure": "不明確時只能 request owner correction,不能進 accepted。",
|
||
"guard": "不把模糊回覆當作 coverage attestation,也不自動補成某個 item。"
|
||
},
|
||
"requiredOwnerFields": {
|
||
"title": "必填欄位完整",
|
||
"body": "每筆回覆都要有 owner role/team、decision、decision reason、受影響 scope、evidence refs 與 followup owner。",
|
||
"failure": "欄位不足只能 request more evidence。",
|
||
"guard": "不接受口頭 OK、不用缺欄位回覆建立 approval record。"
|
||
},
|
||
"allowedDecision": {
|
||
"title": "Decision 在允許值內",
|
||
"body": "decision 必須落在該 template 允許的 acceptable decisions,避免自由文字被誤讀成授權。",
|
||
"failure": "decision 不合規時 request owner correction。",
|
||
"guard": "不把同意、可進行、看起來沒問題升級成 migration 或 primary approval。"
|
||
},
|
||
"redactedEvidenceOnly": {
|
||
"title": "只接受脫敏 evidence refs",
|
||
"body": "evidence 只能指向 repo 內文件、snapshot 或脫敏 metadata pointer,不貼 token、secret、cookie、session、private key 或私有 URL 憑證。",
|
||
"failure": "出現敏感 payload 只能 quarantine sensitive payload。",
|
||
"guard": "不保存 raw secret、不匯入 DB dump、不收 git object pack 或 repo archive。"
|
||
},
|
||
"noExecutionRequest": {
|
||
"title": "不得夾帶執行要求",
|
||
"body": "回覆不得要求 Gitea/GitHub 寫入、repo 建立、visibility 修改、refs sync/delete/force-push、workflow/secret/runner 變更、scan 或 runtime action。",
|
||
"failure": "夾帶執行要求時 reject execution request。",
|
||
"guard": "不寫 Gitea、不建 GitHub repo、不同步 refs、不開 runtime gate。"
|
||
},
|
||
"allFiveItemsBeforeAccepted": {
|
||
"title": "五個 items 到齊前不得 Accepted",
|
||
"body": "S4.9 要被標示 accepted 前,五個 response templates 都必須收到可驗收的 owner response。",
|
||
"failure": "部分回覆只能維持 waiting 或 request more evidence。",
|
||
"guard": "preflight 可見不代表 request sent、received、accepted 或 audit emitted。"
|
||
}
|
||
}
|
||
},
|
||
"awooopCrossSessionHandoff": {
|
||
"title": "AwoooP 跨 Session Handoff",
|
||
"subtitle": "S2.52 將目前 PR、分支、進度語義、必跑 guard、禁止動作與下一個協調 gate 固定成只讀 handoff packet,讓另一個 AwoooP Session 可直接接手,不把 handoff 當 production landing 或執行授權。",
|
||
"packetLabel": "Handoff packet",
|
||
"handoffLabel": "交接說明",
|
||
"guardLabel": "仍鎖住",
|
||
"items": {
|
||
"branchAndPrAnchor": {
|
||
"title": "PR / 分支錨點",
|
||
"body": "目前以 PR #117 與 codex/security-supply-chain-contracts-20260512 作為只讀同步錨點。",
|
||
"handoff": "另一個 Session 先確認同一 PR / branch / latest commit,再讀 LOGBOOK 與 rollup ledger。",
|
||
"guard": "不從 handoff 自動 merge、deploy、切 primary 或改 refs。"
|
||
},
|
||
"progressSemantics": {
|
||
"title": "進度語義",
|
||
"body": "headline 仍是 58%,framework 80-85%,runtime / ingestion / GitHub primary / AwoooP production landing 35-40%。",
|
||
"handoff": "所有新 UI / docs / snapshot 只能進 framework_detail ledger,除非 owner response、runtime gate、GitHub primary 或 production landing 有 evidence。",
|
||
"guard": "不把 framework detail、readiness、handoff、guard pass 當 headline delta。"
|
||
},
|
||
"requiredGuardCommands": {
|
||
"title": "必跑 Guard",
|
||
"body": "接手前先跑 security-mirror-progress-guard.py 與 source-control-owner-response-guard.py。",
|
||
"handoff": "兩個 guard 都通過後才能繼續 read-only projection;失敗時先停下修 contract / snapshot。",
|
||
"guard": "不跳過 guard;不把 guard pass 當 runtime approval。"
|
||
},
|
||
"forbiddenRuntimeActions": {
|
||
"title": "Runtime 禁止動作",
|
||
"body": "Kali /execute、SSH、host update、active scan、credentialed scan、blocking control、repo / refs / workflow 動作仍未授權。",
|
||
"handoff": "另一個 Session 只能新增 read-only evidence、UI projection、docs、snapshot、guard。",
|
||
"guard": "runtime_execution_authorized=false;action_buttons_allowed=false"
|
||
},
|
||
"awooopReadOnlyInputs": {
|
||
"title": "AwoooP 只讀輸入",
|
||
"body": "可消費 rollup snapshot、IwoooS projection、owner response validation rollup、Kali status 與 rollout policy。",
|
||
"handoff": "AwoooP 主線接入時只顯示狀態、evidence refs、route group 與 forbidden actions。",
|
||
"guard": "不保存 raw payload、credential plaintext、token value 或 execution payload。"
|
||
},
|
||
"nextCoordinationGate": {
|
||
"title": "下一個協調 Gate",
|
||
"body": "下一個真正能推動 headline 的高層 gate 仍是 owner response accepted、redacted payload ingestion、active runtime gate、GitHub primary ready 或 AwoooP production landing。",
|
||
"handoff": "若另一個 Session 要推進 production landing,必須提交 read-only consumption evidence 與 deployment proof。",
|
||
"guard": "不把 handoff packet 當 production consumption。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"tickets": {
|
||
"title": "工單",
|
||
"subtitle": "事件工單追蹤",
|
||
"loading": "載入中...",
|
||
"id": "工單 ID",
|
||
"title_col": "標題",
|
||
"status": "狀態",
|
||
"priority": "優先級",
|
||
"createdAt": "建立時間",
|
||
"error": "載入失敗",
|
||
"noTickets": "目前無工單"
|
||
},
|
||
"users": {
|
||
"title": "操作稽核",
|
||
"subtitle": "K8s 操作執行紀錄",
|
||
"loading": "載入中...",
|
||
"totalExecutions": "總執行數",
|
||
"successCount": "成功數",
|
||
"failureCount": "失敗數",
|
||
"successRate": "成功率",
|
||
"avgDuration": "平均耗時",
|
||
"recentOps": "最近操作",
|
||
"operation": "操作類型",
|
||
"namespace": "命名空間",
|
||
"result": "結果",
|
||
"time": "執行時間",
|
||
"error": "載入失敗",
|
||
"noUsers": "無稽核紀錄",
|
||
"name": "姓名",
|
||
"role": "角色",
|
||
"status": "狀態"
|
||
},
|
||
"emptyState": {
|
||
"noData": "--",
|
||
"comingSoon": "資料尚未整合"
|
||
},
|
||
"drift": {
|
||
"title": "配置漂移偵測",
|
||
"subtitle": "GitOps 守門員 — 偵測 K8s 實際狀態 vs Git YAML 的漂移",
|
||
"scan": "立即掃描",
|
||
"scanning": "掃描中...",
|
||
"loading": "載入中...",
|
||
"noReports": "目前無漂移報告",
|
||
"noReportsHint": "CronJob 每小時自動掃描,或點擊「立即掃描」手動觸發",
|
||
"noDrift": "無漂移",
|
||
"reportId": "報告 ID",
|
||
"scannedAt": "掃描時間",
|
||
"namespace": "Namespace",
|
||
"triggeredBy": "觸發來源",
|
||
"highCount": "高",
|
||
"mediumCount": "中",
|
||
"infoCount": "低",
|
||
"status": "狀態",
|
||
"driftLevel": {
|
||
"high": "高",
|
||
"medium": "中",
|
||
"info": "低"
|
||
},
|
||
"interpretation": "Nemotron 意圖分析",
|
||
"noInterpretation": "無需分析(無漂移)",
|
||
"rollback": "覆蓋回 Git",
|
||
"adopt": "承認變更",
|
||
"rollbackConfirm": "確定要將此資源覆蓋回 Git 狀態嗎?",
|
||
"adoptConfirm": "確定要將此變更承認並更新至 Git 嗎?",
|
||
"pending": "待處理",
|
||
"resolved": "已解決",
|
||
"ignored": "已忽略"
|
||
},
|
||
"neuralCommand": {
|
||
"title": "神經指揮中心",
|
||
"subtitle": "SSH_COMMAND 指揮權鏈 · OpenClaw 🦞 × NemoTron ⚡",
|
||
"lastRefresh": "更新於 {time}",
|
||
"refresh": "重新整理",
|
||
"preFlightAudit": "Pre-Flight 審查",
|
||
"liveCommand": "指揮中心",
|
||
"statsHistory": "統計 & 歷史",
|
||
"nuclearApproval": "核鑰授權",
|
||
"preFlightTitle": "SSH_COMMAND 架構安全預審",
|
||
"preFlightSubtitle": "WHITELIST 已更新至生產標準",
|
||
"progress": "修復進度",
|
||
"riskLevel": "風險等級",
|
||
"riskLow": "低",
|
||
"auditStatus": "審查狀態",
|
||
"passed": "通過",
|
||
"pending": "待處理",
|
||
"passBannerTitle": "預審通過 — 架構符合安全規範",
|
||
"passBannerDesc": "8/8 檢查項目已通過 · Shell Injection 防護已啟用 · known_hosts 已掛載",
|
||
"statusFixed": "已修復",
|
||
"statusPending": "待處理",
|
||
"featureToggles": "功能開關狀態",
|
||
"approvedPlaybooks": "已核准 Playbooks",
|
||
"highQuality": "高品質",
|
||
"totalExecutions": "總執行次數",
|
||
"successRate": "成功率",
|
||
"checkA1Label": "密鑰檢查 (known_hosts)",
|
||
"checkA1Desc": "K8s Secret 掛載至 /etc/repair-ssh/known_hosts",
|
||
"checkA2Label": "白名單 (ConfigMap)",
|
||
"checkA2Desc": "Hardcoded Whitelist → K8s ConfigMap",
|
||
"checkA3Label": "指令注入過濾",
|
||
"checkA3Desc": "禁止 ; | && $() · 長度上限 512 字元",
|
||
"checkB1Label": "稽核日誌 (AuditLog)",
|
||
"checkB1Desc": "Missing AuditLog → PostgreSQL 寫入",
|
||
"checkB2Label": "Langfuse 鍵路追蹤",
|
||
"checkB2Desc": "SSH Trace Missing → 決策溯源已補上",
|
||
"checkC1Label": "冪等鎖 (Redis)",
|
||
"checkC1Desc": "repair_lock 防止重複執行",
|
||
"checkC2Label": "反饋閉環 (Success Rate)",
|
||
"checkC2Desc": "Success Rate Update → RAG 信心自更新",
|
||
"checkC3Label": "執行路徑明確化 (.188)",
|
||
"checkC3Desc": "ansible:// 強制路由至 .188 控制節點",
|
||
"agentRoleOC": "診斷 & RAG 匹配",
|
||
"agentRoleNemo": "決策 & 執行下令",
|
||
"todayMatches": "本日匹配",
|
||
"ragConf": "RAG 信心",
|
||
"execSuccess": "執行成功",
|
||
"avgDuration": "平均耗時",
|
||
"pendingApproval": "待審核",
|
||
"alertRadar": "告警雷達",
|
||
"chainTitle": "神經傳導路徑",
|
||
"nodeDone": "完成",
|
||
"nodeActive": "執行中",
|
||
"nodeWaiting": "等待中",
|
||
"execStream": "執行串流",
|
||
"waitingApproval": "等待統帥授權",
|
||
"kpiSuccessRate": "整體成功率",
|
||
"kpiTotalExec": "總執行次數",
|
||
"kpiPlaybooks": "Playbooks",
|
||
"kpiAvgDuration": "平均修復時間",
|
||
"kpiPendingAppr": "待審核授權",
|
||
"trendUp": "↑ {n}% 本週",
|
||
"trendDown": "↓ {n}s 本週",
|
||
"schemeBreakdown": "執行路徑分佈",
|
||
"playbookRanking": "Playbook 成效排名",
|
||
"thName": "名稱",
|
||
"thType": "類型",
|
||
"thRate": "成功率",
|
||
"thCount": "執行",
|
||
"historyTimeline": "修復歷史時間軸",
|
||
"ago": "前",
|
||
"approvalTitle": "主機層指揮令 — 需要統帥授權",
|
||
"diagnosis": "診斷",
|
||
"recommendation": "建議",
|
||
"execPathDetails": "執行路徑詳情",
|
||
"uriScheme": "URI Scheme",
|
||
"controlNode": "控制節點",
|
||
"targetHost": "目標主機",
|
||
"playbookPath": "Playbook",
|
||
"repairLock": "冪等鎖",
|
||
"riskMediumDesc": "操作不可即時撤銷,但有備份保護",
|
||
"confirmExec": "長按 5 秒確認授權執行",
|
||
"rejectApproval": "拒絕授權 — 轉人工處理",
|
||
"approvalGranted": "授權已核准",
|
||
"approvalGrantedDesc": "NemoTron 正在執行 ansible-playbook...",
|
||
"approvalRejected": "授權已拒絕",
|
||
"approvalRejectedDesc": "已轉交人工處理",
|
||
"noHistory": "尚無修復紀錄",
|
||
"noActiveAlerts": "目前無活躍告警",
|
||
"noPlaybooks": "尚無 Playbook 紀錄",
|
||
"noApprovals": "目前無待審核項目",
|
||
"noApprovalsDesc": "所有授權請求已處理完畢",
|
||
"chainAlert": "告警觸發",
|
||
"chainRAG": "🦞 OpenClaw RAG 診斷",
|
||
"chainDecide": "⚡ NemoTron 決策",
|
||
"chainExec": "Executor 路由",
|
||
"chainIdleSub": "等待新告警進入...",
|
||
"backToList": "返回列表",
|
||
"approvalError": "操作失敗",
|
||
"processing": "處理中...",
|
||
"blastRadius": "爆炸半徑",
|
||
"affectedPods": "影響 Pods",
|
||
"estimatedDowntime": "預估停機",
|
||
"relatedServices": "相關服務",
|
||
"dataImpact": "資料影響",
|
||
"dryRunChecks": "Dry-Run 檢查",
|
||
"approvalQueueCount": "共 {count} 個待審核項目",
|
||
"dispositionBreakdown": "告警處置分佈",
|
||
"dispositionAuto": "自動修復",
|
||
"dispositionHuman": "人工審核",
|
||
"dispositionManual": "手動處理",
|
||
"dispositionCold": "冷啟動信任",
|
||
"autoRateLabel": "自動化率"
|
||
},
|
||
"alertOpLogs": {
|
||
"title": "告警操作日誌",
|
||
"subtitle": "alert_operation_log · 全事件流追蹤",
|
||
"refresh": "重新整理",
|
||
"totalEvents24h": "24h 總事件",
|
||
"allEventTypes": "全部事件類型",
|
||
"incidentIdFilter": "Incident ID 篩選...",
|
||
"totalCount": "共 {count} 筆",
|
||
"colTime": "時間",
|
||
"colEventType": "事件類型",
|
||
"colIncident": "Incident",
|
||
"colActor": "操作者",
|
||
"colDetail": "說明",
|
||
"colResult": "結果",
|
||
"loading": "載入中...",
|
||
"noRecords": "無記錄",
|
||
"loadError": "載入失敗,請重試",
|
||
"pageInfo": "第 {page} / {total} 頁",
|
||
"prevPage": "上一頁",
|
||
"nextPage": "下一頁",
|
||
"eventAlertReceived": "告警收到",
|
||
"eventTelegramSent": "TG 通知",
|
||
"eventUserAction": "用戶操作",
|
||
"eventAutoRepairTriggered": "自動修復",
|
||
"eventExecutionStarted": "執行開始",
|
||
"eventExecutionCompleted": "執行完成",
|
||
"eventTelegramResultSent": "TG 結果",
|
||
"eventResolved": "已解決",
|
||
"eventSilenced": "已靜音",
|
||
"eventEscalated": "已升級",
|
||
"eventGuardrailBlocked": "護欄攔截",
|
||
"eventPreFlightPassed": "預檢通過",
|
||
"eventPreFlightFailed": "預檢失敗",
|
||
"eventBackupTriggered": "備份觸發",
|
||
"eventBackupCompleted": "備份完成",
|
||
"eventBackupFailed": "備份失敗",
|
||
"eventApprovalEscalated": "審批升級",
|
||
"eventChangeApplied": "變更套用"
|
||
},
|
||
"commandPalette": {
|
||
"placeholder": "搜尋指令、頁面或事件...",
|
||
"noResults": "找不到符合結果",
|
||
"hint": "↑↓ 選擇 Enter 確認 Esc 關閉",
|
||
"groupNav": "導航",
|
||
"groupActions": "快速動作",
|
||
"groupRecent": "最近事件",
|
||
"actionOpenTerminal": "開啟 Omni-Terminal",
|
||
"actionGoHome": "前往指令中心",
|
||
"actionGoObservability": "前往可觀測性",
|
||
"actionGoAutomation": "前往自動化",
|
||
"actionGoOperations": "前往營運",
|
||
"actionGoSecurity": "前往安全合規",
|
||
"actionGoIwooos": "前往 IwoooS",
|
||
"actionGoKnowledge": "前往知識殿堂",
|
||
"actionGoSettings": "前往設定",
|
||
"actionGoTerminal": "前往終端頁面",
|
||
"actionGoApprovals": "前往授權中心"
|
||
},
|
||
"aiopsTimeline": {
|
||
"title": "AIOps 全景時序",
|
||
"subtitle": "告警→感官調查→AI決策→自動執行→驗證→學習 完整鏈路",
|
||
"mockBadge": "MOCK 模式",
|
||
"stages": {
|
||
"alert": "告警觸發",
|
||
"diagnose": "感官調查",
|
||
"decide": "AI 決策",
|
||
"execute": "自動執行",
|
||
"verify": "結果驗證",
|
||
"learn": "學習更新"
|
||
},
|
||
"status": {
|
||
"success": "成功",
|
||
"running": "執行中",
|
||
"failed": "失敗",
|
||
"skipped": "跳過",
|
||
"pending": "待執行"
|
||
},
|
||
"filters": {
|
||
"incident_id": "事件編號",
|
||
"incident_id_placeholder": "搜尋事件 ID...",
|
||
"time_range": "時間範圍",
|
||
"status_filter": "狀態篩選",
|
||
"incident_count": "{count} 筆事件",
|
||
"timeRange": {
|
||
"1h": "1H",
|
||
"6h": "6H",
|
||
"24h": "24H",
|
||
"7d": "7D"
|
||
},
|
||
"statusFilter": {
|
||
"all": "全部",
|
||
"success": "成功",
|
||
"failed": "失敗",
|
||
"running": "進行中"
|
||
}
|
||
},
|
||
"incident": {
|
||
"started_at": "開始時間",
|
||
"resolved_at": "結束時間",
|
||
"duration": "持續時長",
|
||
"in_progress": "處理中",
|
||
"severity": "嚴重度",
|
||
"stages_summary": "{success} 成功 / {total} 階段",
|
||
"expand_all": "展開全部",
|
||
"collapse_all": "收合全部"
|
||
},
|
||
"stage": {
|
||
"toggle_details": "展開 {stage} 詳情"
|
||
},
|
||
"evidence": {
|
||
"dimensions": "8D 維度",
|
||
"anomalyCount": "{count}/{total} 異常維度",
|
||
"noData": "N/A"
|
||
},
|
||
"stageDetails": {
|
||
"alert": {
|
||
"name": "告警名稱",
|
||
"rule": "規則",
|
||
"value": "當前值",
|
||
"labels": "標籤"
|
||
},
|
||
"diagnose": {
|
||
"investigator": "調查器",
|
||
"tools_used": "MCP 工具",
|
||
"hypothesis": "根因假設",
|
||
"evidence": "8D 證據"
|
||
},
|
||
"decide": {
|
||
"engine": "決策引擎",
|
||
"fusion": "融合方法",
|
||
"confidence": "信心度",
|
||
"confidenceThreshold": "門檻 {value}%",
|
||
"auto_execute": "自動執行",
|
||
"auto_yes": "是",
|
||
"auto_no": "否(需授權)",
|
||
"playbook": "Playbook",
|
||
"decision": "決策指令",
|
||
"reasoning": "推理依據",
|
||
"alternates": "備選方案"
|
||
},
|
||
"execute": {
|
||
"command": "執行指令",
|
||
"target": "執行目標",
|
||
"executor": "執行器",
|
||
"duration": "耗時",
|
||
"stdout": "輸出",
|
||
"exit_code": "退出碼"
|
||
},
|
||
"verify": {
|
||
"verifier": "驗證器",
|
||
"outcome": "結果",
|
||
"checks": "檢查項",
|
||
"trust_delta": "信任度變化",
|
||
"notes": "備註"
|
||
},
|
||
"learn": {
|
||
"playbook": "Playbook",
|
||
"trust_update": "信任度更新",
|
||
"km_entry": "知識庫記錄",
|
||
"summary": "學習摘要"
|
||
}
|
||
},
|
||
"loading": "載入時序資料中...",
|
||
"empty": {
|
||
"title": "無事件記錄",
|
||
"subtitle": "目前沒有符合條件的 AIOps 事件"
|
||
},
|
||
"error": {
|
||
"title": "資料載入失敗",
|
||
"retry": "重試"
|
||
}
|
||
},
|
||
"governance": {
|
||
"title": "AI 治理中樞",
|
||
"complianceBadge": {
|
||
"label": "AI 治理中樞",
|
||
"loading": "載入中...",
|
||
"score": "整體合規率",
|
||
"target": "目標 ≥ 95%"
|
||
},
|
||
"tabs": {
|
||
"slo": "SLO 儀表",
|
||
"events": "治理事件",
|
||
"queue": "AI 待辦"
|
||
},
|
||
"comingSoon": "本 Tab 即將上線",
|
||
"slo": {
|
||
"kpi": {
|
||
"autonomy_rate": "自主化率",
|
||
"decision_accuracy": "決策準確率",
|
||
"confidence_calibration": "信心校準",
|
||
"km_growth_rate": "KM 成長率",
|
||
"mcp_call_diversity": "MCP 呼叫多樣性",
|
||
"auto_execute_success_rate": "自動執行成功率",
|
||
"human_override_rate": "人工推翻率",
|
||
"verifier_false_neg_rate": "驗證漏判率",
|
||
"current": "當前",
|
||
"target": "目標",
|
||
"sparkline": "7 日趨勢",
|
||
"loading": "載入中...",
|
||
"error": "無法載入",
|
||
"noData": "暫無資料",
|
||
"sampleCount": "樣本 {count}",
|
||
"window": "視窗 {window}",
|
||
"state": {
|
||
"ok": "正常",
|
||
"warning": "低於目標",
|
||
"violated": "硬紅線",
|
||
"skipped_low_volume": "低樣本等待",
|
||
"no_data": "沒有資料",
|
||
"error": "查詢失敗",
|
||
"partial": "部分可評估"
|
||
},
|
||
"reason": {
|
||
"none": "無",
|
||
"denominator_below_minimum_events": "分母事件不足",
|
||
"prometheus_nan_or_inf": "Prometheus 暫無有效分母",
|
||
"prometheus_empty_result_metric_not_emitted": "Prometheus 尚未回傳指標",
|
||
"unknown": "原因待查"
|
||
}
|
||
},
|
||
"chart": {
|
||
"title": "30 日違反事件時序",
|
||
"xAxisLabel": "日期",
|
||
"yAxisLabel": "次數",
|
||
"loading": "載入圖表...",
|
||
"error": "圖表載入失敗",
|
||
"empty": "30 日內無違反事件",
|
||
"tooltip": "違反次數"
|
||
},
|
||
"compliance": {
|
||
"title": "整體合規率",
|
||
"target": "目標 ≥ 95%"
|
||
},
|
||
"coverage": {
|
||
"title": "驗證覆蓋率",
|
||
"subtitle": "近 {window} 自動修復執行與 verifier 寫回狀態",
|
||
"totalAuto": "自動修復",
|
||
"verifiedAuto": "已驗證",
|
||
"unverifiedAuto": "待驗證",
|
||
"coverageRate": "覆蓋率",
|
||
"successRate": "成功驗證",
|
||
"lastVerified": "最後已驗證執行",
|
||
"reasonLabel": "原因",
|
||
"failureBreakdown": "非成功驗證分類",
|
||
"recentFindings": "近期非成功驗證",
|
||
"remediationQueue": "補救工作佇列",
|
||
"queueSummary": "總數 {total};AI 可接手 {ready};人工 {human}",
|
||
"dryRunButton": "試跑",
|
||
"dryRunLoading": "試跑中",
|
||
"dryRunResult": "{mode};預覽 {result};工具 {tools}",
|
||
"dryRunHistoryRecorded": "已寫入歷史",
|
||
"dryRunHistorySummary": "歷史 {count} 次;上次 {time};{route}",
|
||
"dryRunBlocked": "試跑未放行",
|
||
"dryRunError": "試跑失敗",
|
||
"state": {
|
||
"ok": "正常",
|
||
"warning": "需追蹤",
|
||
"violated": "硬紅線",
|
||
"skipped_low_volume": "等待樣本",
|
||
"no_data": "沒有資料",
|
||
"error": "查詢失敗"
|
||
},
|
||
"reason": {
|
||
"none": "無",
|
||
"no_auto_repair_executions_24h": "近 24h 無自動修復執行",
|
||
"verification_backlog_present": "有自動修復尚未寫入驗證結果",
|
||
"non_success_verification_present": "存在 degraded / failed / timeout 驗證結果",
|
||
"postgresql_query_error": "PostgreSQL 查詢失敗"
|
||
},
|
||
"failureClass": {
|
||
"unsupported_action_scheme": "PlayBook 動作未走支援執行器",
|
||
"verifier_missing_promql": "Verifier 缺 PromQL 查詢",
|
||
"verifier_target_missing_pod": "Verifier 缺 Pod 目標",
|
||
"auto_repair_execution_failed": "自動修復執行失敗",
|
||
"verification_failed": "驗證失敗",
|
||
"verification_timeout": "驗證逾時",
|
||
"verification_degraded": "驗證降級",
|
||
"unknown": "待分類"
|
||
},
|
||
"nextStep": {
|
||
"normalize_playbook_executor": "修正 PlayBook 執行器",
|
||
"add_verifier_query_template": "補 verifier 查詢模板",
|
||
"map_verifier_target": "補 verifier 目標映射",
|
||
"review_auto_repair_execution": "檢查自動修復紀錄",
|
||
"escalate_verification_failure": "升級驗證失敗",
|
||
"review_degraded_verification": "檢查降級證據"
|
||
},
|
||
"remediationStatus": {
|
||
"ready_for_replay": "可重跑",
|
||
"ready_for_reverify": "可重驗",
|
||
"needs_target_mapping": "待補目標",
|
||
"needs_playbook_ticket": "待建 Ticket",
|
||
"manual_review": "人工檢查",
|
||
"unknown": "待分類"
|
||
},
|
||
"remediationAction": {
|
||
"replay_with_supported_executor": "用支援 executor 重跑",
|
||
"reverify_with_promql_template": "用 PromQL 模板重驗",
|
||
"map_target_and_reverify": "補目標後重驗",
|
||
"create_playbook_ticket": "建立 PlayBook Ticket",
|
||
"escalate_verification_failure": "升級驗證失敗",
|
||
"inspect_degraded_evidence": "檢查降級證據"
|
||
}
|
||
}
|
||
},
|
||
"events": {
|
||
"filter": {
|
||
"eventType": "事件類型",
|
||
"dateRange": "時間範圍",
|
||
"status": "狀態",
|
||
"severity": "嚴重度",
|
||
"clearAll": "清除全部",
|
||
"allStatuses": "全部狀態",
|
||
"resolved": "已解決",
|
||
"unresolved": "未解決",
|
||
"allSeverities": "全部嚴重度",
|
||
"critical": "危急",
|
||
"warning": "警告",
|
||
"info": "資訊",
|
||
"placeholder": "選擇事件類型...",
|
||
"from": "起始日期",
|
||
"to": "結束日期"
|
||
},
|
||
"column": {
|
||
"eventType": "事件類型",
|
||
"triggeredAt": "觸發時間",
|
||
"status": "狀態",
|
||
"impact": "影響摘要",
|
||
"actions": "操作"
|
||
},
|
||
"detail": {
|
||
"rawData": "原始資料",
|
||
"remediation": "修復建議",
|
||
"dispatch": "派遣記錄",
|
||
"noRemediation": "暫無修復建議",
|
||
"noDispatch": "暫無派遣記錄"
|
||
},
|
||
"eventType": {
|
||
"slo_breach": "SLO 違反",
|
||
"accuracy_drop": "準確率下降",
|
||
"km_stall": "KM 停滯",
|
||
"mcp_failure": "MCP 失敗",
|
||
"trust_degradation": "信任降級",
|
||
"unknown": "未知類型"
|
||
},
|
||
"status": {
|
||
"resolved": "已解決",
|
||
"unresolved": "未解決"
|
||
},
|
||
"severity": {
|
||
"critical": "危急",
|
||
"warning": "警告",
|
||
"info": "資訊"
|
||
},
|
||
"emptyState": "暫無治理事件",
|
||
"emptyStateHint": "目前系統運作正常,無違規事件",
|
||
"errorState": "無法載入事件列表",
|
||
"retry": "重試",
|
||
"page": "第",
|
||
"of": "頁,共",
|
||
"prevPage": "上一頁",
|
||
"nextPage": "下一頁",
|
||
"perPage": "每頁 20 筆 ·",
|
||
"expand": "展開詳情",
|
||
"collapse": "收合詳情"
|
||
},
|
||
"queue": {
|
||
"status": {
|
||
"connected": "即時更新中",
|
||
"disconnected": "離線模式",
|
||
"connecting": "連線中..."
|
||
},
|
||
"column": {
|
||
"eventType": "事件類型",
|
||
"createdAt": "建立時間",
|
||
"proposedAction": "建議操作",
|
||
"playbookTrust": "Playbook 信任度",
|
||
"dispatchStatus": "派遣狀態"
|
||
},
|
||
"action": {
|
||
"approve": "批准",
|
||
"reject": "拒絕",
|
||
"approveTitle": "批准此操作",
|
||
"rejectTitle": "拒絕此操作"
|
||
},
|
||
"history": {
|
||
"title": "歷史記錄",
|
||
"succeeded": "已成功",
|
||
"failed": "已失敗",
|
||
"empty": "暫無歷史記錄"
|
||
},
|
||
"emptyState": {
|
||
"noTable": "派遣表尚未建立",
|
||
"noTableHint": "Track D 派遣表正在初始化中",
|
||
"noPending": "目前無待辦事項",
|
||
"noPendingHint": "AI 系統運作正常,無需人工介入"
|
||
},
|
||
"sse": {
|
||
"label": "即時更新",
|
||
"connected": "已連線",
|
||
"disconnected": "已斷線"
|
||
},
|
||
"pendingSection": "待辦",
|
||
"loading": "載入待辦佇列...",
|
||
"error": "無法載入待辦佇列",
|
||
"retry": "重試"
|
||
}
|
||
},
|
||
"awooop": {
|
||
"home": {
|
||
"eyebrow": "AI 自動化飛輪控制面",
|
||
"title": "AwoooP 治理總覽",
|
||
"subtitle": "把租戶、合約、Run、審批與通道狀態收斂到同一個操作面,避免 AI 自動化飛輪和治理面各自長出一套邏輯。",
|
||
"refresh": "重新整理",
|
||
"snapshotStatus": "快照狀態",
|
||
"lastUpdated": "最後更新",
|
||
"migrationMode": "遷移模式",
|
||
"migrationValue": "mirror / shadow",
|
||
"ready": "同步中",
|
||
"loading": "讀取中",
|
||
"degraded": "降級",
|
||
"securityMirror": {
|
||
"title": "IwoooS 資安鏡像",
|
||
"subtitle": "AwoooP 首頁以只讀候選方式顯示 IwoooS / security mirror 狀態,讓使用者理解資安網進度與邊界;這不是 production landing enabled,也不接 execution router。",
|
||
"badge": "只讀候選",
|
||
"openIwooos": "開啟 IwoooS",
|
||
"checkpointsTitle": "接入檢查",
|
||
"boundaryLabel": "安全邊界",
|
||
"boundaryTitle": "仍維持低摩擦框架期",
|
||
"boundaryDetail": "這個面板只顯示 committed snapshot 與 guard 口徑,不呼叫 Kali、GitHub、Gitea 或 runtime API,也不提供 scan、execute、repair、deploy、primary switch 或 refs action。",
|
||
"metrics": {
|
||
"headline": {
|
||
"label": "整體資安網",
|
||
"detail": "headline 仍等 owner response、redacted ingestion、runtime gate、GitHub primary 或 AwoooP production landing evidence。"
|
||
},
|
||
"framework": {
|
||
"label": "框架成熟度",
|
||
"detail": "治理、文件、schema、read-only evidence 與 IwoooS projection 已接近完整。"
|
||
},
|
||
"runtime": {
|
||
"label": "落地執行",
|
||
"detail": "runtime ingestion、GitHub primary 與 AwoooP production landing 仍需後續 evidence。"
|
||
},
|
||
"activeGates": {
|
||
"label": "Active runtime gates",
|
||
"detail": "目前維持 0,任何主機或 blocking control 都仍需獨立批准。"
|
||
}
|
||
},
|
||
"checkpoints": {
|
||
"iwooosProjection": {
|
||
"title": "IwoooS projection 可讀",
|
||
"detail": "AwoooP 只顯示 IwoooS posture、progress、evidence refs 與 forbidden actions。"
|
||
},
|
||
"rollupGuard": {
|
||
"title": "Guard 口徑一致",
|
||
"detail": "接手前維持 security-mirror-progress-guard.py 與 source-control-owner-response-guard.py 綠燈。"
|
||
},
|
||
"ownerResponse": {
|
||
"title": "Owner response 仍等待",
|
||
"detail": "S4.9 到 S4.12 received / accepted 都仍為 0,不把顯示狀態當驗收完成。"
|
||
},
|
||
"productionLanding": {
|
||
"title": "Production landing 尚未完成",
|
||
"detail": "AwoooP 主線仍需 deployment proof 與 read-only consumption evidence 才能進入 headline 重估。"
|
||
}
|
||
}
|
||
},
|
||
"quality": {
|
||
"title": "自動化品質",
|
||
"subtitle": "最近 24 小時告警是否真正走到 AI 自動修復、驗證與學習回寫。",
|
||
"claimReady": "可宣稱完整閉環",
|
||
"claimBlocked": "不可宣稱完整閉環",
|
||
"unavailable": "無法讀取",
|
||
"loadFailed": "無法讀取自動化品質總覽。請確認 Operator 權限與 truth-chain API 狀態。",
|
||
"empty": "尚無可評估的告警品質資料。",
|
||
"yes": "是",
|
||
"no": "否",
|
||
"metrics": {
|
||
"evaluated": "已評估告警",
|
||
"evaluatedDetail": "套用同一組品質閘門",
|
||
"verified": "已驗證自動修復",
|
||
"verifiedDetail": "必須有自動修復與驗證記錄",
|
||
"averageScore": "平均分數",
|
||
"averageScoreDetail": "0 到 100 的流程完整度",
|
||
"claim": "生產宣稱",
|
||
"claimReadyDetail": "所有告警都完成驗證閉環",
|
||
"claimBlockedDetail": "仍有告警缺少執行、驗證或學習記錄"
|
||
},
|
||
"scoreBuckets": "分數區間",
|
||
"scoreBucketsDetail": "共 {total} 筆已評估告警",
|
||
"green": "綠",
|
||
"yellow": "黃",
|
||
"red": "紅",
|
||
"verdictTitle": "流程判定分布",
|
||
"gateFailureTitle": "主要缺口",
|
||
"scoreRange": "最低 {min} / 最高 {max} / 平均 {avg}",
|
||
"verdicts": {
|
||
"autoRepairedVerified": "已驗證自動修復",
|
||
"executionUnverified": "已執行但未驗證",
|
||
"executionFailed": "執行失敗",
|
||
"manualRequiredNoAction": "人工介入:NO_ACTION",
|
||
"approvalRequired": "等待審批",
|
||
"observedNotExecuted": "已觀測但未執行",
|
||
"receivedOnly": "僅收到告警"
|
||
},
|
||
"gates": {
|
||
"sourcePersisted": "來源已落庫",
|
||
"outboundRecorded": "Outbound 記錄",
|
||
"evidenceCollected": "證據收集",
|
||
"mcpGatewayObserved": "MCP Gateway",
|
||
"approvalState": "審批狀態",
|
||
"executionRecorded": "執行記錄",
|
||
"autoRepairRecorded": "自動修復記錄",
|
||
"verificationRecorded": "驗證記錄",
|
||
"learningRecorded": "學習回寫",
|
||
"timelineRecorded": "Timeline 記錄"
|
||
},
|
||
"gateStatuses": {
|
||
"failed": "失敗",
|
||
"missing": "缺少"
|
||
}
|
||
},
|
||
"metrics": {
|
||
"tenants": "租戶",
|
||
"tenantsDetail": "{active} 個啟用,{shadow} 個 shadow",
|
||
"runs": "Operator Runs",
|
||
"runsDetail": "Run state 是非同步任務的唯一觀測入口",
|
||
"approvals": "待審批",
|
||
"approvalsDetail": "所有高風險動作都必須停在人工閘門",
|
||
"contracts": "合約",
|
||
"contractsDetail": "Project / Agent / Policy contract 發布狀態"
|
||
},
|
||
"disposition": {
|
||
"title": "處置語義",
|
||
"diagnosis": {
|
||
"title": "只讀診斷",
|
||
"signal": "AI 已收集證據",
|
||
"owner": "負責:AI 先整理,SRE 判讀",
|
||
"route": "流向:Run 監控 / 事件詳情"
|
||
},
|
||
"approval": {
|
||
"title": "人工閘門",
|
||
"signal": "高風險待批准",
|
||
"owner": "負責:SRE approve / reject",
|
||
"route": "流向:審批佇列"
|
||
},
|
||
"execute": {
|
||
"title": "自動執行",
|
||
"signal": "低風險可閉環",
|
||
"owner": "負責:MCP Gateway 執行並稽核",
|
||
"route": "流向:Run State / Audit"
|
||
},
|
||
"manual": {
|
||
"title": "人工升級",
|
||
"signal": "AI 無法安全修復",
|
||
"owner": "負責:戰情室接手",
|
||
"route": "流向:AwoooI SRE 戰情室"
|
||
}
|
||
},
|
||
"lanes": {
|
||
"title": "飛輪鏈路",
|
||
"live": "已接線",
|
||
"mirror": "Mirror",
|
||
"providerName": "Provider 順序",
|
||
"providerDetail": "GCP-A Ollama -> GCP-B Ollama -> 111 Ollama -> OpenClaw/Nemo -> Gemini",
|
||
"mcpName": "MCP Gateway",
|
||
"mcpDetail": "MCP Gateway 先 mirror / wrap,確認 audit 與 redaction 後才切成唯一閘門",
|
||
"channelName": "Channel Hub",
|
||
"channelDetail": "Telegram / LINE / Slack 先進 Channel Event,再逐步切換發送責任",
|
||
"approvalName": "Approval Plane",
|
||
"approvalDetail": "Run state 與 Approval plane 共享同一條審批語義"
|
||
},
|
||
"next": {
|
||
"title": "下一步操作",
|
||
"item1": "查看 Run 監控與 provider fallback",
|
||
"item2": "處理等待審批的高風險操作",
|
||
"item3": "審查 Contract lifecycle",
|
||
"item4": "查看 AwoooP 工作鏈路地圖"
|
||
}
|
||
},
|
||
"contracts": {
|
||
"securityContractCandidate": {
|
||
"title": "IwoooS 資安契約只讀候選",
|
||
"subtitle": "合約儀表板只顯示 IwoooS / security mirror 目前依賴的 schema、snapshot 與 guard 口徑;這不是 contract publish,也不會觸發 runtime gate。",
|
||
"badge": "契約候選",
|
||
"contractRefsTitle": "只讀 contract refs",
|
||
"boundaryLabel": "合約邊界",
|
||
"boundaryTitle": "目前沒有可發布的資安合約",
|
||
"boundaryDetail": "這個面板不發布 contract revision、不改合約生命週期、不寫入 platform contracts API、不呼叫 GitHub / Gitea / Kali,也不新增 scan、execute、deploy、primary switch 或 refs action。",
|
||
"openIwooos": "開啟 IwoooS",
|
||
"metrics": {
|
||
"totalContracts": "總 contracts",
|
||
"totalContractsDetail": "security mirror 目前彙整 36 個主要 contract。",
|
||
"readyForMirror": "Ready for mirror",
|
||
"readyForMirrorDetail": "33 個 ready、2 個 partial、1 個 contract-only、0 blocked。",
|
||
"partialReady": "Partial",
|
||
"partialReadyDetail": "缺口仍集中在 owner response、payload ingestion 與 source-control owner evidence。",
|
||
"activeRuntimeGates": "Active runtime gates",
|
||
"activeRuntimeGatesDetail": "仍為 0;合約可見性不等於 runtime enforcement。"
|
||
},
|
||
"contractRefs": {
|
||
"statusRollup": "AwoooP / Security Session 的共同狀態入口,只彙整進度與安全 gate。",
|
||
"postureProjection": "IwoooS 前端態勢、主機覆蓋、owner response focus 與禁止動作的投影契約。",
|
||
"ownerValidation": "S4.9-S4.12 owner response received / accepted 分離與 reviewer 檢查口徑。",
|
||
"rolloutPolicy": "低摩擦、observe-first、owner review before blocking 的 rollout policy。"
|
||
}
|
||
}
|
||
},
|
||
"approvals": {
|
||
"securityOwnerResponseGate": {
|
||
"title": "IwoooS Owner Response 只讀審查焦點",
|
||
"subtitle": "AwoooP 審批佇列只顯示 S4.9-S4.12 owner response 的下一個人工收件焦點;這不是 approval record,也不會開 runtime gate。",
|
||
"badge": "只讀焦點",
|
||
"ownerChecksTitle": "Owner response 收件順序",
|
||
"boundaryLabel": "審批邊界",
|
||
"boundaryTitle": "目前仍沒有可核准項目",
|
||
"boundaryDetail": "這個面板不送出 request、不標記 received / accepted、不建立 approval record、不呼叫 GitHub / Gitea / Kali,也不新增 approve、execute、deploy、primary switch 或 refs action。",
|
||
"openIwooos": "開啟 IwoooS",
|
||
"metrics": {
|
||
"received": "Received",
|
||
"receivedDetail": "S4.9-S4.12 owner response received 仍為 0。",
|
||
"accepted": "Accepted",
|
||
"acceptedDetail": "尚未有可接受的脫敏 owner evidence。",
|
||
"activeRuntimeGates": "Active runtime gates",
|
||
"activeRuntimeGatesDetail": "任何 runtime gate 仍需獨立批准與 rollback / post-check evidence。",
|
||
"headline": "整體資安網",
|
||
"headlineDetail": "58% 只在 owner response、runtime gate、GitHub primary 或 production landing 有 evidence 時重估。"
|
||
},
|
||
"checks": {
|
||
"s49OwnerAttestation": {
|
||
"title": "S4.9 Gitea owner attestation",
|
||
"detail": "下一個建議先收;需要回覆 public-only / local gap、org / user endpoint、110 adjacent source、canonical owner 與 legacy disposition。"
|
||
},
|
||
"s410GithubTarget": {
|
||
"title": "S4.10 GitHub target owner",
|
||
"detail": "等待 S4.9 之後收斂 7 個 GitHub target 的 owner / visibility / canonical decision。"
|
||
},
|
||
"s411RefsTruth": {
|
||
"title": "S4.11 refs truth owner response",
|
||
"detail": "等待 owner 對 main / dev truth、deprecated drift、release tags 與 GitHub-only refs 做脫敏判定。"
|
||
},
|
||
"s412WorkflowSecret": {
|
||
"title": "S4.12 workflow / secret 名稱",
|
||
"detail": "等待 owner 對 webhook、runner、deploy key、branch protection / CODEOWNERS、secret name parity 做脫敏判定。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"workItems": {
|
||
"title": "工作鏈路",
|
||
"subtitle": "{count} 個控制點,依 production truth-chain 與治理資料同步狀態",
|
||
"refresh": "重新整理",
|
||
"lastUpdated": "最後更新 {time}",
|
||
"tableLabel": "AwoooP 工作鏈路",
|
||
"open": "開啟",
|
||
"summary": {
|
||
"live": "已完成",
|
||
"inProgress": "推進中",
|
||
"watching": "觀察期",
|
||
"blocked": "阻塞"
|
||
},
|
||
"status": {
|
||
"live": "已完成",
|
||
"in_progress": "推進中",
|
||
"blocked": "阻塞",
|
||
"watching": "觀察期"
|
||
},
|
||
"columns": {
|
||
"phase": "階段",
|
||
"work": "工作項目",
|
||
"status": "狀態",
|
||
"surface": "前端操作面",
|
||
"source": "資料來源",
|
||
"evidence": "Production 證據",
|
||
"gate": "完成閘門",
|
||
"link": "Link"
|
||
},
|
||
"surfaces": {
|
||
"runs": "Run 監控 / Run Detail",
|
||
"governance": "治理事件 / SLO",
|
||
"workItems": "工作鏈路",
|
||
"iwooos": "IwoooS / 資安鏡像"
|
||
},
|
||
"items": {
|
||
"sourceDossier": {
|
||
"title": "來源事件卷宗與 truth-chain mirror"
|
||
},
|
||
"autoRepair": {
|
||
"title": "低風險 Alertmanager 自動修復閉環"
|
||
},
|
||
"remediationQueue": {
|
||
"title": "非成功驗證補救工作佇列"
|
||
},
|
||
"telegramCallbacks": {
|
||
"title": "Telegram 詳情 / 歷史改為 DB truth-first"
|
||
},
|
||
"governanceDispatch": {
|
||
"title": "治理告警 dispatch 與去重"
|
||
},
|
||
"frontendConsole": {
|
||
"title": "AwoooP Operator Console 產品化"
|
||
},
|
||
"iwooosSecurityMirror": {
|
||
"title": "IwoooS 資安鏡像只讀工作項"
|
||
},
|
||
"mcpGateway": {
|
||
"title": "MCP Gateway 使用證據總覽"
|
||
},
|
||
"timelineContract": {
|
||
"title": "Timeline / KM / PlayBook 回寫一致性"
|
||
}
|
||
},
|
||
"gates": {
|
||
"sourceDossier": "入站告警必須能查到 received / incident_linked / source refs",
|
||
"autoRepair": "必須同時有 auto_repair、verification_result=success 與 KM 回寫",
|
||
"remediationQueue": "每筆 degraded / failed / timeout 都必須映射到重跑、重驗、Ticket 或人工檢查",
|
||
"telegramCallbacks": "按下詳情與歷史不能再只依賴 Redis TTL 或舊快照",
|
||
"governanceDispatch": "治理告警必須進 dispatch,並標示 skipped / pending / repaired",
|
||
"frontendConsole": "已完成與推進中的工作必須能從前端直接追蹤",
|
||
"iwooosSecurityMirror": "只讀追蹤資安網進度與邊界;不得建立 scan、execute、repair、deploy、primary switch 或 runtime gate",
|
||
"mcpGateway": "MCP 使用必須看得到 agent、tool、scope 與 blocked 原因",
|
||
"timelineContract": "Incident、Approval、Evidence、KM、Timeline 不得互相矛盾"
|
||
},
|
||
"evidence": {
|
||
"channelEvents": "最近 Alertmanager channel events:{count}",
|
||
"autoRepair": "已驗證自動修復:{verified}/{evaluated}",
|
||
"remediationQueue": "補救工作:{total};AI 可接手:{ready};人工:{human}",
|
||
"telegramCallbacks": "目前修補 Telegram callback 查詢鏈與歷史摘要",
|
||
"governance": "未解治理告警:{unresolved};pending dispatch:{queued}",
|
||
"governanceUnavailable": "治理事件 API 目前無法回應;pending dispatch:{queued}",
|
||
"governanceQueueMissing": "治理 dispatch 表尚未就緒;未解治理告警:{unresolved}",
|
||
"frontendConsole": "本頁已改讀 production API,而非靜態清單",
|
||
"iwooosSecurityMirror": "整體 {headline};框架 {framework};落地 {runtime};active runtime gates={gates}",
|
||
"iwooosSecurityMirrorOwner": "Owner response 仍等待;production_landing_enabled=false",
|
||
"iwooosSecurityMirrorBoundary": "execution_router_linked=false;runtime_execution_authorized=false;action_buttons_allowed=false",
|
||
"mcpReady": "MCP Gateway gate 目前未列為主要缺口",
|
||
"mcpMissing": "品質總覽仍指出 MCP Gateway 觀測缺口",
|
||
"remediationHistory": "試跑歷史:{count} 次;上次 {preview}",
|
||
"remediationHistoryEmpty": "尚無補救試跑歷史",
|
||
"remediationRoute": "MCP:{route}",
|
||
"remediationWrites": "寫入:incident={incident};autoRepair={autoRepair}",
|
||
"timelineReady": "Timeline gate 目前未列為主要缺口",
|
||
"timelineMissing": "品質總覽仍指出 Timeline / 稽核記錄缺口"
|
||
}
|
||
},
|
||
"listEvidence": {
|
||
"column": "AI 證據",
|
||
"count": "試跑 {count} 次",
|
||
"route": "MCP:{route}",
|
||
"emptyShort": "尚未連到補救試跑",
|
||
"manualGate": "下一步:人工審批",
|
||
"filters": {
|
||
"label": "AI 證據篩選",
|
||
"all": "所有 AI 證據",
|
||
"incidentLabel": "Incident ID 篩選",
|
||
"incidentPlaceholder": "輸入 Incident ID"
|
||
},
|
||
"incident": {
|
||
"column": "Incident",
|
||
"empty": "尚未關聯",
|
||
"filterTitle": "只看 {incidentId}",
|
||
"more": "+{count} 筆"
|
||
},
|
||
"statuses": {
|
||
"noEvidence": "尚無試跑",
|
||
"readOnlyDryRun": "AI 已試跑:只讀",
|
||
"writeObserved": "有寫入旗標",
|
||
"blocked": "試跑受阻",
|
||
"observed": "有補救證據"
|
||
},
|
||
"details": {
|
||
"noEvidence": "此列尚未從 alert_operation_log 連到 ADR-100 補救試跑。",
|
||
"readOnlyDryRun": "AI 已走補救試跑,且最新紀錄沒有寫入 incident 或 auto-repair 狀態。",
|
||
"writeObserved": "最新補救紀錄含寫入旗標,審批前需確認狀態變更來源。",
|
||
"blocked": "補救試跑未通過或被 gate 阻擋,需人工確認卡點。",
|
||
"observed": "此列已連到補救歷史,請進入 Run Timeline 查看完整證據。"
|
||
},
|
||
"summary": {
|
||
"readOnly": "只讀試跑",
|
||
"readOnlyDetail": "最新證據顯示 AI 已試跑且未寫狀態",
|
||
"manualGate": "人工閘門",
|
||
"manualGateDetail": "AI 已停在 approval gate,需 approve / reject",
|
||
"writeObserved": "寫入旗標",
|
||
"writeObservedDetail": "需確認是否為預期自動修復結果",
|
||
"noEvidence": "缺補救證據",
|
||
"noEvidenceDetail": "列表尚未連到 ADR-100 dry-run history",
|
||
"approvalReadOnlyDetail": "審批前已有只讀補救證據可回看",
|
||
"approvalNoEvidenceDetail": "審批前仍缺補救試跑證據,需進 Run Timeline 檢查"
|
||
}
|
||
},
|
||
"incidentEvidence": {
|
||
"title": "Incident Evidence",
|
||
"subtitle": "Telegram、Run、Approval 與 Work Item 共用同一組補救證據",
|
||
"empty": "--",
|
||
"incidentLabel": "Incident",
|
||
"notLinked": "尚未關聯 Incident",
|
||
"filterTitle": "只看 {incidentId}",
|
||
"more": "+{count} 筆",
|
||
"dryRuns": "Dry-run",
|
||
"route": "MCP 路由",
|
||
"writes": "寫入旗標",
|
||
"writeFlags": "incident={incident} / autoRepair={autoRepair}",
|
||
"runLink": "Run Timeline"
|
||
},
|
||
"runDetail": {
|
||
"back": "返回 Run 監控",
|
||
"title": "Run 處置脈絡",
|
||
"refresh": "重新整理",
|
||
"empty": "--",
|
||
"durationSeconds": "{seconds}s",
|
||
"errors": {
|
||
"title": "無法載入 Run 詳情",
|
||
"loadFailed": "載入失敗"
|
||
},
|
||
"stats": {
|
||
"state": "目前狀態",
|
||
"timeline": "Timeline",
|
||
"mcpSteps": "MCP / Steps",
|
||
"duration": "執行時間"
|
||
},
|
||
"summary": {
|
||
"title": "Run 摘要",
|
||
"project": "Project",
|
||
"agent": "Agent",
|
||
"traceId": "Trace ID",
|
||
"trigger": "Trigger",
|
||
"triggerRef": "Trigger Ref",
|
||
"cost": "Cost",
|
||
"attempts": "Attempts",
|
||
"created": "Created",
|
||
"completed": "Completed",
|
||
"error": "Error"
|
||
},
|
||
"timeline": {
|
||
"title": "處置時間線",
|
||
"lastUpdated": "上次更新 {time}",
|
||
"count": "{count} 筆",
|
||
"empty": "尚無時間線資料。"
|
||
},
|
||
"gateway": {
|
||
"title": "MCP Gateway",
|
||
"emptyState": "尚無紀錄",
|
||
"agent": "Agent",
|
||
"tool": "Tool",
|
||
"scope": "Scope",
|
||
"blockers": "卡點",
|
||
"metrics": {
|
||
"firstClass": "First-class",
|
||
"policy": "Policy enforced",
|
||
"approvalExecutor": "Approval executor",
|
||
"legacyBridge": "Legacy bridge"
|
||
}
|
||
},
|
||
"remediation": {
|
||
"title": "補救試跑證據",
|
||
"empty": "此 Run 尚未連到 ADR-100 補救試跑歷史。",
|
||
"latest": "最新試跑",
|
||
"route": "MCP 路由",
|
||
"preview": "模式 {mode};預覽 {preview}",
|
||
"writes": "寫入:incident={incident};autoRepair={autoRepair}",
|
||
"status": {
|
||
"linked": "已連到補救歷史",
|
||
"empty": "尚無補救歷史"
|
||
},
|
||
"metrics": {
|
||
"incidents": "Incident",
|
||
"dryRuns": "Dry-run",
|
||
"tools": "Tools",
|
||
"writes": "寫入旗標"
|
||
}
|
||
},
|
||
"dossier": {
|
||
"title": "來源事件卷宗",
|
||
"empty": "此 Run 尚未連到可回放的入站來源事件。",
|
||
"content": "Redacted 內容",
|
||
"sourceRefs": "來源關聯",
|
||
"duplicate": "重複事件",
|
||
"firstSeen": "首次事件",
|
||
"status": {
|
||
"visible": "已寫入 truth-chain",
|
||
"empty": "尚無來源"
|
||
},
|
||
"metrics": {
|
||
"sources": "來源事件",
|
||
"refs": "關聯索引",
|
||
"redacted": "Redacted",
|
||
"duplicates": "重複"
|
||
},
|
||
"fields": {
|
||
"stage": "階段",
|
||
"severity": "風險",
|
||
"namespace": "命名空間",
|
||
"target": "目標",
|
||
"hash": "Hash"
|
||
},
|
||
"refs": {
|
||
"alertIds": "Alert",
|
||
"approvalIds": "Approval",
|
||
"eventIds": "Event",
|
||
"fingerprints": "Fingerprint",
|
||
"incidentIds": "Incident",
|
||
"sentryIssueIds": "Sentry",
|
||
"signozAlerts": "SignOz"
|
||
}
|
||
},
|
||
"action": {
|
||
"eyebrow": "下一步判斷",
|
||
"approval": {
|
||
"title": "等待人工審批",
|
||
"detail": "AI 已停在人工閘門,尚未 resume。請從審批頁 approve 或 reject,所有決策都會回寫 Run state 與 audit。",
|
||
"primary": "前往審批決策"
|
||
},
|
||
"manual": {
|
||
"title": "需人工接手",
|
||
"detail": "AI 無法安全閉環,或執行已失敗 / 超時。請回 Run 監控比對同專案任務,必要時交由 SRE 戰情室處置。",
|
||
"primary": "回 Run 監控"
|
||
},
|
||
"completed": {
|
||
"title": "已完成,等待稽核回看",
|
||
"detail": "Run 已收斂。請以時間線檢查 MCP、出站訊息與成本紀錄是否完整,必要時再回寫 KM / Playbook。",
|
||
"primary": "回 Run 監控"
|
||
},
|
||
"running": {
|
||
"title": "AI 正在處理",
|
||
"detail": "Run 尚未結束,頁面會定期刷新。若長時間停留在 running,請檢查 heartbeat、MCP latency 與 worker 狀態。",
|
||
"primary": "回 Run 監控"
|
||
},
|
||
"observe": {
|
||
"title": "觀察中",
|
||
"detail": "目前尚未進入人工閘門或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
|
||
"primary": "回 Run 監控"
|
||
},
|
||
"evidence": {
|
||
"inbound": "入站事件",
|
||
"outbound": "出站訊息",
|
||
"mcp": "MCP 呼叫",
|
||
"steps": "Steps"
|
||
}
|
||
},
|
||
"statuses": {
|
||
"blocked": "已阻擋",
|
||
"cancelled": "已取消",
|
||
"completed": "已完成",
|
||
"error": "錯誤",
|
||
"failed": "失敗",
|
||
"pending": "待執行",
|
||
"received": "已接收",
|
||
"running": "執行中",
|
||
"sent": "已送出",
|
||
"shadow": "Shadow",
|
||
"success": "成功",
|
||
"timeout": "已超時",
|
||
"warning": "警告",
|
||
"waitingApproval": "等待審批"
|
||
}
|
||
},
|
||
"approvalDecision": {
|
||
"back": "返回審批佇列",
|
||
"viewTimeline": "查看 Run Timeline",
|
||
"eyebrow": "人工審批閘門",
|
||
"title": "審批決策",
|
||
"timeout": "審批期限",
|
||
"empty": "--",
|
||
"errors": {
|
||
"title": "無法載入 Run 資料",
|
||
"loadFailed": "載入失敗",
|
||
"missingProject": "缺少 project_id,無法送出審批決策",
|
||
"actionFailed": "操作失敗"
|
||
},
|
||
"success": {
|
||
"approve": "Run 已核准,正在回到 Timeline",
|
||
"reject": "Run 已拒絕,正在回到 Timeline"
|
||
},
|
||
"notWaiting": {
|
||
"title": "此 Run 目前不在人工審批狀態",
|
||
"detail": "目前狀態為 {state}。此頁不會顯示 approve / reject,請回 Run Timeline 檢查最新狀態。"
|
||
},
|
||
"remediation": {
|
||
"title": "補救試跑證據",
|
||
"empty": "此 Run 尚未連到補救試跑歷史;核准前仍需回 Run Timeline 檢查來源卷宗與 MCP Gateway。",
|
||
"latest": "最新試跑",
|
||
"preview": "模式 {mode};預覽 {preview}",
|
||
"writes": "寫入:incident={incident};autoRepair={autoRepair}",
|
||
"status": {
|
||
"linked": "已連到補救歷史",
|
||
"empty": "尚無補救歷史"
|
||
},
|
||
"metrics": {
|
||
"incidents": "Incident",
|
||
"dryRuns": "Dry-run",
|
||
"tools": "Tools"
|
||
}
|
||
},
|
||
"details": {
|
||
"title": "Run 詳情",
|
||
"runId": "Run ID",
|
||
"project": "Project",
|
||
"agent": "Agent",
|
||
"state": "狀態",
|
||
"traceId": "Trace ID",
|
||
"trigger": "Trigger",
|
||
"triggerRef": "Trigger Ref",
|
||
"cost": "Cost",
|
||
"attempts": "Attempts",
|
||
"created": "Created",
|
||
"timeout": "Timeout",
|
||
"error": "Error",
|
||
"empty": "找不到 Run 資料。"
|
||
},
|
||
"actions": {
|
||
"approve": "核准",
|
||
"reject": "拒絕"
|
||
},
|
||
"dialog": {
|
||
"close": "關閉",
|
||
"cancel": "取消",
|
||
"runId": "Run ID:",
|
||
"approve": {
|
||
"title": "確認核准",
|
||
"body": "核准後,Run 會從人工閘門 resume,繼續交由 Runtime / MCP Gateway 執行。",
|
||
"warning": "此決策會寫入 Run state、approval token 與 audit trail。",
|
||
"confirm": "確認核准"
|
||
},
|
||
"reject": {
|
||
"title": "確認拒絕",
|
||
"body": "拒絕後,Run 會被取消,不會繼續自動執行。",
|
||
"reason": "拒絕原因",
|
||
"placeholder": "請輸入拒絕原因...",
|
||
"warning": "拒絕原因會寫入 audit trail,供後續稽核與 Run Timeline 回看。",
|
||
"confirm": "確認拒絕"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|