Project Telos

Herramientas MCP de prioridad local para recibos de trabajo asistido por IA, ingesta de fuentes, mapas de espacio de trabajo, libros de contabilidad de enrutamiento, recibos de acciones y verificación MATCH / DRIFT / UNVERIFIABLE.

Documentación

telos: one workbench, and packets that recompute their own claims.

El banco de trabajo compartido: estado duradero, control nativo de la estación de trabajo, órganos sensoriales, una fragua de descubrimiento.

version license CI node deps

Telos es un banco de trabajo local sin dependencias para crear, simular y reproducir trabajo de IA. Incluye una superficie MCP de cinco servidores más alternativas de CLI: doctores para CI, presentación, accesibilidad, rendimiento y compatibilidad, un motor creativo con núcleos deterministas y diez medidores de medición, carriles de fundición de modelos y fragua de aprendizaje, y paquetes de prueba de investigación que abarcan demos causales, encarnadas y cuánticas. Une gather, index, forum y crucible en un mapa de operador que puedes ejecutar con un solo node demo/run.mjs. Cada ejecución escribe un recibo que puedes volver a verificar.

Project Telos | gather | crucible | index | forum | telos | learn | emet | buildlang

Qué hace

  • Una superficie MCP sobre cinco buques insignia. node demo/telos-mcp.mjs (o npm start) ejecuta un servidor MCP stdio que expone 41 herramientas nativas telos.*, y el manifiesto del servidor lanza gather, index, forum y crucible junto a él: 69 herramientas en total más 36 herramientas auxiliares de compatibilidad declaradas, con configuración de host lista para pegar para Codex (TOML), Claude (JSON) y OpenAI Agents.
  • Cuatro carriles de prueba a través de una CLI. node demo/proof.mjs ensambla paquetes de prueba de acción de agente, afirmación de investigación, verdad visual y construcción. Cada uno tiene un verificador puro que recalcula cada afirmación de carga crítica a partir de materiales incrustados en el paquete, por lo que un pase enlatado es estructuralmente imposible, y node demo/proof.mjs verify <packet.json> reproduce cualquiera de ellos por ID de esquema.
  • Nueve doctores. El doctor de CI y el triaje de CI leen el estado de GitHub Actions y separan fallos fatales de advertencias de migración en tiempo de ejecución. Los doctores de presentación, accesibilidad, rendimiento, compatibilidad y operador auditan la paridad del README, la accesibilidad estática, los presupuestos de bytes, la cobertura de protocolo y la capacidad de descubrimiento. Todos se ejecutan sin conexión contra copias locales.
  • Un motor creativo que puedes medir. Núcleos deterministas (difuminado ordenado, ordenación de píxeles, harmonógrafo, luz agrupada), un contrato de selección de renderizador WebGPU/WebGL/canvas/estático y diez medidores ejecutables en señales de histograma, difuminado, splat, agrupación, audio, parpadeo, curvatura, interacción, incertidumbre y presupuesto de fotogramas. La superficie visual vive en demo/index.html.
  • Paquetes de prueba de investigación. Pre-vuelos deterministas para inferencia causal (conjunto de ajuste mínimo de DAG de juguete), simulación a real encarnada (tracción diferencial con envolvente de seguridad y límite de latencia) y corrección de errores cuánticos (código estabilizador de bit-flip de 3 qubits), cada uno con controles negativos y no-afirmaciones explícitas.
  • Fundición de modelos y fragua de aprendizaje. Un contrato acotado para enrutar trabajo a través de API de frontera alojadas y modelos locales de peso abierto, siete contratos de laboratorio ejecutables con casos de fallo y métricas, y un bucle de demonio auto-mejorante que solo promueve cambios verificados.
  • Herramientas de contexto para grandes bases de código. Paquetes y envolventes de contexto presupuestados y validados para entregar un gran espacio de trabajo a un modelo sin perder procedencia.
  • Control nativo de la estación de trabajo. node demo/native-control.mjs controla el navegador a través del Protocolo de DevTools de Chrome y aplicaciones nativas a través de Automatización de Interfaz de Usuario de Windows. Las acciones de enfoque de UIA y entrada de teclado pueden afectar la ventana en primer plano; los recibos distinguen el comportamiento de enfoque conocido de los efectos desconocidos. Una coincidencia de navegador explícita debe seleccionar un objetivo. La herramienta MCP telos.native.control sigue siendo un catálogo de capacidades de solo lectura. Consulta el contrato de control antes de la actuación.

