docs(flows): DoD obligatorio con user-facing surface + abrir issues 0100-0103 (taxonomia, frontmatter migration, dev_console, work dashboard)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,34 @@ Probar webhooks como trigger (no cron, no manual). Cada push a un repo `dataforg
|
||||
- Por repo: 1 nodo extractor.
|
||||
- Matrix: 1 msg por push.
|
||||
|
||||
## Definition of Done
|
||||
|
||||
Ver `README.md` seccion DoD + user-facing.
|
||||
|
||||
### Generico
|
||||
|
||||
- [ ] **Repetibilidad**: 3 pushes test distintos disparan 3 mensajes Matrix sin intervencion.
|
||||
- [ ] **Observabilidad**: `data_factory.runs` con `trigger=webhook` + `call_monitor.calls` chain por push.
|
||||
- [ ] **Error-path**: payload invalido → 4xx + entry en log + NO crash receptor.
|
||||
- [ ] **Idempotencia**: recepcion duplicada (Gitea retry) → 1 mensaje, no N.
|
||||
- [ ] **Secrets**: webhook secret en `pass gitea/webhook-secret`; HMAC verificado por receptor.
|
||||
- [ ] **Docs**: `## Notas` con setup webhook + onboarding.
|
||||
- [ ] **Registry-first**: receptor reusa `http_post_json_*` + `matrix_send_message_*`.
|
||||
- [ ] **INDEX + status**: `status: done` + INDEX + movido.
|
||||
|
||||
### User-facing
|
||||
|
||||
- [ ] **User-facing**: usuario lee mensaje en sala Matrix `#fn-registry-news` con formato `[<repo>] <author> pushed <N> commits to <branch>` + link al commit.
|
||||
- [ ] **User-facing repeat**: cada push real a `dataforge/*` dispara mensaje; sala es la fuente diaria de actividad multi-repo.
|
||||
- [ ] **User-facing onboarding**: parrafo en `## Notas`: "Para enterarse de pushes: unirse a sala Matrix `#fn-registry-news`. Para anadir un repo nuevo: `gitea_create_webhook_bash_infra <owner> <repo> <url> <secret>`."
|
||||
- [ ] **User-facing latencia**: push → mensaje en <5s p95.
|
||||
|
||||
### Custom
|
||||
|
||||
- [ ] >=3 repos cubiertos (no solo 1).
|
||||
- [ ] Rate-limit: max 1 mensaje/repo/minuto (no flood si N pushes seguidos).
|
||||
- [ ] Health endpoint `/webhook/health` retorna 200 + lista repos suscritos.
|
||||
|
||||
## Notas
|
||||
|
||||
- Webhook secret debe estar en `pass gitea/webhook-secret` o env var.
|
||||
|
||||
Reference in New Issue
Block a user