Sobre el proyecto
NovaFabric es una herramienta de línea de comandos autohospedada para hacer que las ejecuciones de IA y HPC sean reproducibles, comparables y auditables. Su unidad de valor es la cápsula: un directorio con nombre ULID escrito en ~/.novafabric/capsules/ que contiene los hechos observables de una ejecución, en lugar de una fila de traza en una base de datos alojada. Se instala con `pip install novafabric` (Python 3.12+); los extras opcionales añaden soporte para dashboard, query, server, compliance y Sigstore, y `nova doctor --check-extras` informa sobre lo que falta.
Captura: `nova capture python my_agent.py --dataset data.csv` funciona con cualquier comando y no requiere cambios en la aplicación. Inyecta un cargador sitecustomize.py a través de PYTHONPATH e instala monkey-patches para los SDK de OpenAI, Anthropic y MCP, además de hooks a nivel de cable en httpx, requests, aiohttp y urllib3, con una protección de capas para que las llamadas anidadas generen un único registro. Se extraen los campos de convención semántica de OpenTelemetry GenAI (temperature, top_p, max_tokens, seed, razones de finalización y más). Para clientes que no son de Python, como Claude Code, Cursor o agentes de Node/Go, dos proxies transparentes —`nova api-proxy` y `nova mcp-proxy`— capturan el tráfico de LLM y MCP sin tocar el cliente. Las cápsulas se escriben tanto en caso de éxito como de fallo, por lo que un cierre inesperado queda registrado como evidencia con estado, código de salida y un bloque de error.
Contenido de la cápsula: manifiesto capsule.yaml, spans trace.jsonl, model-calls.jsonl, tool-calls.jsonl, env.lock, replay.yaml, entradas y salidas (stdout/stderr), y redaction-proof.json. Se ejecuta un escaneo de secretos en cada artefacto antes de la finalización; una cápsula sin su prueba de redacción es inválida para `nova validate` y no puede ser exportada.
Replay y diff: `nova replay` ofrece cuatro modos: forensic (inspección de solo lectura, sin red ni subprocesos), mocked (vuelve a ejecutar el comando con llamadas a modelos y herramientas servidas desde la caché de la cápsula), semantic (juzga el significado en lugar de los tokens, similitud 0.0–1.0) y exact (elegibilidad exacta de bytes que requiere un entorno determinista y una semilla por llamada). El README indica explícitamente que no garantiza el replay exacto de llamadas a LLM remotos. `nova diff` compara dos ejecuciones, y `nova diff --assert-no-regressions` sale con un código distinto de cero ante un cambio de comportamiento, posicionándose como una puerta de CI para agentes que funcionaban ayer y fallan hoy.
Gobernanza y linaje: un Asset Registry local en SQLite almacena activos versionados de siete tipos (model, agent, prompt, tool, dataset, evaluation, deployment), direccionados como nombre@version con un ciclo de vida que va desde el desarrollo hasta el archivado; la promoción es solo metadatos de gobernanza y no despliega nada. La capa de linaje emite aristas mecánicas de consumed, produced_by y replayed_from con confianza observada frente a inferida, soporta consultas de procedencia, radio de impacto (blast-radius) y cadena de replay, y puede emitir eventos de OpenLineage además de exportaciones W3C PROV-N. Existen backends opcionales experimentales para grafos más grandes. `nova export-evidence` crea un ZIP firmado que contiene la cápsula, un subgrafo de linaje, atestaciones in-toto DSSE y firmas ed25519, verificables con sha256sum y un verificador ed25519 sin el runtime de NovaFabric.
Ajuste: el proyecto declara que no es un orquestador, entrenador de modelos, servidor de inferencia, DB vectorial, gateway de LLM ni ejecutor de CI, y que una plataforma de observabilidad SaaS gestionada requerirá menos trabajo cuando el objetivo sean dashboards en tiempo real, alertas y analíticas multiusuario. El modo servidor y el dashboard en vivo están marcados como experimentales, las cápsulas no están congeladas hasta un congelamiento de esquema v1.0 planificado, y la herramienta produce evidencia que soporta flujos de cumplimiento en lugar de certificarlos. Las audiencias previstas en el README incluyen ingenieros de ML/plataforma, equipos de HPC e investigación, oficiales de cumplimiento, respondedores de incidentes y autores de frameworks de agentes.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.