{
  "benchmarkId": "projectops360-friction-radar-v1-controlled",
  "version": "2026-08-23",
  "idioma": "es",
  "alcance": "Benchmark controlado y determinístico a nivel de código para evaluar el manejo de evidencia de Friction Radar v1. No es un benchmark de resultados de clientes, precisión, recall ni latencia.",
  "fixture": {
    "senalesDelProyecto": 3,
    "senalesDeOtroProyecto": 1,
    "ejecucionesRepetidas": 2,
    "senalesConEntidadCompartida": 2,
    "senalesNoRelacionadas": 1
  },
  "metricas": {
    "controlesAprobados": 5,
    "controlesTotales": 5,
    "categoriasDeFriccionDefinidas": 8,
    "senalesRetenidasEnScope": 3,
    "senalesDeOtroProyectoExcluidas": 1,
    "ejecucionesRepetidasIdenticas": 2,
    "clustersEsperados": 1,
    "clustersObservados": 1,
    "scoresGlobalesPublicados": 0,
    "scoresAgregadosPorCategoriaPublicados": 0,
    "senalesGeneradasEnEstadoVacio": 0
  },
  "controles": [
    {
      "id": "determinism",
      "nombre": "Modelo de lectura determinístico",
      "aprobado": true,
      "medido": "2/2 ejecuciones repetidas idénticas",
      "esperado": "2/2 ejecuciones repetidas idénticas",
      "evidencia": "El mismo fixture controlado se evalúa dos veces y el modelo completo debe producir el mismo resultado serializado."
    },
    {
      "id": "project-isolation",
      "nombre": "Aislamiento entre proyectos",
      "aprobado": true,
      "medido": "1/1 señal de otro proyecto excluida",
      "esperado": "1/1 señal de otro proyecto excluida",
      "evidencia": "El fixture contiene una señal crítica de otro proyecto y el modelo debe conservar únicamente señales de la organización y proyecto solicitados."
    },
    {
      "id": "cluster-specificity",
      "nombre": "Especificidad de cluster por entidad explícita",
      "aprobado": true,
      "medido": "1/1 cluster cross-category esperado",
      "esperado": "1/1 cluster generado solo por la entidad compartida",
      "evidencia": "Dos señales comparten una entidad y deben correlacionarse; una señal no relacionada debe permanecer fuera del cluster."
    },
    {
      "id": "aggregation-restraint",
      "nombre": "Sin score agregado no validado",
      "aprobado": true,
      "medido": "0 scores globales y 0/8 scores agregados por categoría publicados",
      "esperado": "0 scores globales y 0/8 scores agregados por categoría publicados",
      "evidencia": "Friction Radar v1 mantiene score, severidad global y agregados por categoría en null hasta que exista una política de agregación validada."
    },
    {
      "id": "empty-state-integrity",
      "nombre": "Estado vacío honesto",
      "aprobado": true,
      "medido": "0 señales; score=null; severity=null; trend=unknown",
      "esperado": "0 señales; score=null; severity=null; trend=unknown",
      "evidencia": "Sin evidencia dentro del scope, el modelo no debe fabricar score, severidad, tendencia ni clusters."
    }
  ],
  "limitaciones": [
    "El benchmark utiliza un fixture sintético y controlado para conocer de antemano el comportamiento esperado.",
    "No mide precisión, recall, falsos positivos, exactitud causal, calidad de modelos ni resultados de clientes en condiciones reales.",
    "No compara ProjectOps360 contra productos de terceros.",
    "Aprobar estos controles demuestra comportamiento determinístico y disciplina de evidencia únicamente para los contratos evaluados de Friction Radar v1."
  ]
}
