Caleta: An Evidence-Oriented Trust Layer for Reproducible Local Large Language Model Inference
Caleta es un supervisor de procesos y una capa de evidencia, con licencia Apache-2.0, alrededor de llama.cpp; no es un motor de inferencia nuevo. Hace explícitos qué bytes se ejecutaron, con qué configuración, qué interfaces quedaron expuestas y cómo se midió, sin guardar los prompts. Preprint técnico sin revisión por pares, en inglés.
Preprint técnico sin revisión por pares
Las mediciones son descriptivas y de una sola configuración (un equipo Windows con CPU). No demuestran superioridad frente a otros motores, calidad de las respuestas, eficiencia energética ni rendimiento en otro hardware.
Resumen
Ejecutar un modelo en local no responde por sí solo a varias preguntas operativas: qué bytes se ejecutaron, qué backend y qué opciones estaban activas, qué interfaces quedaron expuestas, qué se midió y qué ejecuciones fallaron. Caleta se ocupa de esa capa alrededor del motor: envuelve el llama-server de llama.cpp con una frontera de confianza pequeña y emite evidencia versionada.
El trabajo distingue la integridad (un SHA-256 que coincide) de la procedencia autenticada (quién publicó ese valor), y los controles de privacidad del aislamiento del sistema operativo. Solo informa de las pruebas que se ejecutaron de verdad.
Abstract (original, en inglés)
Local large language model (LLM) inference is often described as private, verified, or reproducible without separating the technical claims behind those terms. This paper presents Caleta, an Apache-2.0 process supervisor and evidence layer around llama.cpp rather than a new inference engine. Caleta combines versioned manifests, exact-size and SHA-256 verification, controlled backend construction, a restricted OpenAI-compatible proxy, prompt-free execution records, benchmark reports, and a small conformance suite. Its contribution is the composition of these mechanisms into explicit contracts that distinguish integrity from authenticated provenance and privacy controls from operating-system isolation. We evaluate the implementation through static checks, fifteen unit tests, deterministic end-to-end tests on Ubuntu, macOS, and Windows, and a pinned real-model experiment on Windows CPU using Qwen2.5-0.5B-Instruct Q4_K_M and llama.cpp b11981. The real experiment validates artifact verification, startup, model listing, non-streaming and server-sent-event chat, and conformance. Three independent benchmark invocations produced fifteen successful warm requests with no failures. In this single configuration, median time to first token was 18.066 ms and median decode throughput was 54.394 tokens/s. These descriptive measurements do not establish cross-engine superiority, output quality, energy efficiency, or hardware-general performance. Raw JSON, commands, and environment metadata are published. Remaining challenges include signed manifests, time-of-check/time-of-use replacement, operating-system containment, proxy-overhead measurement, and broader experimental matrices.
Palabras clave: local inference; large language models; reproducibility; software supply chain; privacy engineering; benchmarking; provenance; llama.cpp.
Cómo funciona
- Verifica antes de ejecutar: el tamaño exacto y el SHA-256 de cada artefacto contra un manifiesto versionado; si falta algo o no coincide, no arranca.
- Supervisa el backend en loopback y solo deja pasar salud, listado de modelos y chat completions por un proxy restringido compatible con la API de OpenAI, con una credencial interna aleatoria por arranque.
- Registra la ejecución sin prompts: guarda la configuración y las mediciones, no los cuerpos de las peticiones ni de las respuestas; los benchmarks guardan el resumen SHA-256 y la longitud del prompt.
- Mide con método: separa el arranque en frío de las peticiones en caliente, conserva los fallos en bruto y no convierte en cero una medición que no existe.
Resultados
Además de las comprobaciones estáticas y quince pruebas unitarias, las pruebas deterministas de extremo a extremo pasaron en Ubuntu, macOS y Windows. El experimento con un modelo real usó Qwen2.5-0.5B-Instruct Q4_K_M y llama.cpp b11981 en un Intel i7-7700K con CPU y cuatro hilos:
| Métrica | Valor observado | Alcance |
|---|---|---|
| Arranques en frío independientes | 3 | Uno por invocación del benchmark |
| Peticiones en caliente medidas | 15 | Cinco por invocación; ningún fallo |
| Arranque en frío, mediana | 835,371 ms | Rango 660,720–977,129 ms |
| Tiempo hasta el primer token, mediana | 18,066 ms | Rango 14,574–28,004 ms |
| Decodificación, mediana | 54,394 tokens/s | Rango 49,028–68,138 tokens/s |
Límites
- Una sola configuración real (Windows con CPU): ninguna ejecución con modelo real en macOS ni Linux.
- Los manifiestos no están firmados y los registros de ejecución no son atestaciones; queda abierta la sustitución entre la comprobación y el uso.
- No hay contención del sistema operativo: el modo sin conexión del backend no es un cortafuegos, y loopback no aísla de otros procesos locales.
- No mide la sobrecarga del proxy, la energía, la memoria, la temperatura ni la calidad de las respuestas.
Leer y citar
El enlace oficial es el DOI de Zenodo, 10.5281/zenodo.23763881, donde se pueden ver y descargar el PDF y los artefactos del experimento (manifiesto, comandos, entorno e informes JSON en bruto). La versión anterior sigue archivada en 10.5281/zenodo.23761755. El código de referencia está en github.com/BiVelio/caleta.
Cómo citarlo:
Fisa, Joan-Marc (2026). Caleta: An Evidence-Oriented Trust Layer for Reproducible Local Large Language Model Inference. Technical preprint, BiVelio Inc. CC BY 4.0. https://doi.org/10.5281/zenodo.23763881
Manuscrito © 2026 BiVelio Inc, con licencia CC BY 4.0: la atribución debe identificar a Joan-Marc Fisa como autor y a BiVelio Inc como titular. El software de referencia, Caleta v0.1.0, tiene licencia Apache-2.0.
- #preprint
- #inferencia-local
- #reproducibilidad
- #llm
- #procedencia


