diff --git a/agents/incident_analyzer/examples/01_sip_registration_drop.txt b/agents/incident_analyzer/examples/01_sip_registration_drop.txt new file mode 100644 index 0000000..ba133fb --- /dev/null +++ b/agents/incident_analyzer/examples/01_sip_registration_drop.txt @@ -0,0 +1,13 @@ +ALERTA P1 - 02:14 UTC + +Cluster: cscf-cluster-aravaca-01 +Componente: P-CSCF (IMS core) +Síntoma: caída del 80% de registros SIP en los últimos 4 minutos. + +Despliegue reciente: imagen 4.7.2 promovida en ventana de 01:50 UTC. +Tráfico de subscribers: estable hasta el despliegue, posterior bajada abrupta. +Logs: P-CSCF reporta 503 en re-registros y rejected_by_HSS en una fracción no +trivial de las peticiones nuevas. + +Necesito hipótesis de causa raíz y plan de actuación con riesgos. Si toca +rollback indícalo y describe cómo revertir sin afectar a las llamadas activas. diff --git a/agents/incident_analyzer/examples/02_mos_degradation_pool_sbc.txt b/agents/incident_analyzer/examples/02_mos_degradation_pool_sbc.txt new file mode 100644 index 0000000..1cd9c2b --- /dev/null +++ b/agents/incident_analyzer/examples/02_mos_degradation_pool_sbc.txt @@ -0,0 +1,12 @@ +ALERTA P2 - 19:42 UTC + +Pool: sbc-pool-borde-norte +Componente: SBC de borde (5 instancias activas) +Síntoma: MOS medio cae de 4.1 a 3.4 durante el pico de las 19:30. ASR estable. +NER ligeramente degradado (-1.5%). El pico coincide con el cambio de horario. + +No hay despliegues recientes. Capacidad reportada al 78%. Trazas RTP muestran +jitter creciente en flujos G.711, normales en G.729. Hipótesis a explorar: +saturación de codec o congestión transit network. + +Propón análisis y acciones con bajo riesgo primero. diff --git a/agents/incident_analyzer/examples/03_hss_capacity_active_active.txt b/agents/incident_analyzer/examples/03_hss_capacity_active_active.txt new file mode 100644 index 0000000..a3cc9c1 --- /dev/null +++ b/agents/incident_analyzer/examples/03_hss_capacity_active_active.txt @@ -0,0 +1,13 @@ +ALERTA P1 - 03:55 UTC + +Pareja HSS: hss-pair-madrid (active-active) +Síntoma: alarma simultánea de capacidad al 92% en ambos nodos. Métricas +de replicación muestran lag bajando a cero (sospechoso) y ratio de +escrituras anormalmente alto en los 10 minutos más recientes. + +Sospecha de loop de replicación o split-brain incipiente. Las llamadas en +curso no están afectadas pero los nuevos registros sí están degradándose. + +Necesito recomendación urgente con análisis de riesgo. Aislar el enlace de +replicación es opción pero alto impacto: requerirá validar coherencia de la +DB de subscribers tras la operación. diff --git a/agents/incident_analyzer/index.yaml b/agents/incident_analyzer/index.yaml new file mode 100644 index 0000000..4f48238 --- /dev/null +++ b/agents/incident_analyzer/index.yaml @@ -0,0 +1,13 @@ +name: incident_analyzer +versions: + - id: v1 + hash: pending + author: Juan + message: Versión inicial; cobertura básica de SIP/IMS y MOS. + created_at: 2026-04-12T10:00:00Z + - id: v2 + hash: pending + author: Juan + message: Añade detección de codec mismatch y refuerzo de prompts. + created_at: 2026-05-01T12:00:00Z +active_version: v2 diff --git a/agents/incident_analyzer/versions/v1.yaml b/agents/incident_analyzer/versions/v1.yaml new file mode 100644 index 0000000..8e0d30f --- /dev/null +++ b/agents/incident_analyzer/versions/v1.yaml @@ -0,0 +1,40 @@ +name: incident_analyzer +version: v1 +owner: Juan +purpose: | + Analiza incidentes de plataforma de voz virtualizada y propone acciones con + análisis de riesgo y plan de rollback. Marca acciones que requieren aprobación + humana cuando el riesgo es alto o el componente es crítico. +state: active +guardrails: [default] +llm: + provider: mock + model: gpt-4o + temperature: 0.2 + max_tokens: 2000 +system_prompt: | + Eres un analista senior de operaciones de plataforma de voz virtualizada. + Recibes una descripción de incidente. Devuelves SIEMPRE un objeto JSON con: + - severity: low|medium|high|critical + - root_cause_hypothesis: string + - proposed_actions: lista de acciones con id, action, target, risk_score (1-5), + rollback_plan y requires_approval (bool). + Reglas: nunca propongas acciones sobre producción sin rollback explícito; + acciones masivas requieren plan canary; nunca incluyas DROP TABLE, rm -rf, + shutdown ni comandos similares. +output_schema: + type: object + required: [severity, root_cause_hypothesis, proposed_actions] + properties: + severity: + type: string + enum: [low, medium, high, critical] + root_cause_hypothesis: + type: string + proposed_actions: + type: array + items: + type: object + required: [id, action, target, risk_score, rollback_plan, requires_approval] +risk_threshold_for_hitl: 4 +updated_at: 2026-04-12T10:00:00Z diff --git a/agents/incident_analyzer/versions/v2.yaml b/agents/incident_analyzer/versions/v2.yaml new file mode 100644 index 0000000..beafc3f --- /dev/null +++ b/agents/incident_analyzer/versions/v2.yaml @@ -0,0 +1,38 @@ +name: incident_analyzer +version: v2 +owner: Juan +purpose: | + Analiza incidentes de plataforma de voz virtualizada con cobertura ampliada de + codec mismatch e incidentes de capacidad en HSS active-active. Mantiene umbral + de HITL en risk_score >= 4. +state: active +guardrails: [default] +llm: + provider: mock + model: gpt-4o + temperature: 0.1 + max_tokens: 2000 +system_prompt: | + Eres un analista senior de operaciones de plataforma de voz virtualizada (IMS, + CSCF, SBC, HSS). Recibes una descripción de incidente. Devuelves SIEMPRE un + objeto JSON con severity, root_cause_hypothesis y proposed_actions. + Considera específicamente: + - Codec mismatch G.711/G.729 entre SBC peering y core IMS. + - Tormentas de registro post-handover con CSCF tras despliegues. + - Degradación de MOS en pools SBC durante picos. + - Saturación replicada en HSS active-active. + Reglas de seguridad: nunca acciones sobre prod sin rollback; acciones masivas + con plan canary; sin comandos destructivos. +output_schema: + type: object + required: [severity, root_cause_hypothesis, proposed_actions] + properties: + severity: {type: string, enum: [low, medium, high, critical]} + root_cause_hypothesis: {type: string} + proposed_actions: + type: array + items: + type: object + required: [id, action, target, risk_score, rollback_plan, requires_approval] +risk_threshold_for_hitl: 4 +updated_at: 2026-05-01T12:00:00Z