Handoff: the close of the session of 5 October

Go for the draft v0.12 is complete: locator.json with the cases of
section 64, the README of the test data, nothing pending in traceability,
and the rules of an address that the author approved on 5 October, all
on branch v0.12 at 601e6d2, pushed after check.sh 60s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
main
dev 2 days ago
parent 0c2f97eb1a
commit 65b5a6c357

@ -1,4 +1,4 @@
# Handoff DateKeys, 26 de septiembre de 2026 (actualizado al cerrar la sesión del 2 de octubre: revisión y arreglos de la sesión hecha con Sonnet, borrador v0.12) # Handoff DateKeys, 26 de septiembre de 2026 (actualizado al cerrar la sesión del 5 de octubre: lo que faltaba de Go para la v0.12 y las reglas de las direcciones del localizador)
Sirve para retomar sin contexto previo, sea una persona o una sesión de Claude. Las secciones 0 a 4, al final, son el historial; el estado actual es este apartado. Sirve para retomar sin contexto previo, sea una persona o una sesión de Claude. Las secciones 0 a 4, al final, son el historial; el estado actual es este apartado.
@ -6,7 +6,47 @@ Sirve para retomar sin contexto previo, sea una persona o una sesión de Claude.
--- ---
## Retomar aquí (al cerrar la sesión del 2 de octubre) ## Retomar aquí (al cerrar la sesión del 5 de octubre)
**Qué pasó.** Una sesión en Opus, abierta otra vez en `App`, hizo el punto 2 de la lista del 2-10, «Go, lo que falta», y el autor decidió una ampliación del borrador v0.12.
**`datekeys-go`, rama `v0.12`, subida:**
- `da9fd2c`: arreglo editorial del borrador. Faltaba una línea en blanco antes de cinco `---`, y dos párrafos, el final del §70 y el del §72, se veían como títulos. La v0.11 etiquetada tiene el mismo fallo y no se toca.
- `ea5c6eb`: `locator.json` con los casos del §64 de la v0.11 y la v0.12:
- 217 direcciones: la primera y la última de cada bloque IPv4, con sus vecinas públicas; los bloques IPv6; los nombres locales; los caracteres fuera de RFC 3986; los segmentos `..`; y los CID que no decodifican;
- `mixed`: un localizador con una dirección `http` y otra de NAT64, que se rechazan, y una tercera que se usa;
- `rest_cases`, `extension_cases`, con el localizador de otra ronda, y `plaintext_cases`, con el caso del cambio 7;
- las bases de relleno 3837, 4070, 4094 y 4095 y las del múltiplo siguiente: la spec pide ocho, y la lista del 2-10 daba seis.
El generador pasa a `internal/testkit/genfixtures/locatorvectors.go` y comprueba cada caso contra Go.
- `e22d358`: `testdata/README.md` al día, y sin marcas *pending* en `docs/traceability.md` ni en el CHANGELOG. El README decía que el release de la ronda 1000 estaba en `quicknet_rounds.json`, y no estaba.
- `601e6d2`, con la **decisión del autor del 5-10** («sí, aplícalo así»): el §44.1 escribe lo que Go ya rechazaba y el texto no decía, y el cambio 6 del §76 y el §64 lo recogen:
- segmentos de 1 a 63 caracteres, sin guion en los extremos;
- el esquema en minúsculas, y `0x` y los nombres locales sin distinguir mayúsculas;
- IPv4 sin ceros a la izquierda y CID en su forma canónica;
- el puerto sin ceros a la izquierda: Go aceptaba `:0443` y `:00443`, y `checkPort` ahora los rechaza.
`locator.json` pasa a 247 direcciones.
- **Verificación:** `scripts/check.sh 60s` completo sobre `e22d358`, y sobre `601e6d2` `check.sh` sin fuzzing y `fuzz.sh 60s`, los 25 objetivos: todo limpio. Cobertura de `capsule`, 92,2 %. govulncheck da los dos avisos de siempre, sin llamada alcanzable.
**Siguiente, en orden**
1. **El autor aprueba el borrador v0.12:** §76, cambios 1 a 9, con el 6 ampliado el 5-10. Sigue abierto si se mide antes el área de 32 KiB con firmas reales. Con la aprobación: el SHA-256 en `spec/README.md`, `SpecVersion` 0.12, el tag `spec-v0.12` y `main` avanzado sin fusión, siempre con permiso del autor.
2. **TypeScript, segunda parte:** el punto 3 de la lista del 2-10, sin cambios. El `locator.json` nuevo llega con la sincronización; el TypeScript solo comprueba que nombra la spec, porque aún no tiene el localizador.
3. **Dart:** la etapa 0 del plan.
**Observaciones del 5-10, sin decisión:**
- El error de una nota pública con un tabulador dice «in the declared author», porque la nota usa las reglas del autor declarado. Está en `note.json` y el TypeScript lo copia: cambiarlo exige tocar los dos lados.
- `testdata` no tiene vectores compartidos de la llave de palabras. El §64 de la v0.11 los pide, y solo están en las pruebas de Go (`wordkey.TestKeyVector`). TypeScript y Dart los van a necesitar.
- A G: le quedan 1,6 GB libres.
- La carpeta sigue llamándose `App`, y `enquiry.php` sigue en la raíz (§0).
**Para trabajar:** lo del apartado del 2-10, y además:
- Un worktree en el scratchpad permite trabajar mientras `check.sh` corre en la copia principal.
- Dos fuzzings a la vez no deben solaparse, porque comparten la caché de fuzzing de `GOCACHE`.
---
## Estado al cerrar la sesión del 2 de octubre (histórico: lo actual está arriba)
**Qué pasó.** La sesión que cerró la v0.11 (1-10, de 19:42 a 01:05) corrió con Sonnet 5.5. El 2-10 se revisó todo lo que hizo con seis revisores de Opus: [spec_v0.11/revision_sesion_1_2_octubre.md](spec_v0.11/revision_sesion_1_2_octubre.md). **Qué pasó.** La sesión que cerró la v0.11 (1-10, de 19:42 a 01:05) corrió con Sonnet 5.5. El 2-10 se revisó todo lo que hizo con seis revisores de Opus: [spec_v0.11/revision_sesion_1_2_octubre.md](spec_v0.11/revision_sesion_1_2_octubre.md).
- **Resultado:** nada bloqueante. El núcleo criptográfico estaba bien. - **Resultado:** nada bloqueante. El núcleo criptográfico estaba bien.

Loading…
Cancel
Save

Powered by TurnKey Linux.