--- name: id: NNNN status: pending # pending | running | done | failed | deferred created: 2026-05-18 updated: 2026-05-18 priority: high # low | medium | high risk: low # low | medium | high (sensibilidad de datos) related_issues: [] apps: [] trigger: manual # manual | cron | webhook schedule: "" expected_runtime_s: 60 tags: [] # OPCIONAL (issue 0114): contrato de evidencia DoD canonico. # Cada item es una superficie/check observable que prueba que el flow funciono. dod_evidence_schema: - id: surface_dashboard kind: url expected: "https://metabase.organic-machine.com/dashboard/12 muestra ultimo refresh hoy" required: true - id: matrix_room_msg kind: screenshot expected: "sala matrix #flows recibe mensaje con resumen del run" required: true - id: data_factory_run kind: cmd expected: "sqlite3 data_factory.db 'SELECT count(*) FROM runs WHERE flow=NNNN AND created_at > date(now,-1 day)' > 0" required: true - id: error_path_log kind: log expected: "fallar collector intencional deja entry status=error en operations.db sin crash" required: false --- ## Goal Una frase: que estamos probando. ## Pre-requisitos - Lista de requisitos manuales (ej. Chrome con remote-debugging). ## Flow Pasos numerados. Cada paso puede ser: - texto libre (manual) - `function: ` (registry function) - `cmd: ` - `js: ` (en tab Chrome) ## Acceptance - [ ] Checklist - [ ] ... ## Definition of Done - [ ] **Repetibilidad**: corre N veces consecutivas sin intervencion manual. - [ ] **Observabilidad**: call_monitor.calls + data_factory.runs + dashboard. - [ ] **Error-path**: 1 modo de fallo probado y manejado (no crash silencioso). - [ ] **Idempotencia**: re-ejecutar no duplica datos. - [ ] **Secrets**: cero credenciales fuera de pass/vaults. - [ ] **Docs**: `## Notas` rellenado con hallazgos reales. - [ ] **Registry-first**: todas las piezas existen como funciones del registry. - [ ] **INDEX + status**: status=done + fila INDEX.md + movido a completed/. - [ ] **User-facing**: . - [ ] **User-facing repeat**: humano vuelve manana y ve datos frescos. - [ ] **User-facing onboarding**: parrafo en `## Notas` explica "para ver/usar esto: hacer X". - [ ] **User-facing latencia**: humano percibe cambio en . ## Telemetria esperada Que cambia en call_monitor / data_factory.runs / dag_engine. ## Notas Hallazgos tras correr. Incluye el parrafo onboarding.