Files
awoooi/apps/web/messages/en.json
Your Name 156660929e
All checks were successful
CD Pipeline / tests (push) Successful in 1m18s
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / build-and-deploy (push) Successful in 4m36s
CD Pipeline / post-deploy-checks (push) Successful in 2m9s
feat(governance): surface callback owner review work items
2026-05-25 08:14:01 +08:00

3174 lines
125 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"
},
"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",
"operations24h": "24h Operations",
"operationsTotal": "{total} total",
"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",
"showingLatestIncidents": "Showing latest {shown} of {total}; open Alerts for the full list",
"relatedIncidents": "Related Incidents",
"noRelatedIncidents": "No related incidents",
"viewAllAuth": "View All Authorizations",
"viewAllReport": "View Full Report",
"aiModelStatus": "AI Model Status",
"aiModelRoles": {
"primary": "Primary",
"backup": "Backup",
"local": "Local",
"agent": "Agent",
"provider": "Provider"
},
"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",
"automationEvidence": {
"title": "AI Automation Evidence",
"claimReady": "Loop claim ready",
"claimBlocked": "Gaps remain",
"claimChecking": "Quality pending",
"loading": "Loading AI automation evidence...",
"empty": "No AI automation evidence is available yet.",
"missingApiBase": "NEXT_PUBLIC_API_URL is not set",
"loadFailed": "Load failed",
"error": "Evidence chain failed to load: {error}",
"sourcePersisted": "Source persisted",
"sourceDetail": "{missing} missing refs, latest {latest}",
"recurrence": "Recurrence",
"recurrenceDetail": "{duplicates} duplicate events, {workItems} work items",
"mcpInvestigation": "MCP investigation",
"mcpDetail": "{success} success / {failed} failed, latest {server}",
"autoRepair": "Auto repair",
"qualityDetail": "Average {score}, red {red}",
"qualityPending": "Quality summary is still calculating; other evidence is already shown",
"executionBackendDetail": "Execution evidence: operations {operations} (effective {effective} / audit {auditOnly}), auto-repair {autoRepair}; Ansible audit {ansibleRecords}, candidates {ansibleCandidates}, check-mode {checkMode}, apply {apply}, pending wiring {pending}; runtime {runtime}",
"ansibleRuntimeReady": "check-mode ready",
"ansibleRuntimeBlocked": "not ready: {blockers}",
"humanGap": "Human gap",
"humanGapDetail": "{gate} missing {count}",
"humanGapClear": "Quality summary has no top gap",
"modelRoute": "Model route",
"routeDetail": "{model}; current {selected}; {primary}={primaryStatus}; fallback {fallback}",
"routeReasonSeparator": "; ",
"routeReason": "Reason: {reason}",
"routeErrorDetail": "Route check failed: {error}",
"routeNoFallback": "none",
"routeHealth": {
"healthy": "healthy",
"slow": "slow",
"degraded": "degraded",
"offline": "offline",
"not_checked": "standby",
"unknown": "unknown"
},
"topGap": "Largest current gap: {gate}, {count} items."
}
},
"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",
"aiProposalPreview": "AI Proposal: {action}",
"flowCurrentLabel": "Current stage",
"flowNextLabel": "Next step",
"flowSourceLabel": "Source",
"flowSourceTruthChain": "truth-chain / ADR-100",
"flowSourceHeuristic": "incident status heuristic",
"flowVerdictLabel": "Verdict",
"flowEvidenceMcp": "MCP {count}",
"flowEvidenceOps": "Ops {count}",
"flowEvidenceKm": "KM {count}",
"flowEvidenceRepair": "Repair {count}",
"flowMcpDetail": "MCP detail: Gateway success {success} / failed {failed} / blocked {blocked}; first-class {firstClass}; legacy {legacy}; tools {tools}",
"flowExecutionDetail": "Execution detail: Executor {executor}; Operation {operation} / {status}; Ansible {ansible}; PlayBook {playbook}",
"flowExecutionAnsibleConsidered": "considered ({records} records / {candidates} candidates)",
"flowExecutionAnsibleNotUsed": "not used: {reason}",
"flowExecutionAnsibleEmpty": "--",
"flowSourceRefsDetail": "Source detail: Inbound {inbound} / Outbound {outbound}; Alert {alert}; Sentry {sentry}; SigNoz {signoz}; linked {linked} / candidate {candidate} ({correlation}); latest {latest}",
"flowSourceCorrelationStatus": {
"linked": "Directly linked",
"candidateFound": "Candidate found",
"providerFreshNoMatch": "Provider fresh, no match",
"missing": "No match yet",
"noIncidentContext": "Missing incident context",
"fetchFailed": "Read failed"
},
"flowTruthChainCurrent": "{stage} / {status}",
"flowComplete": "Complete",
"flowStages": {
"alert": "Alert received",
"detection": "AI detection",
"analysis": "AI analysis",
"proposal": "Proposal generated",
"approval": "Waiting approval",
"execution": "Repair execution",
"resolved": "Complete"
},
"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}}",
"pageSummary": "Showing {from}-{to} of {total}",
"statusChainWindow": "AI flow evidence: {loaded}/{shown} on this page connected to truth-chain",
"previousPage": "Previous",
"nextPage": "Next",
"pageIndicator": "Page {page} of {totalPages}",
"sourceCoverageTitle": "Source Dossier Coverage",
"sourceCoverageSubtitle": "DB persistence and Sentry / SigNoz references across the latest {limit} inbound source events",
"sourceCoverageError": "Source dossier coverage failed to load: {error}",
"sourceCoverageWithRefs": "With refs",
"sourceCoverageMissing": "Missing refs",
"sourceCoverageAlert": "Alert refs",
"sourceCoverageSentry": "Sentry refs",
"sourceCoverageSigNoz": "SigNoz refs",
"sourceCoverageRatio": "source refs coverage {ratio} / total {total}",
"sourceCoverageProvider": "{provider}: total {total}, missing {missing}, Sentry {sentry}, SigNoz {signoz}, latest {latest} ({age})",
"sourceCoverageProviderWindow": "{provider} window: total {total}, with refs {withRefs}, missing {missing}, latest {latest} ({age})",
"sourceCoverageFreshness": "{provider} latest {latest} ({age})",
"sourceCoverageFresh": "fresh",
"sourceCoverageStaleHours": "stale {hours}h",
"sourceCoverageStaleDays": "stale {days}d",
"sourceCoverageNoEvents": "no events"
},
"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",
"cicd": {
"title": "CI/CD Deployment Evidence",
"subtitle": "Deployment, test, and rollout-risk status from AwoooP audit data",
"visibleCount": "{count} items",
"loading": "Loading CI/CD evidence...",
"error": "Failed to load CI/CD evidence",
"empty": "No CI/CD evidence yet",
"emptyValue": "--",
"durationSeconds": "{seconds}s",
"durationNotRecorded": "Duration not recorded",
"openWorkflow": "Open workflow",
"status": {
"failed": "Failed",
"pending": "Needs attention",
"running": "Running",
"success": "Success"
},
"stage": {
"buildDeploy": "Build and deploy",
"codeReview": "Code review",
"postDeploy": "Post deploy",
"postDeployChecks": "Post deploy checks",
"rolloutRisk": "Rollout risk recovered",
"tests": "Tests"
}
}
},
"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"
},
"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",
"acknowledged": "Acknowledged",
"rolled_back": "Rolled back",
"adopted": "Adopted",
"ignored": "Ignored",
"fingerprintState": {
"title": "Same-fingerprint state chain",
"occurrences": "12h {count}x",
"report": "Report: {report}",
"state": "State: {state}",
"next": "Next: {step}",
"writes": "Writes: drift={drift}; incident={incident}; repair={repair}; ticket={ticket}",
"pr": "PR: {pr}; zeroDiff={zeroDiff}",
"p0Dedup": "P0 dedupe {hours}h",
"remediation": "Remediation: {status}; verification report: {report}",
"remediationKind": "Remediation kind: {kind}",
"remediationVerification": "Verification: {summary}",
"remediationNote": "Note: {note}"
}
},
"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",
"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",
"eventId": "Event ID",
"eventIdPlaceholder": "Paste governance_event_id",
"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_violation": "SLO Violation",
"governance_slo_data_gap": "SLO Data Gap",
"knowledge_degradation": "KM Needs Update",
"kb_stale": "Stale KM",
"execution_blast_radius": "Execution Blast Radius",
"conservative_mode": "Conservative Mode",
"replay_degraded": "Replay Degraded",
"self_demotion": "AI Self-demotion",
"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",
"sourceFlow": {
"title": "Source Flow and Work Progress",
"subtitle": "Reads recent Channel Event recurrence data so the overview shows source persistence, run linkage, work items, and source correlation state.",
"sourceEvents": "{count} source events",
"unavailable": "Unavailable",
"loadFailed": "Unable to load the source flow overview. Check the Work Chain or Run Monitor recurrence API.",
"empty": "No source event data is available yet.",
"metrics": {
"linkedRuns": "Run Linkage",
"linkedRunsDetail": "Unlinked events: {unlinked}",
"openWork": "Open Work",
"openWorkDetail": "No repair {gap} / manual gates {manual} / failed repairs {failed}",
"sourceDecision": "Source Decision",
"sourceDecisionNone": "No Review",
"sourceDecisionDetail": "Recorded reviews: {recorded}",
"latest": "Latest Event",
"latestDetail": "{groups} recurrence groups"
},
"progress": {
"linked": "Source to Run Coverage",
"linkedDetail": "Whether source events can be traced back to Run / Incident",
"work": "Work Item Cleanup",
"workDetail": "Whether recurrence groups still have open work",
"decision": "Source Match Decision",
"decisionDetail": "Whether source review / apply has a decision record"
},
"actions": {
"workItems": "Handle Work Items",
"workItemsDetail": "{count} open groups need handling or confirmation",
"runs": "Inspect Run Linkage",
"runsDetail": "Unlinked events: {unlinked}",
"approvals": "Check Human Gates",
"approvalsDetail": "{count} manual gates need human judgment",
"sourceReviews": "Review Source Matches",
"sourceReviewsDetail": "{count} source reviews need a decision"
}
},
"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",
"unknown": "Unknown Gate"
},
"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"
},
"recurrenceWorkItems": {
"title": "Recurring alert work item / ticket entry"
},
"configDriftFsm": {
"title": "Config Drift fingerprint state machine"
},
"remediationQueue": {
"title": "Non-success verification remediation queue"
},
"telegramCallbacks": {
"title": "Telegram detail / history as DB truth-first"
},
"callbackOwnerReview": {
"title": "Callback missing KM owner-review work item"
},
"ciSecretHygiene": {
"title": "CI/CD secret log exposure hardening"
},
"governanceDispatch": {
"title": "Governance alert dispatch and dedupe"
},
"knowledgeHealthcheck": {
"title": "KM healthcheck dispatch state"
},
"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",
"recurrenceWorkItems": "Completed-without-repair, failed repair, and manual gate groups must become trackable work items",
"configDriftFsm": "The same drift fingerprint must expose recurrence, PR, zero diff, handoff, and next step",
"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",
"callbackOwnerReview": "Telegram detail/history callbacks without a KM owner-review link must become trackable work items",
"ciSecretHygiene": "Workflows must not mount secrets in step env / action inputs; historical logs still need rotation and retention governance",
"governanceDispatch": "Governance alerts must enter dispatch and expose skipped / pending / repaired",
"knowledgeHealthcheck": "knowledge_degradation must show Hermes / OpenClaw / ElephantAlpha ownership, current stage, and owner review point",
"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}",
"recurrenceWorkItems": "Recurring alert work: {open}; no repair: {gap}; failed repair: {failed}; manual gates: {manual}; source review: {source}",
"recurrenceLatest": "Latest: {alert} / {incident}",
"recurrenceReason": "Reason: {reason}",
"recurrenceSourceReviewRecorded": "Source reviews recorded: {count}",
"recurrenceSourceApplied": "Source matches applied: {count}",
"recurrenceEmpty": "No open recurring-alert work item in the recent window",
"driftFingerprint": "Config Drift: {state}; {count}x in 12h",
"driftFingerprintUnavailable": "Config Drift fingerprint state API has not responded",
"driftFingerprintId": "Fingerprint: {fingerprint}; Report: {report}",
"driftFingerprintPr": "PR: {pr}; zeroDiff={zeroDiff}",
"driftFingerprintNext": "Next: {step}",
"driftFingerprintRemediation": "Remediation: {kind} / {status}; verification report: {report}",
"driftFingerprintEmpty": "No Config Drift fingerprint state yet",
"remediationQueue": "Remediation work: {total}; AI-ready: {ready}; human: {human}",
"telegramCallbacks": "Telegram callback lookup and history summary are being repaired",
"telegramCallbacksLive": "Read-only callback toast 400 is nonfatal; detail / history replies now use DB truth-chain",
"callbackOwnerReview": "Callback owner-review gaps: {open} open; callback evidence: {total}",
"callbackOwnerReviewLatest": "Latest: {incident} / {action}",
"callbackOwnerReviewQueue": "Completion queue: ready {ready}; blocked {blocked}; completed {completed}; failed {failed}",
"callbackOwnerReviewNext": "Next: {next}",
"callbackOwnerReviewEmpty": "Recent callback evidence is matched or no data is available yet",
"ciSecretHygiene": "Repo-controlled step env / action input exposure is guarded; key rotation and log retention remain",
"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}",
"knowledgeHealthcheck": "KM healthcheck dispatches: {total}; current stage: {stage}",
"knowledgeOwner": "Lead: {lead}; human review: {human}",
"knowledgeNext": "Next action: {action}",
"knowledgeDrafts": "KM review drafts: {drafts}; duplicate drafts: {duplicates}",
"knowledgeStaleCandidates": "Stale KM priority queue: {total}; top {top} / {tier}",
"knowledgeCompletionQueue": "Completion queue: ready {ready}; blocked {blocked}; completed {completed}; failed {failed}",
"knowledgeCompletionLatest": "Latest completion: {entry} / {readiness}; next {next}",
"knowledgeEmpty": "No recent knowledge_degradation dispatch trail",
"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"
},
"claim": {
"ready": "Full auto-repair claim: ready",
"notReady": "Full auto-repair claim: not ready",
"loading": "Full auto-repair claim: loading",
"unavailable": "Full auto-repair claim: data unavailable",
"reasonSomeUnverified": "Production truth-chain still has events below auto_repaired_verified; execution, verification, and KM / learning writeback remain.",
"reasonUnknown": "production_claim did not return a readable reason.",
"loadingDetail": "Reading the production quality summary before making a claim.",
"unavailableDetail": "The quality summary API did not respond in time; the UI will not pretend 0/0 is complete.",
"verified": "Verified {count}",
"evaluated": "Evaluated {count}",
"gateFailures": "Gaps {count}",
"verifiedUnknown": "Verified --",
"evaluatedUnknown": "Evaluated --",
"gateFailuresUnknown": "Gaps --"
},
"knowledgeGovernance": {
"title": "KM Healthcheck Dispatch",
"subtitle": "Tracks knowledge_degradation from detection, Hermes lookup, draft updates, owner review, and stale-ratio recheck",
"total": "Total {count}",
"active": "Active {count}",
"review": "Review {count}",
"drafts": "Drafts {count}",
"duplicates": "Duplicates {count}",
"unavailable": "The governance queue API has not responded, so KM healthcheck dispatch state cannot be claimed.",
"tablePending": "governance_remediation_dispatch is not ready, so no KM healthcheck dispatch rows are trackable yet.",
"empty": "No knowledge_degradation dispatch record is currently present; the next Telegram alert should produce a dispatch trail.",
"stage": "Stage: {stage}",
"next": "Next: {action}",
"lead": "Lead: {agent}",
"human": "Human review: {owner}",
"support": "Support: {agents}",
"worker": "Worker status: {status}",
"draft": "KM draft: {id}",
"duplicateWarning": "{count} duplicate drafts exist for the same event; the new worker dedupes by governance_event, and old rows need owner merge or archive.",
"draftsUnavailable": "The knowledge API has not responded, so KM drafts and duplicate counts cannot be confirmed yet.",
"draftsEmpty": "No Hermes KM healthcheck review draft is currently present.",
"draftSectionTitle": "KM draft dedupe view",
"draftGroup": "Drafts for this event: {count}; duplicates: {duplicates}",
"archiveProposal": "Archive candidates: {count} duplicate drafts",
"ownerAction": "Owner action: {action}",
"readOnlyPlan": "Writes on read: {writes}; archive blocked before review: {blocked}",
"staleCandidates": {
"title": "Stale KM Priority Queue",
"total": "Stale {count}",
"returned": "Shown {count}",
"threshold": "Threshold {days}d",
"unavailable": "The stale candidates API has not responded; only the aggregate count is visible.",
"empty": "No KM entries are currently past the stale threshold.",
"meta": "Stale {days}d; score {score}; views {views}",
"action": "Recommended: {action}",
"sources": "Sources: {sources}",
"refs": "Incident: {incident}; PlayBook: {playbook}; Approval: {approval}",
"noSources": "No Incident / Sentry / SigNoz / PlayBook link yet",
"openKnowledge": "Open KM",
"queueReview": "Queue review",
"queueingReview": "Queueing",
"queueFailed": "Could not queue owner review; refresh and confirm this KM is still stale.",
"queueResult": "Review status: {status}; Dispatch: {dispatch}; Event: {event}",
"ownerReviewState": "Owner review: {status}; stage: {stage}; Dispatch: {dispatch}",
"guardrail": "Guardrail: writes on read={writes}; manual review={review}",
"queueStatuses": {
"dry_run": "Dry-run",
"queued": "Queued for owner review",
"already_queued": "Already in owner review"
},
"ownerReviewInbox": {
"title": "Owner Review Inbox",
"subtitle": "Shows P0/P1 KM already waiting for owner review, with per-item dry-run and completion.",
"total": "Pending {count}",
"returned": "Shown {count}",
"unavailable": "The owner-review inbox API has not responded; use the candidate list for single-item actions.",
"empty": "No pending owner-review KM.",
"meta": "Stale {days}d; score {score}; views {views}",
"state": "Status: {status}; stage: {stage}",
"batch": "Batch: {batch}"
},
"burnDown": {
"title": "Stale ratio burn-down",
"subtitle": "Aligns owner review, completion audit, and recheck snapshots so the stale ratio movement is visible.",
"statuses": "Status: {status}",
"status": {
"above_threshold": "Above threshold",
"at_or_below_threshold": "At threshold",
"no_data": "No data"
},
"remaining": "{count} entries to threshold",
"unavailable": "The burn-down API has not responded; only per-item completion results are visible.",
"empty": "No owner-approved completion audit yet.",
"currentRatio": "Current stale ratio",
"currentCount": "Stale / total",
"ownerReviews": "Owner review",
"ownerReviewCounts": "pending {pending} / completed {completed}",
"latestDelta": "Latest delta",
"delta": "stale {stale} / ratio {ratio}",
"auditTotal": "Completion audit {count}",
"recheckTotal": "Recheck {count}",
"guardrail": "writes on read={writes}; manual review={review}",
"itemState": "stage: {stage}; outcome: {outcome}",
"itemRefs": "Source: {source}; Recheck: {recheck}"
},
"completionQueue": {
"title": "Completion queue",
"subtitle": "Splits owner review into ready, blocked, completed, and failed work so the next step is visible.",
"ready": "Ready {count}",
"blocked": "Blocked {count}",
"completed": "Completed {count}",
"failed": "Failed {count}",
"pending": "Pending dispatch {count}",
"guardrail": "writes on read={writes}; manual review={review}; batch writes={batch}",
"unavailable": "The completion queue API has not responded; use the owner-review inbox for single-item confirmation.",
"empty": "No owner-review completion work items.",
"state": "Split: {readiness}; stage: {stage}",
"next": "Next: {action}; outcome: {outcome}",
"required": "Required fields: {fields}",
"blockers": "Blockers: {blockers}",
"filters": {
"ready": "Ready",
"blocked": "Blocked",
"completed": "Completed",
"failed": "Failed",
"pending": "Pending",
"all": "All",
"priorityAll": "All priorities"
},
"batchPreview": {
"preview": "Batch preview",
"previewing": "Previewing",
"previewFailed": "Completion batch preview failed",
"summary": "Candidates {candidates}; single-item dry-run ready {previewable}; blocked {blocked}; writes KM={writesKm}; writes audit={writesAudit}; batch writes={batchWrites}",
"planFingerprint": "Preview fingerprint: {fingerprint}",
"next": "Next: {action}"
},
"readiness": {
"ready": "Ready to dry-run",
"blocked": "Needs manual unblock",
"completed": "Completed",
"failed": "Failed"
}
},
"batchActions": {
"title": "Batch P0 / P1 stale KM",
"subtitle": "Dry-run the latest P0 / P1 candidates first, then create owner-review dispatches in batch; KM is not written directly.",
"preview": "Dry-run batch",
"previewing": "Dry-running",
"confirm": "Queue batch",
"confirming": "Queueing",
"previewFailed": "Batch dry-run failed; refresh and verify that the stale candidates API is available.",
"confirmFailed": "Batch queue failed; the backend may have detected changed candidates or dispatch state.",
"missingPreviewFingerprint": "Missing batch dry-run plan fingerprint; run the dry-run again first.",
"summary": "Candidates {candidates}; will queue {queued}; already in review {already}; skipped {skipped}; writes KM: {writesKm}; writes audit: {writesAudit}",
"planFingerprint": "Batch plan fingerprint: {fingerprint}",
"result": "Batch dispatch: {batch}; Event: {event}; queued {queued}; already in review {already}; skipped {skipped}",
"statuses": {
"dry_run": "Batch dry-run complete",
"queued": "Batch queued for owner review",
"noop_already_queued": "All candidates already queued or handled",
"unknown": "Batch status pending"
},
"itemStatuses": {
"would_queue": "Will queue",
"queued": "Queued",
"already_queued": "Already in review",
"skipped": "Skipped",
"unknown": "Pending"
}
},
"completeActions": {
"preview": "Dry-run complete",
"previewing": "Previewing",
"confirm": "Confirm complete",
"confirming": "Writing",
"previewFailed": "Dry-run preview failed; refresh and verify that the owner-review dispatch is still active.",
"confirmFailed": "Completion failed; the backend may have detected changed KM or dispatch state.",
"missingDispatch": "Missing owner-review dispatch; queue review first.",
"missingPreviewFingerprint": "Missing dry-run plan fingerprint; run the preview again first.",
"previewResult": "Dry run: {outcome}; writes KM: {writesKm}; writes audit: {writesAudit}",
"planFingerprint": "Plan fingerprint: {fingerprint}",
"result": "Completed; audit dispatch: {audit}; recheck dispatch: {recheck}",
"snapshot": "Current stale {stale} / total {total}; ratio {ratio}; threshold {threshold}",
"statuses": {
"dry_run": "Dry run complete",
"completed": "Review completed",
"already_completed": "Already completed",
"unknown": "Status pending"
},
"outcomes": {
"refresh_with_evidence": "Refresh KM with evidence",
"archive": "Archive stale KM",
"supersede": "Supersede with new KM"
}
},
"actions": {
"refresh_with_evidence": "Refresh with Incident / Sentry / SigNoz / PlayBook evidence",
"owner_review": "Route to owner review",
"archive_or_supersede": "Archive or supersede"
},
"correlationSources": {
"incident": "Incident",
"approval": "Approval",
"playbook": "PlayBook",
"sentry": "Sentry",
"signoz": "SigNoz",
"unknown": "Unknown source"
},
"reasons": {
"linked_incident": "Linked Incident",
"linked_approval": "Linked Approval",
"linked_playbook": "Linked PlayBook",
"sentry_context": "Sentry context",
"signoz_context": "SigNoz context",
"anti_pattern_priority": "Anti-Pattern priority",
"auto_runbook_review_needed": "Auto-runbook review",
"ai_extracted_needs_owner_check": "AI extraction needs review",
"already_waiting_review": "Already waiting review",
"viewed_by_operator": "Viewed by operator",
"older_than_30_days": "Older than 30 days",
"stale_by_age": "Past stale threshold",
"unknown": "Unknown reason"
}
},
"openEventHistory": "Open Event History",
"ownerActions": {
"owner_review_canonical_then_archive_duplicates": "Review the canonical draft, then archive duplicates",
"review_canonical_and_archive_duplicate_drafts": "Review canonical and archive duplicate drafts",
"unknown": "Owner action pending"
},
"archiveHistory": {
"title": "Archive / recheck history",
"empty": "No owner archive or stale-ratio recheck dispatch yet; it will appear here after confirmation.",
"executors": {
"hermes_km_review_dedupe_owner_archive": "Hermes: owner-confirmed archive",
"hermes_km_stale_ratio_recheck": "Hermes: stale-ratio recheck",
"unknown": "Unknown executor"
},
"item": "{executor}: {status}; stage {stage}; archived {archived}",
"fingerprint": "Plan fingerprint: {fingerprint}",
"snapshot": "Recheck snapshot: stale {stale} / total {total}; ratio {ratio}; threshold {threshold}"
},
"archiveActions": {
"archive": "Archive duplicate drafts",
"preview": "Dry-run preview",
"previewing": "Previewing",
"confirm": "Confirm archive",
"confirming": "Archiving",
"archiving": "Archiving",
"failed": "Archive action failed; refresh and verify the latest dedupe plan.",
"previewFailed": "Dry-run preview failed; refresh and verify the latest dedupe plan.",
"confirmFailed": "Archive confirmation failed; the backend may have detected a changed dedupe plan.",
"missingPreviewFingerprint": "Missing dry-run plan fingerprint; run the preview again first.",
"requiresOwner": "Run the dry-run preview first, then owner-confirm the archive; the backend rechecks the latest plan.",
"previewResult": "Dry run would archive {count}; writes KM: {writesKm}; writes audit: {writesAudit}",
"previewNext": "Next: only after owner confirmation will duplicate KM be soft-archived and audit / stale-ratio recheck rows be written.",
"planFingerprint": "Plan fingerprint: {fingerprint}",
"result": "Archived {archived}; audit dispatch: {audit}",
"recheck": "Stale-ratio recheck: {status}; dispatch: {dispatch}",
"snapshot": "Current stale {stale} / total {total}; ratio {ratio}; threshold {threshold}",
"statuses": {
"dry_run": "Dry run complete",
"archived": "Archived",
"noop_already_archived": "Already archived",
"unknown": "Status pending"
},
"recheckStatuses": {
"dry_run": "Dry run only",
"completed": "Completed",
"already_active": "Already active",
"not_requested": "Not requested",
"unknown": "Status pending"
}
},
"statuses": {
"pending": "Pending",
"dispatched": "Dispatched",
"executing": "Executing",
"succeeded": "Completed",
"failed": "Failed",
"skipped": "Skipped",
"cancelled": "Cancelled",
"unknown": "Unknown"
},
"stages": {
"detected": "Detected",
"ai_analyzed": "AI analyzed",
"queued_kb_healthcheck": "Queued for KM healthcheck",
"draft_km_updates": "Drafting KM updates",
"batch_owner_review_previewed": "Batch owner review previewed",
"batch_owner_review_queued": "Batch queued for owner review",
"batch_noop_already_queued": "Batch does not need requeue",
"waiting_owner_review": "Waiting owner review",
"owner_updates_or_archives_km": "Owner updates or archives KM",
"km_writeback_after_approval": "KM writeback after approval",
"km_archive_after_approval": "KM archive after approval",
"km_supersede_after_approval": "KM supersede after approval",
"stale_ratio_recheck": "Stale-ratio recheck",
"owner_approved_duplicate_archive": "Owner approved duplicate archive",
"km_duplicate_archive_after_owner_approval": "Duplicate archive after owner review",
"km_governance_rechecked": "KM governance rechecked",
"km_governance_close_or_continue": "Close or continue governance",
"needs_manual_km_triage": "Manual KM triage needed",
"cancelled": "Cancelled",
"queued_for_review": "Queued for governance review",
"dispatched": "Dispatched",
"executing": "Executing",
"completed": "Completed",
"failed": "Failed",
"skipped": "Skipped",
"unknown": "Unknown stage"
}
},
"driftFingerprint": {
"title": "Config Drift Fingerprint State",
"subtitle": "Collapses hourly drift reports into one state chain with PR, zero diff, P0 dedupe, and human handoff evidence",
"unavailable": "The drift fingerprint state API has not responded, so recurrence, PR, and handoff state cannot be claimed.",
"occurrences": "12h {count}x",
"risk": "HIGH {high} / MEDIUM {medium} / INFO {info}",
"report": "Report: {report}; Namespace: {namespace}",
"summary": "Summary: {summary}",
"next": "Next: {step}",
"p0Dedup": "P0 dedupe: {enabled}; window {hours}h",
"writes": "Writes: drift={drift}; incident={incident}; repair={repair}; ticket={ticket}",
"fsmStates": {
"pending_human": "Waiting for human",
"pending_human_repeated": "Repeated human wait",
"pr_open_zero_diff": "PR open but zero diff",
"pr_open_waiting_review": "PR waiting review",
"pr_merged_unverified": "PR merged, unverified",
"handoff_recorded": "Handoff recorded",
"no_drift_verified": "No drift, verified",
"remediated_verified": "Remediated, verified",
"remediation_executed_unverified": "Remediated, unverified",
"remediation_verification_failed": "Remediation verification failed",
"adopted_unverified": "Adopted, unverified",
"rolled_back": "Rolled back",
"acknowledged": "Acknowledged",
"ignored": "Ignored",
"unknown": "Unknown"
},
"nextSteps": {
"close_zero_diff_pr_and_prepare_real_yaml_patch": "Close zero-diff PR and prepare a real YAML patch",
"review_pr_then_merge_or_reject": "Review PR, then merge or reject",
"verify_git_baseline_then_mark_adopted": "Verify Git baseline, then mark adopted",
"operator_review_handoff_and_execute_manual_plan": "Operator reviews handoff and executes manual plan",
"run_verification_scan_then_record_result": "Run verification scan, then record the result",
"open_manual_investigation_with_failed_verification": "Open manual investigation with the failed verification",
"verify_k8s_matches_git_baseline": "Verify K8s matches Git baseline",
"confirm_no_repeat_after_rollback": "Confirm no repeat after rollback",
"monitor_for_recurrence": "Monitor for recurrence",
"retry_pr_lookup_then_review_drift": "Retry PR lookup, then review drift",
"manual_investigation_or_ansible_check_mode": "Manual investigation or Ansible check-mode",
"unknown": "Unknown"
},
"pr": {
"title": "PR / Baseline",
"number": "PR: {number}",
"zeroDiff": "zeroDiff={zeroDiff}; files={files}; commits={commits}",
"status": "Status: {status}"
},
"handoff": {
"latest": "Latest handoff: {status}"
},
"remediation": {
"title": "Remediation / Verification",
"latest": "Latest remediation: {kind} / {status}",
"verification": "Verification report: {report}; {summary}",
"note": "Note: {note}"
},
"remediationKinds": {
"live_env_rollback": "Live env rollback",
"git_adopted": "Git adopted",
"git_rollback": "Git rollback",
"zero_diff_pr_cleanup": "Zero-diff PR cleanup",
"manual_noop": "Manual no-op",
"unknown": "Unknown"
},
"remediationStatuses": {
"executed_unverified": "Executed, unverified",
"verified_no_drift": "Verified no drift",
"verification_failed": "Verification failed",
"record_failed": "Record failed",
"lookup_failed": "Lookup failed",
"unknown": "No record yet"
},
"actions": {
"record": "Record handoff",
"recording": "Recording",
"openDrift": "Open Drift",
"failed": "The handoff API did not respond, so human handoff cannot be claimed.",
"recorded": "Handoff stored: {recorded}",
"handoffStatus": "Handoff status: {status}"
}
},
"recurrence": {
"title": "Recurring Alert Work Items",
"subtitle": "Turns run_completed_no_repair, failed repair, and manual gates into trackable work items",
"open": "Open {count}",
"automationGap": "No repair {count}",
"failed": "Failed {count}",
"sourceReview": "Source review {count}",
"sourceApplied": "Applied {count}",
"unavailable": "The recurrence API has not responded, so work item state cannot be claimed.",
"empty": "No open recurring-alert work items in the recent window.",
"occurrences": "{count}x",
"incident": "Incident: {incident}",
"matchedIncident": "Matched target: {incident}",
"stage": "Stage: {stage}",
"sourceEvent": "Source event: {event}",
"sourceRefs": "Source refs: {refs} (Sentry {sentry} / SignOz {signoz})",
"sourceFlow": {
"label": "Source flow: {status}",
"detail": "refs={refs}; Sentry={sentry}; SignOz={signoz}; event={event}",
"statuses": {
"applied": "Applied",
"reviewed": "Review recorded",
"review": "Awaiting match review",
"evidence": "Source evidence found",
"provider": "Provider received",
"waiting": "Waiting for source"
}
},
"workItem": "Work item: {id}",
"repair": "Repair status: {status}",
"reason": "Reason: {reason}",
"nextStep": "Next: {step}",
"sourceReviewDecision": "Source review: {decision} / {status}",
"sourceApplyStatus": "Source apply: {status} / {event}",
"openRun": "Open Run",
"openRuns": "Back to Runs",
"actions": {
"preview": "Preview",
"previewing": "Previewing",
"dryRun": "Dry-run",
"dryRunning": "Dry-running",
"handoff": "Handoff",
"handoffing": "Handing off",
"sourceAccept": "Record match",
"sourceAccepting": "Recording",
"sourceReject": "Reject source",
"sourceRejecting": "Rejecting",
"sourceApply": "Apply match",
"sourceApplying": "Applying",
"failed": "The safe preview / dry-run / handoff API did not respond, so the next step cannot be claimed.",
"allowed": "Safety gate passed",
"blocked": "Safety gate blocked",
"mode": "Mode: {mode}",
"previewResult": "Result: {result}",
"writes": "Writes: incident={incident}; autoRepair={autoRepair}; ticket={ticket}",
"sourceWrites": "Source event writeback: {source}",
"history": "Dry-run stored: {recorded}",
"sourceReviewResult": "Source review: {decision} / {status} / Incident {incident}",
"sourceApplyResult": "Source match apply: {status} / {event}",
"handoffStatus": "Handoff: {kind} / {status}",
"externalTicket": "External ticket created: {created}",
"ticket": "Ticket preview: {title}",
"modes": {
"auto": "Auto select",
"ticket": "Ticket preview",
"reverify": "Reverify",
"approval_review": "Approval review",
"observe": "Observe",
"unknown": "Unknown"
},
"handoffKinds": {
"ticket_proposal": "Ticket proposal",
"manual_review": "Manual review",
"unknown": "Unknown"
},
"handoffStatuses": {
"ready_to_record": "Ready to record",
"recorded": "Recorded",
"record_failed": "Record failed",
"blocked": "Blocked",
"unknown": "Unknown"
},
"previews": {
"ticket_preview_ready": "Ticket preview ready",
"reverify_preview_ready": "Reverify preview ready",
"approval_review_required": "Approval review required",
"observe_only": "Observe only",
"blocked": "Blocked",
"unknown": "Unknown"
},
"sourceDecisions": {
"accepted": "Match accepted",
"rejected": "Rejected",
"needs_more_evidence": "Needs more evidence",
"unknown": "Unknown"
},
"sourceRecordStatuses": {
"recorded": "Recorded",
"record_failed": "Record failed",
"blocked": "Blocked",
"accepted": "Match accepted",
"rejected": "Rejected",
"needs_more_evidence": "Needs more evidence",
"unknown": "Unknown"
},
"sourceApplyStatuses": {
"ready_to_apply": "Ready to apply",
"applied": "Applied",
"partial": "Partially recorded",
"record_failed": "Record failed",
"blocked": "Blocked",
"unknown": "Unknown"
}
},
"statuses": {
"auto_repair_verified": "Verified repair",
"auto_repair_succeeded_unverified": "Repair needs verification",
"auto_repair_failed": "Repair failed",
"auto_repair_recorded": "Repair recorded",
"manual_gate": "Manual gate needed",
"investigating": "Investigating",
"run_completed_no_repair": "Run completed without repair",
"source_correlation_review": "Source evidence needs matching",
"source_correlation_accepted": "Source match recorded",
"source_correlation_rejected": "Source match rejected",
"source_correlation_applied": "Source match applied",
"no_repair_record": "No repair record",
"unknown": "Unknown"
},
"reasons": {
"auto_repair_missing_verification": "Auto-repair lacks verification",
"auto_repair_failed": "Auto-repair failed",
"auto_repair_record_needs_review": "Repair record needs review",
"approval_required": "Approval required",
"run_still_investigating": "Run is still investigating",
"completed_run_without_auto_repair": "Run completed without an auto-repair record",
"provider_native_evidence_unlinked": "Provider-native source evidence is stored but not matched to an Incident",
"provider_native_evidence_accepted": "Provider source was matched by an operator",
"provider_native_evidence_rejected": "Provider source was rejected and not adopted as Incident evidence",
"provider_native_evidence_needs_more_evidence": "Provider source needs more evidence before matching",
"provider_native_evidence_link_applied": "Provider source link event was appended",
"incident_without_repair_record": "Incident has no repair record",
"none": "None",
"unknown": "Unknown"
},
"nextSteps": {
"run_post_verification": "Run post-execution verification",
"triage_failed_repair": "Triage failed repair",
"review_repair_record": "Review repair record",
"review_approval": "Review approval",
"wait_for_run_completion": "Wait for Run completion",
"create_repair_ticket": "Create repair ticket",
"review_provider_source_match": "Review source-to-Incident match",
"verify_source_match_in_status_chain": "Verify source match in the status chain",
"verify_source_link_in_status_chain": "Verify source link event in the status chain",
"monitor_for_new_provider_evidence": "Wait for new provider evidence",
"collect_more_source_evidence": "Collect more source evidence",
"triage_missing_repair_record": "Fill missing repair record",
"none": "None"
}
}
},
"listEvidence": {
"column": "AI Evidence",
"callbackColumn": "TG Callback",
"sourceFlow": {
"column": "Source Flow",
"notLinked": "incident not linked",
"detail": "providers={providers}; d/c/a={direct}/{candidate}/{applied}",
"statuses": {
"verified": "Verified",
"applied": "Applied",
"evidence": "Evidence found",
"provider": "Provider received",
"waiting": "Waiting",
"loading": "Loading"
}
},
"count": "{count} dry-runs",
"mcpCount": "{count} MCP investigations",
"route": "MCP: {route}",
"emptyShort": "No AI evidence 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",
"mcpObserved": "MCP investigated",
"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 or MCP investigation evidence yet.",
"mcpObserved": "AI has gathered evidence through MCP / self-built MCP, but no remediation dry-run or execution has started.",
"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": {
"mcpObserved": "MCP investigated",
"mcpObservedDetail": "List rows are linked to MCP / self-built MCP investigation evidence",
"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",
"callbackObserved": "TG Callback",
"callbackObservedDetail": "Detail / history replies are tracked; failed {failed}",
"noEvidence": "Missing AI evidence",
"noEvidenceDetail": "The list row is not linked to ADR-100 dry-run or MCP evidence yet",
"approvalReadOnlyDetail": "Read-only remediation evidence is visible before approval",
"approvalNoEvidenceDetail": "Approval still lacks AI evidence; inspect Run Timeline"
}
},
"sourceDossierCoverage": {
"title": "Source Dossier Coverage",
"subtitle": "Inbound alert dossiers, dedupe, and Sentry / SignOz references",
"total": "{count} items",
"empty": "No recent source event dossiers.",
"error": "Source dossier coverage failed to load: {error}",
"metrics": {
"sources": "Source events",
"refs": "Reference index",
"missingRefs": "Missing refs",
"duplicates": "Duplicate events",
"sentry": "Sentry refs",
"signoz": "SignOz refs"
},
"details": {
"latest": "Latest {time}",
"withRefs": "{count} items with source refs",
"missingEnvelope": "{count} items missing source envelope",
"redacted": "{count} items redacted",
"alertRefs": "{count} alert refs",
"limit": "Latest {count} item window"
},
"provider": {
"latest": "Latest {time}",
"refs": "Refs {count}",
"missing": "Missing {count}",
"redacted": "Redacted {count}",
"duplicates": "Duplicates {count}"
}
},
"eventRecurrence": {
"title": "Recurring Alert Links",
"subtitle": "Grouped by fingerprint / target resource with the latest Run stage",
"total": "{count} groups",
"empty": "No recent recurring alert links.",
"error": "Recurring alert links failed to load: {error}",
"metrics": {
"groups": "Link groups",
"recurrent": "Recurring groups",
"duplicates": "Duplicate events",
"linkedRuns": "Linked Runs",
"autoRepair": "Auto repair",
"sourceReview": "Source review",
"openWorkItems": "Open work items"
},
"details": {
"sourceEvents": "{count} source events",
"latest": "Latest {time}",
"unlinked": "{count} items not linked to a Run",
"limit": "Latest {count} item window",
"verifiedRepair": "{count} verified repair groups",
"sourceReview": "{count} Sentry / SignOz source groups need matching review",
"manualGates": "{count} manual gates"
},
"states": {
"pending": "Pending",
"running": "Running",
"waiting_tool": "Waiting for tool",
"waiting_approval": "Waiting approval",
"completed": "Completed",
"failed": "Failed",
"cancelled": "Cancelled",
"timeout": "Timed out",
"unlinked": "Not linked"
},
"repairStatuses": {
"no_incident_link": "No Incident link",
"auto_repair_verified": "Verified repair",
"auto_repair_succeeded_unverified": "Repair needs verification",
"auto_repair_failed": "Repair failed",
"auto_repair_recorded": "Repair recorded",
"manual_gate": "Manual gate needed",
"investigating": "Investigating",
"run_completed_no_repair": "Run completed without repair",
"source_correlation_review": "Source evidence needs matching",
"no_repair_record": "No repair record"
},
"item": {
"latest": "Latest {time}",
"duplicates": "Duplicates {count}",
"refs": "Refs {count}",
"linkedRuns": "Runs {count}",
"stage": "Stage {stage}",
"incident": "Incident {incidentId}",
"repair": "Repair {status}",
"openRun": "Open Run",
"noRun": "No Run yet",
"openWorkItem": "Open work item",
"noWorkItem": "No open work item"
}
},
"callbackReply": {
"count": "{total} items; fallback {fallback}; failed {failed}",
"emptyShort": "No detail / history callback yet",
"latest": "{action} · {incidentId}",
"needsHuman": "Callback failure needs human review",
"filters": {
"label": "TG Callback filter",
"all": "All TG callbacks"
},
"statuses": {
"noCallback": "No callback",
"sent": "Delivered",
"fallbackSent": "Fallback delivered",
"rescueSent": "Rescue delivered",
"failed": "Delivery failed",
"observed": "Recorded"
},
"details": {
"noCallback": "This run has no detail / history callback reply evidence yet.",
"sent": "The Telegram callback reply was delivered with the original format.",
"fallbackSent": "The Telegram HTML reply failed, then plain-text fallback was delivered.",
"rescueSent": "The Telegram fallback also failed, then rescue plain text was delivered.",
"failed": "The Telegram callback reply ultimately failed to deliver and needs human review.",
"observed": "The Telegram callback reply was recorded with a non-standard status."
},
"events": {
"title": "TG Callback Evidence",
"subtitle": "Detail / history reply evidence from the AwoooP outbound mirror",
"total": "{count} items",
"empty": "No callback reply evidence yet.",
"error": "Callback evidence failed to load: {error}",
"action": "Action: {action}",
"incident": "Incident: {incidentId}",
"sendStatus": "Send status: {status}",
"providerMessage": "Message: {messageId}",
"previewEmpty": "No preview",
"openRun": "Open Run",
"kmCompletion": {
"title": "KM Owner Review",
"status": "Status: {status}",
"counts": "ready {ready} / blocked {blocked} / completed {completed} / failed {failed}",
"guardrail": "Guardrail: writes_on_read={writesOnRead}; batch_writes_allowed={batchWrite}; manual_review_required={manualReview}",
"related": "{entryId} · {readiness} · {nextAction}",
"noRelated": "This incident has no matching owner-review completion item yet.",
"fetchFailed": "KM owner-review summary failed to load: {reason}",
"openWorkItem": "Open work item",
"statuses": {
"matched_owner_review": "Matched owner review",
"no_related_owner_review": "No matched owner review",
"fetch_failed": "Fetch failed",
"no_incident": "Missing incident",
"observed": "Recorded"
}
}
}
},
"aiRouteStatus": {
"title": "AI Provider Routing",
"subtitle": "Current policy and health checks across GCP-A, GCP-B, 111, and Gemini handoff order",
"selected": "Primary: {provider}",
"selectedEmpty": "Primary: --",
"empty": "AI provider route status is not available yet.",
"error": "AI provider route failed to load: {error}",
"badges": {
"active": "Active",
"standby": "Standby"
},
"fields": {
"workload": "Workload",
"primary": "Current Primary",
"reason": "Route Reason",
"checkedAt": "Checked at {time}",
"model": "Model: {model}",
"modelEmpty": "Model: --",
"routeError": "Route check failed: {error}",
"health": "Health: {status}",
"latency": "Latency: {latency}",
"noUrl": "No HTTP URL"
},
"health": {
"healthy": "Healthy",
"slow": "Slow",
"degraded": "Degraded",
"offline": "Offline",
"not_checked": "Standby not checked",
"unknown": "Unknown"
},
"roles": {
"primary": "First priority",
"secondary": "Second priority",
"local_fallback": "111 local fallback",
"final_fallback": "Gemini final fallback",
"ollama": "Ollama node"
}
},
"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"
},
"statusChain": {
"title": "AwoooP Status Chain",
"subtitle": "Source {source}; Source ID {sourceId}",
"empty": "This item is not linked to readable truth-chain / ADR-100 history yet.",
"emptyValue": "--",
"blockers": "Blockers",
"writeFlags": "incident={incident} / autoRepair={autoRepair}",
"human": {
"yes": "Needs human",
"no": "No human gate"
},
"fields": {
"stage": "Stage",
"repair": "AI Repair",
"verification": "Verification",
"nextStep": "Next Step",
"writes": "Write Flags",
"verdict": "Verdict"
},
"evidence": {
"autoRepair": "Auto-repair",
"ops": "Ops",
"mcp": "MCP",
"km": "KM",
"adr100": "ADR-100 Route"
},
"source": {
"status": "Source Link",
"verification": "Status-chain Verification",
"directCandidate": "Direct / Candidate / Applied",
"directCandidateValue": "{direct} / {candidate} / {applied}",
"latestApplied": "Latest Applied Event",
"providers": "Provider",
"flow": {
"providerIngress": "Provider Ingress",
"sourceEvidence": "Source Evidence",
"appliedVerification": "Applied-link Verification",
"providerDetail": "provider events={providerEvents}; ready providers={readyProviders}",
"verificationDetail": "latest={latest}",
"status": {
"ready": "ready",
"waiting": "waiting",
"needsReview": "needs review",
"applied": "applied"
}
},
"statuses": {
"linked": "Directly linked",
"candidateFound": "Candidate found",
"providerFreshNoMatch": "Provider fresh, no match",
"missing": "No match yet",
"noIncidentContext": "Missing incident context",
"fetchFailed": "Read failed"
},
"verificationStatuses": {
"appliedLinkVerified": "Applied and verified",
"directRefVerified": "Direct ref verified",
"candidateOnly": "Candidate only",
"providerFreshNoMatch": "Provider fresh, no match",
"missing": "No match yet",
"noIncidentContext": "Missing incident context",
"fetchFailed": "Read failed"
}
}
},
"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",
"legacy": {
"only": "Legacy MCP only",
"total": "Legacy MCP",
"success": "Legacy success",
"failed": "Legacy failed",
"topTool": "Legacy tool"
},
"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",
"callbackReplySent": "Callback sent",
"callbackReplyFallbackSent": "Callback fallback",
"callbackReplyRescueSent": "Callback rescue",
"callbackReplyFailed": "Callback failed",
"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"
}
}
}
}
}