Files
fn_registry/dev/flows/0007-matrix-telemetry-bot.md
T
egutierrez a03675113a chore: auto-commit (286 archivos)
- .claude/agents/fn-orquestador/SKILL.md
- .claude/commands/fn_claude.md
- .claude/rules/INDEX.md
- .claude/rules/cpp_apps.md
- .claude/rules/ids_naming.md
- CHANGELOG.md
- apps/dag_engine/README.md
- apps/dag_engine/api.go
- apps/dag_engine/dags_migrated/example.yaml
- apps/dag_engine/dags_migrated/example_lineage_tracking.yaml
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:33:22 +02:00

2.4 KiB

name, id, status, created, updated, priority, risk, related_issues, apps, trigger, schedule, expected_runtime_s, tags
name id status created updated priority risk related_issues apps trigger schedule expected_runtime_s tags
matrix-telemetry-bot 0007 pending 2026-05-16 2026-05-16 high low
0085
data_factory
dag_engine
call_monitor
agents_and_robots
webhook 1
observability
alerts
matrix
sink

Goal

Probar agents_and_robots como sink universal de telemetria. Cada falla critica en cualquier app dispara un mensaje a sala Matrix #fn-registry-ops. Cierra el bucle observability del stack.

Pre-requisitos

  • Bot Matrix activo, joineado a #fn-registry-ops.
  • agents_and_robots con accion matrix_send_message operativa.
  • Variables expuestas como funcion del registry: matrix_send_message_py_infra o equivalente.

Flow

Tres triggers distintos, mismo sink.

Trigger 1: data_factory run failed

  1. En data_factory_record_run_py_pipelines, si status == 'failed' -> tambien llama matrix_send_message.
  2. Formato:
    :rotating_light: <node_id> FAILED in <duration_ms>ms
    error: <error[:200]>
    

Trigger 2: dag_engine DAG final status

  1. En executor de dag_engine, handler on_failure invoca matrix_send_message.
  2. Formato:
    :x: DAG <dag_name> run <run_id> FAILED
    step <step_name> exit <code>
    

Trigger 3: call_monitor anomaly

  1. Cron 1h analiza call_monitor.violations_24h. Si > threshold (default 50):
    :warning: violations_24h = <N> (threshold <T>) — top rules: <rule_ids>
    
  2. Si error_rate_7d > 0.1 para alguna funcion top -> alert.

Acceptance

  • matrix_send_message_py_infra existe en el registry (crear si no — usa agents_and_robots backend).
  • Trigger 1 dispara mensaje cuando un node de data_factory falla deliberadamente.
  • Trigger 2 dispara mensaje cuando un DAG falla (test con DAG que falla a proposito).
  • Trigger 3 dispara mensaje cuando se inyectan violations sinteticas.
  • Mensajes llegan en <3 segundos del evento.

Telemetria esperada

  • function_stats.matrix_send_message_*: calls dependientes de eventos reales.
  • Sala Matrix recibe mensajes de los 3 origenes.

Notas

  • Throttling: max 1 mensaje/minuto por origen para evitar spam.
  • Severidad: prefix emoji indica nivel.
  • Mejora futura: comandos en sala (!status, !ack <run_id>) para responder desde Matrix.
  • Pre-condicion: agents_and_robots necesita estar deployado + bot autenticado.