Project Telos

Ferramentas MCP locais para recibos de trabalho assistido por IA, captura de fontes, mapas de espaço de trabalho, registros de roteamento, recibos de ação e verificação MATCH / DRIFT / UNVERIFIABLE.

Documentação

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

A bancada de trabalho compartilhada: estado durável, controle nativo da estação de trabalho, órgãos sensoriais, uma forja de descobertas.

version license CI node deps

Telos é uma bancada de trabalho local sem dependências para criar, simular e reproduzir trabalho de IA. Ele oferece uma superfície MCP de cinco servidores, além de alternativas via CLI: médicos para CI, apresentação, acessibilidade, desempenho e compatibilidade, um mecanismo criativo com kernels determinísticos e dez medidores, trilhas de fundição de modelos e forja de aprendizado, e pacotes de prova de pesquisa que abrangem demonstrações causais, incorporadas e quânticas. Ele une gather, index, forum e crucible em um único mapa de operador que você pode executar com um único node demo/run.mjs. Cada execução gera um recibo que você pode verificar novamente.

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

O que ele faz

  • Uma superfície MCP sobre cinco carros-chefe. node demo/telos-mcp.mjs (ou npm start) executa um servidor MCP stdio expondo 41 ferramentas nativas telos.*, e o manifesto do servidor inicia gather, index, forum e crucible ao lado dele: 69 ferramentas no total, mais 36 ferramentas auxiliares de compatibilidade declaradas, com configuração de host pronta para colar para Codex (TOML), Claude (JSON) e OpenAI Agents.
  • Quatro trilhas de prova através de uma única CLI. node demo/proof.mjs monta pacotes de prova de ação de agente, reivindicação de pesquisa, verdade visual e construção. Cada um tem um verificador puro que recalcula cada afirmação essencial a partir dos materiais incorporados no pacote, então uma aprovação pré-fabricada é estruturalmente impossível, e node demo/proof.mjs verify <packet.json> reproduz qualquer um deles por ID de esquema.
  • Nove médicos. O médico de CI e a triagem de CI leem o estado do GitHub Actions e separam falhas fatais de avisos de migração em tempo de execução. Os médicos de apresentação, acessibilidade, desempenho, compatibilidade e operador auditam paridade de README, a11y estático, orçamentos de bytes, cobertura de protocolo e capacidade de descoberta. Todos rodam offline em checkouts locais.
  • Um mecanismo criativo que você pode medir. Kernels determinísticos (dither ordenado, pixel sort, harmonógrafo, luz agrupada), um contrato de seleção de renderizador WebGPU/WebGL/canvas/estático e dez medidores executáveis em sinais de histograma, dither, splat, cluster, áudio, flicker, curvatura, interação, incerteza e orçamento de quadro. A superfície visual está em demo/index.html.
  • Pacotes de prova de pesquisa. Pré-verificações determinísticas para inferência causal (conjunto de ajuste mínimo de DAG de brinquedo), sim-para-real incorporado (tração diferencial com envelope de segurança e limite de latência) e correção de erros quânticos (código estabilizador de bit-flip de 3 qubits), cada um com controles negativos e não-reivindicações explícitas.
  • Fundição de modelos e forja de aprendizado. Um contrato limitado para rotear trabalho entre APIs de fronteira hospedadas e modelos locais de peso aberto, sete contratos de laboratório executáveis com casos de falha e métricas, e um loop de daemon auto-melhorável que só promove mudanças verificadas.
  • Ferramentas de contexto para grandes bases de código. Pacotes e envelopes de contexto orçados e validados para entregar um grande espaço de trabalho a um modelo sem perder a proveniência.
  • Controle nativo da estação de trabalho. node demo/native-control.mjs controla o navegador via Chrome DevTools Protocol e aplicativos nativos via Windows UI Automation. Ações de foco UIA e entrada de teclado podem afetar a janela em primeiro plano; recibos distinguem comportamento de foco conhecido de efeitos desconhecidos. Uma correspondência explícita de navegador deve selecionar um alvo. A ferramenta MCP telos.native.control permanece um catálogo de capacidades somente leitura. Veja o contrato de controle antes de atuar.

Experimente

Zero dependências de runtime. Node 20 ou mais recente; CI roda no Node 24.

Aponte um host MCP para o servidor stdio sem clonar nada:

npx -y project-telos-mcp

Em uma configuração de host que é "command": "npx" com "args": ["-y", "project-telos-mcp"].

