diff --git a/recipes/atuq/README.md b/recipes/atuq/README.md index e0281861..e2e0ca8b 100644 --- a/recipes/atuq/README.md +++ b/recipes/atuq/README.md @@ -179,11 +179,15 @@ No es un almacén nuevo: es `arje-cas`, el mismo formato y el mismo hash que usa ⚠ **Tres cosas que hay que saber, y las tres están medidas:** -1. **La raíz del CAS de descargas NO es la del sistema.** `arje_cas::gc` borra todo blob que no esté +1. **La raíz del CAS del navegador NO es la del sistema.** `arje_cas::gc` borra todo blob que no esté en el set `reachable` de su llamador, y el único que existe hoy (`arje-brain`, `GcCas`) lo arma con la cadena de audit y las raíces vivas del grafo. Una descarga no está en ninguno: **el primer - `GcCas` se la llevaría, en silencio.** Por eso van a `/descargas-cas`. El precio, dicho: + `GcCas` se la llevaría, en silencio.** Por eso van a `/cas`. El precio, dicho: `tejido` sirve el CAS por defecto, así que compartir una descarga hoy exige apuntarlo a esa raíz. + ⚠ Se llamaba `descargas-cas` hasta que entró el §6.3: ahora el archivo personal y las descargas + comparten **un** CAS, que es lo que hace que una página archivada y un fichero bajado con el mismo + contenido sean **un solo objeto**. El guardián de descargas se quedó mirando el nombre viejo y + estuvo rojo dos días sin que nadie lo corriera. 2. **El fichero que bajaste no se toca.** Se copia al CAS y se deja donde estaba. El guardián lo comprueba byte a byte. 3. **La extensión observa, no intercepta.** Se entera cuando la descarga terminó. Meterse en el medio diff --git a/scripts/test-atuq-descargas.py b/scripts/test-atuq-descargas.py index edab148f..609a4997 100755 --- a/scripts/test-atuq-descargas.py +++ b/scripts/test-atuq-descargas.py @@ -247,7 +247,12 @@ def main(): return None uno, dos = ingerido(bajadas[0]), ingerido(bajadas[1]) - cas = os.path.join(salida, "hogar", ".local", "state", "puriy-costura", "descargas-cas") + # ⚠ El directorio es `cas` y no `descargas-cas` desde que el §6.3 entró: el archivo personal + # y las descargas comparten UN CAS, que es justo lo que hace que una página archivada y un + # fichero bajado con el mismo contenido sean un solo objeto. Este guardián se quedó mirando + # el nombre viejo y estuvo ROJO dos días sin que nadie lo corriera — la prueba de que un + # guardián que no se ejecuta no protege de nada. + cas = os.path.join(salida, "hogar", ".local", "state", "puriy-costura", "cas") indice = os.path.join(salida, "hogar", ".local", "state", "puriy-costura", "descargas.json") if uno["dedup"] != "false" or uno["veces"] != "1":