@ -12,7 +12,7 @@ Los dos repos están en el Gitea privado `g.activething.com` (solo LAN, certific
|---|---|---|---|
| `datekeys-go` (`go/DateKeys`) | `main` | `9ac9cd9` | Spec v0.8.2 cerrada, con el tag anotado **`spec-v0.8.2`**. Codec propio, vectores compartidos, enmienda de canonicidad y las dos rondas de la revisión formal. |
| | `v0.8.2` | `9ac9cd9` | Igual que `main`; ya no hace falta. |
| `App` (`go/DateKeys-App`) | `main` | `35be27c` | Librería TypeScript (pasos 1 a 8), página `/inspect`, contraste BLS. `testdata` sincronizado a `9ac9cd9` (`spec-v0.8.2`). Fase 2, pasos 2 y 3 hechos: dependencias con sus guardas, e `ibe.ts` contrastado con Go. 2 397 tests; `npm run verify` en verde. |
| `App` (`go/DateKeys-App`) | `main` | `076f3db` | Librería TypeScript (pasos 1 a 8), página `/inspect`, contraste BLS. `testdata` sincronizado a `9ac9cd9` (`spec-v0.8.2`). Fase 2, pasos 2 a 4 hechos: dependencias con sus guardas, `ibe.ts` y `release.ts`, contrastados con Go. 2 404 tests; `npm run verify` en verde. |
| `AppOld` (solo local) | `master` | `4d2b0a1` | Prototipo antiguo. No se toca. |
Verificación ya hecha sobre `datekeys-go`:
@ -49,8 +49,8 @@ Siguen valiendo estas reglas:
Plan: `docs/PLAN_fase2_ibe_noble2.md` v2, con las decisiones confirmadas por el autor. Los pasos 2 a 8 de su sección 10:
- hecho el 28-09 (`74e1215`): `age-encryption` 0.3.1 y noble 2.4.0 como dependencias de ejecución, con sus guardas en `src/lib/dependencies.test.ts` y `check-build.mjs`. El README de `App` recoge el coste medido en el bundle, 73 KB con gzip para todo, y `npm audit`;
- hecho el 28-09 (`35be27c`): `ibe.ts` sobre noble 2, con vectores de Go en `src/lib/dkc/testing/ibe-vectors.json` (`scripts/ibe-go-vectors.go`) y cobertura del 100 % fijada como umbral. Los argumentos del stanza y su paso al `Stanza` de `age-encryption`, que guarda el tipo en `args[0]`, van al paso 7;
- siguiente, el paso 4: `release.ts`;
- `open.ts` (pasos 9 a 18, descifrado en streaming a OPFS);
- hecho el 28-09 (`076f3db`): `release.ts`, con `verifyRelease` en el orden y con los textos de `provider.Verify`, `ReleaseSource` y `suppliedRelease`. Solo verifica el scheme de Quicknet: otro da `ERR_UNKNOWN_PROFILE`. Reproduce los 7 casos del corpus que fallan en el paso 10;
- siguiente, el paso 5: `open.ts` (pasos 9 a 18, descifrado en streaming a OPFS). El paso 9 aplica la corrección 6, y el `Stanza` de `age-encryption` guarda el tipo en `args[0]`;
- cifrado a nivel de stanza e interoperabilidad con Go;