Ou instale e obtenha ambos os comandos no seu PATH, telos-mcp para o servidor MCP e telos para a superfície de comandos de demonstração:

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

Para ler o código-fonte e executar o loop que explica toda a ideia:

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

demo/run.mjs renderiza um cubo 4-D, percebe-o através de canais independentes, verifica as contagens de vértices e arestas recuperadas contra o critério verdadeiro e imprime um certificado que re-verifica a partir de suas próprias evidências. Em seguida, alimenta o loop com um render muito pequeno para ler e mostra-o retornando UNVERIFIABLE em vez de uma aprovação confiante. Um verificador que não pode falhar não é um verificador.

A partir daí, os dois comandos de orientação:

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

Resumo esperado do catálogo:

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 executar o servidor MCP para um host: npm start (stdio). Saúde e estado:

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

Cada comando emite um envelope project-telos.flagship-action/v1 com status MATCH, DRIFT ou UNVERIFIABLE. O pacote também inclui entradas bin telos e telos-mcp que roteiam para a mesma superfície de demonstração.

Exemplo prático: um pacote de prova que pode falhar

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.

Monte o pacote de prova de ação de agente de demonstração e, em seguida, reproduza sua verificação apenas a partir do pacote:

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

Saída esperada:

verdict       MATCH
witness       witnessed / MATCH

O pacote une referências de fonte, referências de contexto, rota, decisão de admissão, efeitos colaterais e digests de saída. O verificador recalcula digests a partir dos materiais incorporados, então editar qualquer campo essencial muda o veredito para DRIFT, e uma base recomputável ausente é relatada como UNVERIFIABLE com a lacuna nomeada por caminho. As trilhas irmãs funcionam da mesma forma: research recalcula digests de fonte e controles negativos e recusa promoção gated por reprodução em um único pacote, visual recalcula cor e luminância a partir de amostras sRGB incorporadas, e build recalcula um invariante de quantidade conservada contra um fixture negativo que deve quebrá-lo. O ledger de entrega está em docs/PROOF-LANES.md.

Duas coisas nesse diagrama valem a pena ler duas vezes. O veredito é dobrado para fora das verificações, então um pacote que carrega seu próprio MATCH não pode vencer com ele: quando um veredito incorporado discorda do derivado, a discordância em si é registrada como uma falha, e essa falha herda a severidade derivada. Um MATCH incorporado sobre materiais adulterados permanece DRIFT. Um MATCH incorporado sobre um pacote incompleto permanece UNVERIFIABLE.

O estágio de testemunha é o nulo honesto. É um segundo leitor sobre os bytes canônicos do próprio pacote, e pode rebaixar um veredito, mas nunca elevá-lo. Quando não pode ser alcançado, o pacote registra witness_coverage: not_witnessed e o veredito permanece apenas com o verificador. Isso é perda de cobertura divulgada, não contra-evidência, e é a razão pela qual um MATCH é uma afirmação sobre o que foi recalculado, não uma afirmação de que tudo foi examinado.

Superfície de comandos

node demo/catalog.mjs é o mapa autoritativo. Destaques por área:

ÁreaComandos
Orientaçãorun.mjs, catalog.mjs, server-manifest.mjs, status.mjs, doctor.mjs, room.mjs
Médicosci-doctor.mjs, ci-triage.mjs, presentation-doctor.mjs, accessibility-doctor.mjs, performance-doctor.mjs, compatibility-doctor.mjs, operator-doctor.mjs, mcp-freshness.mjs
Provaproof.mjs (ação de agente, pesquisa, visual, construção, verificação, exportação), showcase.mjs
Contextocontext-envelope.mjs, context-pack.mjs, action-receipt.mjs, loop-ledger.mjs
Criativocreative-engine.mjs, creative-kernels.mjs, measurement-layers.mjs, rendering-capabilities.mjs, display-calibration.mjs
Pesquisacausal-workbench-proof-packet.mjs, embodied-sim2real-proof-packet.mjs, quantum-error-correction-proof-packet.mjs, thermodynamic-ai-chip-receipt.mjs
Fundiçãomodel-foundry.mjs, learning-forge.mjs, learning-forge-labs.mjs
Estação de trabalhonative-control.mjs, browser-evidence.mjs, workstation-substrate.mjs, revival-registry.mjs, second-level-flagship-queue.mjs

A maioria aceita --summary para uma visão compacta de terminal (TUI) e --json para hosts de IDE, aplicativos e automação.

