Cinco comentarios NO PII en src/ afirman menos de lo que la superficie expone, en dos clases distintas: dos dicen 'no historia clinica' en el mismo archivo que declara los antecedentes atestiguados, y tres titulan NO PII arriba de una lista correcta de identificadores
Censo de coder-terra-ca sobre src/, pedido despues de TERRA-186 y acotado a comentarios que afirman AUTORIZACION, PRIVACIDAD o ALCANCE DE ESCRITURA. Salieron cinco comentarios de privacidad defectuosos. Verifique los cinco contra la fuente antes de abrir esta fila; no los tomo de palabra. LO PRIMERO Y LO MAS IMPORTANTE: NO HAY DEFECTO DE COMPORTAMIENTO. El censo reporto sus dos categorias VACIAS de forma explicita - ninguna afirmacion de autorizacion resulto falsa y ninguna de alcance de escritura resulto falsa - y no encontro ningun gate que se abra mas alla de los roles declarados. Un censo que no informa sus categorias vacias no se distingue de uno que no las busco, asi que eso cuenta a favor del resultado. Lo que esta mal son cinco parrafos, no cinco permisos. Y SON DOS CLASES DISTINTAS, no una lista de cinco. El censo las entrego juntas; separarlas cambia la prioridad y cambia el arreglo. CLASE A - AFIRMACION DE ALCANCE FALSA. Es la peligrosa, la misma de TERRA-186. - src/lib/practica-detail.ts:37-38 dice "Paciente: NAME ONLY. No documento, no DOB, no historia clinica on this surface (UX directive 5)". Verificado: TRES LINEAS MAS ABAJO, en la misma interfaz, estan declarados antecedentes (label + detailText) y antecedentesHistory, o sea los antecedentes medicos atestiguados del paciente ya resueltos a etiqueta y con procedencia de cambios. El SELECT los trae (lineas 156-195). La frase "no historia clinica" es falsa en la misma estructura que declara la historia clinica. Sobrevive la mitad de documento y fecha de nacimiento: eso si es cierto. - src/app/practicas/[id]/page.tsx:28-30 repite la misma afirmacion sobre la pagina que renderiza ese payload. Mismo defecto, misma mitad sobreviviente. POR QUE ES LA PELIGROSA: quien audite PII lee "no historia clinica" en la cabecera y deja de leer, que es para lo que sirve una cabecera. La mitad tranquilizadora es la que frena a quien iba a mirar. CLASE B - ETIQUETA QUE SE CONTRADICE CON SU PROPIO CUERPO. Menos grave y hay que decir por que. - src/app/practicas/page.tsx:33 "NO PII (UX directive 5): paciente by nombre+apellido only, alumno by name" - src/app/alumnos/page.tsx:71-73 "NO PII ... legajo, nombre y apellido son los identificadores academicos" - src/lib/lookups.ts:201-203 "NO PII: vUsers no lleva email ni documento ... un nombre y el id" En los tres el cuerpo enumera CORRECTAMENTE los datos personales que si lleva, y el titulo dice que no lleva ninguno. Un nombre y un legajo identifican a una persona; "NO PII" arriba de una lista de identificadores es una contradiccion con la linea siguiente. No afirman un hecho falso sobre que se selecciona - lo que hacen es titular mal. Quien lea dos lineas mas se entera de la verdad, y por eso no es Clase A. QUE HAY QUE HACER, y es lo mismo que en TERRA-186: NO tocar ninguna consulta ni ningun gate. Clase A: narrar lo que la superficie SI expone - antecedentes atestiguados con su historial - y conservar la mitad verdadera. Clase B: cambiar el titulo por lo que el cuerpo ya dice bien, del tipo "SIN DOCUMENTO NI FECHA DE NACIMIENTO" o "SIN EMAIL NI DOCUMENTO", que es la afirmacion que el codigo si sostiene. UNA QUE VERIFIQUE Y ESTA BIEN, para que nadie la "arregle" despues creyendo que encontro algo: el comentario interno de practica-detail.ts dice que detailText es null en toda fila porque las 33 filas del catalogo llevan requiresDetail=false. Lo medi contra la base: antecedentesCatalog tiene 33 filas y 0 con requiresDetail. Es una afirmacion sobre poblacion viva metida en un comentario - la clase que se vence sin aviso - pero HOY es exacta. LOS PASS DEL CENSO NO SE REGISTRAN ACA COMO GARANTIA. El censo declaro sus propios limites: es solo fuente, no ejercito despliegue, ni definiciones de base o RPC, ni caminos de navegador. Un PASS suyo dice "la fuente no contradice el comentario", no dice "la base tampoco". PROCEDENCIA: coder-terra-ca, censo semantico sobre src/**/*.{ts,tsx} pedido por mi tras su propio hallazgo de TERRA-186. Sin commits y sin cambios de gate, como se pidio.
Activity
-
Corregido en a57a91f (v0.31.8) por coder-terra-ca. Verifique el commit contra el remoto y lei el diff entero de los cinco archivos, no el resumen. LAS DOS CLASES SE RESPETARON, que era la mitad que importaba del pedido. CLASE A, las dos que afirmaban un hecho falso: practica-detail.ts ahora dice que ademas de nombre+apellido la superficie muestra los antecedentes registrados con su historial y el numero de recibo. practicas/[id]/page.tsx dice lo mismo sobre la pagina que los renderiza. O sea que la frase "no historia clinica" desaparecio del unico lugar donde frenaba una auditoria, y en su lugar quedo enumerado lo que si se expone. La mitad verdadera - sin documento y sin fecha de nacimiento - sobrevivio en las dos. CLASE B, las tres que titulaban mal: alumnos/page.tsx y lookups.ts pasaron a "SIN EMAIL NI DOCUMENTO"; practicas/page.tsx a "SIN DOCUMENTO NI FECHA DE NACIMIENTO". El cuerpo de las tres no se toco porque ya era correcto. Es exactamente el arreglo que corresponde a esta clase: el titulo pasa a decir lo que el codigo sostiene en vez de una negacion global que se contradecia con la linea de abajo. CERO CAMBIOS DE CONSULTA Y CERO DE GATE, verificado leyendo el diff y no aceptando la afirmacion: los cinco hunks tocan unicamente lineas de comentario. El sexto archivo del commit es package.json con el bump de version, que es lo que corresponde y que hoy faltaba en el commit anterior de esta misma lane. EL PUSH: coder no reclamo confirmacion remota porque su salida se corto en el limite de tiempo del comando, y avisarlo en vez de asumirlo es la conducta correcta. Lo confirme yo por la API: a57a91f5a5c2 esta en origin con los seis archivos. UNA OBSERVACION MENOR QUE NO JUSTIFICA UN COMMIT PROPIO: en alumnos/page.tsx y en lookups.ts la linea del titulo quedo mas larga que el ancho al que esta envuelto el resto del bloque, porque el titulo nuevo es mas largo que "NO PII" y no se re-envolvio el parrafo. No lo pido como arreglo separado - que se acomode la proxima vez que alguien toque esos bloques por otro motivo. Y UNA CONSECUENCIA QUE CONVIENE DEJAR DICHA: los tres titulos nuevos ya no son etiquetas, son AFIRMACIONES VERIFICABLES sobre lo que la consulta no selecciona. Eso es mejor - se puede chequear - pero las pone en la misma clase que este censo vino a corregir: afirmaciones sobre el codigo que envejecen sin aviso. Si alguien agrega email o documento a esas proyecciones, los tres comentarios pasan a ser falsos y nada lo va a notar. Se acepta el intercambio a sabiendas: una afirmacion falsable y hoy verdadera es preferible a una etiqueta que se contradecia sola desde el dia uno.