Files
awoooi/apps/web/messages/en.json
2026-05-19 21:46:44 +08:00

2515 lines
94 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"metadata": {
"title": "AWOOOI - Zero-Touch Ops. Human-Centric Decisions.",
"description": "AI-Powered Intelligent Operations Platform"
},
"common": {
"loading": "Loading...",
"error": "An error occurred",
"success": "Success",
"cancel": "Cancel",
"confirm": "Confirm",
"close": "Close",
"closeEsc": "Close (ESC)",
"previous": "Previous (←)",
"next": "Next (→)",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"back": "Back",
"clear": "Clear",
"refresh": "Refresh",
"viewDetails": "View Details",
"later": "Later",
"keyboardShortcuts": "Keyboard Shortcuts",
"showShortcuts": "Show Shortcuts"
},
"brand": {
"name": "AWOOOI",
"slogan": "Zero-Touch Ops. Human-Centric Decisions.",
"sloganAlt": "零干預維運,以人為本的決策。",
"tagline": "AI-Powered Intelligent Operations Platform",
"aiTagline": "AI Sees. AI Acts. You Approve.",
"version": "v1.0.0",
"environment": "Production"
},
"nav": {
"home": "Home",
"dashboard": "Dashboard",
"approvals": "Approvals",
"errors": "Error Tracking",
"actions": "Action Log",
"knowledge": "Knowledge Base",
"settings": "Settings",
"alerts": "Alerts",
"monitoring": "Monitoring",
"apm": "APM",
"topology": "Topology",
"security": "Security",
"compliance": "Compliance",
"autoRepair": "Auto Repair",
"deployments": "Deployments",
"tickets": "Tickets",
"cost": "Cost",
"reports": "Reports",
"terminal": "Terminal",
"apps": "Apps",
"services": "Services",
"users": "Users",
"notifications": "Notifications",
"billing": "Billing",
"help": "Help",
"drift": "Drift Detection",
"neuralCommand": "Neural Command",
"commandCenter": "Command Center",
"observability": "Observability",
"automation": "Automation",
"operations": "Operations",
"securityCompliance": "Security & Compliance",
"classicAICenter": "Classic AI Center",
"governance": "AI Governance",
"awooop": "AwoooP",
"iwooos": "IwoooS"
},
"locale": {
"switch": "Switch Language",
"zhTW": "繁體中文",
"en": "EN"
},
"demo": {
"title": "AWOOOI Demo",
"subtitle": "Visual Acceptance Test",
"mockMode": "MOCK MODE",
"spikeControls": "CPU Spike Demo Controls",
"spikeActive": "SPIKE ACTIVE",
"triggerSpike": "Spike {host}",
"clearSpike": "Clear Spike",
"liveDashboard": "Live Dashboard (SSE)",
"approvalCards": "HITL Approval Cards (CPO-107)",
"statusShowcase": "StatusOrb Showcase",
"lowRiskDemo": "LOW RISK - 1 second hold",
"highRiskDemo": "HIGH RISK - 1 second hold",
"criticalDemo": "CRITICAL + DESTRUCTIVE - 2 second hold + red glow",
"hitlRealApi": "HITL Multi-Sig (Real API)",
"addCritical": "+ Critical",
"addMedium": "+ Medium",
"creating": "Creating..."
},
"host": {
"devops": {
"name": "DevOps Vault",
"shortName": "DevOps"
},
"security": {
"name": "Kali Security Center",
"shortName": "Kali"
},
"k3s": {
"name": "K3s Master Node",
"shortName": "K3s"
},
"aiWeb": {
"name": "AI+Web Center",
"shortName": "AI+Web"
}
},
"dashboard": {
"title": "AI Center",
"subtitle": "AI-Powered Unified Operations View",
"liveStats": "Live Stats",
"activeNodes": "Active Nodes",
"pendingAlerts": "Pending Alerts",
"pendingApprovals": "Pending Approvals",
"overallStatus": "Overall Status",
"waitingData": "Waiting for data...",
"cpu": "CPU",
"memory": "MEM",
"baseline": "Baseline",
"baselineFormat": "(Baseline: {value}%)",
"criticality": "Criticality",
"systemStatus": "System Status",
"eventStream": "Event Stream",
"aiAgent": "AI Agent",
"globalPulse": "Global Pulse",
"liveUpdates": "Live Updates",
"loadingMetrics": "Loading metrics...",
"metricsError": "Failed to load metrics",
"flow": {
"alert": "Alert",
"detection": "AI Detection",
"analysis": "AI Analysis",
"proposal": "Proposal",
"approval": "Awaiting Auth",
"execution": "Execution",
"resolved": "Resolved"
},
"activeIncidents": "Active Incidents",
"serviceHealth": "Service Health",
"todayIncidents": "Today Incidents",
"autoRemediationRate": "Auto Remediation",
"mttrAvg": "MTTR Avg",
"stable": "Stable",
"normal": "Normal",
"openclawEngine": "OPENCLAW COGNITIVE ENGINE",
"infrastructure": "INFRASTRUCTURE",
"podHealth": "POD Health",
"allRunning": "All Running",
"servicesUp": "Services Up",
"monitoringTools": "Monitoring Tools",
"monitoringStatus": {
"up": "OK",
"down": "Down",
"unknown": "Unknown",
"firing": "firing",
"alert": "alerts"
},
"connectionError": "Connection failed",
"metaVersion": "Version",
"metaStats": "Stats",
"metaUpdatedAt": "Updated",
"tabs": {
"overview": "Overview",
"alerts": "Alerts & Approvals",
"stream": "Activity Stream",
"disposition": "Disposition Stats"
},
"alertEvents": "Alert Events",
"noActiveAlerts": "No active alerts",
"pendingApprovalsTitle": "Pending Approvals",
"noPendingApprovals": "No pending approvals",
"approve": "Approve",
"reject": "Reject",
"activityStream": "System Activity Stream",
"sseConnected": "SSE Connected",
"sseDisconnected": "Disconnected",
"waitingEvents": "Waiting for events...",
"statusLabel": "Status",
"hostsLabel": "Hosts",
"eventsCount": "{count} events",
"noDispositionData": "No disposition data available",
"totalDispositions": "Total Dispositions",
"autoRate": "Automation Rate",
"humanRate": "Human Intervention Rate",
"autoRepairLabel": "Auto Repair",
"humanApprovedLabel": "Human Approved",
"manualResolvedLabel": "Manual Resolved",
"coldStartLabel": "Cold Start",
"dispositionBreakdown": "Disposition Breakdown",
"hostView": "Hosts",
"topoView": "Topology",
"waitingHostData": "Waiting for host data...",
"dashboardConnecting": "Dashboard API connecting...",
"alertBadge": "{count} alerts",
"alertBadgeZero": "0 alerts",
"awaitingConfirm": "Awaiting Confirmation",
"viewAllAlerts": "View All Alerts",
"viewAllAuth": "View All Authorizations",
"viewAllReport": "View Full Report",
"aiModelStatus": "AI Model Status",
"loading": "Loading...",
"trendUp": "↑{pct}%",
"searchPlaceholderShort": "Search...",
"cotTitle": "Reasoning Timeline",
"cotNoEvents": "Waiting for reasoning data...",
"cotReasoning": "Reasoning",
"cotConfidence": "Confidence",
"cotProvider": "Model",
"cotLatency": "Latency",
"cotTools": "Tool Calls",
"cotClickHint": "Click an event to view reasoning details",
"byAnomalyTitle": "Anomaly Type Distribution Top 5",
"byAnomalyAutoRate": "Auto {pct}%",
"mttrTitle": "MTTR Overview",
"mttrUnit": "min",
"mttrNoData": "No MTTR data yet"
},
"openclaw": {
"name": "OpenClaw",
"monitoring": "Monitoring",
"statusOk": "OK",
"statusWarning": "WARNING",
"messageOk": "All systems operational. No action required.",
"messageWarning": "{host} status abnormal. Recommend checking related services."
},
"ai": {
"title": "AI Decision Engine",
"intercepting": "[SYS] Intercepting anomaly signals...",
"analyzing": "OpenClaw analyzing blast radius...",
"calculating": "Calculating risk matrix & approval threshold...",
"generating": "Generating remediation script...",
"complete": "Analysis complete. Approval card created.",
"processingAlert": "Processing alert...",
"analysisComplete": "Analysis complete",
"patrolling": "Patrolling...",
"standby": "STANDBY",
"processFlow": "AI Decision Flow",
"processing": "Processing"
},
"agent": {
"title": "AI Agent",
"state": "State",
"idle": "Idle",
"standby": "Standby",
"patrolling": "Patrolling",
"intercepting": "Intercepting",
"analyzing": "Analyzing",
"generating": "Generating",
"complete": "Complete",
"executing": "Executing",
"waitingApproval": "Awaiting Approval",
"error": "Error",
"lastCheck": "Last check"
},
"metrics": {
"title": "Global Pulse",
"realtime": "Real-time",
"rps": "Requests/sec",
"errorRate": "Error Rate",
"p99Latency": "P99 Latency",
"aiSuccess": "AI Success"
},
"connection": {
"disconnected": "Disconnected",
"connecting": "Connecting...",
"subscribing": "Subscribing...",
"connected": "Live",
"streaming": "Streaming",
"reconnecting": "Reconnecting...",
"error": "Connection Error",
"mockMode": "MOCK"
},
"terminal": {
"title": "AWOOOI Terminal",
"version": "Version",
"waiting": "> Waiting for command...",
"initiate": "INITIATE SYNC",
"executing": ">_ EXECUTING...",
"events": "{count} events",
"stream": "STREAM: /agent/thinking",
"waitingForData": "Waiting for decision chain data...",
"steps": "Steps",
"streaming": "Streaming",
"paused": "Paused",
"blastRadius": "[ BLAST RADIUS ]",
"rootCauseChain": "[ ROOT CAUSE CHAIN ]",
"upstreamImpact": "[ UPSTREAM IMPACT ]",
"downstreamDependencies": "[ DOWNSTREAM DEPENDENCIES ]",
"dependsOn": "depends on",
"calls": "calls",
"finopsAnalysis": "[ FINOPS ANALYSIS ]",
"wastedPerMonth": "Wasted/mo",
"realizable": "Realizable",
"freed": "Freed",
"connecting": "Connecting...",
"connected": "Connected",
"streamComplete": "Stream complete",
"streamAborted": "Stream aborted",
"stop": "STOP",
"clear": "CLEAR"
},
"omniTerminal": {
"title": "OMNI-TERMINAL",
"fullTitle": "AWOOOI // OMNI-TERMINAL",
"shortcut": "⌘J",
"open": "Open Terminal",
"close": "Close Terminal",
"inputPlaceholder": "Enter command...",
"inputPlaceholderFull": "Enter command or ask AI... (e.g., /approval list)",
"sseLive": "SSE Live",
"offline": "Offline",
"system": "[SYS]",
"agent": "[AI]",
"user": "$",
"unknownComponent": "Unknown Component",
"executing": "Executing",
"completed": "Completed",
"failed": "Failed"
},
"nuclearKey": {
"authorize": "Authorize Execution",
"authorized": "Authorized",
"authorizing": "Authorizing...",
"holdToAuthorize": "Hold to authorize...",
"holdHintMobile": "Press and hold to authorize",
"holdHintDesktop": "Hold Y key or click and hold to authorize",
"keepHolding": "Keep holding to authorize...",
"highBlastRadius": "This action has a HIGH blast radius",
"executionAuthorized": "Execution Authorized & Completed",
"executionFailed": "Execution Failed",
"riskLevel": {
"low": "LOW",
"medium": "MEDIUM",
"high": "HIGH",
"critical": "CRITICAL"
}
},
"incident": {
"title": "Incident Management",
"activeIncidents": "Active Incidents",
"noActiveIncidents": "No active incidents",
"systemStable": "System Stable",
"activeAlerts": "active alerts",
"signals": "signals",
"proposals": "proposals",
"affectedServices": "Affected Services",
"emptyState": "No active incidents",
"emptyStateDescription": "All systems operational",
"status": {
"investigating": "Investigating",
"mitigating": "Mitigating",
"resolved": "Resolved",
"closed": "Closed"
},
"severity": {
"P0": "P0 (Critical)",
"P1": "P1 (High)",
"P2": "P2 (Warning)",
"P3": "P3 (Info)"
},
"generateProposal": "Generate Proposal",
"viewDetails": "View Details",
"card": {
"executing": "Executing...",
"approved": "[ APPROVED ]",
"rejected": "[ REJECTED ]",
"error": "Error",
"timeout": "Timeout",
"retry": "Retry",
"timeoutMessage": "Execution timeout, please check API logs",
"checkApiLogs": "Please check API logs",
"analyzing": "Brain analyzing...",
"waitingDecision": "Waiting for decision",
"authorizeExecution": "Authorize execution",
"rejectProposal": "Reject proposal",
"aiExecuting": ">_ AI Executing (Tier 1)",
"brainAnalyzing": ">_ Brain analyzing...",
"decisionReady": ">_ Decision ready (Tier {tier})",
"waitingCommander": ">_ Awaiting commander approval (Tier {tier})",
"suggestedAction": "> Suggested action:",
"authorize": "Authorize",
"reject": "Reject",
"anomaly": "anomaly",
"affectedServices": "Affected Services",
"signalCount": "Signals",
"statusLabel": "Status",
"aiProposal": "AI Proposal",
"processingTimeline": "Processing Timeline",
"timelineLoading": "Loading processing timeline...",
"timelineEvents": "Event Details",
"timelineSource": "Source",
"timelineRoute": "MCP",
"timelineWrites": "Writes"
}
},
"status": {
"idle": "Idle",
"thinking": "Thinking",
"syncing": "Syncing",
"executing": "Executing",
"waitingApproval": "Waiting Approval",
"error": "Error",
"healthy": "Healthy",
"warning": "Warning",
"critical": "Critical",
"degraded": "Degraded",
"unhealthy": "Unhealthy"
},
"approval": {
"title": "Approval Request",
"card": "Approval Card",
"approve": "APPROVE",
"reject": "REJECT",
"holdToApprove": "HOLD TO APPROVE",
"holdToConfirm": "HOLD TO CONFIRM",
"holdToSign": "HOLD TO SIGN",
"confirming": "CONFIRMING...",
"signing": "SIGNING...",
"needMore": "NEED {count} MORE",
"confirmDestructive": "CONFIRM DESTRUCTIVE",
"approveDestructive": "APPROVE (DESTRUCTIVE)",
"pendingApprovals": "Pending Approvals",
"riskLevel": "Risk Level",
"signatures": "SIGNATURES",
"requiredSignatures": "Required Signatures",
"currentSignatures": "Current Signatures",
"requestedBy": "Requested by",
"expiresAt": "Expires At",
"holdHint": "Hold button for {seconds}s to {action}",
"actionApprove": "approve",
"actionConfirm": "confirm destructive action",
"actionSign": "sign",
"waitingSecondSig": "Waiting for second approver",
"signedBy": "Signed by {name}",
"signedAt": "at {time}",
"signSuccess": "Signed successfully",
"executionTriggered": "Execution triggered",
"rejectSuccess": "Rejected",
"rejectReason": "Rejection reason",
"enterReason": "Enter rejection reason...",
"signComment": "Sign comment (optional)",
"enterComment": "Enter comment...",
"noApprovals": "No pending approvals",
"fetchError": "Failed to fetch approvals",
"noPendingApprovals": "No pending approvals",
"selectApproval": "Select an approval to view details",
"backToList": "Back to list",
"previousApproval": "Previous",
"nextApproval": "Next",
"holdToApproveHint": "Hold button to approve or reject",
"swipeHint": "Swipe left for details, swipe right to go back",
"holdYToApprove": "Hold Y to approve (2s)",
"pressNToReject": "Press N to reject",
"justNow": "just now",
"minutesAgo": "{count}m ago",
"hoursAgo": "{count}h ago",
"daysAgo": "{count}d ago",
"batch": {
"title": "Batch Mode",
"bulkApprove": "Accept All",
"sequential": "Review One by One",
"criticalOnly": "CRITICAL Only",
"eligible": "eligible",
"items": "items",
"securityNote": "CRITICAL risk and DESTRUCTIVE data impact items require individual review."
}
},
"risk": {
"low": "LOW RISK",
"medium": "MEDIUM RISK",
"high": "HIGH RISK",
"critical": "CRITICAL"
},
"dryRun": {
"title": "Dry-Run",
"validation": "DRY-RUN VALIDATION",
"passed": "Passed",
"failed": "Failed",
"checks": "Checks",
"rbac": "RBAC Check",
"syntax": "Syntax Check",
"resource": "Resource Check",
"replicaCount": "Replica Count",
"backupAvailable": "Backup Available",
"clusterAdmin": "cluster-admin",
"dbAdmin": "db-admin",
"deploymentAdmin": "deployment-admin",
"noRecentBackup": "No recent backup!",
"ok": "OK"
},
"blastRadius": {
"title": "BLAST RADIUS",
"affectedPods": "AFFECTED PODS",
"estimatedDowntime": "EST. DOWNTIME",
"relatedServices": "RELATED SERVICES",
"dataImpact": "DATA IMPACT",
"none": "NONE",
"readOnly": "READ ONLY",
"write": "WRITE",
"destructive": "DESTRUCTIVE"
},
"graphRag": {
"title": "Topology Analysis",
"blastRadius": "Blast Radius",
"rootCause": "Root Cause",
"upstreamImpact": "Upstream Impact",
"downstreamChain": "Downstream Chain",
"dependsOn": "depends on",
"calls": "calls",
"affectedCount": "Affected Count",
"probableRootCauses": "Probable Root Causes"
},
"finops": {
"title": "Cost Analysis",
"totalWasted": "Monthly Waste",
"realizableSavings": "Realizable Savings",
"freedResources": "Freed Resources",
"annualProjection": "Annual Projection",
"topActions": "Top Actions",
"orphanedPvc": "Orphaned PVC",
"zombiePod": "Zombie Pod",
"overProvisioned": "Over-provisioned"
},
"trustEngine": {
"title": "Trust Engine",
"trustScore": "Trust Score",
"progressive": "Progressive Autonomy",
"approved": "Approved",
"rejected": "Rejected",
"neverDowngrade": "Never Downgrade"
},
"multiSig": {
"title": "Multi-Sig",
"signature": "Signature",
"signedBy": "Signed By",
"signedAt": "Signed At",
"voided": "Voided",
"toctouWarning": "State Changed Warning"
},
"privacy": {
"title": "Privacy Shield",
"redacted": "Redacted",
"piiDetected": "PII Detected"
},
"mockData": {
"deletePod": "Delete Pod: nginx-frontend-7d4b8c9f5-xk2m3",
"deletePodDesc": "Clean up unresponsive frontend Pod, ReplicaSet will auto-rebuild",
"dropTable": "DROP TABLE: user_sessions",
"dropTableDesc": "Clear all user sessions, will force logout all users",
"scaleDeployment": "Scale Deployment: api-backend",
"scaleDeploymentDesc": "Scale from 3 to 5 replicas for increased traffic",
"testActions": {
"lowAction": "Scale deployment api-backend to 5 replicas",
"lowDesc": "Increase backend replicas to handle traffic growth",
"mediumAction": "kubectl delete pod nginx-ingress-7d6f8c9b5-abc12",
"mediumDesc": "Clean up unresponsive frontend Pod, ReplicaSet will auto-rebuild",
"criticalAction": "DROP TABLE user_sessions",
"criticalDesc": "Clear all user sessions to force re-login. This will affect all online users."
}
},
"actionLog": {
"title": "Action Log",
"subtitle": "K8s Operation Execution Audit Trail",
"noLogs": "No execution records",
"loading": "Loading...",
"fetchError": "Failed to fetch audit logs",
"columns": {
"time": "Execution Time",
"operation": "Operation Type",
"target": "Target Resource",
"namespace": "Namespace",
"status": "Status",
"duration": "Duration",
"executor": "Executor"
},
"operations": {
"DELETE_POD": "Delete Pod",
"RESTART_DEPLOYMENT": "Restart Deployment",
"SCALE_DEPLOYMENT": "Scale Deployment"
},
"status": {
"success": "Success",
"failure": "Failure"
},
"stats": {
"title": "Statistics",
"total": "Total Executions",
"successRate": "Success Rate",
"avgDuration": "Avg Duration",
"last24h": "Last 24 Hours"
},
"dryRun": {
"passed": "Dry-Run Passed",
"failed": "Dry-Run Failed"
},
"pagination": {
"page": "Page {current} of {total}",
"prev": "Previous",
"next": "Next"
}
},
"placeholder": {
"underConstruction": "Under Construction",
"authorizations": "[ AUTHORIZATIONS MODULE UNDER CONSTRUCTION ]",
"knowledgeBase": "[ KNOWLEDGE BASE MODULE UNDER CONSTRUCTION ]",
"settings": "[ SETTINGS MODULE UNDER CONSTRUCTION ]"
},
"footer": {
"copyright": "© 2026 岑洋國際行銷有限公司",
"poweredBy": "Powered by leWOOOgo Engine"
},
"errorBoundary": {
"systemFailure": "[SYSTEM FAILURE]",
"criticalError": "Critical UI rendering error detected. Auto-healing attempts exhausted.",
"escalating": "Escalating to OpenClaw AIOps Agent...",
"forceRestart": "FORCE MANUAL RESTART",
"detectingAnomaly": "[ DETECTING ANOMALY ]",
"autoHealingAttempt": "Initiating Auto-Healing Protocol (Attempt {attempt}/3)"
},
"errors": {
"title": "Error Tracking",
"subtitle": "Sentry Error Tracking + OpenClaw AI Analysis",
"overview": "Error Overview",
"recentIssues": "Recent Issues",
"errorTrend": "Error Trend",
"noData": "No error data",
"noIssues": "No issues at the moment",
"noTrendData": "No trend data",
"unresolvedIssues": "Unresolved Issues",
"errors24h": "Errors (24h)",
"criticalErrors": "Critical Errors",
"totalIssues": "Total Issues",
"totalErrors": "Total Errors ({period})",
"projects": "Projects",
"aiAnalyze": "AI Analyze",
"aiAnalysis": "AI Analysis Result",
"analyzing": "Analyzing...",
"rootCause": "Root Cause",
"fixSummary": "Fix Recommendation",
"category": "Category",
"confidence": "Confidence",
"loading": "Loading...",
"refresh": "Refresh",
"sentryDashboard": "Sentry Dashboard",
"footerInfo": "Data from Sentry Self-Hosted | AI Analysis: OpenClaw | Auto-refresh: 60s",
"timeAgo": {
"minutes": "{count}m ago",
"hours": "{count}h ago",
"days": "{count}d ago"
},
"uxAudit": {
"title": "UX Audit",
"noData": "No Session Replay data",
"replaysWithErrors": "Replays with Errors",
"uiErrors": "UI Errors",
"rageClicks": "Rage Clicks",
"deadClicks": "Dead Clicks",
"recentReplays": "Recent Replays",
"recentUIErrors": "Recent UI Errors",
"replayWithErrors": "Replay with {count} errors",
"occurrences": "{count} occurrences",
"viewDashboard": "View Replay Dashboard",
"health": {
"good": "Good",
"moderate": "Moderate",
"poor": "Poor"
}
}
},
"alerts": {
"autoRefresh": "Auto-refresh every {seconds}s",
"incidentCount": "{count, plural, one {# incident} other {# incidents}}"
},
"navSection": {
"aiCore": "AI Core",
"monitoring": "Monitoring & Security",
"ops": "Operations",
"knowledge": "Knowledge & Tools"
},
"sidebar": {
"expand": "Expand sidebar",
"collapse": "Collapse sidebar"
},
"settings": {
"title": "Settings",
"appearance": "Appearance",
"appearanceDesc": "Theme, fonts, density",
"appearanceSettings": "Appearance Settings",
"language": "Language",
"languageDesc": "Interface language",
"languageSettings": "Language Settings",
"notify": "Notifications",
"notifyDesc": "Telegram / browser notification preferences",
"notifySettings": "Notification Settings",
"system": "System Info",
"systemDesc": "Version & API endpoints",
"systemSettings": "System Info",
"compactMode": "Compact Mode",
"compactModeDesc": "Reduce spacing, show more content",
"designSystem": "Design System",
"designSystemValue": "Nothing.tech Pure White Industrial (fixed)",
"themeColor": "Theme Color",
"themeColorValue": "OpenClaw Blue + Orange Accent (fixed)",
"browserNotify": "Browser Push Notifications",
"browserNotifyDesc": "Show system notification on new Incident",
"p0Only": "P0 CRITICAL Only",
"p0OnlyDesc": "Filter low-severity alerts to reduce noise",
"telegramNotify": "Telegram Notifications",
"telegramNotifyDesc": "Pushed by OpenClaw Bot (requires backend config)",
"backendConfig": "Backend Config",
"frontendVersion": "Frontend Version",
"apiEndpoint": "API Endpoint",
"notConfigured": "(not configured)",
"phase": "Phase",
"save": "Save Settings",
"saved": "Saved",
"zhTW": "繁體中文",
"zhTWSub": "Traditional Chinese",
"en": "EN",
"enSub": "English (US)"
},
"autoRepair": {
"subtitle": "High-quality Playbook auto-execution · Risk ≤ MEDIUM · Success ≥ 95%",
"approvedPlaybooks": "Approved Playbooks",
"highQualityPlaybooks": "High-Quality Playbooks",
"highQualitySub": "Success ≥ 95% · Runs ≥ 10",
"totalExecutions": "Total Executions",
"overallSuccessRate": "Overall Success Rate",
"eligible": "✓ Auto-repair available",
"notEligible": "No high-quality Playbook yet",
"ready": "Auto-repair Ready",
"notReady": "Auto-repair Not Ready",
"readyDesc": "{count} high-quality Playbooks available",
"notReadyDesc": "Need at least 1 high-quality Playbook (success ≥ 95%, runs ≥ 10)",
"incidentEval": "Active Incident Evaluation (P1/P2)",
"canAutoRepair": "Can auto-repair",
"notEligibleShort": "Not eligible",
"riskLevel": "Risk Level",
"successRate": "Success Rate",
"execCount": "Executions",
"decisionReason": "Decision Reason",
"execSuccess": "Success ({ms}ms)",
"execFailed": "Failed: {error}",
"executing": "Executing...",
"execute": "Execute Repair",
"noEligible": "No incidents eligible for auto-repair",
"dispositionAuto": "Auto Repair",
"dispositionHuman": "Human Approved",
"dispositionManual": "Manual Resolved",
"dispositionCold": "Cold Start Trust"
},
"openclawPanel": {
"patrolling": "[AGENT] patrolling...",
"intercepting": "[SYS] Intercepting anomaly...",
"analyzing": "[SYS] Analyzing blast radius...",
"generating": "[SYS] Generating proposed action...",
"complete": "[SYS] Analysis complete"
},
"knowledgeBase": {
"title": "Knowledge Base",
"searchPlaceholder": "Search knowledge entries...",
"allCategories": "All",
"noResults": "No knowledge entries found",
"createEntry": "New Entry",
"viewCount": "views",
"relatedPlaybook": "Related Playbook",
"relatedIncident": "Related Incident",
"approve": "Approve",
"approving": "Approving...",
"archive": "Archive",
"archiving": "Archiving...",
"status": {
"draft": "Draft",
"review": "In Review",
"approved": "Approved",
"archived": "Archived",
"published": "Published"
},
"type": {
"incident_case": "Incident Case",
"runbook": "Runbook",
"best_practice": "Best Practice",
"postmortem": "Postmortem",
"auto_runbook": "Auto Runbook",
"anti_pattern": "Anti-Pattern"
},
"source": {
"ai_extracted": "AI Extracted",
"human": "Manual"
},
"category": {
"infrastructure": "Infrastructure",
"application": "Application",
"ai_system": "AI System",
"security": "Security / Compliance"
},
"filterByType": "Filter by type",
"filterByStatus": "Filter by status",
"entries": "entries",
"empty": "No knowledge entries yet",
"emptyDescription": "Entries will be auto-extracted from incidents, or you can create them manually",
"semanticSearchPlaceholder": "Enter semantic search query...",
"semanticOn": "Semantic",
"semanticOff": "Semantic",
"switchToSemantic": "Switch to semantic search (pgvector)",
"switchToKeyword": "Switch to keyword search",
"semanticSearchHint": "Enter a query to search with AI vector similarity"
},
"monitoring": {
"healthy": "Healthy",
"warning": "Warning",
"critical": "Critical",
"goldMetrics": "GOLD METRICS",
"hostStatus": "HOST STATUS (FOUR-HOST ARCHITECTURE)",
"serviceList": "SERVICE LIST",
"serviceName": "Service",
"status": "Status",
"latency": "Latency",
"uptime": "Uptime",
"lastCheck": "Last Check"
},
"services": {
"title": "Services",
"subtitle": "All services across hosts",
"name": "Service Name",
"host": "Host",
"status": "Status",
"cpu": "CPU%",
"ram": "RAM%",
"noServices": "No service data available",
"fetchError": "Failed to load services"
},
"topology": {
"title": "Topology",
"subtitle": "Service dependencies & health status",
"noHosts": "No host data available",
"fetchError": "Failed to load host data",
"services": "Services",
"cpu": "CPU",
"ram": "RAM",
"groupInfra": "Infrastructure",
"groupSecurity": "Security",
"groupK3s": "K3s Cluster",
"groupAiData": "AI/Data Center",
"allHealthy": "All Healthy",
"allReachable": "All Reachable",
"warning": "Warning",
"healthy": "Healthy",
"investigating": "Investigating",
"groupExternal": "External Services",
"hostDevops": "DevOps Vault",
"hostAiData": "AI+Web Hub",
"hostK3sMaster": "K3s Master",
"hostK3sWorker": "K3s Worker"
},
"notifications": {
"title": "Notifications",
"subtitle": "Notification channel settings",
"channel": "Channel",
"type": "Type",
"status": "Status",
"noChannels": "No notification channels",
"fetchError": "Failed to load notification channels"
},
"reports": {
"title": "Reports",
"subtitle": "Incident statistics summary",
"incidentSummary": "Incident Summary",
"resolutionStats": "Resolution Statistics",
"total": "Total",
"resolved": "Resolved",
"unresolved": "Unresolved",
"avgResolutionTime": "Avg Resolution Time",
"resolutionRate": "Resolution Rate",
"fetchError": "Failed to load report data",
"noData": "No statistics available",
"totalDispositions": "Total Dispositions",
"autoRate": "Automation Rate",
"humanRate": "Human Intervention Rate",
"autoRepair": "Auto Repair",
"humanApproved": "Human Approved",
"manualResolved": "Manual Resolved",
"coldStartTrust": "Cold Start Trust",
"dispositionBreakdown": "Disposition Breakdown",
"byAnomalyType": "By Anomaly Type",
"anomalyKey": "Anomaly Type"
},
"apm": {
"title": "APM",
"subtitle": "Application Performance Monitoring — Golden Signals",
"loading": "Loading...",
"metric": "Metric",
"value": "Value",
"status": "Status",
"openSignoz": "Open SigNoz",
"noData": "No APM data",
"noDataDescription": "APM integration pending, will display automatically after SignOz connects"
},
"apps": {
"title": "Applications",
"subtitle": "All host services status",
"loading": "Loading...",
"host": "Host",
"service": "Service",
"port": "Port",
"latency": "Latency",
"status": "Status",
"error": "Load failed",
"noApps": "No service data"
},
"billing": {
"title": "Usage",
"subtitle": "System operation usage statistics",
"loading": "Loading...",
"totalExecutions": "Total Executions",
"last24h": "Last 24h",
"successRate": "Success Rate",
"avgDuration": "Avg Duration",
"currentMonth": "This Month",
"totalUsage": "Total Usage",
"error": "Load failed",
"noData": "No usage data"
},
"compliance": {
"title": "Compliance",
"subtitle": "System governance & compliance status",
"loading": "Loading...",
"totalIncidents": "Total Incidents",
"resolvedRate": "Resolution Rate",
"approvedPlaybooks": "Playbooks",
"highQualityPlaybooks": "High-Quality Playbooks",
"executionSuccessRate": "Execution Success Rate",
"autoRepairEligible": "Auto-Repair Eligible",
"yes": "Yes",
"no": "No",
"error": "Load failed",
"noData": "No compliance data"
},
"cost": {
"title": "Cost Analysis",
"subtitle": "AI execution efficiency stats",
"loading": "Loading...",
"totalProposals": "Total Proposals",
"executionRate": "Execution Rate",
"successRate": "Success Rate",
"avgEffectiveness": "Avg Effectiveness",
"error": "Load failed",
"noData": "No cost data"
},
"deployments": {
"title": "Deployments",
"subtitle": "K3s service deployment status",
"loading": "Loading...",
"service": "Service",
"port": "Port",
"latency": "Latency",
"status": "Status",
"host": "Host",
"error": "Load failed",
"noDeployments": "No deployment data",
"name": "Service Name",
"version": "Version",
"time": "Time"
},
"help": {
"title": "Help",
"subtitle": "System information",
"version": "Version Info",
"appVersion": "Application Version",
"platform": "Platform",
"docs": "Documentation",
"docsDescription": "Visit AWOOOI Docs for full documentation"
},
"security": {
"title": "Security",
"subtitle": "Errors & security event monitoring",
"loading": "Loading...",
"totalIssues": "Total Issues",
"criticalIssues": "Critical Issues",
"errorRate": "Error Rate",
"recentIssues": "Recent Issues",
"issue": "Issue",
"count": "Count",
"error": "Load failed",
"noData": "No security events"
},
"iwooos": {
"eyebrow": "Information Security Mesh",
"title": "IwoooS",
"subtitle": "The security mesh posture entry. It gathers Kali, source control, owner response, approval gates, and AwoooP mirror-only evidence into one readable posture without starting scans, repairs, or product blockers.",
"boundary": {
"label": "Current boundary",
"state": "Mirror-only / Observe-first",
"detail": "All numbers come from verified snapshots and guards. This page only displays posture, gaps, next gates, and non-blocking lanes."
},
"metrics": {
"overall": {
"label": "Overall mesh",
"detail": "headline progress, not authorization"
},
"framework": {
"label": "Framework maturity",
"detail": "docs, schema, read-only evidence"
},
"runtime": {
"label": "Runtime landing",
"detail": "runtime gates are not active"
},
"contracts": {
"label": "Core contracts",
"detail": "33 ready / 2 partial / 1 contract-only"
},
"activeGates": {
"label": "Active runtime gates",
"detail": "kept at 0 before approval"
}
},
"pillars": {
"exposure": {
"title": "Exposure Posture",
"state": "Waiting evidence",
"body": "Mainstream security management puts assets, exposure, vulnerabilities, and owner gates in one view. IwoooS shows coverage gaps without turning them into blockers."
},
"sourceControl": {
"title": "Source-control Supply Chain",
"state": "Draft gated",
"body": "GitHub is the long-term direction, but refs, workflows, secret names, and rollback ADRs still need owner responses."
},
"kali": {
"title": "Kali 112 Mesh",
"state": "Observe-only",
"body": "Kali 112 is in scope, and 111 / 168 are also observe-only. Active scan and /execute remain block candidates."
},
"governance": {
"title": "Approval Boundary",
"state": "Locked",
"body": "7 pending approvals, 1 block candidate, and 0 active runtime gates. Execution requires a human decision record and a follow-up runtime gate."
}
},
"lanes": {
"title": "Non-blocking Lanes",
"subtitle": "The initial phase stays observe / warn so security does not slow product and deployment flow.",
"lowMedium": {
"title": "LOW / MEDIUM observation",
"body": "Label risk, create follow-up, add evidence_ref, do not block deploy."
},
"ownerMissing": {
"title": "Owner response missing",
"body": "Show gaps and the next collection candidate; do not treat silence as rejection."
},
"mirrorIncomplete": {
"title": "Mirror data incomplete",
"body": "Show partial / quarantine reason and wait for a new redacted snapshot."
},
"sourceDrift": {
"title": "Source-control drift draft",
"body": "Keep the draft reconcile plan; do not sync refs or force push."
},
"kaliObserve": {
"title": "Kali observe finding",
"body": "Show only redacted finding summary; do not start active scan."
},
"workflowGap": {
"title": "Workflow / secret name gap",
"body": "Request redacted export; do not collect secret values or enable runners."
},
"progressHolding": {
"title": "Progress display holding",
"body": "58% means high-level gates are pending; it is neither stuck nor runtime approval."
}
},
"existingSurfaces": {
"title": "Existing Security Surfaces",
"subtitle": "Collects the frontend routes that already carry security, compliance, alert, authorization, governance, audit, and code review signals into one read-only index.",
"sourceLabel": "Original source",
"mode": "read-only link / no execution button",
"items": {
"securityCompliance": {
"title": "Security Compliance Hub",
"body": "The existing integrated page for SecurityPanel and CompliancePanel, covering errors, incidents, repair, and compliance stats.",
"source": "SecurityPanel / CompliancePanel; errors, incident summary, auto-repair stats"
},
"legacySecurity": {
"title": "Legacy Security Monitor",
"body": "Keeps the earlier standalone security route visible so existing error stats and Sentry issue entrypoints do not disappear behind IwoooS.",
"source": "apps/web/src/app/[locale]/security/page.tsx; errors stats / issues"
},
"legacyCompliance": {
"title": "Legacy Compliance Page",
"body": "Keeps the earlier standalone compliance route visible for incident, playbook, and auto-repair effectiveness data.",
"source": "apps/web/src/app/[locale]/compliance/page.tsx; incident summary / auto-repair stats"
},
"alerts": {
"title": "Alert Management",
"body": "The active incident surface sorted from P0 to P3, feeding near-real-time security posture signals.",
"source": "useIncidents; incidents / pending approvals"
},
"errors": {
"title": "Errors and UX Audit",
"body": "The existing error tracking and UX audit entrypoint for issues, trends, session replay, and user friction.",
"source": "ErrorsPanel; error stats / trends / ux-audit"
},
"authorizations": {
"title": "Authorization Center",
"body": "The existing HITL and multi-sig entrypoint, preserving the human control boundary before future security runtime gates.",
"source": "LiveApprovalPanel; pending approvals / SSE"
},
"governance": {
"title": "AI Governance Hub",
"body": "The existing governance events, SLO, remediation queue, and dry-run history surface for automation evidence.",
"source": "governance tabs; AI SLO / governance events / queue"
},
"alertOperationLogs": {
"title": "Alert Operation Logs",
"body": "The full alert operation log surface for guardrails, preflight, approval escalation, and handling results.",
"source": "alert-operation-logs; events / stats"
},
"awooopApprovals": {
"title": "AwoooP Approval Queue",
"body": "The existing AwoooP approvals page showing read-only dry-run, write observed, blocked, and human gate status.",
"source": "AwoooP approvals; platform approvals"
},
"codeReview": {
"title": "AI Code Review Control Plane",
"body": "The existing Code Review page showing Hermes, OpenClaw, Elephant Alpha, NemoTron, and the non-blocking review pipeline.",
"source": "code-review page; review pipeline / agent assignment"
}
}
},
"coverage": {
"title": "Coverage and Boundary Matrix",
"subtitle": "Groups the 10 existing security surfaces into four responsibility planes so IwoooS can show where to read signals, human control, governance audit, and engineering review.",
"groups": {
"signals": {
"title": "Signals and Exposure",
"body": "Collects security, compliance, alert, error, and UX audit signals; observations stay visible without becoming blockers."
},
"humanControl": {
"title": "Human Control Boundary",
"body": "Keeps HITL, multi-sig, and AwoooP approvals visible; runtime gates still require human decisions."
},
"governanceAudit": {
"title": "Governance and Audit",
"body": "Governance events, SLOs, remediation queues, and operation logs are evidence surfaces, not execution authorization."
},
"engineeringReview": {
"title": "Engineering Review",
"body": "Code Review remains a non-blocking review pipeline for risk grading and coding follow-up, not deploy approval."
}
},
"conflicts": {
"title": "Overlap and Conflict Controls",
"subtitle": "The same security signal can appear on multiple pages. IwoooS only organizes entrypoints and does not change ownership or authority.",
"preserveOwnership": {
"title": "Preserve Route Ownership",
"body": "Each route remains owned by its original page and API contract; IwoooS does not move write authority."
},
"noRuntimeLift": {
"title": "No Runtime Lift",
"body": "The coverage matrix can show coverage and gaps, but cannot create scan, execute, repair, or blocking gates."
},
"codeReviewNotDeployGate": {
"title": "Code Review Is Not Deploy Approval",
"body": "AI Code Review can grade risk and propose coding follow-up, but cannot become deploy approval by itself."
},
"awooopNotSecurityApproval": {
"title": "AwoooP Approval Is Not Security Approval",
"body": "The AwoooP approval queue can show human gate state, but security gates still require decision records and follow-up runtime gates."
},
"kaliNotCalled": {
"title": "Frontend Index Does Not Call Kali",
"body": "Kali 112 remains observe-only; active scan or /execute must go through human approval and follow-up gates."
}
}
},
"journey": {
"title": "Security Handling Journey",
"subtitle": "Pins the visible security mesh flow into a read-only status map: read posture, inspect existing surfaces, then move through owner evidence, human decisions, and follow-up gates.",
"outputLabel": "Output",
"steps": {
"readPosture": {
"title": "Read Current Posture",
"body": "Start from the 58% headline, framework / runtime landing, active gates, and next high-level gate.",
"output": "read-only posture, not authorization"
},
"openSurface": {
"title": "Open Existing Surfaces",
"body": "Enter the original page by security, alert, authorization, governance, audit, or code review responsibility.",
"output": "preserve original owner and data boundary"
},
"triageLane": {
"title": "Triage Non-blocking Lanes",
"body": "LOW / MEDIUM, missing owner response, partial mirror, and Kali observe findings stay observe / warn first.",
"output": "follow-up, not blocking"
},
"collectEvidence": {
"title": "Collect Owner Evidence",
"body": "The next recommended collection item remains S4.9 Gitea owner attestation response, accepting redacted evidence only.",
"output": "update received / accepted state, no execution"
},
"humanDecision": {
"title": "Wait for Human Decision",
"body": "Security gates need decision records; AwoooP approval, Code Review, or progress numbers cannot replace that.",
"output": "human decision, not runtime"
},
"runtimeGate": {
"title": "Follow-up Runtime Gate",
"body": "Only after human approval can work move into follow-up runtime gate templates; active runtime gates remain 0.",
"output": "separate gate after approval"
}
}
},
"evidenceReadiness": {
"title": "Owner Evidence Readiness",
"subtitle": "Shows the evidence that can actually move headline progress. Every item is waiting for collection or human decision and does not trigger execution from the frontend.",
"unlockLabel": "Unlock condition",
"items": {
"giteaOwnerAttestation": {
"title": "Gitea owner attestation",
"body": "The recommended first collection item is S4.9, covering Gitea inventory coverage and owner disposition.",
"unlock": "redacted owner response received and accepted"
},
"githubTargetOwner": {
"title": "GitHub target owner",
"body": "Confirms GitHub targets, visibility, canonical owner, and whether repos can enter primary readiness.",
"unlock": "S4.10 owner response accepted"
},
"refsTruthOwner": {
"title": "Refs truth owner",
"body": "Confirms truth for main/dev, deprecated drift, release tags, and GitHub-only refs.",
"unlock": "S4.11 refs truth response accepted"
},
"workflowSecretOwner": {
"title": "Workflow / secret name owner",
"body": "Confirms workflow, webhook, runner, deploy key, branch protection, and secret name parity.",
"unlock": "S4.12 workflow / secret response accepted"
},
"redactedFindingIngestion": {
"title": "Redacted finding ingestion",
"body": "Kali findings and security findings must enter mirror as redacted payloads before any runtime path.",
"unlock": "human-approved redacted finding ingestion"
},
"kaliScanScope": {
"title": "Kali scan scope",
"body": "Kali 112, 111, and 168 remain observe-only; active scan and /execute require separate approval.",
"unlock": "scan scope approval plus follow-up gate"
},
"followupRuntimeGate": {
"title": "Follow-up runtime gate",
"body": "Real execution waits for a human decision record and a separate follow-up runtime gate.",
"unlock": "decision record accepted; active gates remain 0"
}
}
},
"hostCoverage": {
"title": "Host Coverage View",
"subtitle": "Places Kali and the two development hosts inside the visible IwoooS security scope. This only shows coverage and gate state; it does not create SSH, scan, update, or blocking controls.",
"stateLabel": "Current state",
"items": {
"kali112": {
"title": "Kali security host",
"body": "192.168.0.112 is the Kali node for the security mesh and is visible in posture and evidence refs as observe-only integration.",
"state": "in scope; active scan, /execute, and host updates still require separate approval"
},
"dev168": {
"title": "Development host 168",
"body": "192.168.0.168 is included in IwoooS observe-only development host coverage for future scope approval and finding correlation.",
"state": "scope declared; credentialed scan and runtime control are not approved"
},
"dev111": {
"title": "Development host 111",
"body": "192.168.0.111 is included in IwoooS observe-only development host coverage and stays paired with 168 for phased tightening.",
"state": "scope declared; credentialed scan and runtime control are not approved"
}
}
},
"hostActionGates": {
"title": "Host Action Gate Matrix",
"subtitle": "Breaks host-related high-risk actions into read-only gates. This only explains what is locked and what human decision is required; it does not provide execution entry points.",
"gateLabel": "Required gate",
"items": {
"activeScan": {
"title": "Active scan",
"body": "Active scans for Kali 112 and development hosts 168 / 111 are not approved and cannot be triggered from IwoooS.",
"gate": "requires S1.6 scan scope approval plus a follow-up runtime gate"
},
"credentialedScan": {
"title": "Credentialed scan",
"body": "Any credentialed scan requires scope, credential handling, and redacted evidence rules before it can proceed.",
"gate": "requires S1.6 scope approval; credentialed scan remains false"
},
"kaliExecute": {
"title": "Kali /execute",
"body": "The Kali execution endpoint remains a block candidate and is not opened just because hosts are visible.",
"gate": "requires a human decision record and S3.4 follow-up runtime gate"
},
"sshChange": {
"title": "SSH / host change",
"body": "Logging into hosts, changing settings, tuning services, restarting services, or changing SSH settings is outside the frontend authority.",
"gate": "requires explicit human approval, a change plan, and rollback evidence"
},
"kaliUpdate": {
"title": "Kali host update",
"body": "Kali updates and host tuning affect scan results and toolchain stability, so they must be approved separately from posture display.",
"gate": "requires maintenance window, update list, validation metrics, and rollback plan"
},
"runtimeBlocking": {
"title": "Runtime blocking control",
"body": "Turning findings into product blocking or runtime enforcement still waits for owner evidence and a human decision.",
"gate": "requires an accepted decision record; active runtime gates remain 0"
}
}
},
"hostEvidenceReadiness": {
"title": "Host Evidence Readiness",
"subtitle": "Lists the evidence required before host scans, updates, SSH changes, or runtime blocking can proceed. These items are waiting for collection and do not mean approval.",
"evidenceLabel": "Required evidence",
"items": {
"scopeBoundary": {
"title": "Scope boundary",
"body": "Confirms allowed targets, exclusions, scan depth, and rate limits for 112, 168, and 111.",
"evidence": "requires redacted scan scope approval; received=0, accepted=0"
},
"ownerDecision": {
"title": "Owner decision record",
"body": "Every host action needs human control; IwoooS visibility or AwoooP queue status cannot replace a decision.",
"evidence": "requires accepted decision record; active runtime gates=0"
},
"credentialHandling": {
"title": "Credential handling",
"body": "Credentialed scans require defined credential source, storage boundary, redaction, and rejection rules.",
"evidence": "credential material collection is forbidden; credentialed scan=false"
},
"maintenanceWindow": {
"title": "Maintenance window",
"body": "Kali updates, host tuning, or SSH changes need a maintenance window to avoid disrupting development and product flow.",
"evidence": "requires window, impact scope, notification, and recovery criteria"
},
"rollbackPlan": {
"title": "Rollback plan",
"body": "Every host change needs a recovery path covering packages, settings, services, and toolchain versions.",
"evidence": "requires rollback owner, steps, and validation method"
},
"validationMetrics": {
"title": "Validation metrics",
"body": "Host actions need post-check metrics to confirm scanners, monitoring, services, and user flows did not regress.",
"evidence": "requires post-check metrics and failure lane"
},
"redactedIngestion": {
"title": "Redacted ingestion",
"body": "Host findings or scan results may only enter mirror as redacted summaries, not raw runtime input.",
"evidence": "requires redacted payload acceptance; payloads_ingested=false"
}
}
},
"hostEvidenceCollection": {
"title": "Host Evidence Collection Order",
"subtitle": "Orders the seven host evidence items into a recommended collection sequence. Each step only names the next reviewable item and does not change received / accepted from 0.",
"stepLabel": "Collection step",
"dependencyLabel": "Dependency",
"items": {
"scopeFirst": {
"title": "Define scope boundary first",
"body": "Confirm allowed targets, exclusions, depth, and rate limits first. No scope means no scan.",
"dependency": "none; this is the first host collection step"
},
"ownerSecond": {
"title": "Collect owner decision second",
"body": "Confirm who approves, the approved range, and the decision record; queue state cannot replace human control.",
"dependency": "requires readable scope boundary"
},
"credentialThird": {
"title": "Isolate credential handling",
"body": "If future scans need credentials, define credential source, storage boundary, redaction, and rejection first.",
"dependency": "requires owner decision; plaintext credential collection remains forbidden"
},
"maintenanceFourth": {
"title": "Schedule maintenance window",
"body": "Before updates, tuning, or SSH changes, confirm the window, impact scope, and notification.",
"dependency": "requires owner decision and change scope"
},
"rollbackFifth": {
"title": "Add rollback plan",
"body": "Every host action needs recovery for packages, settings, services, and toolchain versions.",
"dependency": "requires maintenance window and change list"
},
"validationSixth": {
"title": "Define validation metrics",
"body": "Define post-check metrics and failure handling lanes before execution is discussed.",
"dependency": "requires rollback plan"
},
"redactedSeventh": {
"title": "Collect redacted ingestion last",
"body": "Findings / scan results enter mirror only as redacted summaries, never as raw payload.",
"dependency": "requires validation metrics; payloads_ingested=false"
}
}
},
"nextGate": {
"title": "Next High-level Gate",
"body": "S4.9 Gitea owner attestation response is the recommended next owner evidence. Headline progress should only increase after owner responses, redacted payload ingestion, active runtime gates, or GitHub primary readiness actually change."
},
"evidence": {
"title": "Current Evidence"
},
"blocked": {
"title": "Blocked Actions",
"body": "This page does not provide scan, execute, repo, refs, workflow, secret, runner, primary switch, or deploy action buttons."
}
},
"tickets": {
"title": "Tickets",
"subtitle": "Incident ticket tracking",
"loading": "Loading...",
"id": "Ticket ID",
"title_col": "Title",
"status": "Status",
"priority": "Priority",
"createdAt": "Created At",
"error": "Load failed",
"noTickets": "No tickets"
},
"users": {
"title": "Audit Log",
"subtitle": "K8s operation execution records",
"loading": "Loading...",
"totalExecutions": "Total Executions",
"successCount": "Success",
"failureCount": "Failures",
"successRate": "Success Rate",
"avgDuration": "Avg Duration",
"recentOps": "Recent Operations",
"operation": "Operation Type",
"namespace": "Namespace",
"result": "Result",
"time": "Time",
"error": "Load failed",
"noUsers": "No audit records",
"name": "Name",
"role": "Role",
"status": "Status"
},
"emptyState": {
"noData": "--",
"comingSoon": "Integration pending"
},
"drift": {
"title": "Config Drift Detection",
"subtitle": "GitOps Guardian — Detects drift between K8s actual state and Git YAML",
"scan": "Scan Now",
"scanning": "Scanning...",
"loading": "Loading...",
"noReports": "No drift reports yet",
"noReportsHint": "CronJob scans hourly automatically, or click \"Scan Now\" to trigger manually",
"noDrift": "No Drift",
"reportId": "Report ID",
"scannedAt": "Scanned At",
"namespace": "Namespace",
"triggeredBy": "Triggered By",
"highCount": "High",
"mediumCount": "Medium",
"infoCount": "Info",
"status": "Status",
"driftLevel": {
"high": "High",
"medium": "Medium",
"info": "Info"
},
"interpretation": "Nemotron Intent Analysis",
"noInterpretation": "No analysis needed (no drift)",
"rollback": "Rollback to Git",
"adopt": "Adopt Change",
"rollbackConfirm": "Rollback this resource to Git state?",
"adoptConfirm": "Adopt this change and update Git?",
"pending": "Pending",
"resolved": "Resolved",
"ignored": "Ignored"
},
"neuralCommand": {
"title": "Neural Command Center",
"subtitle": "SSH_COMMAND Chain of Command · OpenClaw 🦞 × NemoTron ⚡",
"lastRefresh": "Updated {time}",
"refresh": "Refresh",
"preFlightAudit": "Pre-Flight Audit",
"liveCommand": "Live Command",
"statsHistory": "Stats & History",
"nuclearApproval": "Nuclear Approval",
"preFlightTitle": "SSH_COMMAND Architecture Security Audit",
"preFlightSubtitle": "WHITELIST updated to production standard",
"progress": "Progress",
"riskLevel": "Risk Level",
"riskLow": "Low",
"auditStatus": "Audit Status",
"passed": "Passed",
"pending": "Pending",
"passBannerTitle": "Pre-Flight Passed — Architecture meets security standards",
"passBannerDesc": "8/8 checks passed · Shell Injection protection enabled · known_hosts mounted",
"statusFixed": "Fixed",
"statusPending": "Pending",
"featureToggles": "Feature Toggle Status",
"approvedPlaybooks": "Approved Playbooks",
"highQuality": "High Quality",
"totalExecutions": "Total Executions",
"successRate": "Success Rate",
"checkA1Label": "Key Check (known_hosts)",
"checkA1Desc": "K8s Secret mounted at /etc/repair-ssh/known_hosts",
"checkA2Label": "Whitelist (ConfigMap)",
"checkA2Desc": "Hardcoded Whitelist → K8s ConfigMap",
"checkA3Label": "Command Injection Filter",
"checkA3Desc": "Block ; | && $() · Max 512 chars",
"checkB1Label": "Audit Log",
"checkB1Desc": "Missing AuditLog → PostgreSQL write",
"checkB2Label": "Langfuse Trace",
"checkB2Desc": "SSH Trace Missing → Decision tracing added",
"checkC1Label": "Idempotency Lock (Redis)",
"checkC1Desc": "repair_lock prevents duplicate execution",
"checkC2Label": "Feedback Loop",
"checkC2Desc": "Success Rate Update → RAG confidence self-updates",
"checkC3Label": "Execution Path (.188)",
"checkC3Desc": "ansible:// forced to .188 control node",
"agentRoleOC": "Diagnosis & RAG Matching",
"agentRoleNemo": "Decision & Execution",
"todayMatches": "Today's Matches",
"ragConf": "RAG Conf",
"execSuccess": "Exec Success",
"avgDuration": "Avg Duration",
"pendingApproval": "Pending",
"alertRadar": "Alert Radar",
"chainTitle": "Neural Transmission Path",
"nodeDone": "Done",
"nodeActive": "Running",
"nodeWaiting": "Waiting",
"execStream": "Execution Stream",
"waitingApproval": "Awaiting commander approval",
"kpiSuccessRate": "Overall Success Rate",
"kpiTotalExec": "Total Executions",
"kpiPlaybooks": "Playbooks",
"kpiAvgDuration": "Avg Repair Time",
"kpiPendingAppr": "Pending Approvals",
"trendUp": "↑ {n}% this week",
"trendDown": "↓ {n}s this week",
"schemeBreakdown": "Execution Path Breakdown",
"playbookRanking": "Playbook Performance Ranking",
"thName": "Name",
"thType": "Type",
"thRate": "Success Rate",
"thCount": "Count",
"historyTimeline": "Repair History Timeline",
"ago": "ago",
"approvalTitle": "Host Layer Command — Commander Authorization Required",
"diagnosis": "Diagnosis",
"recommendation": "Recommendation",
"execPathDetails": "Execution Path Details",
"uriScheme": "URI Scheme",
"controlNode": "Control Node",
"targetHost": "Target Host",
"playbookPath": "Playbook",
"repairLock": "Idempotency Lock",
"riskMediumDesc": "Operation cannot be immediately reverted, but backup protection exists",
"confirmExec": "Hold 5s to Confirm Execution",
"rejectApproval": "Reject — Transfer to Manual",
"approvalGranted": "Authorization Granted",
"approvalGrantedDesc": "NemoTron is executing ansible-playbook...",
"approvalRejected": "Authorization Rejected",
"approvalRejectedDesc": "Transferred to manual handling",
"noHistory": "No repair history yet",
"noActiveAlerts": "No active alerts",
"noPlaybooks": "No playbook records yet",
"noApprovals": "No pending approvals",
"noApprovalsDesc": "All authorization requests have been processed",
"chainAlert": "Alert Triggered",
"chainRAG": "🦞 OpenClaw RAG Diagnosis",
"chainDecide": "⚡ NemoTron Decision",
"chainExec": "Executor Routing",
"chainIdleSub": "Waiting for new alerts...",
"backToList": "Back to List",
"approvalError": "Operation failed",
"processing": "Processing...",
"blastRadius": "Blast Radius",
"affectedPods": "Affected Pods",
"estimatedDowntime": "Est. Downtime",
"relatedServices": "Related Services",
"dataImpact": "Data Impact",
"dryRunChecks": "Dry-Run Checks",
"approvalQueueCount": "{count} pending approvals",
"dispositionBreakdown": "Disposition Breakdown",
"dispositionAuto": "Auto Repair",
"dispositionHuman": "Human Approved",
"dispositionManual": "Manual Resolved",
"dispositionCold": "Cold Start Trust",
"autoRateLabel": "Automation Rate"
},
"alertOpLogs": {
"title": "Alert Operation Logs",
"subtitle": "alert_operation_log · Full event stream",
"refresh": "Refresh",
"totalEvents24h": "24h Total Events",
"allEventTypes": "All Event Types",
"incidentIdFilter": "Filter by Incident ID...",
"totalCount": "{count} total",
"colTime": "Time",
"colEventType": "Event Type",
"colIncident": "Incident",
"colActor": "Actor",
"colDetail": "Detail",
"colResult": "Result",
"loading": "Loading...",
"noRecords": "No records",
"loadError": "Failed to load, please retry",
"pageInfo": "Page {page} / {total}",
"prevPage": "Previous",
"nextPage": "Next",
"eventAlertReceived": "Alert Received",
"eventTelegramSent": "TG Notified",
"eventUserAction": "User Action",
"eventAutoRepairTriggered": "Auto Repair",
"eventExecutionStarted": "Execution Started",
"eventExecutionCompleted": "Execution Completed",
"eventTelegramResultSent": "TG Result",
"eventResolved": "Resolved",
"eventSilenced": "Silenced",
"eventEscalated": "Escalated",
"eventGuardrailBlocked": "Guardrail Blocked",
"eventPreFlightPassed": "Pre-flight Passed",
"eventPreFlightFailed": "Pre-flight Failed",
"eventBackupTriggered": "Backup Triggered",
"eventBackupCompleted": "Backup Completed",
"eventBackupFailed": "Backup Failed",
"eventApprovalEscalated": "Approval Escalated",
"eventChangeApplied": "Change Applied"
},
"commandPalette": {
"placeholder": "Search commands, pages or events...",
"noResults": "No results found",
"hint": "↑↓ Navigate Enter Select Esc Close",
"groupNav": "Navigation",
"groupActions": "Quick Actions",
"groupRecent": "Recent Events",
"actionOpenTerminal": "Open Omni-Terminal",
"actionGoHome": "Go to Command Center",
"actionGoObservability": "Go to Observability",
"actionGoAutomation": "Go to Automation",
"actionGoOperations": "Go to Operations",
"actionGoSecurity": "Go to Security & Compliance",
"actionGoIwooos": "Go to IwoooS",
"actionGoKnowledge": "Go to Knowledge Hall",
"actionGoSettings": "Go to Settings",
"actionGoTerminal": "Go to Terminal",
"actionGoApprovals": "Go to Authorizations"
},
"aiopsTimeline": {
"title": "AIOps Full Timeline",
"subtitle": "Alert → Investigation → Decision → Execution → Verification → Learning",
"mockBadge": "MOCK MODE",
"stages": {
"alert": "Alert Triggered",
"diagnose": "Investigation",
"decide": "AI Decision",
"execute": "Auto Execute",
"verify": "Verification",
"learn": "Learning Update"
},
"status": {
"success": "Success",
"running": "Running",
"failed": "Failed",
"skipped": "Skipped",
"pending": "Pending"
},
"filters": {
"incident_id": "Incident ID",
"incident_id_placeholder": "Search incident ID...",
"time_range": "Time Range",
"status_filter": "Status Filter",
"incident_count": "{count} incidents",
"timeRange": {
"1h": "1H",
"6h": "6H",
"24h": "24H",
"7d": "7D"
},
"statusFilter": {
"all": "All",
"success": "Success",
"failed": "Failed",
"running": "Running"
}
},
"incident": {
"started_at": "Started At",
"resolved_at": "Resolved At",
"duration": "Duration",
"in_progress": "In Progress",
"severity": "Severity",
"stages_summary": "{success} success / {total} stages",
"expand_all": "Expand All",
"collapse_all": "Collapse All"
},
"stage": {
"toggle_details": "Toggle {stage} details"
},
"evidence": {
"dimensions": "8D Dimensions",
"anomalyCount": "{count}/{total} anomaly dimensions",
"noData": "N/A"
},
"stageDetails": {
"alert": {
"name": "Alert Name",
"rule": "Rule",
"value": "Current Value",
"labels": "Labels"
},
"diagnose": {
"investigator": "Investigator",
"tools_used": "MCP Tools",
"hypothesis": "Root Cause Hypothesis",
"evidence": "8D Evidence"
},
"decide": {
"engine": "Decision Engine",
"fusion": "Fusion Method",
"confidence": "Confidence",
"confidenceThreshold": "Threshold {value}%",
"auto_execute": "Auto Execute",
"auto_yes": "Yes",
"auto_no": "No (requires approval)",
"playbook": "Playbook",
"decision": "Decision Command",
"reasoning": "Reasoning",
"alternates": "Alternate Decisions"
},
"execute": {
"command": "Command",
"target": "Target",
"executor": "Executor",
"duration": "Duration",
"stdout": "Output",
"exit_code": "Exit Code"
},
"verify": {
"verifier": "Verifier",
"outcome": "Outcome",
"checks": "Checks",
"trust_delta": "Trust Delta",
"notes": "Notes"
},
"learn": {
"playbook": "Playbook",
"trust_update": "Trust Update",
"km_entry": "Knowledge Base Entry",
"summary": "Learning Summary"
}
},
"loading": "Loading timeline data...",
"empty": {
"title": "No incidents found",
"subtitle": "No AIOps incidents match the current filters"
},
"error": {
"title": "Failed to load data",
"retry": "Retry"
}
},
"governance": {
"title": "AI Governance",
"complianceBadge": {
"label": "AI Governance",
"loading": "Loading...",
"score": "Overall Compliance",
"target": "Target ≥ 95%"
},
"tabs": {
"slo": "SLO Dashboard",
"events": "Governance Events",
"queue": "AI Queue"
},
"comingSoon": "This tab is coming soon",
"slo": {
"kpi": {
"autonomy_rate": "Autonomy Rate",
"decision_accuracy": "Decision Accuracy",
"confidence_calibration": "Confidence Calibration",
"km_growth_rate": "KM Growth Rate",
"mcp_call_diversity": "MCP Call Diversity",
"auto_execute_success_rate": "Auto Execute Success",
"human_override_rate": "Human Override Rate",
"verifier_false_neg_rate": "Verifier False Negative",
"current": "Current",
"target": "Target",
"sparkline": "7-day trend",
"loading": "Loading...",
"error": "Failed to load",
"noData": "No data",
"sampleCount": "Samples {count}",
"window": "Window {window}",
"state": {
"ok": "OK",
"warning": "Below target",
"violated": "Hard red line",
"skipped_low_volume": "Low sample wait",
"no_data": "No data",
"error": "Query failed",
"partial": "Partially evaluable"
},
"reason": {
"none": "None",
"denominator_below_minimum_events": "Denominator events too low",
"prometheus_nan_or_inf": "Prometheus has no valid denominator yet",
"prometheus_empty_result_metric_not_emitted": "Prometheus has not returned the metric yet",
"unknown": "Reason pending"
}
},
"chart": {
"title": "30-day Violation Timeline",
"xAxisLabel": "Date",
"yAxisLabel": "Count",
"loading": "Loading chart...",
"error": "Chart failed to load",
"empty": "No violations in the last 30 days",
"tooltip": "Violations"
},
"compliance": {
"title": "Overall Compliance",
"target": "Target ≥ 95%"
},
"coverage": {
"title": "Verification Coverage",
"subtitle": "Auto-repair executions and verifier writeback in the last {window}",
"totalAuto": "Auto repairs",
"verifiedAuto": "Verified",
"unverifiedAuto": "Unverified",
"coverageRate": "Coverage",
"successRate": "Success verification",
"lastVerified": "Last verified execution",
"reasonLabel": "Reason",
"failureBreakdown": "Non-success Verification Classes",
"recentFindings": "Recent Non-success Verification",
"remediationQueue": "Remediation Work Queue",
"queueSummary": "Total {total}; AI-ready {ready}; human {human}",
"dryRunButton": "Dry run",
"dryRunLoading": "Running",
"dryRunResult": "{mode}; preview {result}; tools {tools}",
"dryRunHistoryRecorded": "History recorded",
"dryRunHistorySummary": "History {count}x; last {time}; {route}",
"dryRunBlocked": "Dry run blocked",
"dryRunError": "Dry run failed",
"state": {
"ok": "OK",
"warning": "Needs tracking",
"violated": "Hard red line",
"skipped_low_volume": "Waiting for samples",
"no_data": "No data",
"error": "Query failed"
},
"reason": {
"none": "None",
"no_auto_repair_executions_24h": "No auto-repair executions in the last 24h",
"verification_backlog_present": "Some auto repairs are missing verification results",
"non_success_verification_present": "degraded / failed / timeout verification exists",
"postgresql_query_error": "PostgreSQL query failed"
},
"failureClass": {
"unsupported_action_scheme": "PlayBook action misses supported executor",
"verifier_missing_promql": "Verifier missing PromQL query",
"verifier_target_missing_pod": "Verifier missing pod target",
"auto_repair_execution_failed": "Auto repair execution failed",
"verification_failed": "Verification failed",
"verification_timeout": "Verification timed out",
"verification_degraded": "Verification degraded",
"unknown": "Pending classification"
},
"nextStep": {
"normalize_playbook_executor": "Fix PlayBook executor",
"add_verifier_query_template": "Add verifier query template",
"map_verifier_target": "Map verifier target",
"review_auto_repair_execution": "Inspect auto repair record",
"escalate_verification_failure": "Escalate verification failure",
"review_degraded_verification": "Review degraded evidence"
},
"remediationStatus": {
"ready_for_replay": "Ready for replay",
"ready_for_reverify": "Ready to reverify",
"needs_target_mapping": "Needs target mapping",
"needs_playbook_ticket": "Needs ticket",
"manual_review": "Manual review",
"unknown": "Pending classification"
},
"remediationAction": {
"replay_with_supported_executor": "Replay with supported executor",
"reverify_with_promql_template": "Reverify with PromQL template",
"map_target_and_reverify": "Map target and reverify",
"create_playbook_ticket": "Create PlayBook ticket",
"escalate_verification_failure": "Escalate verification failure",
"inspect_degraded_evidence": "Inspect degraded evidence"
}
}
},
"events": {
"filter": {
"eventType": "Event Type",
"dateRange": "Date Range",
"status": "Status",
"severity": "Severity",
"clearAll": "Clear All",
"allStatuses": "All Statuses",
"resolved": "Resolved",
"unresolved": "Unresolved",
"allSeverities": "All Severities",
"critical": "Critical",
"warning": "Warning",
"info": "Info",
"placeholder": "Select event types...",
"from": "From",
"to": "To"
},
"column": {
"eventType": "Event Type",
"triggeredAt": "Triggered At",
"status": "Status",
"impact": "Impact Summary",
"actions": "Actions"
},
"detail": {
"rawData": "Raw Data",
"remediation": "Remediation",
"dispatch": "Dispatch Log",
"noRemediation": "No remediation available",
"noDispatch": "No dispatch records"
},
"eventType": {
"slo_breach": "SLO Breach",
"accuracy_drop": "Accuracy Drop",
"km_stall": "KM Stall",
"mcp_failure": "MCP Failure",
"trust_degradation": "Trust Degradation",
"unknown": "Unknown"
},
"status": {
"resolved": "Resolved",
"unresolved": "Unresolved"
},
"severity": {
"critical": "Critical",
"warning": "Warning",
"info": "Info"
},
"emptyState": "No governance events",
"emptyStateHint": "System is operating normally",
"errorState": "Failed to load events",
"retry": "Retry",
"page": "Page",
"of": "of",
"prevPage": "Previous",
"nextPage": "Next",
"perPage": "20 per page ·",
"expand": "Expand details",
"collapse": "Collapse details"
},
"queue": {
"status": {
"connected": "Live updates",
"disconnected": "Offline mode",
"connecting": "Connecting..."
},
"column": {
"eventType": "Event Type",
"createdAt": "Created At",
"proposedAction": "Proposed Action",
"playbookTrust": "Playbook Trust",
"dispatchStatus": "Status"
},
"action": {
"approve": "Approve",
"reject": "Reject",
"approveTitle": "Approve this action",
"rejectTitle": "Reject this action"
},
"history": {
"title": "History",
"succeeded": "Succeeded",
"failed": "Failed",
"empty": "No history records"
},
"emptyState": {
"noTable": "Dispatch table not yet built",
"noTableHint": "Track D dispatch table is initializing",
"noPending": "No pending items",
"noPendingHint": "AI system is operating normally"
},
"sse": {
"label": "Live Updates",
"connected": "Connected",
"disconnected": "Disconnected"
},
"pendingSection": "Pending",
"loading": "Loading queue...",
"error": "Failed to load queue",
"retry": "Retry"
}
},
"awooop": {
"home": {
"eyebrow": "AI Automation Control Plane",
"title": "AwoooP Governance Overview",
"subtitle": "Unifies tenants, contracts, runs, approvals, and channel state into one operator surface so the AI flywheel and governance plane do not drift apart.",
"refresh": "Refresh",
"snapshotStatus": "Snapshot Status",
"lastUpdated": "Last Updated",
"migrationMode": "Migration Mode",
"migrationValue": "mirror / shadow",
"ready": "In Sync",
"loading": "Loading",
"degraded": "Degraded",
"quality": {
"title": "Automation Quality",
"subtitle": "Whether recent alerts actually reached AI auto-repair, verification, and learning writeback in the last 24 hours.",
"claimReady": "Full Loop Claim Ready",
"claimBlocked": "Full Loop Claim Blocked",
"unavailable": "Unavailable",
"loadFailed": "Unable to load the automation quality summary. Check Operator permissions and the truth-chain API.",
"empty": "No alert quality data is available yet.",
"yes": "Yes",
"no": "No",
"metrics": {
"evaluated": "Evaluated Alerts",
"evaluatedDetail": "Same quality gate applied",
"verified": "Verified Auto-Repairs",
"verifiedDetail": "Requires auto-repair plus verification",
"averageScore": "Average Score",
"averageScoreDetail": "0 to 100 process completeness",
"claim": "Production Claim",
"claimReadyDetail": "Every alert completed the verified loop",
"claimBlockedDetail": "Some alerts still lack execution, verification, or learning records"
},
"scoreBuckets": "Score Buckets",
"scoreBucketsDetail": "{total} evaluated alerts",
"green": "Green",
"yellow": "Yellow",
"red": "Red",
"verdictTitle": "Verdict Distribution",
"gateFailureTitle": "Top Gaps",
"scoreRange": "min {min} / max {max} / avg {avg}",
"verdicts": {
"autoRepairedVerified": "Auto-Repaired and Verified",
"executionUnverified": "Executed but Unverified",
"executionFailed": "Execution Failed",
"manualRequiredNoAction": "Manual Required: NO_ACTION",
"approvalRequired": "Waiting for Approval",
"observedNotExecuted": "Observed but Not Executed",
"receivedOnly": "Received Only"
},
"gates": {
"sourcePersisted": "Source Persisted",
"outboundRecorded": "Outbound Recorded",
"evidenceCollected": "Evidence Collected",
"mcpGatewayObserved": "MCP Gateway",
"approvalState": "Approval State",
"executionRecorded": "Execution Recorded",
"autoRepairRecorded": "Auto-Repair Recorded",
"verificationRecorded": "Verification Recorded",
"learningRecorded": "Learning Writeback",
"timelineRecorded": "Timeline Recorded"
},
"gateStatuses": {
"failed": "Failed",
"missing": "Missing"
}
},
"metrics": {
"tenants": "Tenants",
"tenantsDetail": "{active} active, {shadow} in shadow",
"runs": "Operator Runs",
"runsDetail": "Run state is the single view into async work",
"approvals": "Pending Approvals",
"approvalsDetail": "Every high-risk action must stop at the human gate",
"contracts": "Contracts",
"contractsDetail": "Project / Agent / Policy contract publish state"
},
"disposition": {
"title": "Disposition Semantics",
"diagnosis": {
"title": "Read-only Diagnosis",
"signal": "AI collected evidence",
"owner": "Owner: AI summarizes, SRE judges",
"route": "Route: Run monitor / incident detail"
},
"approval": {
"title": "Human Gate",
"signal": "High-risk approval pending",
"owner": "Owner: SRE approve / reject",
"route": "Route: Approval queue"
},
"execute": {
"title": "Auto Execution",
"signal": "Low-risk closure path",
"owner": "Owner: MCP Gateway executes and audits",
"route": "Route: Run State / Audit"
},
"manual": {
"title": "Manual Escalation",
"signal": "AI cannot safely repair",
"owner": "Owner: war room takes over",
"route": "Route: AwoooI SRE war room"
}
},
"lanes": {
"title": "Flywheel Lanes",
"live": "Live",
"mirror": "Mirror",
"providerName": "Provider Order",
"providerDetail": "GCP-A Ollama -> GCP-B Ollama -> 111 Ollama -> OpenClaw/Nemo -> Gemini",
"mcpName": "MCP Gateway",
"mcpDetail": "MCP Gateway stays in mirror / wrap mode before audit and redaction are proven as the only execution gate",
"channelName": "Channel Hub",
"channelDetail": "Telegram / LINE / Slack enter Channel Event first, then message ownership moves gradually",
"approvalName": "Approval Plane",
"approvalDetail": "Run state and Approval plane share one approval meaning"
},
"next": {
"title": "Next Actions",
"item1": "Review run monitor and provider fallback",
"item2": "Handle pending high-risk approvals",
"item3": "Review contract lifecycle",
"item4": "Open the AwoooP work map"
}
},
"workItems": {
"title": "Work Chain",
"subtitle": "{count} control points synced from production truth-chain and governance data",
"refresh": "Refresh",
"lastUpdated": "Last updated {time}",
"tableLabel": "AwoooP work chain",
"open": "Open",
"summary": {
"live": "Completed",
"inProgress": "In Progress",
"watching": "Watching",
"blocked": "Blocked"
},
"status": {
"live": "Completed",
"in_progress": "In Progress",
"blocked": "Blocked",
"watching": "Watching"
},
"columns": {
"phase": "Phase",
"work": "Work Item",
"status": "Status",
"surface": "Frontend Surface",
"source": "Data Source",
"evidence": "Production Evidence",
"gate": "Completion Gate",
"link": "Link"
},
"surfaces": {
"runs": "Run Monitor / Run Detail",
"governance": "Governance Events / SLO",
"workItems": "Work Chain"
},
"items": {
"sourceDossier": {
"title": "Source event dossier and truth-chain mirror"
},
"autoRepair": {
"title": "Low-risk Alertmanager auto-repair loop"
},
"remediationQueue": {
"title": "Non-success verification remediation queue"
},
"telegramCallbacks": {
"title": "Telegram detail / history as DB truth-first"
},
"governanceDispatch": {
"title": "Governance alert dispatch and dedupe"
},
"frontendConsole": {
"title": "AwoooP Operator Console productization"
},
"mcpGateway": {
"title": "MCP Gateway usage evidence overview"
},
"timelineContract": {
"title": "Timeline / KM / PlayBook writeback consistency"
}
},
"gates": {
"sourceDossier": "Inbound alerts must show received / incident_linked / source refs",
"autoRepair": "Requires auto_repair, verification_result=success, and KM writeback",
"remediationQueue": "Every degraded / failed / timeout row must map to replay, reverify, ticket, or manual review",
"telegramCallbacks": "Detail and history buttons cannot depend only on Redis TTL or stale snapshots",
"governanceDispatch": "Governance alerts must enter dispatch and expose skipped / pending / repaired",
"frontendConsole": "Completed and in-progress work must be trackable from the frontend",
"mcpGateway": "MCP usage must show agent, tool, scope, and blocked reason",
"timelineContract": "Incident, Approval, Evidence, KM, and Timeline must not contradict each other"
},
"evidence": {
"channelEvents": "Recent Alertmanager channel events: {count}",
"autoRepair": "Verified auto-repairs: {verified}/{evaluated}",
"remediationQueue": "Remediation work: {total}; AI-ready: {ready}; human: {human}",
"telegramCallbacks": "Telegram callback lookup and history summary are being repaired",
"governance": "Unresolved governance alerts: {unresolved}; pending dispatch: {queued}",
"governanceUnavailable": "Governance events API is not responding; pending dispatch: {queued}",
"governanceQueueMissing": "Governance dispatch table is not ready; unresolved governance alerts: {unresolved}",
"frontendConsole": "This page now reads production APIs instead of a static list",
"mcpReady": "MCP Gateway gate is not currently a top gap",
"mcpMissing": "Quality summary still reports an MCP Gateway observation gap",
"remediationHistory": "Dry-run history: {count}x; latest {preview}",
"remediationHistoryEmpty": "No remediation dry-run history yet",
"remediationRoute": "MCP: {route}",
"remediationWrites": "Writes: incident={incident}; autoRepair={autoRepair}",
"timelineReady": "Timeline gate is not currently a top gap",
"timelineMissing": "Quality summary still reports a Timeline / audit gap"
}
},
"listEvidence": {
"column": "AI Evidence",
"count": "{count} dry-runs",
"route": "MCP: {route}",
"emptyShort": "No remediation dry-run linked",
"manualGate": "Next: human approval",
"filters": {
"label": "AI evidence filter",
"all": "All AI evidence",
"incidentLabel": "Incident ID filter",
"incidentPlaceholder": "Enter Incident ID"
},
"incident": {
"column": "Incident",
"empty": "Not linked",
"filterTitle": "Show only {incidentId}",
"more": "+{count} more"
},
"statuses": {
"noEvidence": "No dry-run yet",
"readOnlyDryRun": "AI dry-run: read-only",
"writeObserved": "Write flag observed",
"blocked": "Dry-run blocked",
"observed": "Evidence linked"
},
"details": {
"noEvidence": "This row is not linked to ADR-100 remediation dry-run records in alert_operation_log yet.",
"readOnlyDryRun": "AI has run the remediation dry-run and the latest record did not write incident or auto-repair state.",
"writeObserved": "The latest remediation record contains write flags; verify the state-change source before approval.",
"blocked": "The remediation dry-run failed or was blocked by a gate; human review is required.",
"observed": "This row is linked to remediation history; open Run Timeline for the full evidence."
},
"summary": {
"readOnly": "Read-only dry-run",
"readOnlyDetail": "Latest evidence shows AI trialed the action without writing state",
"manualGate": "Human gate",
"manualGateDetail": "AI is stopped at the approval gate and needs approve / reject",
"writeObserved": "Write flags",
"writeObservedDetail": "Verify whether this is the expected auto-repair result",
"noEvidence": "Missing evidence",
"noEvidenceDetail": "The list row is not linked to ADR-100 dry-run history yet",
"approvalReadOnlyDetail": "Read-only remediation evidence is visible before approval",
"approvalNoEvidenceDetail": "Approval still lacks remediation dry-run evidence; inspect Run Timeline"
}
},
"incidentEvidence": {
"title": "Incident Evidence",
"subtitle": "Telegram, Run, Approval, and Work Item share the same remediation evidence",
"empty": "--",
"incidentLabel": "Incident",
"notLinked": "No Incident linked",
"filterTitle": "Show only {incidentId}",
"more": "+{count} more",
"dryRuns": "Dry-run",
"route": "MCP Route",
"writes": "Write flags",
"writeFlags": "incident={incident} / autoRepair={autoRepair}",
"runLink": "Run Timeline"
},
"runDetail": {
"back": "Back to Run Monitor",
"title": "Run Disposition Timeline",
"refresh": "Refresh",
"empty": "--",
"durationSeconds": "{seconds}s",
"errors": {
"title": "Failed to load run details",
"loadFailed": "Load failed"
},
"stats": {
"state": "Current State",
"timeline": "Timeline",
"mcpSteps": "MCP / Steps",
"duration": "Duration"
},
"summary": {
"title": "Run Summary",
"project": "Project",
"agent": "Agent",
"traceId": "Trace ID",
"trigger": "Trigger",
"triggerRef": "Trigger Ref",
"cost": "Cost",
"attempts": "Attempts",
"created": "Created",
"completed": "Completed",
"error": "Error"
},
"timeline": {
"title": "Disposition Timeline",
"lastUpdated": "Last updated {time}",
"count": "{count} items",
"empty": "No timeline records yet."
},
"gateway": {
"title": "MCP Gateway",
"emptyState": "No records",
"agent": "Agent",
"tool": "Tool",
"scope": "Scope",
"blockers": "Blockers",
"metrics": {
"firstClass": "First-class",
"policy": "Policy enforced",
"approvalExecutor": "Approval executor",
"legacyBridge": "Legacy bridge"
}
},
"remediation": {
"title": "Remediation Dry-run Evidence",
"empty": "This run is not linked to ADR-100 remediation dry-run history yet.",
"latest": "Latest dry-run",
"route": "MCP Route",
"preview": "Mode {mode}; preview {preview}",
"writes": "Writes: incident={incident}; autoRepair={autoRepair}",
"status": {
"linked": "Linked to remediation history",
"empty": "No remediation history"
},
"metrics": {
"incidents": "Incident",
"dryRuns": "Dry-run",
"tools": "Tools",
"writes": "Write flags"
}
},
"dossier": {
"title": "Source Event Dossier",
"empty": "This run is not linked to replayable inbound source events yet.",
"content": "Redacted Content",
"sourceRefs": "Source References",
"duplicate": "Duplicate",
"firstSeen": "First seen",
"status": {
"visible": "Recorded in truth-chain",
"empty": "No source"
},
"metrics": {
"sources": "Sources",
"refs": "References",
"redacted": "Redacted",
"duplicates": "Duplicates"
},
"fields": {
"stage": "Stage",
"severity": "Risk",
"namespace": "Namespace",
"target": "Target",
"hash": "Hash"
},
"refs": {
"alertIds": "Alert",
"approvalIds": "Approval",
"eventIds": "Event",
"fingerprints": "Fingerprint",
"incidentIds": "Incident",
"sentryIssueIds": "Sentry",
"signozAlerts": "SignOz"
}
},
"action": {
"eyebrow": "Next Decision",
"approval": {
"title": "Waiting for human approval",
"detail": "AI is stopped at the human gate and has not resumed. Approve or reject from the approval page; every decision is written back to Run state and audit.",
"primary": "Open approval decision"
},
"manual": {
"title": "Manual handoff required",
"detail": "AI cannot safely close the loop, or execution has failed / timed out. Return to Run Monitor to compare same-project work and hand off to the SRE war room when needed.",
"primary": "Back to Run Monitor"
},
"completed": {
"title": "Completed, ready for audit review",
"detail": "The run has converged. Use the timeline to verify MCP calls, outbound messages, and cost records before writing back to KM / Playbook.",
"primary": "Back to Run Monitor"
},
"running": {
"title": "AI is processing",
"detail": "The run is still active and this page refreshes periodically. If it stays running for too long, check heartbeat, MCP latency, and worker state.",
"primary": "Back to Run Monitor"
},
"observe": {
"title": "Observing",
"detail": "The run has not reached a human gate or terminal state. Follow the timeline to verify inbound events, tool calls, and outbound messages.",
"primary": "Back to Run Monitor"
},
"evidence": {
"inbound": "Inbound",
"outbound": "Outbound",
"mcp": "MCP Calls",
"steps": "Steps"
}
},
"statuses": {
"blocked": "Blocked",
"cancelled": "Cancelled",
"completed": "Completed",
"error": "Error",
"failed": "Failed",
"pending": "Pending",
"received": "Received",
"running": "Running",
"sent": "Sent",
"shadow": "Shadow",
"success": "Success",
"timeout": "Timed out",
"warning": "Warning",
"waitingApproval": "Waiting approval"
}
},
"approvalDecision": {
"back": "Back to Approval Queue",
"viewTimeline": "View Run Timeline",
"eyebrow": "Human Approval Gate",
"title": "Approval Decision",
"timeout": "Approval Deadline",
"empty": "--",
"errors": {
"title": "Failed to load run data",
"loadFailed": "Load failed",
"missingProject": "Missing project_id; cannot submit approval decision",
"actionFailed": "Action failed"
},
"success": {
"approve": "Run approved. Returning to Timeline",
"reject": "Run rejected. Returning to Timeline"
},
"notWaiting": {
"title": "This run is not waiting for human approval",
"detail": "Current state is {state}. This page will not show approve / reject; return to Run Timeline for the latest state."
},
"remediation": {
"title": "Remediation Dry-run Evidence",
"empty": "This run is not linked to remediation dry-run history yet; check the Run Timeline source dossier and MCP Gateway before approval.",
"latest": "Latest dry-run",
"preview": "Mode {mode}; preview {preview}",
"writes": "Writes: incident={incident}; autoRepair={autoRepair}",
"status": {
"linked": "Linked to remediation history",
"empty": "No remediation history"
},
"metrics": {
"incidents": "Incident",
"dryRuns": "Dry-run",
"tools": "Tools"
}
},
"details": {
"title": "Run Details",
"runId": "Run ID",
"project": "Project",
"agent": "Agent",
"state": "State",
"traceId": "Trace ID",
"trigger": "Trigger",
"triggerRef": "Trigger Ref",
"cost": "Cost",
"attempts": "Attempts",
"created": "Created",
"timeout": "Timeout",
"error": "Error",
"empty": "Run data was not found."
},
"actions": {
"approve": "Approve",
"reject": "Reject"
},
"dialog": {
"close": "Close",
"cancel": "Cancel",
"runId": "Run ID:",
"approve": {
"title": "Confirm Approval",
"body": "After approval, the run resumes from the human gate and continues through Runtime / MCP Gateway.",
"warning": "This decision is written to Run state, approval token, and audit trail.",
"confirm": "Confirm Approval"
},
"reject": {
"title": "Confirm Rejection",
"body": "After rejection, the run is cancelled and will not continue automatic execution.",
"reason": "Rejection reason",
"placeholder": "Enter rejection reason...",
"warning": "The reason is written to the audit trail for later review in Run Timeline.",
"confirm": "Confirm Rejection"
}
}
}
}
}