Pruébalo

Cero dependencias de tiempo de ejecución. Node 20 o más reciente; CI se ejecuta en Node 24.

Apunta un host MCP al servidor stdio sin clonar nada:

npx -y project-telos-mcp

En una configuración de host que es "command": "npx" con "args": ["-y", "project-telos-mcp"].

O instálalo y obtén ambos comandos en tu PATH, telos-mcp para el servidor MCP y telos para la superficie de comandos de demostración:

npm install -g project-telos-mcp
telos-mcp

Para leer el código fuente y ejecutar el bucle que explica toda la idea:

git clone https://github.com/HarperZ9/telos.git
cd telos
node demo/run.mjs

demo/run.mjs renderiza un cubo 4-D, lo percibe a través de canales independientes, verifica los recuentos de vértices y aristas recuperados contra el criterio verdadero, e imprime un certificado que se re-verifica a partir de su propia evidencia. Luego alimenta al bucle un render demasiado pequeño para leer y muestra que devuelve UNVERIFIABLE en lugar de un pase confiado. Un verificador que no puede fallar no es un verificador.

Desde allí, los dos comandos de orientación:

node demo/catalog.mjs --summary          # operator map: 69 tools across 5 flagships
node demo/server-manifest.mjs --summary  # 5-server MCP launch map with host config

Resumen de catálogo esperado:

Project Telos MCP Catalog
tools    69 total, 69 available
transport stdio, streamable-http
gather    5 tools ...
index     5 tools ...
forum     5 tools ...
crucible  13 tools ...
telos     41 tools ...

Para ejecutar el servidor MCP para un host: npm start (stdio). Salud y estado:

node demo/status.mjs --summary
node demo/doctor.mjs --summary
node demo/room.mjs --json

Cada comando emite una envolvente project-telos.flagship-action/v1 con un estado MATCH, DRIFT o UNVERIFIABLE. El paquete también incluye entradas bin telos y telos-mcp que enrutan a la misma superficie de demostración.

Ejemplo trabajado: un paquete de prueba que puede fallar

Eight stages from loose materials to a replayable packet: fixture, assemble, completeness, recompute, join, derive, witness, replay. The verdict folds out of the checks rather than being read off the packet, so a canned pass embedded in the materials can never win. A witness that reports drift lowers the derived verdict, and a witness that cannot be reached is recorded as coverage lost rather than counted as a pass. Three outcomes: match when every claim recomputed, drift when a recomputed value disagrees with its claim, and unverifiable when the evidence to check a claim is not there.

Ensambla el paquete de prueba de acción de agente de demostración, luego reproduce su verificación solo desde el paquete:

node demo/proof.mjs agent-action --demo --json > packet.json
node demo/proof.mjs verify packet.json

Salida esperada:

verdict       MATCH
witness       witnessed / MATCH

El paquete une referencias de fuente, referencias de contexto, ruta, decisión de admisión, efectos secundarios y resúmenes de salida. El verificador recalcula los resúmenes a partir de los materiales incrustados, por lo que editar cualquier campo de carga crítica cambia el veredicto a DRIFT, y una base recomputable faltante se informa como UNVERIFIABLE con la brecha nombrada por ruta. Los carriles hermanos funcionan de la misma manera: research recalcula los resúmenes de fuente y control negativo y rechaza la promoción restringida por reproducción en un solo paquete, visual recalcula color y luminancia a partir de muestras sRGB incrustadas, y build recalcula un invariante de cantidad conservada contra un fixture negativo que debe romperlo. El libro de entrega es docs/PROOF-LANES.md.

