Paquetes RIF
.pack es el paquete portable de un target RIF. Es un ZIP reproducible con
las fuentes RIF y, si se solicita, una base SQLite precompilada.
Crear un paquete
rif --pack main.rif
rif --pack main.rif -o targets/amd64.pack
Puede contener:
manifest.json
sources/main.rif
sources/other.rif
funcs.py (opcional)
assets/... (payloads de `.file` en inserts)
compiled.sqlite (si se precompila)
El manifiesto registra formato, hashes de fuentes, grafo de @LOAD, orden de
dependencias, funciones y base compilada.
Los archivos referenciados por .file dentro de @insert se copian como
assets opacos con su tamaño y hash SHA-256. No se ejecutan al crear el
paquete.
Ventajas
El paquete valida y resuelve las cargas antes de usar el target. Con
precompile=True también guarda Rules, configuración, linker, definiciones y
filas de tablas. Así puede abrirse sin parsear todas las fuentes otra vez.
Es útil cuando hay muchas fuentes, tablas grandes, muchos MIR contra el mismo target o se necesita distribuir un solo archivo.
Validación
RIF valida rutas y hashes SHA-256. Rechaza dependencias ausentes, ciclos, fuentes modificadas, esquemas SQLite incompatibles y metadatos inválidos.
El .pack contiene la definición del target, no el MIR externo ni el binario
final.