You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
5.5 KiB
57 lines
5.5 KiB
|
1 day ago
|
# Nota para el autor: el paquete de la revisión externa
|
||
|
|
|
||
|
|
*6 de octubre de 2026. Borrador sin commit. Nada fuera de esta carpeta ha cambiado.*
|
||
|
|
|
||
|
|
## Qué contiene
|
||
|
|
|
||
|
|
En inglés, porque el revisor puede no leer español:
|
||
|
|
|
||
|
|
| Fichero | Para qué |
|
||
|
|
|---|---|
|
||
|
|
| `README.md` | La carta: qué es DateKeys, qué se pide, qué se entrega, qué queda congelado y que todas las revisiones hasta hoy son de IA |
|
||
|
|
| `design_overview.md` | El diseño criptográfico, autocontenido y con sus §, para leer en una hora |
|
||
|
|
| `threat_model.md` | Objetivos, no objetivos y modelo de amenazas (§4, §5, §7, §36.1, §55), con lo nuevo de la v0.14 |
|
||
|
|
| `scope_and_questions.md` | Alcance, 12 preguntas ordenadas y 17 problemas ya conocidos (K1 a K17), para que no se redescubran |
|
||
|
|
| `artifacts.md` | Repos, commits, cómo pasar los gates, los vectores uno a uno, las dependencias con versión y la trazabilidad |
|
||
|
|
| `precedence_and_language.md` | **Propuesta**: español normativo, precedencia texto > CDDL > testdata > implementación, y los cambios de texto para la próxima versión |
|
||
|
|
|
||
|
|
## Lo que falta antes de enviarlo
|
||
|
|
|
||
|
|
### Decisiones tuyas
|
||
|
|
|
||
|
|
1. **Idioma normativo y precedencia.** La propuesta está en `precedence_and_language.md`. Si la apruebas, entra en la v0.15 (la v0.14 tiene tag y no cambia). Hay que elegir entre un §0 o un párrafo en §1.
|
||
|
|
2. **Las etiquetas del §76.** Cinco pasajes presentan como externas o independientes revisiones hechas por IA: «revisión formal e independiente» (v0.8.2), «revisión de seguridad externa» (v0.10), la revisión de Fable y Astra sin decir que son IA (v0.11), «tres revisiones independientes» (v0.11) y «segunda implementación independiente» (TypeScript, escrita con Go a la vista). La carta ya lo dice; el texto se corregiría en la v0.15. Recomiendo hacerlo antes de enviar, para que el revisor no lo encuentre primero.
|
||
|
|
3. **Qué TypeScript se congela.** `v0.2.0` implementa la spec **0.13**; la 0.14 está en `4e23f88`, sin tag. La v0.14 no cambia ningún formato ni veredicto de Quicknet, así que las dos sirven, pero lo limpio es cerrar una `0.3.0` en `4e23f88` y congelar esa. La carta dice hoy `v0.2.0`, como pediste.
|
||
|
|
4. **Traducción completa al inglés.** La spec v0.14 tiene 4 412 líneas y unas 52 600 palabras (325 KB). De ellas, §76 (el historial de cambios) son unas 12 300 y §64 (las mutaciones) unas 2 100. Opciones:
|
||
|
|
- traducirla entera: unas 50 000 palabras en inglés. A ritmo de un traductor técnico, del orden de 3 a 5 semanas; con un borrador de IA y una revisión humana, menos, pero la revisión sigue siendo larga. Es una estimación, no un presupuesto;
|
||
|
|
- traducir §1 a §75, §77 y §78, y resumir §76: unas 40 000 palabras;
|
||
|
|
- no traducir y enviar `design_overview.md` como guía, con el texto en español como referencia: sirve solo si el revisor lee español o acepta trabajar con una traducción automática que no es normativa.
|
||
|
|
|
||
|
|
Recomiendo la segunda si el revisor no lee español.
|
||
|
|
5. **Revisor y presupuesto.** Falta elegir quién y cuánto. El paquete pide un informe con hallazgos por §, severidad y caso, y el nombre, el alcance y la fecha para anotarlo en §76 (§75.10). El núcleo tlock, el formato 3 y el lector CMS son las tres áreas que pide la revisión de completitud; el lector CMS puede ser un encargo aparte, porque es el que más horas lleva.
|
||
|
|
6. **Qué se comparte y cómo.** Los repos son privados y están en el Gitea de la red local, que no es tuyo y no se toca: el revisor no puede clonarlos. Opciones: `git bundle` de los tres repos en los commits congelados, o archivos `.tar` con su SHA-256, entregados por un canal privado. A decidir:
|
||
|
|
- si va el código entero o solo la spec, el CDDL, `testdata/` y la trazabilidad;
|
||
|
|
- si va el repo `docs` (está en español y tiene notas internas) o solo esta carpeta y las dos revisiones de completitud;
|
||
|
|
- un acuerdo de confidencialidad, si el código no es público todavía; la spec es CC-BY-4.0 y el código Apache-2.0, pero no están publicados;
|
||
|
|
- el contacto de seguridad: `SECURITY.md` da info@activething.com.
|
||
|
|
|
||
|
|
### Documentación atrasada: arreglada
|
||
|
|
|
||
|
|
La sesión corrigió el 6-10 lo que el paquete encontró atrasado en `datekeys-go`, en `22f184c` de la rama `v0.14`, sin tocar el texto normativo: el título y la fila §12.1 de `docs/traceability.md`, los tres schemes y los 18 errores de los README (son uno y 19), la cabecera de `spec/datekeys.cddl` y las releases firmadas de `SECURITY.md`, que aún no existen. Queda `docs/README.md`, que llama `datekeys-ts/` a la carpeta que en esta máquina es `App`: se arregla al renombrarla.
|
||
|
|
|
||
|
|
### Lo que no he podido comprobar
|
||
|
|
|
||
|
|
- Que el H3 del texto coincide con `h3` de kyber: lo dice el spec y lo comprueban los vectores, pero no he leído kyber. Está como pregunta Q10.
|
||
|
|
- Que los gates pasan hoy en los commits congelados: lo tomo de HANDOFF, no los he ejecutado.
|
||
|
|
|
||
|
|
## Orden recomendado
|
||
|
|
|
||
|
|
1. Decidir el TypeScript que se congela (punto 3) y, si es `4e23f88`, cerrar la `0.3.0`.
|
||
|
|
2. Arreglar los retrasos de documentación de arriba (en Go, sin cambio normativo).
|
||
|
|
3. Decidir idioma y precedencia, y preparar la v0.15 con la precedencia y las etiquetas del §76 (puntos 1 y 2). Es solo texto.
|
||
|
|
4. Elegir revisor y alcance (punto 5) y, según su idioma, la traducción (punto 4).
|
||
|
|
5. Decidir qué se comparte y prepararlo (punto 6); actualizar en `README.md` y `artifacts.md` los commits y los SHA-256 si cambian en los pasos 1 a 3.
|
||
|
|
6. Enviar.
|
||
|
|
|
||
|
|
La medida del área de 32 KiB con firmas reales (§74, §75.13) sigue abierta. No bloquea la revisión, pero el revisor la verá como K2; si se hace antes, el perfil CMS que revisa sería el definitivo.
|