Dos cosas en ese diagrama merecen leerse dos veces. El veredicto se pliega fuera de las verificaciones, por lo que un paquete que lleva su propio MATCH no puede ganar con él: cuando un veredicto incrustado no coincide con el derivado, el desacuerdo se registra como un fallo, y ese fallo hereda la gravedad derivada. Un MATCH incrustado sobre materiales manipulados permanece DRIFT. Un MATCH incrustado sobre un paquete incompleto permanece UNVERIFIABLE.

La etapa de testigo es el nulo honesto. Es un segundo lector sobre los bytes canónicos del propio paquete, y puede bajar un veredicto pero nunca subirlo. Cuando no se puede alcanzar, el paquete registra witness_coverage: not_witnessed y el veredicto se mantiene solo con el verificador. Eso es pérdida de cobertura divulgada, no contraevidencia, y es la razón por la que un MATCH es una afirmación sobre lo que se recalculó en lugar de una afirmación de que todo se examinó.

Superficie de comandos

node demo/catalog.mjs es el mapa autoritativo. Destacados por área:

ÁreaComandos
Orientaciónrun.mjs, catalog.mjs, server-manifest.mjs, status.mjs, doctor.mjs, room.mjs
Doctoresci-doctor.mjs, ci-triage.mjs, presentation-doctor.mjs, accessibility-doctor.mjs, performance-doctor.mjs, compatibility-doctor.mjs, operator-doctor.mjs, mcp-freshness.mjs
Pruebaproof.mjs (acción de agente, investigación, visual, construcción, verificación, exportación), showcase.mjs
Contextocontext-envelope.mjs, context-pack.mjs, action-receipt.mjs, loop-ledger.mjs
Creativocreative-engine.mjs, creative-kernels.mjs, measurement-layers.mjs, rendering-capabilities.mjs, display-calibration.mjs
Investigacióncausal-workbench-proof-packet.mjs, embodied-sim2real-proof-packet.mjs, quantum-error-correction-proof-packet.mjs, thermodynamic-ai-chip-receipt.mjs
Fundiciónmodel-foundry.mjs, learning-forge.mjs, learning-forge-labs.mjs
Estación de trabajonative-control.mjs, browser-evidence.mjs, workstation-substrate.mjs, revival-registry.mjs, second-level-flagship-queue.mjs

La mayoría acepta --summary para una vista de terminal compacta (TUI) y --json para hosts de IDE, aplicación y automatización.

Los carriles de doctores en su totalidad: node demo/ci-doctor.mjs, node demo/presentation-doctor.mjs, node demo/accessibility-doctor.mjs, node demo/performance-doctor.mjs, node demo/compatibility-doctor.mjs y node demo/operator-doctor.mjs, más node demo/ci-triage.mjs y node demo/mcp-freshness.mjs. La ingesta de CI en vivo funciona de solo lectura: node demo/ci-triage.mjs --gh-run owner/repo#run_id --summary.

Documentación

Repos pares: gather (ingesta de investigación), index (mapas de espacio de trabajo y contexto), forum (enrutamiento de agentes con un libro causal), crucible (verificación de afirmaciones), emet (testigo de coherencia independiente). Telos lanza y reconcilia los cinco desde un manifiesto; cada uno también se mantiene solo.

Estado y madurez

Este es un paquete 0.4.1, publicado en npm como project-telos-mcp. La superficie de comandos anterior está probada y cubierta por CI: npm test recorre todos los archivos de prueba en demo/, por lo que uno nuevo se ejecuta sin agregarse a una lista. Las interfaces pueden moverse entre versiones menores. Los paquetes de investigación son pre-vuelos deterministas con no-afirmaciones explícitas: el paquete causal no afirma descubrimiento causal, el paquete encarnado no afirma seguridad de robot real, el paquete cuántico no afirma QEC de hardware. Trata los recibos y pruebas en este repo como la evidencia, no los recuentos de prosa.

