docs: dod_evidence_schema templates + READMEs (issue 0114)
- docs/templates/issue.md and docs/templates/flow.md include the optional dod_evidence_schema: block with realistic example items. - dev/issues/README.md and dev/flows/README.md document the schema, kinds by example, validation rules and the fn doctor dod entrypoint. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,48 @@ Regla: si la respuesta a "donde lo ves" es "en una BD" o "en un log" -> NO vale.
|
||||
|
||||
`/flow done` rechaza el cierre si falta alguno de los 4 user-facing checks o si `## Notas` no contiene parrafo onboarding.
|
||||
|
||||
### DoD evidence schema (issue 0114, opcional)
|
||||
|
||||
Ademas de los checkboxes humanos del bloque `## Definition of Done`, cada flow puede declarar en su frontmatter un bloque `dod_evidence_schema:` con la version maquinable de la DoD: lista de evidencias con id unico, `kind` cerrado, `expected` libre y `required` bool. Auditable con `fn doctor dod`.
|
||||
|
||||
```yaml
|
||||
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' > 0"
|
||||
required: true
|
||||
- id: error_path_log
|
||||
kind: log
|
||||
expected: "fallar collector intencional deja entry status=error sin crash"
|
||||
required: false
|
||||
```
|
||||
|
||||
Reglas:
|
||||
- `kind` ∈ {`screenshot`, `log`, `url`, `cmd`}.
|
||||
- `id` unico por flow.
|
||||
- `expected` no vacio.
|
||||
- `required` default `true`.
|
||||
|
||||
Ejemplos por kind:
|
||||
|
||||
| kind | que pones en `expected` |
|
||||
|---|---|
|
||||
| `screenshot` | "frame de la app/sala mostrando estado Y" |
|
||||
| `log` | "fichero <path> contiene linea con texto Z" |
|
||||
| `url` | "GET <url> devuelve 200 con campo W" o "dashboard tal carga ultima fila < 24h" |
|
||||
| `cmd` | comando shell con exit 0 (incluido SQL via sqlite3) |
|
||||
|
||||
Plantilla canonica: `docs/templates/flow.md`. Validador: `fn doctor dod` + `audit_dod_schema_go_infra`.
|
||||
|
||||
|
||||
## Para agentes / LLMs
|
||||
|
||||
Antes de crear o editar un flow, lee `AGENT_GUIDE.md`. Define:
|
||||
|
||||
Reference in New Issue
Block a user