{
  "schema": "mm-quality-gates/1.0",
  "reviewedAt": "2026-08-06",
  "scope": "Beta educativa pública de MATEMÁTICAMENTE",
  "certification": {
    "isoCertified": false,
    "externalAuditCompleted": false,
    "statement": "Criterios internos inspirados en buenas prácticas; no constituyen certificación ni auditoría externa."
  },
  "statusValues": ["passed", "partial", "pending", "blocked", "not_applicable"],
  "gates": [
    {
      "id": "G-DATA-00",
      "domain": "minimizacion_actual",
      "criterion": "La beta puede usarse sin cuenta y el progreso educativo permanece en el navegador.",
      "evidenceRequired": ["implementación localStorage", "exportación y borrado", "política pública"],
      "status": "passed",
      "reason": "Programa y Práctica operan localmente y la política describe alcance, exportación, pérdida y borrado."
    },
    {
      "id": "G-COUNT-00",
      "domain": "transparencia_de_inventario",
      "criterion": "Las variantes numéricas generadas no se presentan como actividades originales adicionales.",
      "evidenceRequired": ["metodología pública", "totales separados", "inventario versionado"],
      "status": "passed",
      "reason": "La portada y los registros distinguen consignas originales, experiencias interactivas y variantes."
    },
    {
      "id": "G-LIC-00",
      "domain": "licencias",
      "criterion": "Los recursos comerciales con restricciones identificadas no se copian ni se incrustan.",
      "evidenceRequired": ["auditoría de fuentes", "decisión de licencia", "implementación propia"],
      "status": "passed",
      "reason": "La auditoría de objetos documenta las restricciones y la decisión de desarrollar código, textos y gráficos propios."
    },
    {
      "id": "G-MATH-01",
      "domain": "exactitud_matematica",
      "criterion": "Cero errores matemáticos críticos conocidos en contenido publicado.",
      "evidenceRequired": ["revisión de solución", "prueba de casos límite", "registro de defectos"],
      "status": "partial",
      "reason": "Existen revisiones internas, pero falta evidencia homogénea por actividad y muestreo independiente."
    },
    {
      "id": "G-CURR-01",
      "domain": "cobertura_curricular",
      "criterion": "100% del recorrido prometido tiene fuente oficial, unidad, evaluación y revisor.",
      "evidenceRequired": ["matriz 6.º grado a 6.º año", "fuentes oficiales versionadas", "revisión de huecos"],
      "status": "partial",
      "reason": "Ya existe una trayectoria pública de ocho tramos y una ampliación de 14 unidades hasta secundaria técnica; resta la revisión curricular independiente actividad por actividad antes de afirmar cobertura total."
    },
    {
      "id": "G-DID-01",
      "domain": "didactica_y_pistas",
      "criterion": "Cada actividad revisada tiene objetivo, prerrequisito, gradación, retroalimentación y ayuda progresiva diferenciada.",
      "evidenceRequired": ["metadatos por actividad", "muestreo estratificado", "prueba de reintento"],
      "status": "partial",
      "reason": "El Manual incorpora prerrequisitos, microparadas, ejemplo, tres pistas, reintento, retroalimentación y recuperación; el gate automatizado controla los nuevos bancos. Falta revisión humana independiente de toda la colección."
    },
    {
      "id": "G-A11Y-01",
      "domain": "accesibilidad",
      "criterion": "Cero violaciones críticas o serias automáticas y recorridos esenciales completos por teclado, reflujo y lector de pantalla.",
      "evidenceRequired": ["axe", "pruebas de teclado", "320 px y zoom", "lector de pantalla", "alternativa al arrastre"],
      "status": "partial",
      "reason": "Hay controles puntuales y alternativas en laboratorios; falta suite integral reproducible y evaluación externa."
    },
    {
      "id": "G-PRIV-01",
      "domain": "privacidad_infantil",
      "criterion": "La zona educativa gratuita no envía progreso ni respuestas a terceros y ofrece información clara y borrado efectivo.",
      "evidenceRequired": ["inventario de almacenamiento", "escaneo de red", "aviso familiar", "prueba de borrado"],
      "status": "partial",
      "reason": "El progreso se mantiene local y existe política; falta autoalojar dependencias externas y un control de red documentado."
    },
    {
      "id": "G-SEC-01",
      "domain": "seguridad",
      "criterion": "No quedan hallazgos críticos o altos abiertos en el alcance publicado.",
      "evidenceRequired": ["threat model", "ASVS aplicable", "SAST", "DAST", "headers", "proceso de reporte"],
      "status": "partial",
      "reason": "El alcance estático reduce riesgo y usa HTTPS/cabeceras; faltan controles reproducibles y CSP."
    },
    {
      "id": "G-REL-01",
      "domain": "release",
      "criterion": "Cada despliegue conserva build, pruebas, aprobación, rollback y verificación pública.",
      "evidenceRequired": ["checklist firmado", "artefactos", "deployment ID", "smoke test", "rollback ensayado"],
      "status": "partial",
      "reason": "Se verifican despliegues, pero todavía no existe dossier uniforme por release."
    },
    {
      "id": "G-LEARN-01",
      "domain": "evidencia_de_aprendizaje",
      "criterion": "Las afirmaciones de eficacia distinguen exactitud inmediata, independencia, retención y transferencia.",
      "evidenceRequired": ["instrumentos paralelos", "protocolo", "resultados", "limitaciones"],
      "status": "pending",
      "reason": "No se realizó todavía un estudio longitudinal con usuarios."
    },
    {
      "id": "G-SUB-01",
      "domain": "suscripcion",
      "criterion": "Cuenta adulta, protección infantil, sincronización, pagos, baja, soporte y recuperación funcionan antes de cobrar.",
      "evidenceRequired": ["revisión legal", "pruebas end to end", "restore drill", "portal de baja", "SLA"],
      "status": "blocked",
      "reason": "Requiere producto, backend, infraestructura, proveedor de pagos y revisión legal."
    },
    {
      "id": "G-ISO-01",
      "domain": "sistema_de_gestion",
      "criterion": "El sistema opera ciclos de objetivos, medición, auditoría interna, revisión y CAPA antes de solicitar certificación.",
      "evidenceRequired": ["QMS vigente", "registros operativos", "auditorías internas", "revisión de dirección", "CAPA"],
      "status": "pending",
      "reason": "Se inicia la documentación del sistema; no hay certificación ni auditoría externa."
    }
  ]
}
