---
name: e2e_coverage_report
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type E2ECoverageReport struct {
      Total       int      `json:"total"`
      WithChecks  int      `json:"with_checks"`
      Missing     []string `json:"missing"`
      CoveragePct float64  `json:"coverage_pct"`
  }
description: "Reporte de cobertura de e2e_checks sobre apps escaneadas. Total es el numero de app.md encontrados, WithChecks los que declaran e2e_checks:, Missing los paths relativos sin cobertura, y CoveragePct el porcentaje 0-100 con 2 decimales."
tags: [e2e, coverage, audit, doctor, report, infra]
uses_types: []
file_path: "functions/infra/e2e_coverage_report.go"
---

## Campos

- `total`: numero de archivos `app.md` encontrados en los directorios escaneados.
- `with_checks`: cuantos de esos `app.md` declaran el bloque `e2e_checks:` en su frontmatter YAML.
- `missing`: lista de paths relativos a los `app.md` que no tienen `e2e_checks:`.
- `coverage_pct`: `(with_checks / total) * 100`, redondeado a 2 decimales. `0.0` cuando `total == 0`.

## Notas

Retornado por `audit_e2e_coverage_go_infra`. Consumido por `fn doctor e2e-coverage`
y por el bucle reactivo para generar proposals `e2e_check_add` en apps sin cobertura.
