Handoff: the draft v0.13 with NAT64, the locator and the signing in TypeScript

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
main
dev 1 day ago
parent d909322cbc
commit 6146e1ee84

@ -11,17 +11,31 @@ Sirve para retomar sin contexto previo, sea una persona o una sesión de Claude.
**Para empezar:**
1. Abre la sesión en `G:\bussines\datekeys`, la raíz, no en `App`. Comprueba que corre en Opus. La memoria buena es la de la raíz.
2. Comprueba los repos con `git status` y `git log`:
- `datekeys-go`: rama `v0.12` y `main` en `fe405e2`, con el tag `spec-v0.12`;
- `App`: rama `v0.10` en `45e7e49`;
- `datekeys-dart`: rama `v0.12` en `62107d7`; la `v0.11` se queda en `bb66e48`;
- `datekeys-go`: rama `v0.12` y `main` en `fe405e2`, con el tag `spec-v0.12`; rama `v0.13` en `e9d4cec`, el borrador v0.13;
- `App`: rama `v0.10` en `a741efe`;
- `datekeys-dart`: rama `v0.12` en `62107d7` y rama `v0.13` en `4a0d4f7`; la `v0.11` se queda en `bb66e48`;
- `docs`: rama `main` en el commit de este handoff.
3. **Lo siguiente lo decide el autor.** La v0.12 está cerrada y la librería Dart, completa. Lo abierto:
- las cinco decisiones pendientes del localizador, en el apartado de la sesión del 5 y 6 de octubre. Van a una v0.13, porque la v0.12 está cerrada; tocan a Go primero;
- el TypeScript: el localizador, la nota en la página y cerrar `0.2.0`;
Si no se subieron al cerrar, `git status` lo dice: todo lo del 6-10 por la tarde y la noche se subió solo con permiso del autor.
3. **Lo siguiente lo decide el autor.** Lo abierto:
- aprobar el borrador v0.13, NAT64;
- las otras cuatro cuestiones del localizador (el CID no canónico, `[[…]]`, `ParseInfo` y el 1 MiB de `Open`), que irían también a la v0.13; tocan a Go primero;
- en TypeScript, la nota pública en la página y cerrar `0.2.0`;
- medir el área de 32 KiB con firmas reales: la v0.12 se aprobó sin esa medida.
**La app Flutter queda archivada** para más adelante, por decisión del autor del 6-10 («la aplicación de Flutter de momento se archiva para un futuro»). La librería Dart está lista para cuando se retome.
**NAT64 y el TypeScript (6-10, noche).** El autor dijo «adelante con el NAT64» y «sigues con TypeScript».
- **Borrador v0.13**, `datekeys-go` rama `v0.13` (`a83b44d`, `e9d4cec`), sin aprobar. El §44.1 cuenta una dirección de NAT64 a la que resuelve un nombre, de `64:ff9b::/96` o del prefijo de la red (RFC 6052, RFC 7050), por la IPv4 que lleva dentro; una dirección de NAT64 escrita en el localizador se sigue rechazando. El prefijo de la red tiene una longitud de RFC 6052 y está en `64:ff9b::/16` o es público, y una dirección suya cuenta solo por su IPv4 aunque el prefijo sea público: el primer código no lo hacía, y la sesión lo corrigió antes del commit. El §76 tiene el cambio 1 con su caso. `locator.CheckResolvedIP` y `testdata/vectors/resolved_ip.json`, 42 casos. `SpecVersion` sigue en 0.12.
- **Dart**, rama `v0.13` (`d65e218`, `4a0d4f7`): `checkResolvedIp(ip, nat64:)`, con los textos de Go.
- **TypeScript**, `v0.10`, de dos agentes Opus en paralelo, revisados e integrados:
- el localizador (`0d895bf`, `e2c51bc`): el paquete `locator` de Go entero, con un lector y escritor de `age` propio (`ageio.ts`) para reproducir los textos de `age` y fijar el azar. 6 531 casos contra Go con el mismo texto, sellado y sobres byte a byte, y Go abre lo que escribe TypeScript;
- NAT64 (`28f0c3f`), por la sesión;
- las claves de autor y la firma al escribir (`96614d5`, `9e5e3ba`, `a741efe`): `authorkey.ts`, `ed25519sign.ts` (firma propia) y los enganches `authorKey`, `cmsSigner`, `sealer` y `largeArea` del escritor. Ocho cápsulas firmadas y selladas byte a byte como Go, y Go abre las de TypeScript con los mismos veredictos.
Ningún módulo nuevo: todos los de noble y `age-encryption` que importan ya estaban. `npm run verify` pasa con 8 017 pruebas y una aplazada.
- Los gates de Go y Dart pasan, con 2 175 pruebas en la VM de Dart y 665 en Node.
**La v0.12, aprobada (6-10, tarde).** El autor dijo «apruebo el borrador». Se aprobó el texto tal como estaba, sin añadir texto normativo, para no repetir el fallo E1 de la v0.11:
- `datekeys-go` `fe405e2`: la cabecera del spec dice «6 octubre 2026, aprobado por su autor ese día», y es lo único que cambia del texto. `SpecVersion` 0.12; el campo `spec` de todo `testdata`, regenerado, y en los congelados `security_cms.json` y `locator.json`, cambiado a mano, solo ese campo. `spec/README.md` registra el SHA-256, `afc31fd8105d650773d093ac01bd2f5e0b56af04726f4e75c652e2cf9308ac3f`. Los README, `SECURITY.md`, la trazabilidad, `testdata/README.md` y el CHANGELOG nombran la v0.12.
- El tag anotado `spec-v0.12` está en `fe405e2`, y `main` avanzó hasta él sin fusión.

Loading…
Cancel
Save

Powered by TurnKey Linux.