As trilhas de médicos completas: 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 e node demo/operator-doctor.mjs, além de node demo/ci-triage.mjs e node demo/mcp-freshness.mjs. A ingestão de CI ao vivo funciona somente leitura: node demo/ci-triage.mjs --gh-run owner/repo#run_id --summary.

Documentação

Repositórios pares: gather (ingestão de pesquisa), index (mapas de espaço de trabalho e contexto), forum (roteamento de agentes com ledger causal), crucible (verificação de reivindicações), emet (testemunha de coerência independente). Telos inicia e reconcilia todos os cinco a partir de um único manifesto; cada um também funciona de forma independente.

Status e maturidade

Este é um pacote 0.4.1, publicado no npm como project-telos-mcp. A superfície de comandos acima é testada e coberta por CI: npm test percorre todos os arquivos de teste em demo/, então um novo é executado sem ser adicionado a uma lista. Interfaces podem ainda mudar entre versões menores. Pacotes de pesquisa são pré-verificações determinísticas com não-reivindicações explícitas: o pacote causal não afirma descoberta causal, o pacote incorporado não afirma segurança de robô real, o pacote quântico não afirma QEC de hardware. Trate os recibos e testes neste repositório como a evidência, não contagens de prosa.

Atualizando da 0.2.0

A 0.3.0 grava a versão 2 do hash do ledger de controle nativo, vinculando metadados de sessão e campos de entrada. Atualize leitores antes de escritores: leitores 0.2.0 rejeitam o novo formato. Novos leitores ainda aceitam recibos legados com escopo limitado de integridade de etapa/resultado. Evidências de navegador agora relatam unredacted; URLs, títulos, seletores, referências de artefatos e resumos fornecidos podem permanecer em pacotes. Mantenha esses pacotes privados. Consistência de hash não prova verdade de execução, autoria, completude ou segurança. Veja notas de versão.

O roadmap ativo de consolidação é docs/PROJECT-TELOS-LARGE-SCALE-ROADMAP-2026-07-02.md, e o plano de controle de documentação é docs/DOCUMENTATION-CONSOLIDATION-REGISTRY-2026-07-02.md com o registro legível por máquina em docs/registry/.

O recibo por baixo

Uma ideia percorre tudo aqui: uma ação ou reivindicação só conta quando carrega evidência que uma pessoa ou outro sistema pode re-verificar depois, e quando a verificação não pode passar, a resposta é um UNVERIFIABLE honesto em vez de um palpite confiante. É por isso que cada comando escreve um recibo e cada verificador de prova é construído para poder falhar.

Aqui está um desses recibos, desenhado campo por campo. Execute você mesmo com 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.

A imagem é gerada a partir da mesma especificação que o verificador lê, e um gate mantém cada valor nela contra um recibo que a ferramenta realmente emite, então não pode ficar silenciosamente desatualizado.

Licença

FSL-1.1-ALv2 (fonte justa). O código é aberto para ler e executar, gratuito para quase qualquer uso, exceto construir um produto concorrente, e cada versão converte para Apache 2.0 após dois anos. Os direitos autorais são do autor. Veja LICENSE.

Para desenvolvedores

Zero dependências, então não há nada para instalar. Execute os testes de contrato MCP e verificações de fumaça antes de abrir um 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) executa cada arquivo de teste de contrato individualmente no Node 24; execute qualquer um diretamente com node demo/<name>.test.mjs. Mantenha o README, metadados do pacote e exemplos alinhados com o comportamento atual; node demo/operator-doctor.mjs --summary verifica essa paridade.


Zentropy Labs · ordem a partir do caos. Um laboratório independente que constrói ferramentas baseadas em evidências, deixando um artefato verificável para trás. Criado por Zain Dana Harper em Seattle. A bancada de trabalho completa está em Project Telos.


O ecossistema Zentropy Labs

Esta ferramenta faz parte de uma família que mantém uma única crença firme em todas as superfícies: conhecimento aberto a qualquer pessoa que possa alcançar os meios; aceitação decidida por verificações externas, nunca por reputação; todo resultado re-executável; nulos honestos como cidadãos de primeira classe; propriedade conquistada pela compreensão; aprendizado integrado ao trabalho.

  • Cânon do Workspace: AGENTS.md, CREDO.md, MISSION.md, ECOSYSTEM.md
  • Flywheel: a plataforma única (recibos, governança, controles de infraestrutura, ciclo de aprendizado)
  • Primeiros Passos: seus primeiros trinta minutos

Zentropy Labs - ordem a partir do caos. Criado por Zain Dana Harper em Seattle.