Actualización desde 0.2.0

0.3.0 escribe la versión 2 del hash del libro de control nativo, vinculando metadatos de sesión y campos de entrada. Actualiza los lectores antes que los escritores: los lectores 0.2.0 rechazan el nuevo formato. Los nuevos lectores aún aceptan recibos heredados con un alcance limitado de integridad de paso/resultado. La evidencia del navegador ahora informa unredacted; las URL, títulos, selectores, referencias de artefactos y resúmenes proporcionados pueden permanecer en los paquetes. Mantén estos paquetes privados. La consistencia del hash no prueba la verdad de ejecución, autoría, integridad o seguridad. Consulta notas de versión.

La hoja de ruta de consolidación activa es docs/PROJECT-TELOS-LARGE-SCALE-ROADMAP-2026-07-02.md, y el plano de control de documentación es docs/DOCUMENTATION-CONSOLIDATION-REGISTRY-2026-07-02.md con el registro legible por máquina bajo docs/registry/.

El recibo subyacente

Una idea corre bajo todo esto: una acción o afirmación solo cuenta cuando lleva evidencia que una persona u otro sistema puede volver a verificar más tarde, y cuando la verificación no puede pasar, la respuesta es un UNVERIFIABLE honesto en lugar de una suposición confiada. Por eso cada comando escribe un recibo y cada verificador de prueba está construido para poder fallar.

Aquí hay uno de esos recibos, dibujado campo por campo. Ejecútalo tú mismo con python tools/check_repo_art.py --json:

Six fields of a receipt the artwork checker emits, each with what comes back in it and how a reader would check that field for themselves. schema names the contract the record is written to. mode says whether the run rendered the files or only compared them. specs lists the diffable input the pictures are a function of. outputs carries one entry per drawing, each with a byte count and a SHA-256 read from the file on disk. checks carries one entry per gate, each naming itself and listing what it found. passed is the verdict, and it folds out of those checks rather than being written down, so a record cannot claim a pass its own checks do not support.

La imagen se genera a partir de la misma especificación que lee el verificador, y una puerta mantiene cada valor en ella contra un recibo que la herramienta realmente emite, por lo que no puede quedar obsoleta silenciosamente.

Licencia

FSL-1.1-ALv2 (fuente justa). El código es abierto para leer y ejecutar, gratuito para casi cualquier uso excepto construir un producto competidor, y cada versión se convierte a Apache 2.0 después de dos años. Los derechos de autor son del autor. Consulta LICENSE.

Para desarrolladores

Cero dependencias, por lo que no hay nada que instalar. Ejecuta las pruebas de contrato MCP y las verificaciones de humo antes de abrir un PR:

npm run test:mcp
node demo/catalog.mjs --summary
node demo/server-manifest.mjs --summary
node demo/room.mjs --json

CI (.github/workflows/ci.yml) ejecuta cada archivo de prueba de contrato individualmente en Node 24; ejecuta cualquiera de ellos directamente con node demo/<name>.test.mjs. Mantén el README, los metadatos del paquete y los ejemplos alineados con el comportamiento actual; node demo/operator-doctor.mjs --summary verifica esa paridad.


Zentropy Labs · orden a partir del caos. Un laboratorio independiente que construye herramientas basadas en evidencia que dejan un artefacto verificable detrás. Creado por Zain Dana Harper en Seattle. El banco de trabajo completo está en Project Telos.


El ecosistema de Zentropy Labs

Esta herramienta es parte de una familia que mantiene una sola creencia firme en cada superficie: conocimiento abierto para cualquiera que pueda alcanzar los medios; aceptación decidida por verificaciones externas, nunca por reputación; cada resultado re-ejecutable; nulos honestos de primera clase; propiedad ganada por comprensión; aprendizaje tejido en el trabajo.

Zentropy Labs - orden a partir del caos. Creado por Zain Dana Harper en Seattle.