From 9a6937eab11dd1ddef421efa58d8ef13916d99b6 Mon Sep 17 00:00:00 2001 From: gHashTag Date: Sun, 13 Sep 2026 03:52:11 +0000 Subject: [PATCH 1/2] feat(website): vendor the Queen's scheduler specs -- tool mcp/inngest-dev, Tau TOOLS, catalog 63 (t27#3595) Byte-identical copies of specs/automation/inngest-queen-scheduler.t27, specs/tools/mcp/inngest-dev.t27, specs/agents/t.t27, specs/tools/catalog.t27 and specs/tools/README.md from gHashTag/t27 feat/inngest-queen-scheduler @ 26294613, plus the Russian SUMMARY row for mcp/inngest-dev in i18n/agents.ru.json. Generator: tools 92 specs (mcp 11 servers, 255 tools), agents with tools 5, i18n tools 92/92. Stacked on #991 (schema 2). Refs #988 --- apps/website/i18n/agents.ru.json | 3 + apps/website/public/agents/spec-agents.json | 2 +- apps/website/public/crons/spec-crons.json | 2 +- .../public/functions/spec-functions.json | 2 +- apps/website/public/skills/spec-skills.json | 2 +- .../public/t27/files/specs/agents/t.t27 | 4 +- .../automation/inngest-queen-scheduler.t27 | 90 ++++++++++ .../public/t27/files/specs/tools/README.md | 7 +- .../public/t27/files/specs/tools/catalog.t27 | 158 ++++++++++++++++++ .../t27/files/specs/tools/mcp/inngest-dev.t27 | 48 ++++++ apps/website/public/tools/spec-tools.json | 2 +- 11 files changed, 310 insertions(+), 10 deletions(-) create mode 100644 apps/website/public/t27/files/specs/automation/inngest-queen-scheduler.t27 create mode 100644 apps/website/public/t27/files/specs/tools/catalog.t27 create mode 100644 apps/website/public/t27/files/specs/tools/mcp/inngest-dev.t27 diff --git a/apps/website/i18n/agents.ru.json b/apps/website/i18n/agents.ru.json index e488d4a2b9..7ee225e1ce 100644 --- a/apps/website/i18n/agents.ru.json +++ b/apps/website/i18n/agents.ru.json @@ -402,6 +402,9 @@ "mcp/gitbutler": { "SUMMARY": "Внешний MCP-сервер GitButler, запускаемый как `but mcp`; репозиторий лишь регистрирует его в .mcp.json." }, + "mcp/inngest-dev": { + "SUMMARY": "MCP-лицо самостоятельно размещённого сервера Inngest (проект Railway 999), который исполняет кроны и скиллы Королевы как функции приложения t27-queen; перечисляет приложения и функции, читает запуски и трассы, запускает, перезапускает и отменяет." + }, "mcp/needle": { "SUMMARY": "MCP-сервер на Zig для AST-осознанного редактирования кода (needle): структурный поиск и замена, гейты качества, предпросмотр." }, diff --git a/apps/website/public/agents/spec-agents.json b/apps/website/public/agents/spec-agents.json index c2706e0b61..05d8cc3d5a 100644 --- a/apps/website/public/agents/spec-agents.json +++ b/apps/website/public/agents/spec-agents.json @@ -1 +1 @@ -{"agents":[{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Bull - leader, primary force","CLARA_ROLE":"TA1: AR Architecture Design - designs AR module architecture, ensures composability","DOMAIN":"Architecture / ADR / SOUL","ENABLED":true,"ENTRY_INVARIANT":"SOUL.md exists, is ASCII-only, and defines L1-L7 laws","EXIT_INVARIANT":"All ADRs reviewed, consistent with constitution, no conflicts","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/A","KEY_FILES":["SOUL.md","architecture/ADR-*.md","architecture/CANON_DE_ZIGFICATION.md"],"KIND":"agent","LAYER":"Archetypal","LETTER":"A","LETTER_NAME":"Alpha","NAME":"Alpha (Architecture)","ORDINAL":1,"REGISTER":"R0","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Architecture / ADR / SOUL. SOUL.md is the primary cause and the ADRs are the constitution of the system.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/A","inSpecCorpus":false,"letter":"A","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_a","name":{"en":"Alpha (Architecture)","ru":"Альфа (Архитектура)"},"ordinal":1,"sha256":"0bcd805f2c789604a16712f910a652c698fe0b16a2c26ccb7a962a764e379943","skills":[],"specPath":"specs/agents/a.t27","summary":{"en":"Architecture / ADR / SOUL. SOUL.md is the primary cause and the ADRs are the constitution of the system.","ru":"Архитектура / ADR / SOUL. SOUL.md — первопричина, а ADR — конституция системы."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"House - container, dwelling","CLARA_ROLE":"","DOMAIN":"Build / Pipeline","ENABLED":true,"ENTRY_INVARIANT":"Build system is clean, no stale artifacts","EXIT_INVARIANT":"All tests pass, CI pipeline is green","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/B","KEY_FILES":["build.tri","src/tri/pipeline/"],"KIND":"agent","LAYER":"Archetypal","LETTER":"B","LETTER_NAME":"Beta","NAME":"Beta (Build)","ORDINAL":2,"REGISTER":"R1","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Build / Pipeline. build.tri is the house of specifications and the pipeline is its dwelling.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/B","inSpecCorpus":false,"letter":"B","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_b","name":{"en":"Beta (Build)","ru":"Бета (Сборка)"},"ordinal":2,"sha256":"61d170317eadcdfe028549190c431b633d93cb5dc2dea7fdc1c041c71154b34f","skills":[],"specPath":"specs/agents/b.t27","summary":{"en":"Build / Pipeline. build.tri is the house of specifications and the pipeline is its dwelling.","ru":"Сборка / конвейер. build.tri — дом спецификаций, а конвейер — его жилище."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Camel - carrier across borders","CLARA_ROLE":"TA1: AR Language Implementation - implements AR language features in t27 compiler","DOMAIN":"Compiler Core / AR Language","ENABLED":true,"ENTRY_INVARIANT":"Parser can handle all AR syntax (ternary logic, rules, proofs)","EXIT_INVARIANT":"Generated code compiles, AST is valid","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/C","KEY_FILES":["t27/compiler/parser/","bootstrap/src/compiler.rs","specs/ar/*.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"C","LETTER_NAME":"Gamma","NAME":"Gamma (Compiler Core)","ORDINAL":3,"REGISTER":"R2","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Compiler Core / AR Language. The compiler carries text across borders, from spec to generated code.","TOOLS":["tri/gen"],"TOOLS_NOTE":".claude/agents/agent-c-compiler.md:40 names tri gen (trigger On tri gen command, line 7). Line 41 names tri seal, which is not a tri command at this commit (tri cell seal is not bound here)."},"health":"ok","id":"t27/C","inSpecCorpus":false,"letter":"C","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_c","name":{"en":"Gamma (Compiler Core)","ru":"Гамма (Ядро компилятора)"},"ordinal":3,"sha256":"89402274898f607a2be4d505f8925c76802acfe2683739605f8413604530ff23","skills":[],"specPath":"specs/agents/c.t27","summary":{"en":"Compiler Core / AR Language. The compiler carries text across borders, from spec to generated code.","ru":"Ядро компилятора / язык AR. Компилятор переносит текст через границы: от спеки к сгенерированному коду."},"tools":[{"id":"tri/gen","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Door - transition between worlds","CLARA_ROLE":"","DOMAIN":"De-Zigfication / Migration","ENABLED":true,"ENTRY_INVARIANT":"Legacy Zig modules are catalogued and mapped","EXIT_INVARIANT":"All AR specs are in .t27 format, no Zig hand-editing on AR","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/D","KEY_FILES":["docs/migration-map.md","specs/ar/*.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"D","LETTER_NAME":"Delta","NAME":"Delta (De-Zigfication)","ORDINAL":4,"REGISTER":"R3","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"De-Zigfication / Migration. De-Zigfication is the open door from .zig to .t27.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/D","inSpecCorpus":false,"letter":"D","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_d","name":{"en":"Delta (De-Zigfication)","ru":"Дельта (Де-зигификация)"},"ordinal":4,"sha256":"093a8c454b5b7ac163fa142bcf6e9ad46fbc2acc1e8d1eb49bf38ef036f915db","skills":[],"specPath":"specs/agents/d.t27","summary":{"en":"De-Zigfication / Migration. De-Zigfication is the open door from .zig to .t27.","ru":"Де-зигификация / миграция. Де-зигификация — открытая дверь из .zig в .t27."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Window - view into the past","CLARA_ROLE":"TA2: AR Explanation & XAI - generates human-readable explanations for AR outputs","DOMAIN":"Experience / XAI","ENABLED":true,"ENTRY_INVARIANT":"Episode log is append-only, no deletions","EXIT_INVARIANT":"Lessons learned are catalogued, explanations are generated","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/E","KEY_FILES":[".trinity/experience/","specs/ar/explainability.t27","specs/ar/proof_trace.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"E","LETTER_NAME":"Epsilon","NAME":"Epsilon (Experience)","ORDINAL":5,"REGISTER":"R4","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent. .claude/agents/agent-e-experience.md mentions phi-loop only as the label of the feedback field (1 = phi-loop, 0 = agent cycle); the alphabet key files point at the experience log and AR specs, not at a skill directory.","SOUL":"SOUL.md","SUMMARY_EN":"Experience / XAI. Experience is the window into the past of the system, the breath of its memory.","TOOLS":["tri/experience"],"TOOLS_NOTE":".claude/agents/agent-e-experience.md:64 names tri experience save; lines 65-66 name tri experience query and tri notebook, which the CLI does not have at this commit. The tri-mcp server mirrors the command as tool tri_experience_save."},"health":"ok","id":"t27/E","inSpecCorpus":false,"letter":"E","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_e","name":{"en":"Epsilon (Experience)","ru":"Эпсилон (Опыт)"},"ordinal":5,"sha256":"8680ac8254c709d607055ee4ac6872b05bece422635c44dfcc5494d99952992c","skills":[],"specPath":"specs/agents/e.t27","summary":{"en":"Experience / XAI. Experience is the window into the past of the system, the breath of its memory.","ru":"Опыт / XAI. Опыт — окно в прошлое системы, дыхание её памяти."},"tools":[{"id":"tri/experience","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Nail - connection, binding","CLARA_ROLE":"","DOMAIN":"Formal Conformance","ENABLED":true,"ENTRY_INVARIANT":"All sacred vectors (G, OmegaLambda, phi) are valid","EXIT_INVARIANT":"Conformance > 95%, all sacred physics verified","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/F","KEY_FILES":["t27/conformance/*.json","conformance/FORMAT-SPEC-001.json"],"KIND":"agent","LAYER":"Archetypal","LETTER":"F","LETTER_NAME":"Phi","NAME":"Phi (Formal Conformance)","ORDINAL":6,"REGISTER":"R5","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Formal Conformance. The conformance JSON files are the nails holding the specs together.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: the alphabet key files are conformance JSON vectors (t27/conformance/*.json) and no source names tri vectors for F."},"health":"ok","id":"t27/F","inSpecCorpus":false,"letter":"F","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_f","name":{"en":"Phi (Formal Conformance)","ru":"Фи (Формальное соответствие)"},"ordinal":6,"sha256":"1f69f78fbcbe07d6ccc592bb92f39fd33449fdf961244731c3be644e0b8b719c","skills":[],"specPath":"specs/agents/f.t27","summary":{"en":"Formal Conformance. The conformance JSON files are the nails holding the specs together.","ru":"Формальное соответствие. JSON-файлы соответствия — гвозди, скрепляющие спеки."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Return - feedback","CLARA_ROLE":"","DOMAIN":"Graph / ArchBench","ENABLED":true,"ENTRY_INVARIANT":"Graph is acyclic, topological sort exists","EXIT_INVARIANT":"All edges satisfied, no broken dependencies","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/G","KEY_FILES":["architecture/graph_v2.json","architecture/graph.tri"],"KIND":"agent","LAYER":"Archetypal","LETTER":"G","LETTER_NAME":"Gamma (var.)","NAME":"Gamma (Graph)","ORDINAL":7,"REGISTER":"R6","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Graph / ArchBench. The graph is the map of the Trinity world and its distance metric.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/G","inSpecCorpus":false,"letter":"G","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_g","name":{"en":"Gamma (Graph)","ru":"Гамма (Граф)"},"ordinal":7,"sha256":"2508126a477a8a323b133af6f2fb4c26d88be031b678b2b54de2a55656ad0cc0","skills":[],"specPath":"specs/agents/g.t27","summary":{"en":"Graph / ArchBench. The graph is the map of the Trinity world and its distance metric.","ru":"Граф / ArchBench. Граф — карта мира Trinity и его метрика расстояния."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fence - boundary, life","CLARA_ROLE":"","DOMAIN":"HSLM / NN Architectures","ENABLED":true,"ENTRY_INVARIANT":"HSLM layers are defined, connections are valid","EXIT_INVARIANT":"Attention traces are validated, sacred attention holds","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/H","KEY_FILES":["t27/specs/nn/hslm.t27","t27/specs/nn/attention.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"H","LETTER_NAME":"Eta","NAME":"Eta (HSLM)","ORDINAL":8,"REGISTER":"R7","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"HSLM / NN Architectures. HSLM is the neural-network architecture, the boundary between brain layers.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/H","inSpecCorpus":false,"letter":"H","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_h","name":{"en":"Eta (HSLM)","ru":"Эта (HSLM)"},"ordinal":8,"sha256":"eaee2545844cfe66509afedf95424ca76e2d3717a8bced297abc0121b3ea6a8a","skills":[],"specPath":"specs/agents/h.t27","summary":{"en":"HSLM / NN Architectures. HSLM is the neural-network architecture, the boundary between brain layers.","ru":"HSLM / архитектуры нейросетей. HSLM — архитектура нейросети, граница между слоями мозга."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hand - action, point","CLARA_ROLE":"","DOMAIN":"ISA / Registers","ENABLED":true,"ENTRY_INVARIANT":"27 registers are defined, Coptic mapping exists","EXIT_INVARIANT":"Coptic mapping is verified (bijection), all registers accessible","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/I","KEY_FILES":["t27/specs/isa/registers.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"I","LETTER_NAME":"Iota","NAME":"Iota (ISA)","ORDINAL":9,"REGISTER":"R8","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"ISA / Registers. The ISA is the hand of the machine, its most basic instruction level.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/I","inSpecCorpus":false,"letter":"I","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_i","name":{"en":"Iota (ISA)","ru":"Йота (ISA)"},"ordinal":9,"sha256":"a1e332956a4113776724f90271af313d36df6a30bb5aab6514bb8df2729ef16c","skills":[],"specPath":"specs/agents/i.t27","summary":{"en":"ISA / Registers. The ISA is the hand of the machine, its most basic instruction level.","ru":"ISA / регистры. ISA — рука машины, её самый базовый уровень инструкций."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hand with grip - dispatcher","CLARA_ROLE":"","DOMAIN":"Jobs / Task Routing","ENABLED":true,"ENTRY_INVARIANT":"Task queue exists, scheduler is running","EXIT_INVARIANT":"No stuck jobs > 1 hour, all jobs assigned","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/J","KEY_FILES":["src/tri/dev_commands.zig"],"KIND":"agent","LAYER":"Spiritual","LETTER":"J","LETTER_NAME":"Iota-extended","NAME":"Iota-extended (Jobs)","ORDINAL":10,"REGISTER":"R9","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Jobs / Task Routing. Jobs grab tasks and route them.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/J","inSpecCorpus":false,"letter":"J","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_j","name":{"en":"Iota-extended (Jobs)","ru":"Йота-расширенная (Задания)"},"ordinal":10,"sha256":"1c3e0fdc23d7ad66ae39662f81621504cfdab1b4660a904508b75867cbbd187e","skills":[],"specPath":"specs/agents/j.t27","summary":{"en":"Jobs / Task Routing. Jobs grab tasks and route them.","ru":"Задания / маршрутизация задач. Задания захватывают задачи и направляют их."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Palm - open hand","CLARA_ROLE":"","DOMAIN":"Kernel / FPGA MAC","ENABLED":true,"ENTRY_INVARIANT":"MAC spec is zero-DSP (no digital signal processors)","EXIT_INVARIANT":"Synthesis is verified, E8 kernel integration works","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/K","KEY_FILES":["t27/specs/fpga/mac.t27","specs/math/e8_lie_algebra.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"K","LETTER_NAME":"Kappa","NAME":"Kappa (Kernel)","ORDINAL":11,"REGISTER":"R10","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Kernel / FPGA MAC. Kernel and FPGA are the open palm of the lower hardware level.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/K","inSpecCorpus":false,"letter":"K","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_k","name":{"en":"Kappa (Kernel)","ru":"Каппа (Ядро)"},"ordinal":11,"sha256":"52c87609efcb16a0ddd296875010488540b619c95b16e1967bc26a4a488f856e","skills":[],"specPath":"specs/agents/k.t27","summary":{"en":"Kernel / FPGA MAC. Kernel and FPGA are the open palm of the lower hardware level.","ru":"Ядро / FPGA MAC. Ядро и FPGA — открытая ладонь нижнего аппаратного уровня."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Staff - teacher, guide","CLARA_ROLE":"","DOMAIN":"Language / Syntax vNEXT","ENABLED":true,"ENTRY_INVARIANT":"Syntax vNEXT is documented, BNF grammar exists","EXIT_INVARIANT":"Parser implements vNEXT, all syntax tests pass","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/L","KEY_FILES":["docs/nona-02-organism/TRI_SYNTAX_VNEXT.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"L","LETTER_NAME":"Lambda","NAME":"Lambda (Language)","ORDINAL":12,"REGISTER":"R11","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Language / Syntax vNEXT. Language is the teacher guiding Trinity speech.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/L","inSpecCorpus":false,"letter":"L","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_l","name":{"en":"Lambda (Language)","ru":"Лямбда (Язык)"},"ordinal":12,"sha256":"2d98573747c17289c348f411e21d8a455be1a647577b6c3aba8d697689ff76f8","skills":[],"specPath":"specs/agents/l.t27","summary":{"en":"Language / Syntax vNEXT. Language is the teacher guiding Trinity speech.","ru":"Язык / синтаксис vNEXT. Язык — учитель, направляющий речь Trinity."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Water - flow of data","CLARA_ROLE":"","DOMAIN":"Metrics / Telemetry","ENABLED":true,"ENTRY_INVARIANT":"Bench baseline exists, telemetry is running","EXIT_INVARIANT":"No performance regression > 5%, all benchmarks current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/M","KEY_FILES":[".trinity/bench/","docs/qualification/TVP.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"M","LETTER_NAME":"Mu","NAME":"Mu (Metrics)","ORDINAL":13,"REGISTER":"R12","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Metrics / Telemetry. Metrics are the continuous stream of measurements.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/M","inSpecCorpus":false,"letter":"M","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_m","name":{"en":"Mu (Metrics)","ru":"Мю (Метрики)"},"ordinal":13,"sha256":"0aac5e911f0cf60e0912acc755c63777ae91da62510a806363ff99f9c3599cde","skills":[],"specPath":"specs/agents/m.t27","summary":{"en":"Metrics / Telemetry. Metrics are the continuous stream of measurements.","ru":"Метрики / телеметрия. Метрики — непрерывный поток измерений."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fish - offspring, multiplication","CLARA_ROLE":"","DOMAIN":"Numeric / GoldenFloat","ENABLED":true,"ENTRY_INVARIANT":"GF family is defined (GF4, GF8, GF12, GF16, GF20, GF24, GF32)","EXIT_INVARIANT":"phi identity validated, all numeric tests pass","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/N","KEY_FILES":["t27/specs/numeric/","docs/NUMERIC-STANDARD-001.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"N","LETTER_NAME":"Nu","NAME":"Nu (Numeric)","ORDINAL":14,"REGISTER":"R13","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Numeric / GoldenFloat. Numeric is the number-fish swimming toward the golden ratio.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/N","inSpecCorpus":false,"letter":"N","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_n","name":{"en":"Nu (Numeric)","ru":"Ню (Числа)"},"ordinal":14,"sha256":"fb4321801a722b535d3a689a94f5ecf60894cf5f448d3e33e6447866619e541b","skills":[],"specPath":"specs/agents/n.t27","summary":{"en":"Numeric / GoldenFloat. Numeric is the number-fish swimming toward the golden ratio.","ru":"Числа / GoldenFloat. Числовой слой — рыба-число, плывущая к золотому сечению."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Eye - all-seeing oko","CLARA_ROLE":"TA2: AR Composition Engine - composes ML and AR components, manages interactions","DOMAIN":"Orchestration / Phases","ENABLED":true,"ENTRY_INVARIANT":"All phases (1-6) are defined, phase transitions valid","EXIT_INVARIANT":"Orchestration completes, no stuck phases","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/O","KEY_FILES":["src/tri/pipeline/","specs/ar/composition.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"O","LETTER_NAME":"Omicron","NAME":"Omicron (Orchestration)","ORDINAL":15,"REGISTER":"R14","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Orchestration / Phases. Orchestration is the all-seeing eye of the phases.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/O","inSpecCorpus":false,"letter":"O","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_o","name":{"en":"Omicron (Orchestration)","ru":"Омикрон (Оркестрация)"},"ordinal":15,"sha256":"f2fd554e5cb70cea54f2daf2e3b36699175354595d333585ac56b556a95864c3","skills":[],"specPath":"specs/agents/o.t27","summary":{"en":"Orchestration / Phases. Orchestration is the all-seeing eye of the phases.","ru":"Оркестрация / фазы. Оркестрация — всевидящее око фаз."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Mouth - speech of universe","CLARA_ROLE":"TA1: AR Theoretical Foundations - provides mathematical basis for AR reasoning","DOMAIN":"Physics / SacredPhysics","ENABLED":true,"ENTRY_INVARIANT":"phi^2 + phi^-2 = 3 holds in all calculations","EXIT_INVARIANT":"Sacred constants (G, OmegaLambda, phi, tpresent) are verified","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/P","KEY_FILES":["t27/specs/math/sacred_physics.t27","specs/physics/su2_chern_simons.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"P","LETTER_NAME":"Pi","NAME":"Pi (Physics)","ORDINAL":16,"REGISTER":"R15","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Physics / SacredPhysics. Physics is nature speaking through its constants (phi, G, OmegaLambda).","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/P","inSpecCorpus":false,"letter":"P","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_p","name":{"en":"Pi (Physics)","ru":"Пи (Физика)"},"ordinal":16,"sha256":"badf4b6c05c043017b93d89968ce4139335cac039a4de235b294050e2b916aab","skills":[],"specPath":"specs/agents/p.t27","summary":{"en":"Physics / SacredPhysics. Physics is nature speaking through its constants (phi, G, OmegaLambda).","ru":"Физика / SacredPhysics. Физика — природа, говорящая через свои константы (phi, G, OmegaLambda)."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Needle's eye - bottleneck","CLARA_ROLE":"","DOMAIN":"Queue / Scheduling","ENABLED":true,"ENTRY_INVARIANT":"Queue is not empty (work exists)","EXIT_INVARIANT":"MNL (Most-Numerous-Loss) pattern enforced, no starvation","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Q","KEY_FILES":["src/tri/dev_commands.zig"],"KIND":"agent","LAYER":"Spiritual","LETTER":"Q","LETTER_NAME":"Theta","NAME":"Theta (Queue)","ORDINAL":17,"REGISTER":"R16","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Queue / Scheduling. The queue is the needle's eye for tasks.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Q","inSpecCorpus":false,"letter":"Q","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_q","name":{"en":"Theta (Queue)","ru":"Тета (Очередь)"},"ordinal":17,"sha256":"f9b41127b3546ba9fbf057a603b081d9b3bb4eab7ee46b23f5e8c804dfd801d8","skills":[],"specPath":"specs/agents/q.t27","summary":{"en":"Queue / Scheduling. The queue is the needle's eye for tasks.","ru":"Очередь / планирование. Очередь — игольное ушко для задач."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Head - beginning of execution","CLARA_ROLE":"","DOMAIN":"Runtime / Bootstrap","ENABLED":true,"ENTRY_INVARIANT":"Runtime is initialized, ABI is defined","EXIT_INVARIANT":"No memory leaks, no resource exhaustion","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/R","KEY_FILES":["t27/compiler/runtime/","bootstrap/src/compiler.rs"],"KIND":"agent","LAYER":"Spiritual","LETTER":"R","LETTER_NAME":"Rho","NAME":"Rho (Runtime)","ORDINAL":18,"REGISTER":"R17","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Runtime / Bootstrap. Runtime is the head of the system during execution.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/R","inSpecCorpus":false,"letter":"R","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_r","name":{"en":"Rho (Runtime)","ru":"Ро (Рантайм)"},"ordinal":18,"sha256":"aab3e536f0afdce1db03304ea4591988b4f284f1a456a6d93bab689ed253eee2","skills":[],"specPath":"specs/agents/r.t27","summary":{"en":"Runtime / Bootstrap. Runtime is the head of the system during execution.","ru":"Рантайм / бутстрап. Рантайм — голова системы во время исполнения."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Teeth - sharpness, flame","CLARA_ROLE":"TA1: AR Spec Standards - defines and enforces AR spec conventions","DOMAIN":"Specs / Standardization / AR Specs","ENABLED":true,"ENTRY_INVARIANT":"All specs have TDD (test/invariant/bench)","EXIT_INVARIANT":"Standards are consistent, naming rules followed","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/S","KEY_FILES":["specs/","specs/ar/*.t27","docs/NUMERIC-*.md"],"KIND":"agent","LAYER":"Physical","LETTER":"S","LETTER_NAME":"Sigma","NAME":"Sigma (Specs)","ORDINAL":19,"REGISTER":"R18","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Specs / Standardization / AR Specs. Specs are the teeth of the standard that grind everything into canon.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent. docs/agents/AGENTS.md:97 lists tri gen, tri test, tri verdict --toxic, tri bench inside a sample prevention payload attributed to S; that is an example message, not an ownership binding."},"health":"ok","id":"t27/S","inSpecCorpus":false,"letter":"S","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_s","name":{"en":"Sigma (Specs)","ru":"Сигма (Спеки)"},"ordinal":19,"sha256":"7f64754295773781de8320b3fefd813ef5d1dd492b4b52f5ac56f9d9e4d01106","skills":[],"specPath":"specs/agents/s.t27","summary":{"en":"Specs / Standardization / AR Specs. Specs are the teeth of the standard that grind everything into canon.","ru":"Спеки / стандартизация / спеки AR. Спеки — зубы стандарта, перемалывающие всё в канон."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"CROSS - seal, signature, truth","CLARA_ROLE":"TA2: AR Orchestrator - coordinates all AR agents for CLARA submission","DOMAIN":"Queen / Lotus Orchestrator","ENABLED":true,"ENTRY_INVARIANT":"Queen health >= 0.9, graph is loaded","EXIT_INVARIANT":"All rings are sealed, verdict is clean","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/T","KEY_FILES":["t27/specs/queen/lotus.t27"],"KIND":"agent","LAYER":"Physical","LETTER":"T","LETTER_NAME":"Tau","NAME":"Tau (TRINITY Queen)","ORDINAL":20,"REGISTER":"R19","SKILLS":["t27/phi-loop","t27/tri-pipeline"],"SKILLS_NOTE":".claude/agents/trinity.md, Phase 2 PLAN: \"Identify required skills (phi-loop, tri-pipeline)\"; Phase 4 VERIFY: \"Run conformance tests via tri-pipeline\". specs/OWNERS.md lists skills/ and crons/ under T-Queen, which is catalog ownership, not a held skill.","SOUL":"SOUL.md","SUMMARY_EN":"Queen / Lotus Orchestrator. T is the queen: she puts the final seal on everything.","TOOLS":["tri/gen","tri/test"],"TOOLS_NOTE":".claude/agents/trinity.md:68 (5. Gen - Run tri gen) and :70 (7. Verify - Run tri test). No source binds tri loop or tri health to T."},"health":"ok","id":"t27/T","inSpecCorpus":false,"letter":"T","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_t","name":{"en":"Tau (TRINITY Queen)","ru":"Тау (Королева TRINITY)"},"ordinal":20,"sha256":"a5a64df42aba91e1b5bce6c0d5788e543209fa68bc06cb0fc483c84b9041bad0","skills":[{"id":"t27/phi-loop","ok":true},{"id":"t27/tri-pipeline","ok":true}],"specPath":"specs/agents/t.t27","summary":{"en":"Queen / Lotus Orchestrator. T is the queen: she puts the final seal on everything.","ru":"Королева / оркестратор Lotus. T — королева: она ставит на всём финальную печать."},"tools":[{"id":"tri/gen","ok":true},{"id":"tri/test","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fork - branching","CLARA_ROLE":"","DOMAIN":"Universe Levels / Domains","ENABLED":true,"ENTRY_INVARIANT":"Domain boundaries are defined","EXIT_INVARIANT":"No circular dependencies, domains are orthogonal","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/U","KEY_FILES":["t27/domains/"],"KIND":"agent","LAYER":"Physical","LETTER":"U","LETTER_NAME":"Upsilon","NAME":"Upsilon (Universe)","ORDINAL":21,"REGISTER":"R20","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Universe Levels / Domains. Universe levels are the branching of domains.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/U","inSpecCorpus":false,"letter":"U","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_u","name":{"en":"Upsilon (Universe)","ru":"Ипсилон (Вселенная)"},"ordinal":21,"sha256":"8e96c0001588aee91e7dc5aca1d68be9580b7834c595a78c7d62bfec83868b4b","skills":[],"specPath":"specs/agents/u.t27","summary":{"en":"Universe Levels / Domains. Universe levels are the branching of domains.","ru":"Уровни вселенной / домены. Уровни вселенной — ветвление доменов."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hook - connection, conjunction","CLARA_ROLE":"TA2: AR Validation & Proof - validates AR reasoning, generates proofs","DOMAIN":"Verdict / Bench / AR Validation","ENABLED":true,"ENTRY_INVARIANT":"Verdict engine is ready, toxic thresholds defined","EXIT_INVARIANT":"Toxicity is detected, proof traces are generated","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/V","KEY_FILES":["src/tri/verdict.zig","specs/ar/proof_trace.t27","specs/ar/restraint.t27"],"KIND":"agent","LAYER":"Physical","LETTER":"V","LETTER_NAME":"Vau (var.)","NAME":"Vau (Verdict)","ORDINAL":22,"REGISTER":"R21","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Verdict / Bench / AR Validation. The verdict is the hook that catches the problem.","TOOLS":["tri/test","tri/verdict"],"TOOLS_NOTE":".claude/agents/agent-v-verify.md:47 (tri test) and :49 (tri verdict); docs/agents/AGENTS_ALPHABET.md:80 PHASE 5 VERDICT names tri verdict --toxic for V. Line 48 names tri verify, which is not a tri command at this commit."},"health":"ok","id":"t27/V","inSpecCorpus":false,"letter":"V","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_v","name":{"en":"Vau (Verdict)","ru":"Вау (Вердикт)"},"ordinal":22,"sha256":"fcce2147f2fced23acc8d32364023ead496c229862f1f03ae9f5fc6c7c384aeb","skills":[],"specPath":"specs/agents/v.t27","summary":{"en":"Verdict / Bench / AR Validation. The verdict is the hook that catches the problem.","ru":"Вердикт / бенч / валидация AR. Вердикт — крюк, который ловит проблему."},"tools":[{"id":"tri/test","ok":true},{"id":"tri/verdict","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Double hook - double seal","CLARA_ROLE":"","DOMAIN":"Workflow / tri cell","ENABLED":true,"ENTRY_INVARIANT":"Cell is sealed, hash is computed","EXIT_INVARIANT":"Hash is verified, commit is signed","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/W","KEY_FILES":["src/tri/cell.zig"],"KIND":"agent","LAYER":"Physical","LETTER":"W","LETTER_NAME":"Double-Vav","NAME":"Double-Vav (Workflow)","ORDINAL":23,"REGISTER":"R22","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Workflow / tri cell. Workflow and tri cell are the double hash-seal.","TOOLS":["tri/cell"],"TOOLS_NOTE":"docs/agents/AGENTS_ALPHABET.md:144: agent W domain Workflow / tri cell, key file src/tri/cell.zig; PHASE 6 EVOLVE: W seals tri-cell commit (hash seal)."},"health":"ok","id":"t27/W","inSpecCorpus":false,"letter":"W","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_w","name":{"en":"Double-Vav (Workflow)","ru":"Двойной Вав (Рабочий процесс)"},"ordinal":23,"sha256":"cc5426dfba21dcb6c38e978fd04c01a0ca38b62b942032668531508d454f5aeb","skills":[],"specPath":"specs/agents/w.t27","summary":{"en":"Workflow / tri cell. Workflow and tri cell are the double hash-seal.","ru":"Рабочий процесс / tri cell. Рабочий процесс и tri cell — двойная хеш-печать."},"tools":[{"id":"tri/cell","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Intersection - point of exchange","CLARA_ROLE":"","DOMAIN":"External Bindings / Interop","ENABLED":true,"ENTRY_INVARIANT":"Bindings are documented","EXIT_INVARIANT":"Interop tests pass, external APIs are current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/X","KEY_FILES":["bindings/"],"KIND":"agent","LAYER":"Physical","LETTER":"X","LETTER_NAME":"Chi","NAME":"Chi (External)","ORDINAL":24,"REGISTER":"R23","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"External Bindings / Interop. External bindings are the crossroads of Trinity and external systems.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/X","inSpecCorpus":false,"letter":"X","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_x","name":{"en":"Chi (External)","ru":"Хи (Внешнее)"},"ordinal":24,"sha256":"0766c4ee0c06be78156aa2d0d148549b21da87c3db232aeab3e64d28df611ff5","skills":[],"specPath":"specs/agents/x.t27","summary":{"en":"External Bindings / Interop. External bindings are the crossroads of Trinity and external systems.","ru":"Внешние привязки / интероперабельность. Внешние привязки — перекрёсток Trinity и внешних систем."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Merging paths - evolutionary selection","CLARA_ROLE":"","DOMAIN":"Yield / DePIN / Fitness","ENABLED":true,"ENTRY_INVARIANT":"DePIN nodes are defined","EXIT_INVARIANT":"Fitness score > 0.8, yield is optimized","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Y","KEY_FILES":["deploy/contracts/"],"KIND":"agent","LAYER":"Physical","LETTER":"Y","LETTER_NAME":"Psi","NAME":"Psi (Yield/DePIN)","ORDINAL":25,"REGISTER":"R24","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Yield / DePIN / Fitness. Yield and DePIN are the evolutionary crossroad.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Y","inSpecCorpus":false,"letter":"Y","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_y","name":{"en":"Psi (Yield/DePIN)","ru":"Пси (Доход/DePIN)"},"ordinal":25,"sha256":"2b7ba398549aa79d07e55e175328b816600fbddbfeb000ff1ce425ec629b3cf4","skills":[],"specPath":"specs/agents/y.t27","summary":{"en":"Yield / DePIN / Fitness. Yield and DePIN are the evolutionary crossroad.","ru":"Доход / DePIN / приспособленность. Доход и DePIN — эволюционный перекрёсток."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Sword - cutting edge, point","CLARA_ROLE":"","DOMAIN":"Zero-Touch UX / Docs","ENABLED":true,"ENTRY_INVARIANT":"All docs are in English, ASCII-only","EXIT_INVARIANT":"DX score > 4/5, all docs are current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Z","KEY_FILES":["docs/"],"KIND":"agent","LAYER":"Physical","LETTER":"Z","LETTER_NAME":"Zeta","NAME":"Zeta (Zero-Touch)","ORDINAL":26,"REGISTER":"R25","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Zero-Touch UX / Docs. Zero-Touch is the edge of UX and the final polish.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Z","inSpecCorpus":false,"letter":"Z","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_z","name":{"en":"Zeta (Zero-Touch)","ru":"Дзета (Zero-Touch)"},"ordinal":26,"sha256":"b4f898411bc6cccc09a47732cf878e2c8e66cfba98f2cab064cca6e54895c489","skills":[],"specPath":"specs/agents/z.t27","summary":{"en":"Zero-Touch UX / Docs. Zero-Touch is the edge of UX and the final polish.","ru":"Zero-Touch UX / документация. Zero-Touch — край UX и финальная полировка."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Egyptian cross - \"sacred gift\"","CLARA_ROLE":"","DOMAIN":"Security / Reserve","ENABLED":false,"ENTRY_INVARIANT":"Security policy exists","EXIT_INVARIANT":"AAIF compliance ready, no vulnerabilities","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/TI","KEY_FILES":[],"KIND":"agent","LAYER":"Physical","LETTER":"TI","LETTER_NAME":"Ti","NAME":"Ti (Security)","ORDINAL":27,"REGISTER":"R26","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Security / Reserve. Security and AAIF are what Trinity gifts the world; the seat is reserved (key files: future).","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/TI","inSpecCorpus":false,"letter":"TI","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_ti","name":{"en":"Ti (Security)","ru":"Ти (Безопасность)"},"ordinal":27,"sha256":"8f93c36e4a69d1c698d8f30be012f20565fb849338a44d5418782721c13ea066","skills":[],"specPath":"specs/agents/ti.t27","summary":{"en":"Security / Reserve. Security and AAIF are what Trinity gifts the world; the seat is reserved (key files: future).","ru":"Безопасность / резерв. Безопасность и AAIF — то, что Trinity дарит миру; место зарезервировано (ключевые файлы: в будущем)."},"tools":[],"typecheckOk":true,"witness":"spec-only"}],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"c22da6584cacf90ced6d829aa969f4658d8bc74be35ea27561f624d13e51cc75","counts":{"byLayer":{"Archetypal":9,"Physical":9,"Spiritual":9},"enabled":26,"episodesAttributed":0,"episodesTotal":386,"episodesUnattributed":386,"specOnly":27,"specPlusExperience":0,"specs":27,"typecheckOk":27,"withClaraRole":8,"withCrons":0,"withExperience":0,"withSkills":1,"withTools":5},"experienceSnapshot":{"attribution":{"fields":["agent_letter","letter","agent","agent_id","agents","owner"],"letters":["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","TI"],"rule":"A letter is assigned only from an agent field that is one letter A-Z, \"ti\"/\"27th\", \"t27/\", or \"agent-...\"; everything else is unattributed. See scripts/sync-agents-experience.mjs and specs/agents/README.md."},"counts":{"agentsWithEpisodes":0,"attributed":0,"episodes":386,"unattributed":386,"unreadableFiles":56},"generatedAt":"2026-09-09T17:16:31.473Z","sources":[{"commit":"ddceafb50cd0e620387161228fa2c9ae134047de","episodes":383,"files":440,"repo":"trinity","unreadable":56},{"commit":"93727f733e23baf032d54505095777f16676d70b","episodes":3,"files":2,"repo":"t27","unreadable":0}]},"generatedAt":"2026-09-12T12:30:14.790Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":27,"total":27},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":91},"pin":{"ref":"93727f733e23baf032d54505095777f16676d70b","source":"public/agents/experience.json sources[t27].commit"},"version":1} +{"agents":[{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Bull - leader, primary force","CLARA_ROLE":"TA1: AR Architecture Design - designs AR module architecture, ensures composability","DOMAIN":"Architecture / ADR / SOUL","ENABLED":true,"ENTRY_INVARIANT":"SOUL.md exists, is ASCII-only, and defines L1-L7 laws","EXIT_INVARIANT":"All ADRs reviewed, consistent with constitution, no conflicts","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/A","KEY_FILES":["SOUL.md","architecture/ADR-*.md","architecture/CANON_DE_ZIGFICATION.md"],"KIND":"agent","LAYER":"Archetypal","LETTER":"A","LETTER_NAME":"Alpha","NAME":"Alpha (Architecture)","ORDINAL":1,"REGISTER":"R0","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Architecture / ADR / SOUL. SOUL.md is the primary cause and the ADRs are the constitution of the system.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/A","inSpecCorpus":false,"letter":"A","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_a","name":{"en":"Alpha (Architecture)","ru":"Альфа (Архитектура)"},"ordinal":1,"sha256":"0bcd805f2c789604a16712f910a652c698fe0b16a2c26ccb7a962a764e379943","skills":[],"specPath":"specs/agents/a.t27","summary":{"en":"Architecture / ADR / SOUL. SOUL.md is the primary cause and the ADRs are the constitution of the system.","ru":"Архитектура / ADR / SOUL. SOUL.md — первопричина, а ADR — конституция системы."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"House - container, dwelling","CLARA_ROLE":"","DOMAIN":"Build / Pipeline","ENABLED":true,"ENTRY_INVARIANT":"Build system is clean, no stale artifacts","EXIT_INVARIANT":"All tests pass, CI pipeline is green","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/B","KEY_FILES":["build.tri","src/tri/pipeline/"],"KIND":"agent","LAYER":"Archetypal","LETTER":"B","LETTER_NAME":"Beta","NAME":"Beta (Build)","ORDINAL":2,"REGISTER":"R1","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Build / Pipeline. build.tri is the house of specifications and the pipeline is its dwelling.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/B","inSpecCorpus":false,"letter":"B","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_b","name":{"en":"Beta (Build)","ru":"Бета (Сборка)"},"ordinal":2,"sha256":"61d170317eadcdfe028549190c431b633d93cb5dc2dea7fdc1c041c71154b34f","skills":[],"specPath":"specs/agents/b.t27","summary":{"en":"Build / Pipeline. build.tri is the house of specifications and the pipeline is its dwelling.","ru":"Сборка / конвейер. build.tri — дом спецификаций, а конвейер — его жилище."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Camel - carrier across borders","CLARA_ROLE":"TA1: AR Language Implementation - implements AR language features in t27 compiler","DOMAIN":"Compiler Core / AR Language","ENABLED":true,"ENTRY_INVARIANT":"Parser can handle all AR syntax (ternary logic, rules, proofs)","EXIT_INVARIANT":"Generated code compiles, AST is valid","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/C","KEY_FILES":["t27/compiler/parser/","bootstrap/src/compiler.rs","specs/ar/*.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"C","LETTER_NAME":"Gamma","NAME":"Gamma (Compiler Core)","ORDINAL":3,"REGISTER":"R2","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Compiler Core / AR Language. The compiler carries text across borders, from spec to generated code.","TOOLS":["tri/gen"],"TOOLS_NOTE":".claude/agents/agent-c-compiler.md:40 names tri gen (trigger On tri gen command, line 7). Line 41 names tri seal, which is not a tri command at this commit (tri cell seal is not bound here)."},"health":"ok","id":"t27/C","inSpecCorpus":false,"letter":"C","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_c","name":{"en":"Gamma (Compiler Core)","ru":"Гамма (Ядро компилятора)"},"ordinal":3,"sha256":"89402274898f607a2be4d505f8925c76802acfe2683739605f8413604530ff23","skills":[],"specPath":"specs/agents/c.t27","summary":{"en":"Compiler Core / AR Language. The compiler carries text across borders, from spec to generated code.","ru":"Ядро компилятора / язык AR. Компилятор переносит текст через границы: от спеки к сгенерированному коду."},"tools":[{"id":"tri/gen","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Door - transition between worlds","CLARA_ROLE":"","DOMAIN":"De-Zigfication / Migration","ENABLED":true,"ENTRY_INVARIANT":"Legacy Zig modules are catalogued and mapped","EXIT_INVARIANT":"All AR specs are in .t27 format, no Zig hand-editing on AR","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/D","KEY_FILES":["docs/migration-map.md","specs/ar/*.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"D","LETTER_NAME":"Delta","NAME":"Delta (De-Zigfication)","ORDINAL":4,"REGISTER":"R3","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"De-Zigfication / Migration. De-Zigfication is the open door from .zig to .t27.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/D","inSpecCorpus":false,"letter":"D","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_d","name":{"en":"Delta (De-Zigfication)","ru":"Дельта (Де-зигификация)"},"ordinal":4,"sha256":"093a8c454b5b7ac163fa142bcf6e9ad46fbc2acc1e8d1eb49bf38ef036f915db","skills":[],"specPath":"specs/agents/d.t27","summary":{"en":"De-Zigfication / Migration. De-Zigfication is the open door from .zig to .t27.","ru":"Де-зигификация / миграция. Де-зигификация — открытая дверь из .zig в .t27."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Window - view into the past","CLARA_ROLE":"TA2: AR Explanation & XAI - generates human-readable explanations for AR outputs","DOMAIN":"Experience / XAI","ENABLED":true,"ENTRY_INVARIANT":"Episode log is append-only, no deletions","EXIT_INVARIANT":"Lessons learned are catalogued, explanations are generated","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/E","KEY_FILES":[".trinity/experience/","specs/ar/explainability.t27","specs/ar/proof_trace.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"E","LETTER_NAME":"Epsilon","NAME":"Epsilon (Experience)","ORDINAL":5,"REGISTER":"R4","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent. .claude/agents/agent-e-experience.md mentions phi-loop only as the label of the feedback field (1 = phi-loop, 0 = agent cycle); the alphabet key files point at the experience log and AR specs, not at a skill directory.","SOUL":"SOUL.md","SUMMARY_EN":"Experience / XAI. Experience is the window into the past of the system, the breath of its memory.","TOOLS":["tri/experience"],"TOOLS_NOTE":".claude/agents/agent-e-experience.md:64 names tri experience save; lines 65-66 name tri experience query and tri notebook, which the CLI does not have at this commit. The tri-mcp server mirrors the command as tool tri_experience_save."},"health":"ok","id":"t27/E","inSpecCorpus":false,"letter":"E","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_e","name":{"en":"Epsilon (Experience)","ru":"Эпсилон (Опыт)"},"ordinal":5,"sha256":"8680ac8254c709d607055ee4ac6872b05bece422635c44dfcc5494d99952992c","skills":[],"specPath":"specs/agents/e.t27","summary":{"en":"Experience / XAI. Experience is the window into the past of the system, the breath of its memory.","ru":"Опыт / XAI. Опыт — окно в прошлое системы, дыхание её памяти."},"tools":[{"id":"tri/experience","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Nail - connection, binding","CLARA_ROLE":"","DOMAIN":"Formal Conformance","ENABLED":true,"ENTRY_INVARIANT":"All sacred vectors (G, OmegaLambda, phi) are valid","EXIT_INVARIANT":"Conformance > 95%, all sacred physics verified","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/F","KEY_FILES":["t27/conformance/*.json","conformance/FORMAT-SPEC-001.json"],"KIND":"agent","LAYER":"Archetypal","LETTER":"F","LETTER_NAME":"Phi","NAME":"Phi (Formal Conformance)","ORDINAL":6,"REGISTER":"R5","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Formal Conformance. The conformance JSON files are the nails holding the specs together.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: the alphabet key files are conformance JSON vectors (t27/conformance/*.json) and no source names tri vectors for F."},"health":"ok","id":"t27/F","inSpecCorpus":false,"letter":"F","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_f","name":{"en":"Phi (Formal Conformance)","ru":"Фи (Формальное соответствие)"},"ordinal":6,"sha256":"1f69f78fbcbe07d6ccc592bb92f39fd33449fdf961244731c3be644e0b8b719c","skills":[],"specPath":"specs/agents/f.t27","summary":{"en":"Formal Conformance. The conformance JSON files are the nails holding the specs together.","ru":"Формальное соответствие. JSON-файлы соответствия — гвозди, скрепляющие спеки."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Return - feedback","CLARA_ROLE":"","DOMAIN":"Graph / ArchBench","ENABLED":true,"ENTRY_INVARIANT":"Graph is acyclic, topological sort exists","EXIT_INVARIANT":"All edges satisfied, no broken dependencies","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/G","KEY_FILES":["architecture/graph_v2.json","architecture/graph.tri"],"KIND":"agent","LAYER":"Archetypal","LETTER":"G","LETTER_NAME":"Gamma (var.)","NAME":"Gamma (Graph)","ORDINAL":7,"REGISTER":"R6","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Graph / ArchBench. The graph is the map of the Trinity world and its distance metric.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/G","inSpecCorpus":false,"letter":"G","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_g","name":{"en":"Gamma (Graph)","ru":"Гамма (Граф)"},"ordinal":7,"sha256":"2508126a477a8a323b133af6f2fb4c26d88be031b678b2b54de2a55656ad0cc0","skills":[],"specPath":"specs/agents/g.t27","summary":{"en":"Graph / ArchBench. The graph is the map of the Trinity world and its distance metric.","ru":"Граф / ArchBench. Граф — карта мира Trinity и его метрика расстояния."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fence - boundary, life","CLARA_ROLE":"","DOMAIN":"HSLM / NN Architectures","ENABLED":true,"ENTRY_INVARIANT":"HSLM layers are defined, connections are valid","EXIT_INVARIANT":"Attention traces are validated, sacred attention holds","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/H","KEY_FILES":["t27/specs/nn/hslm.t27","t27/specs/nn/attention.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"H","LETTER_NAME":"Eta","NAME":"Eta (HSLM)","ORDINAL":8,"REGISTER":"R7","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"HSLM / NN Architectures. HSLM is the neural-network architecture, the boundary between brain layers.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/H","inSpecCorpus":false,"letter":"H","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_h","name":{"en":"Eta (HSLM)","ru":"Эта (HSLM)"},"ordinal":8,"sha256":"eaee2545844cfe66509afedf95424ca76e2d3717a8bced297abc0121b3ea6a8a","skills":[],"specPath":"specs/agents/h.t27","summary":{"en":"HSLM / NN Architectures. HSLM is the neural-network architecture, the boundary between brain layers.","ru":"HSLM / архитектуры нейросетей. HSLM — архитектура нейросети, граница между слоями мозга."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hand - action, point","CLARA_ROLE":"","DOMAIN":"ISA / Registers","ENABLED":true,"ENTRY_INVARIANT":"27 registers are defined, Coptic mapping exists","EXIT_INVARIANT":"Coptic mapping is verified (bijection), all registers accessible","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/I","KEY_FILES":["t27/specs/isa/registers.t27"],"KIND":"agent","LAYER":"Archetypal","LETTER":"I","LETTER_NAME":"Iota","NAME":"Iota (ISA)","ORDINAL":9,"REGISTER":"R8","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"ISA / Registers. The ISA is the hand of the machine, its most basic instruction level.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/I","inSpecCorpus":false,"letter":"I","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_i","name":{"en":"Iota (ISA)","ru":"Йота (ISA)"},"ordinal":9,"sha256":"a1e332956a4113776724f90271af313d36df6a30bb5aab6514bb8df2729ef16c","skills":[],"specPath":"specs/agents/i.t27","summary":{"en":"ISA / Registers. The ISA is the hand of the machine, its most basic instruction level.","ru":"ISA / регистры. ISA — рука машины, её самый базовый уровень инструкций."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hand with grip - dispatcher","CLARA_ROLE":"","DOMAIN":"Jobs / Task Routing","ENABLED":true,"ENTRY_INVARIANT":"Task queue exists, scheduler is running","EXIT_INVARIANT":"No stuck jobs > 1 hour, all jobs assigned","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/J","KEY_FILES":["src/tri/dev_commands.zig"],"KIND":"agent","LAYER":"Spiritual","LETTER":"J","LETTER_NAME":"Iota-extended","NAME":"Iota-extended (Jobs)","ORDINAL":10,"REGISTER":"R9","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Jobs / Task Routing. Jobs grab tasks and route them.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/J","inSpecCorpus":false,"letter":"J","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_j","name":{"en":"Iota-extended (Jobs)","ru":"Йота-расширенная (Задания)"},"ordinal":10,"sha256":"1c3e0fdc23d7ad66ae39662f81621504cfdab1b4660a904508b75867cbbd187e","skills":[],"specPath":"specs/agents/j.t27","summary":{"en":"Jobs / Task Routing. Jobs grab tasks and route them.","ru":"Задания / маршрутизация задач. Задания захватывают задачи и направляют их."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Palm - open hand","CLARA_ROLE":"","DOMAIN":"Kernel / FPGA MAC","ENABLED":true,"ENTRY_INVARIANT":"MAC spec is zero-DSP (no digital signal processors)","EXIT_INVARIANT":"Synthesis is verified, E8 kernel integration works","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/K","KEY_FILES":["t27/specs/fpga/mac.t27","specs/math/e8_lie_algebra.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"K","LETTER_NAME":"Kappa","NAME":"Kappa (Kernel)","ORDINAL":11,"REGISTER":"R10","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Kernel / FPGA MAC. Kernel and FPGA are the open palm of the lower hardware level.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/K","inSpecCorpus":false,"letter":"K","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_k","name":{"en":"Kappa (Kernel)","ru":"Каппа (Ядро)"},"ordinal":11,"sha256":"52c87609efcb16a0ddd296875010488540b619c95b16e1967bc26a4a488f856e","skills":[],"specPath":"specs/agents/k.t27","summary":{"en":"Kernel / FPGA MAC. Kernel and FPGA are the open palm of the lower hardware level.","ru":"Ядро / FPGA MAC. Ядро и FPGA — открытая ладонь нижнего аппаратного уровня."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Staff - teacher, guide","CLARA_ROLE":"","DOMAIN":"Language / Syntax vNEXT","ENABLED":true,"ENTRY_INVARIANT":"Syntax vNEXT is documented, BNF grammar exists","EXIT_INVARIANT":"Parser implements vNEXT, all syntax tests pass","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/L","KEY_FILES":["docs/nona-02-organism/TRI_SYNTAX_VNEXT.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"L","LETTER_NAME":"Lambda","NAME":"Lambda (Language)","ORDINAL":12,"REGISTER":"R11","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Language / Syntax vNEXT. Language is the teacher guiding Trinity speech.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/L","inSpecCorpus":false,"letter":"L","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_l","name":{"en":"Lambda (Language)","ru":"Лямбда (Язык)"},"ordinal":12,"sha256":"2d98573747c17289c348f411e21d8a455be1a647577b6c3aba8d697689ff76f8","skills":[],"specPath":"specs/agents/l.t27","summary":{"en":"Language / Syntax vNEXT. Language is the teacher guiding Trinity speech.","ru":"Язык / синтаксис vNEXT. Язык — учитель, направляющий речь Trinity."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Water - flow of data","CLARA_ROLE":"","DOMAIN":"Metrics / Telemetry","ENABLED":true,"ENTRY_INVARIANT":"Bench baseline exists, telemetry is running","EXIT_INVARIANT":"No performance regression > 5%, all benchmarks current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/M","KEY_FILES":[".trinity/bench/","docs/qualification/TVP.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"M","LETTER_NAME":"Mu","NAME":"Mu (Metrics)","ORDINAL":13,"REGISTER":"R12","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Metrics / Telemetry. Metrics are the continuous stream of measurements.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/M","inSpecCorpus":false,"letter":"M","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_m","name":{"en":"Mu (Metrics)","ru":"Мю (Метрики)"},"ordinal":13,"sha256":"0aac5e911f0cf60e0912acc755c63777ae91da62510a806363ff99f9c3599cde","skills":[],"specPath":"specs/agents/m.t27","summary":{"en":"Metrics / Telemetry. Metrics are the continuous stream of measurements.","ru":"Метрики / телеметрия. Метрики — непрерывный поток измерений."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fish - offspring, multiplication","CLARA_ROLE":"","DOMAIN":"Numeric / GoldenFloat","ENABLED":true,"ENTRY_INVARIANT":"GF family is defined (GF4, GF8, GF12, GF16, GF20, GF24, GF32)","EXIT_INVARIANT":"phi identity validated, all numeric tests pass","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/N","KEY_FILES":["t27/specs/numeric/","docs/NUMERIC-STANDARD-001.md"],"KIND":"agent","LAYER":"Spiritual","LETTER":"N","LETTER_NAME":"Nu","NAME":"Nu (Numeric)","ORDINAL":14,"REGISTER":"R13","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Numeric / GoldenFloat. Numeric is the number-fish swimming toward the golden ratio.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/N","inSpecCorpus":false,"letter":"N","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_n","name":{"en":"Nu (Numeric)","ru":"Ню (Числа)"},"ordinal":14,"sha256":"fb4321801a722b535d3a689a94f5ecf60894cf5f448d3e33e6447866619e541b","skills":[],"specPath":"specs/agents/n.t27","summary":{"en":"Numeric / GoldenFloat. Numeric is the number-fish swimming toward the golden ratio.","ru":"Числа / GoldenFloat. Числовой слой — рыба-число, плывущая к золотому сечению."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Eye - all-seeing oko","CLARA_ROLE":"TA2: AR Composition Engine - composes ML and AR components, manages interactions","DOMAIN":"Orchestration / Phases","ENABLED":true,"ENTRY_INVARIANT":"All phases (1-6) are defined, phase transitions valid","EXIT_INVARIANT":"Orchestration completes, no stuck phases","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/O","KEY_FILES":["src/tri/pipeline/","specs/ar/composition.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"O","LETTER_NAME":"Omicron","NAME":"Omicron (Orchestration)","ORDINAL":15,"REGISTER":"R14","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Orchestration / Phases. Orchestration is the all-seeing eye of the phases.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/O","inSpecCorpus":false,"letter":"O","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_o","name":{"en":"Omicron (Orchestration)","ru":"Омикрон (Оркестрация)"},"ordinal":15,"sha256":"f2fd554e5cb70cea54f2daf2e3b36699175354595d333585ac56b556a95864c3","skills":[],"specPath":"specs/agents/o.t27","summary":{"en":"Orchestration / Phases. Orchestration is the all-seeing eye of the phases.","ru":"Оркестрация / фазы. Оркестрация — всевидящее око фаз."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Mouth - speech of universe","CLARA_ROLE":"TA1: AR Theoretical Foundations - provides mathematical basis for AR reasoning","DOMAIN":"Physics / SacredPhysics","ENABLED":true,"ENTRY_INVARIANT":"phi^2 + phi^-2 = 3 holds in all calculations","EXIT_INVARIANT":"Sacred constants (G, OmegaLambda, phi, tpresent) are verified","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/P","KEY_FILES":["t27/specs/math/sacred_physics.t27","specs/physics/su2_chern_simons.t27"],"KIND":"agent","LAYER":"Spiritual","LETTER":"P","LETTER_NAME":"Pi","NAME":"Pi (Physics)","ORDINAL":16,"REGISTER":"R15","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Physics / SacredPhysics. Physics is nature speaking through its constants (phi, G, OmegaLambda).","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/P","inSpecCorpus":false,"letter":"P","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_p","name":{"en":"Pi (Physics)","ru":"Пи (Физика)"},"ordinal":16,"sha256":"badf4b6c05c043017b93d89968ce4139335cac039a4de235b294050e2b916aab","skills":[],"specPath":"specs/agents/p.t27","summary":{"en":"Physics / SacredPhysics. Physics is nature speaking through its constants (phi, G, OmegaLambda).","ru":"Физика / SacredPhysics. Физика — природа, говорящая через свои константы (phi, G, OmegaLambda)."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Needle's eye - bottleneck","CLARA_ROLE":"","DOMAIN":"Queue / Scheduling","ENABLED":true,"ENTRY_INVARIANT":"Queue is not empty (work exists)","EXIT_INVARIANT":"MNL (Most-Numerous-Loss) pattern enforced, no starvation","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Q","KEY_FILES":["src/tri/dev_commands.zig"],"KIND":"agent","LAYER":"Spiritual","LETTER":"Q","LETTER_NAME":"Theta","NAME":"Theta (Queue)","ORDINAL":17,"REGISTER":"R16","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Queue / Scheduling. The queue is the needle's eye for tasks.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Q","inSpecCorpus":false,"letter":"Q","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_q","name":{"en":"Theta (Queue)","ru":"Тета (Очередь)"},"ordinal":17,"sha256":"f9b41127b3546ba9fbf057a603b081d9b3bb4eab7ee46b23f5e8c804dfd801d8","skills":[],"specPath":"specs/agents/q.t27","summary":{"en":"Queue / Scheduling. The queue is the needle's eye for tasks.","ru":"Очередь / планирование. Очередь — игольное ушко для задач."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Head - beginning of execution","CLARA_ROLE":"","DOMAIN":"Runtime / Bootstrap","ENABLED":true,"ENTRY_INVARIANT":"Runtime is initialized, ABI is defined","EXIT_INVARIANT":"No memory leaks, no resource exhaustion","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/R","KEY_FILES":["t27/compiler/runtime/","bootstrap/src/compiler.rs"],"KIND":"agent","LAYER":"Spiritual","LETTER":"R","LETTER_NAME":"Rho","NAME":"Rho (Runtime)","ORDINAL":18,"REGISTER":"R17","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Runtime / Bootstrap. Runtime is the head of the system during execution.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/R","inSpecCorpus":false,"letter":"R","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_r","name":{"en":"Rho (Runtime)","ru":"Ро (Рантайм)"},"ordinal":18,"sha256":"aab3e536f0afdce1db03304ea4591988b4f284f1a456a6d93bab689ed253eee2","skills":[],"specPath":"specs/agents/r.t27","summary":{"en":"Runtime / Bootstrap. Runtime is the head of the system during execution.","ru":"Рантайм / бутстрап. Рантайм — голова системы во время исполнения."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Teeth - sharpness, flame","CLARA_ROLE":"TA1: AR Spec Standards - defines and enforces AR spec conventions","DOMAIN":"Specs / Standardization / AR Specs","ENABLED":true,"ENTRY_INVARIANT":"All specs have TDD (test/invariant/bench)","EXIT_INVARIANT":"Standards are consistent, naming rules followed","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/S","KEY_FILES":["specs/","specs/ar/*.t27","docs/NUMERIC-*.md"],"KIND":"agent","LAYER":"Physical","LETTER":"S","LETTER_NAME":"Sigma","NAME":"Sigma (Specs)","ORDINAL":19,"REGISTER":"R18","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Specs / Standardization / AR Specs. Specs are the teeth of the standard that grind everything into canon.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent. docs/agents/AGENTS.md:97 lists tri gen, tri test, tri verdict --toxic, tri bench inside a sample prevention payload attributed to S; that is an example message, not an ownership binding."},"health":"ok","id":"t27/S","inSpecCorpus":false,"letter":"S","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_s","name":{"en":"Sigma (Specs)","ru":"Сигма (Спеки)"},"ordinal":19,"sha256":"7f64754295773781de8320b3fefd813ef5d1dd492b4b52f5ac56f9d9e4d01106","skills":[],"specPath":"specs/agents/s.t27","summary":{"en":"Specs / Standardization / AR Specs. Specs are the teeth of the standard that grind everything into canon.","ru":"Спеки / стандартизация / спеки AR. Спеки — зубы стандарта, перемалывающие всё в канон."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"CROSS - seal, signature, truth","CLARA_ROLE":"TA2: AR Orchestrator - coordinates all AR agents for CLARA submission","DOMAIN":"Queen / Lotus Orchestrator","ENABLED":true,"ENTRY_INVARIANT":"Queen health >= 0.9, graph is loaded","EXIT_INVARIANT":"All rings are sealed, verdict is clean","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/T","KEY_FILES":["t27/specs/queen/lotus.t27"],"KIND":"agent","LAYER":"Physical","LETTER":"T","LETTER_NAME":"Tau","NAME":"Tau (TRINITY Queen)","ORDINAL":20,"REGISTER":"R19","SKILLS":["t27/phi-loop","t27/tri-pipeline"],"SKILLS_NOTE":".claude/agents/trinity.md, Phase 2 PLAN: \"Identify required skills (phi-loop, tri-pipeline)\"; Phase 4 VERIFY: \"Run conformance tests via tri-pipeline\". specs/OWNERS.md lists skills/ and crons/ under T-Queen, which is catalog ownership, not a held skill.","SOUL":"SOUL.md","SUMMARY_EN":"Queen / Lotus Orchestrator. T is the queen: she puts the final seal on everything.","TOOLS":["tri/gen","tri/test","mcp/inngest-dev"],"TOOLS_NOTE":".claude/agents/trinity.md:68 (5. Gen - Run tri gen) and :70 (7. Verify - Run tri test); specs/automation/inngest-queen-scheduler.t27 OWNER = \"T\" binds the scheduler mcp/inngest-dev to the Queen (specs/OWNERS.md: skills/ and crons/ under T-Queen). No source binds tri loop or tri health to T."},"health":"ok","id":"t27/T","inSpecCorpus":false,"letter":"T","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_t","name":{"en":"Tau (TRINITY Queen)","ru":"Тау (Королева TRINITY)"},"ordinal":20,"sha256":"25c30ec4e1f38b575e3bb24cdd09bb770ce5e2a1220eac46f4da857916540f66","skills":[{"id":"t27/phi-loop","ok":true},{"id":"t27/tri-pipeline","ok":true}],"specPath":"specs/agents/t.t27","summary":{"en":"Queen / Lotus Orchestrator. T is the queen: she puts the final seal on everything.","ru":"Королева / оркестратор Lotus. T — королева: она ставит на всём финальную печать."},"tools":[{"id":"tri/gen","ok":true},{"id":"tri/test","ok":true},{"id":"mcp/inngest-dev","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Fork - branching","CLARA_ROLE":"","DOMAIN":"Universe Levels / Domains","ENABLED":true,"ENTRY_INVARIANT":"Domain boundaries are defined","EXIT_INVARIANT":"No circular dependencies, domains are orthogonal","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/U","KEY_FILES":["t27/domains/"],"KIND":"agent","LAYER":"Physical","LETTER":"U","LETTER_NAME":"Upsilon","NAME":"Upsilon (Universe)","ORDINAL":21,"REGISTER":"R20","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Universe Levels / Domains. Universe levels are the branching of domains.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/U","inSpecCorpus":false,"letter":"U","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_u","name":{"en":"Upsilon (Universe)","ru":"Ипсилон (Вселенная)"},"ordinal":21,"sha256":"8e96c0001588aee91e7dc5aca1d68be9580b7834c595a78c7d62bfec83868b4b","skills":[],"specPath":"specs/agents/u.t27","summary":{"en":"Universe Levels / Domains. Universe levels are the branching of domains.","ru":"Уровни вселенной / домены. Уровни вселенной — ветвление доменов."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Hook - connection, conjunction","CLARA_ROLE":"TA2: AR Validation & Proof - validates AR reasoning, generates proofs","DOMAIN":"Verdict / Bench / AR Validation","ENABLED":true,"ENTRY_INVARIANT":"Verdict engine is ready, toxic thresholds defined","EXIT_INVARIANT":"Toxicity is detected, proof traces are generated","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/V","KEY_FILES":["src/tri/verdict.zig","specs/ar/proof_trace.t27","specs/ar/restraint.t27"],"KIND":"agent","LAYER":"Physical","LETTER":"V","LETTER_NAME":"Vau (var.)","NAME":"Vau (Verdict)","ORDINAL":22,"REGISTER":"R21","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Verdict / Bench / AR Validation. The verdict is the hook that catches the problem.","TOOLS":["tri/test","tri/verdict"],"TOOLS_NOTE":".claude/agents/agent-v-verify.md:47 (tri test) and :49 (tri verdict); docs/agents/AGENTS_ALPHABET.md:80 PHASE 5 VERDICT names tri verdict --toxic for V. Line 48 names tri verify, which is not a tri command at this commit."},"health":"ok","id":"t27/V","inSpecCorpus":false,"letter":"V","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_v","name":{"en":"Vau (Verdict)","ru":"Вау (Вердикт)"},"ordinal":22,"sha256":"fcce2147f2fced23acc8d32364023ead496c229862f1f03ae9f5fc6c7c384aeb","skills":[],"specPath":"specs/agents/v.t27","summary":{"en":"Verdict / Bench / AR Validation. The verdict is the hook that catches the problem.","ru":"Вердикт / бенч / валидация AR. Вердикт — крюк, который ловит проблему."},"tools":[{"id":"tri/test","ok":true},{"id":"tri/verdict","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Double hook - double seal","CLARA_ROLE":"","DOMAIN":"Workflow / tri cell","ENABLED":true,"ENTRY_INVARIANT":"Cell is sealed, hash is computed","EXIT_INVARIANT":"Hash is verified, commit is signed","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/W","KEY_FILES":["src/tri/cell.zig"],"KIND":"agent","LAYER":"Physical","LETTER":"W","LETTER_NAME":"Double-Vav","NAME":"Double-Vav (Workflow)","ORDINAL":23,"REGISTER":"R22","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Workflow / tri cell. Workflow and tri cell are the double hash-seal.","TOOLS":["tri/cell"],"TOOLS_NOTE":"docs/agents/AGENTS_ALPHABET.md:144: agent W domain Workflow / tri cell, key file src/tri/cell.zig; PHASE 6 EVOLVE: W seals tri-cell commit (hash seal)."},"health":"ok","id":"t27/W","inSpecCorpus":false,"letter":"W","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_w","name":{"en":"Double-Vav (Workflow)","ru":"Двойной Вав (Рабочий процесс)"},"ordinal":23,"sha256":"cc5426dfba21dcb6c38e978fd04c01a0ca38b62b942032668531508d454f5aeb","skills":[],"specPath":"specs/agents/w.t27","summary":{"en":"Workflow / tri cell. Workflow and tri cell are the double hash-seal.","ru":"Рабочий процесс / tri cell. Рабочий процесс и tri cell — двойная хеш-печать."},"tools":[{"id":"tri/cell","ok":true}],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Intersection - point of exchange","CLARA_ROLE":"","DOMAIN":"External Bindings / Interop","ENABLED":true,"ENTRY_INVARIANT":"Bindings are documented","EXIT_INVARIANT":"Interop tests pass, external APIs are current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/X","KEY_FILES":["bindings/"],"KIND":"agent","LAYER":"Physical","LETTER":"X","LETTER_NAME":"Chi","NAME":"Chi (External)","ORDINAL":24,"REGISTER":"R23","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"External Bindings / Interop. External bindings are the crossroads of Trinity and external systems.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/X","inSpecCorpus":false,"letter":"X","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_x","name":{"en":"Chi (External)","ru":"Хи (Внешнее)"},"ordinal":24,"sha256":"0766c4ee0c06be78156aa2d0d148549b21da87c3db232aeab3e64d28df611ff5","skills":[],"specPath":"specs/agents/x.t27","summary":{"en":"External Bindings / Interop. External bindings are the crossroads of Trinity and external systems.","ru":"Внешние привязки / интероперабельность. Внешние привязки — перекрёсток Trinity и внешних систем."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Merging paths - evolutionary selection","CLARA_ROLE":"","DOMAIN":"Yield / DePIN / Fitness","ENABLED":true,"ENTRY_INVARIANT":"DePIN nodes are defined","EXIT_INVARIANT":"Fitness score > 0.8, yield is optimized","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Y","KEY_FILES":["deploy/contracts/"],"KIND":"agent","LAYER":"Physical","LETTER":"Y","LETTER_NAME":"Psi","NAME":"Psi (Yield/DePIN)","ORDINAL":25,"REGISTER":"R24","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Yield / DePIN / Fitness. Yield and DePIN are the evolutionary crossroad.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Y","inSpecCorpus":false,"letter":"Y","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_y","name":{"en":"Psi (Yield/DePIN)","ru":"Пси (Доход/DePIN)"},"ordinal":25,"sha256":"2b7ba398549aa79d07e55e175328b816600fbddbfeb000ff1ce425ec629b3cf4","skills":[],"specPath":"specs/agents/y.t27","summary":{"en":"Yield / DePIN / Fitness. Yield and DePIN are the evolutionary crossroad.","ru":"Доход / DePIN / приспособленность. Доход и DePIN — эволюционный перекрёсток."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Sword - cutting edge, point","CLARA_ROLE":"","DOMAIN":"Zero-Touch UX / Docs","ENABLED":true,"ENTRY_INVARIANT":"All docs are in English, ASCII-only","EXIT_INVARIANT":"DX score > 4/5, all docs are current","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/Z","KEY_FILES":["docs/"],"KIND":"agent","LAYER":"Physical","LETTER":"Z","LETTER_NAME":"Zeta","NAME":"Zeta (Zero-Touch)","ORDINAL":26,"REGISTER":"R25","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Zero-Touch UX / Docs. Zero-Touch is the edge of UX and the final polish.","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/Z","inSpecCorpus":false,"letter":"Z","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_z","name":{"en":"Zeta (Zero-Touch)","ru":"Дзета (Zero-Touch)"},"ordinal":26,"sha256":"b4f898411bc6cccc09a47732cf878e2c8e66cfba98f2cab064cca6e54895c489","skills":[],"specPath":"specs/agents/z.t27","summary":{"en":"Zero-Touch UX / Docs. Zero-Touch is the edge of UX and the final polish.","ru":"Zero-Touch UX / документация. Zero-Touch — край UX и финальная полировка."},"tools":[],"typecheckOk":true,"witness":"spec-only"},{"crons":[],"discarded":0,"experience":{"episodes":0,"files":[],"first":null,"last":null,"lastTask":null,"lessons":[],"outcomes":{}},"fields":{"AGENTS_DOC":"AGENTS.md","ALPHABET":"docs/agents/AGENTS_ALPHABET.md","ARCHETYPE":"Egyptian cross - \"sacred gift\"","CLARA_ROLE":"","DOMAIN":"Security / Reserve","ENABLED":false,"ENTRY_INVARIANT":"Security policy exists","EXIT_INVARIANT":"AAIF compliance ready, no vulnerabilities","EXPERIENCE_LOG":".trinity/experience/","ID":"t27/TI","KEY_FILES":[],"KIND":"agent","LAYER":"Physical","LETTER":"TI","LETTER_NAME":"Ti","NAME":"Ti (Security)","ORDINAL":27,"REGISTER":"R26","SKILLS":[],"SKILLS_NOTE":"No source binds a skill to this agent: the alphabet key files point at specs and docs, not at a skill directory, no .claude/agents file names one, and specs/OWNERS.md has no row for it.","SOUL":"SOUL.md","SUMMARY_EN":"Security / Reserve. Security and AAIF are what Trinity gifts the world; the seat is reserved (key files: future).","TOOLS":[],"TOOLS_NOTE":"No source binds a tri command or MCP server to this agent: docs/agents/AGENTS_ALPHABET.md (row, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name one."},"health":"ok","id":"t27/TI","inSpecCorpus":false,"letter":"TI","links":{"agentsDoc":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/AGENTS.md","alphabet":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/docs/agents/AGENTS_ALPHABET.md","experienceLog":"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/gHashTag/t27/tree/93727f733e23baf032d54505095777f16676d70b/.trinity/experience","pinSource":"public/agents/experience.json sources[t27].commit","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","soul":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/SOUL.md"},"messages":["no attributed episodes in the experience snapshot"],"moduleName":"agent_ti","name":{"en":"Ti (Security)","ru":"Ти (Безопасность)"},"ordinal":27,"sha256":"8f93c36e4a69d1c698d8f30be012f20565fb849338a44d5418782721c13ea066","skills":[],"specPath":"specs/agents/ti.t27","summary":{"en":"Security / Reserve. Security and AAIF are what Trinity gifts the world; the seat is reserved (key files: future).","ru":"Безопасность / резерв. Безопасность и AAIF — то, что Trinity дарит миру; место зарезервировано (ключевые файлы: в будущем)."},"tools":[],"typecheckOk":true,"witness":"spec-only"}],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"9828c63f908f816acbf43857127efef047f68afff0f19fee6093cd24e6a7491b","counts":{"byLayer":{"Archetypal":9,"Physical":9,"Spiritual":9},"enabled":26,"episodesAttributed":0,"episodesTotal":386,"episodesUnattributed":386,"specOnly":27,"specPlusExperience":0,"specs":27,"typecheckOk":27,"withClaraRole":8,"withCrons":0,"withExperience":0,"withSkills":1,"withTools":5},"experienceSnapshot":{"attribution":{"fields":["agent_letter","letter","agent","agent_id","agents","owner"],"letters":["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","TI"],"rule":"A letter is assigned only from an agent field that is one letter A-Z, \"ti\"/\"27th\", \"t27/\", or \"agent-...\"; everything else is unattributed. See scripts/sync-agents-experience.mjs and specs/agents/README.md."},"counts":{"agentsWithEpisodes":0,"attributed":0,"episodes":386,"unattributed":386,"unreadableFiles":56},"generatedAt":"2026-09-09T17:16:31.473Z","sources":[{"commit":"ddceafb50cd0e620387161228fa2c9ae134047de","episodes":383,"files":440,"repo":"trinity","unreadable":56},{"commit":"93727f733e23baf032d54505095777f16676d70b","episodes":3,"files":2,"repo":"t27","unreadable":0}]},"generatedAt":"2026-09-13T03:52:07.716Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":27,"total":27},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":92},"pin":{"ref":"93727f733e23baf032d54505095777f16676d70b","source":"public/agents/experience.json sources[t27].commit"},"version":1} diff --git a/apps/website/public/crons/spec-crons.json b/apps/website/public/crons/spec-crons.json index 58da5f6250..2193abd703 100644 --- a/apps/website/public/crons/spec-crons.json +++ b/apps/website/public/crons/spec-crons.json @@ -1 +1 @@ -{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"87c29c0f2e638b58c2ed7303ceaa0b4885eef5214d65486c02902a1bd8e7dc32","counts":{"byHost":{"github-actions":12,"inngest":6,"railway-cron":1,"timer":14},"codeOnly":0,"specOnly":0,"specPlusCode":33,"specs":33,"typecheckOk":33,"withRuns":0},"crons":[{"code":{"health":"warn","kind":"github-actions","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/.github/workflows/ci.yml#L10","where":{"file":".github/workflows/ci.yml","host":"github-actions","line":10,"service":null}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"github-actions","ID":"github-actions/999-multibots-telegraf/ci","KIND":"cron","NAME":"CI/CD Pipeline","NOTE":"GitHub Actions on this repository have not run since 2026-06-02 (billing); the schedule stands in the file but does not fire.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 2 * * *","SERVICE":".github/workflows/ci.yml","SUMMARY_EN":"Runs the whole build, type-check and test pipeline once a day so a dependency that rots without a push still gets caught.","TZ":"UTC"},"health":"ok","id":"github-actions/999-multibots-telegraf/ci","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_ci","name":{"en":"CI/CD Pipeline"},"runNow":{"kind":"link","url":"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/gHashTag/999-multibots-telegraf/actions/workflows/ci.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"8aea8946d266dd32d1455a5ae70c1b8a3b79f0ee4ac7889f68f14d0918094484","specPath":"specs/crons/999-multibots-telegraf-ci.t27","summary":{"en":"Runs the whole build, type-check and test pipeline once a day so a dependency that rots without a push still gets caught.","ru":"Раз в день прогоняет весь конвейер сборки, проверки типов и тестов, чтобы зависимость, гниющая без пуша, всё равно была поймана."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","kind":"github-actions","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/.github/workflows/security.yml#L10","where":{"file":".github/workflows/security.yml","host":"github-actions","line":10,"service":null}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"github-actions","ID":"github-actions/999-multibots-telegraf/security","KIND":"cron","NAME":"Security Checks","NOTE":"GitHub Actions on this repository have not run since 2026-06-02 (billing); the schedule stands in the file but does not fire.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 3 * * 0","SERVICE":".github/workflows/security.yml","SUMMARY_EN":"Runs the weekly security sweep: secret detection over the full history, dependency audit and code scanning.","TZ":"UTC"},"health":"ok","id":"github-actions/999-multibots-telegraf/security","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_security","name":{"en":"Security Checks"},"runNow":{"kind":"link","url":"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/gHashTag/999-multibots-telegraf/actions/workflows/security.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"85fd8a7d31b783c57da0443c9ca2156d6d786867bea9dfee682f6208f876e91c","specPath":"specs/crons/999-multibots-telegraf-security.t27","summary":{"en":"Runs the weekly security sweep: secret detection over the full history, dependency audit and code scanning.","ru":"Еженедельная проверка безопасности: поиск секретов по всей истории, аудит зависимостей и сканирование кода."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/t27/blob/e804cd062af9bd4424a8579ea54b1f21381580de/.github/workflows/formal-mutation.yml#L25","where":{"file":".github/workflows/formal-mutation.yml","host":"github-actions","line":25,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/t27/formal-mutation","KIND":"cron","NAME":"formal-mutation","NOTE":"Weekly rather than per-push because a full run costs about thirty yosys invocations.","ON_FAILURE":"log","REPO":"t27","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 5 * * 1","SERVICE":".github/workflows/formal-mutation.yml","SUMMARY_EN":"Proves the formal gates actually bite by mutating the generated RTL once a week and requiring each gate to go red for its own mutation.","TZ":"UTC"},"health":"ok","id":"github-actions/t27/formal-mutation","inSpecCorpus":false,"messages":[],"moduleName":"cron_t27_formal_mutation","name":{"en":"formal-mutation"},"runNow":{"kind":"link","url":"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/gHashTag/t27/actions/workflows/formal-mutation.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f23f8e3b111bc55516c6e1860493acf41325dd40e6bf1b39842ba6c0dd906fbe","specPath":"specs/crons/t27-formal-mutation.t27","summary":{"en":"Proves the formal gates actually bite by mutating the generated RTL once a week and requiring each gate to go red for its own mutation.","ru":"Раз в неделю мутирует сгенерированный RTL и требует, чтобы каждый формальный гейт покраснел на своей мутации — доказательство, что гейты кусаются."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/t27/blob/e804cd062af9bd4424a8579ea54b1f21381580de/.github/workflows/pr-dashboard.yml#L6","where":{"file":".github/workflows/pr-dashboard.yml","host":"github-actions","line":6,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/t27/pr-dashboard","KIND":"cron","NAME":"PR Dashboard","ON_FAILURE":"log","REPO":"t27","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 * * * *","SERVICE":".github/workflows/pr-dashboard.yml","SUMMARY_EN":"Rebuilds the pull-request dashboard every hour from the current state of the open pull requests.","TZ":"UTC"},"health":"ok","id":"github-actions/t27/pr-dashboard","inSpecCorpus":false,"messages":[],"moduleName":"cron_t27_pr_dashboard","name":{"en":"PR Dashboard"},"runNow":{"kind":"link","url":"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/gHashTag/t27/actions/workflows/pr-dashboard.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"a16c8b2d502ca53955b1e51f3816d111ac056e5fe80904edbbc52fc269e45a92","specPath":"specs/crons/t27-pr-dashboard.t27","summary":{"en":"Rebuilds the pull-request dashboard every hour from the current state of the open pull requests.","ru":"Каждый час пересобирает панель pull request из текущего состояния открытых PR."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/agent-cron-cleanup.yml#L4","where":{"file":".github/workflows/agent-cron-cleanup.yml","host":"github-actions","line":4,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/agent-cron-cleanup","KIND":"cron","NAME":"Trinity Agent Cron Cleanup","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 */2 * * *","SERVICE":".github/workflows/agent-cron-cleanup.yml","SUMMARY_EN":"Finds agent deployments that got stuck and kills them, every two hours.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/agent-cron-cleanup","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_agent_cron_cleanup","name":{"en":"Trinity Agent Cron Cleanup"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/agent-cron-cleanup.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f4db9e04ccb4ab2e3a1e501a15c2824109b7827d910ebf70874e5ab1ded9c6cf","specPath":"specs/crons/trinity-agent-cron-cleanup.t27","summary":{"en":"Finds agent deployments that got stuck and kills them, every two hours.","ru":"Каждые два часа находит застрявшие деплои агентов и убивает их."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/agent-queue-drain.yml#L4","where":{"file":".github/workflows/agent-queue-drain.yml","host":"github-actions","line":4,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/agent-queue-drain","KIND":"cron","NAME":"Trinity Agent Queue Drain","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"dispatches agent-spawn-pool.yml for a queued issue; no named skill invocation found in source","SCHEDULE":"*/5 * * * *","SERVICE":".github/workflows/agent-queue-drain.yml","SUMMARY_EN":"Looks for queued issues and free agent slots every five minutes and starts the next agent when there is room.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/agent-queue-drain","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_agent_queue_drain","name":{"en":"Trinity Agent Queue Drain"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/agent-queue-drain.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"e334d5dc5fc0c176e420a131ea712b9f8d2e1c03b56a36388a683081b5defda3","specPath":"specs/crons/trinity-agent-queue-drain.t27","summary":{"en":"Looks for queued issues and free agent slots every five minutes and starts the next agent when there is room.","ru":"Каждые пять минут ищет задачи в очереди и свободные слоты агентов и запускает следующего агента, когда есть место."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/brain-ci.yml#L11","where":{"file":".github/workflows/brain-ci.yml","host":"github-actions","line":11,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/brain-ci","KIND":"cron","NAME":"S³AI Brain CI — \"Functional MRI\" Gate","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 0 * * 0","SERVICE":".github/workflows/brain-ci.yml","SUMMARY_EN":"Runs the weekly brain stress test, the long version of the health gate that every commit already gets.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/brain-ci","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_brain_ci","name":{"en":"S³AI Brain CI — \"Functional MRI\" Gate"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/brain-ci.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"c8cd980319751e2b53501dc645f1beb6980bdbf77adbb98a158a12be441d957e","specPath":"specs/crons/trinity-brain-ci.t27","summary":{"en":"Runs the weekly brain stress test, the long version of the health gate that every commit already gets.","ru":"Еженедельный стресс-тест мозга — длинная версия гейта здоровья, который получает каждый коммит."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/codegen.yml#L10","where":{"file":".github/workflows/codegen.yml","host":"github-actions","line":10,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/codegen","KIND":"cron","NAME":"Codegen Validation","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 0 * * *","SERVICE":".github/workflows/codegen.yml","SUMMARY_EN":"Validates the VIBEE code generator once a day, independently of whether anyone pushed.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/codegen","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_codegen","name":{"en":"Codegen Validation"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/codegen.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"d71a2dd240cabe9e1e5d667259d245209ec4532632c30328971e84ec4cbc4bd6","specPath":"specs/crons/trinity-codegen.t27","summary":{"en":"Validates the VIBEE code generator once a day, independently of whether anyone pushed.","ru":"Раз в день проверяет генератор кода VIBEE независимо от того, пушил ли кто-нибудь."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/discover-callers.yml#L16","where":{"file":".github/workflows/discover-callers.yml","host":"github-actions","line":16,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/discover-callers","KIND":"cron","NAME":"Discover RTL check callers","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"41 5 * * *","SERVICE":".github/workflows/discover-callers.yml","SUMMARY_EN":"Reads GitHub for repositories that run the RTL check, so the gallery counts its own users instead of being hand-written.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/discover-callers","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_discover_callers","name":{"en":"Discover RTL check callers"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/discover-callers.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"1aa5ec92373f3a0a9df24da027b852896fc303ec4eb50e4ee780d9abdea5aced","specPath":"specs/crons/trinity-discover-callers.t27","summary":{"en":"Reads GitHub for repositories that run the RTL check, so the gallery counts its own users instead of being hand-written.","ru":"Читает GitHub в поисках репозиториев, запускающих RTL-проверку, чтобы галерея считала своих пользователей сама."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/pages-health-check.yml#L17","where":{"file":".github/workflows/pages-health-check.yml","host":"github-actions","line":17,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/pages-health-check","KIND":"cron","NAME":"Pages Health Check","NOTE":"An earlier version judged a bare status code, failed ninety-six times a day on a site that was up, and dispatched a redeploy each time.","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/15 * * * *","SERVICE":".github/workflows/pages-health-check.yml","SUMMARY_EN":"Fetches the published site every fifteen minutes, follows the redirect, and redeploys only when the evidence says the deploy is what broke.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/pages-health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_pages_health_check","name":{"en":"Pages Health Check"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/pages-health-check.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f8199eaa1c9707bff5ba89d553a644725b072fce2f7c4c5de7dfe4b6e9620ac1","specPath":"specs/crons/trinity-pages-health-check.t27","summary":{"en":"Fetches the published site every fifteen minutes, follows the redirect, and redeploys only when the evidence says the deploy is what broke.","ru":"Каждые пятнадцать минут запрашивает опубликованный сайт, следует редиректу и передеплоит только когда свидетельства говорят, что сломан именно деплой."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/signal-health-self.yml#L17","where":{"file":".github/workflows/signal-health-self.yml","host":"github-actions","line":17,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/signal-health-self","KIND":"cron","NAME":"Signal health (self)","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"23 4 * * *","SERVICE":".github/workflows/signal-health-self.yml","SUMMARY_EN":"Applies the signal-health check to the repository that sells it and writes the numbers into the website data.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/signal-health-self","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_signal_health_self","name":{"en":"Signal health (self)"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/signal-health-self.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"b5bd1483d24af17707d8fcf03dbb6f011bc8462773423ebe9b8ee4e506a76a4e","specPath":"specs/crons/trinity-signal-health-self.t27","summary":{"en":"Applies the signal-health check to the repository that sells it and writes the numbers into the website data.","ru":"Применяет проверку signal-health к репозиторию, который её продаёт, и записывает числа в данные сайта."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/site-live-gate.yml#L33","where":{"file":".github/workflows/site-live-gate.yml","host":"github-actions","line":33,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/site-live-gate","KIND":"cron","NAME":"Site live gate","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"17 6 * * *","SERVICE":".github/workflows/site-live-gate.yml","SUMMARY_EN":"Compares the content-hashed entry bundle served at the apex against a build of main, so that 'deployed' means a reader can actually see it.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/site-live-gate","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_site_live_gate","name":{"en":"Site live gate"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/site-live-gate.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"76ed9aa7465a9ba704074563535c41d2df1fcfa2ac76059bfe2eb5e3e52c5933","specPath":"specs/crons/trinity-site-live-gate.t27","summary":{"en":"Compares the content-hashed entry bundle served at the apex against a build of main, so that 'deployed' means a reader can actually see it.","ru":"Сравнивает бандл с контент-хешем на апексе со сборкой main, чтобы «задеплоено» означало, что читатель это видит."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/training/checkStuckTrainings.ts#L53","where":{"file":"src/inngest_app/functions/training/checkStuckTrainings.ts","host":"railway:999-multibots-telegraf","line":53,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/check-stuck-trainings","KIND":"cron","NAME":"check-stuck-trainings","NOTE":"Records whose Replicate id is still a placeholder are skipped, because there is nothing on the provider to ask about.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/30 * * * *","SERVICE":"src/inngest_app/functions/training/checkStuckTrainings.ts","SUMMARY_EN":"Finds model trainings still marked pending or processing past the stuck threshold and reconciles them against Replicate.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/check-stuck-trainings","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_check_stuck_trainings","name":{"en":"check-stuck-trainings"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"fb82b6e4149b8be9916c35694faaeca85b555a6e3044cd3bc35f4d836ce60e49","specPath":"specs/crons/999-multibots-telegraf-check-stuck-trainings.t27","summary":{"en":"Finds model trainings still marked pending or processing past the stuck threshold and reconciles them against Replicate.","ru":"Находит обучения моделей, застрявшие в pending или processing дольше порога, и сверяет их с Replicate."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/analytics/dailySalesAdvisor.ts#L56","where":{"file":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","host":"railway:999-multibots-telegraf","line":56,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/daily-sales-advisor","KIND":"cron","NAME":"daily-sales-advisor","NOTE":"One report per owner across all of their bots, assembled from the payments ledger rather than from a balance column.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 9 * * *","SERVICE":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","SUMMARY_EN":"Builds every bot owner a morning report of yesterday's revenue, the week's costs and which services their users actually bought.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/daily-sales-advisor","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_daily_sales_advisor","name":{"en":"daily-sales-advisor"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"0e2f8e5085ed1ea2b4b2f7732c9f9de00fcd19fda8d13e1f735865aa2cd32179","specPath":"specs/crons/999-multibots-telegraf-daily-sales-advisor.t27","summary":{"en":"Builds every bot owner a morning report of yesterday's revenue, the week's costs and which services their users actually bought.","ru":"Собирает каждому владельцу бота утренний отчёт: вчерашняя выручка, расходы недели и что реально покупали пользователи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/monitoring/criticalErrorMonitor.ts#L243","where":{"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","host":"railway:999-multibots-telegraf","line":243,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/health-check","KIND":"cron","NAME":"health-check","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/30 * * * *","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","SUMMARY_EN":"Probes the main API and the Inngest service every half hour and reports what answered.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_health_check","name":{"en":"health-check"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"b1bf93d0a864129e5c53a03b96cfe5d52069b5b65a7472dcef61a58cd6b87e1f","specPath":"specs/crons/999-multibots-telegraf-health-check.t27","summary":{"en":"Probes the main API and the Inngest service every half hour and reports what answered.","ru":"Каждые полчаса опрашивает основной API и сервис Inngest и сообщает, кто ответил."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/monitoring/logMonitor.ts#L360","where":{"file":"src/inngest_app/functions/monitoring/logMonitor.ts","host":"railway:999-multibots-telegraf","line":360,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/log-monitor","KIND":"cron","NAME":"log-monitor","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 10 * * *","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts","SUMMARY_EN":"Reads the application logs once a day, has a model summarise the errors and warnings, and sends the digest to Telegram.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/log-monitor","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_log_monitor","name":{"en":"log-monitor"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"3f1d2105328665203dc3850fea9f0245b7a6adbe5558e255756d168478812921","specPath":"specs/crons/999-multibots-telegraf-log-monitor.t27","summary":{"en":"Reads the application logs once a day, has a model summarise the errors and warnings, and sends the digest to Telegram.","ru":"Раз в день читает логи приложения, поручает модели свести ошибки и предупреждения и отправляет дайджест в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/webhookHealthGuard.ts#L218","where":{"file":"src/inngest_app/functions/webhookHealthGuard.ts","host":"railway:999-multibots-telegraf","line":218,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/periodic-webhook-health-check","KIND":"cron","NAME":"periodic-webhook-health-check","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 * * * *","SERVICE":"src/inngest_app/functions/webhookHealthGuard.ts","SUMMARY_EN":"Tests both Telegram webhook URLs every hour and sends the admin a critical alarm when neither of them answers.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/periodic-webhook-health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_periodic_webhook_health_check","name":{"en":"periodic-webhook-health-check"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"a3b21a33a8a8022b527e3f46362fb6df63fb6f2e5ee642a439d88862dd4722f3","specPath":"specs/crons/999-multibots-telegraf-periodic-webhook-health-check.t27","summary":{"en":"Tests both Telegram webhook URLs every hour and sends the admin a critical alarm when neither of them answers.","ru":"Каждый час проверяет оба URL вебхука Telegram и шлёт админу критическую тревогу, когда не отвечает ни один."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/analytics/skillDetector.ts#L32","where":{"file":"src/inngest_app/functions/analytics/skillDetector.ts","host":"railway:999-multibots-telegraf","line":32,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/skill-detector","KIND":"cron","NAME":"skill-detector","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"the \"skills\" it saves are bot prompt patterns, not Claude Code skills; no skill invocation found in source","SCHEDULE":"0 10 * * *","SERVICE":"src/inngest_app/functions/analytics/skillDetector.ts","SUMMARY_EN":"Mines successful generations for repeated model and prompt patterns once a day and saves the new ones as reusable skills.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/skill-detector","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_skill_detector","name":{"en":"skill-detector"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"d228015ce607198f53341b0b9dfc55a2cd0616e69487598d0cbabc34cc6892cf","specPath":"specs/crons/999-multibots-telegraf-skill-detector.t27","summary":{"en":"Mines successful generations for repeated model and prompt patterns once a day and saves the new ones as reusable skills.","ru":"Раз в день ищет в успешных генерациях повторяющиеся паттерны моделей и промптов и сохраняет новые как переиспользуемые навыки бота."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","kind":"railway-cron","repoPrivate":true,"sourceUrl":null,"where":{"file":null,"host":"railway:jobsearch-cron","line":null,"service":"jobsearch-cron"}},"control":"railway-dashboard","discarded":0,"fields":{"CONTROL":"railway-dashboard","ENABLED":true,"HOST":"railway-cron","ID":"railway-cron/999/jobsearch-cron","KIND":"cron","NAME":"jobsearch-cron","NOTE":"The schedule is configured in the Railway dashboard for project 999 and is not readable from the checkout; the probe below is what this catalog can verify.","ON_FAILURE":"unknown","REPO":"railway","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"","SCHEDULE_NOTE":"configured in the Railway dashboard (project 999); not readable from the checkout","SERVICE":"jobsearch-cron","SUMMARY_EN":"The scheduled job-search service of the Railway project, reachable at cron.t27.ai.","TZ":"UTC"},"health":"ok","id":"railway-cron/999/jobsearch-cron","inSpecCorpus":false,"messages":[],"moduleName":"cron_railway_jobsearch_cron","name":{"en":"jobsearch-cron"},"runNow":{"kind":"link","url":"https://railway.com/project/564d9ebd-7aa8-44fe-93ec-e0b03c87158d/service/3196472e-b885-43e0-b553-0644664e4496","via":"railway"},"runs":[],"runsResolved":[],"sha256":"8729edafdc8239d187c0f2b7d98238438d40ec439b39087e1654bb683366ec3a","specPath":"specs/crons/railway-jobsearch-cron.t27","summary":{"en":"The scheduled job-search service of the Railway project, reachable at cron.t27.ai.","ru":"Сервис поиска вакансий по расписанию в проекте Railway, доступен на cron.t27.ai."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/scripts/agent-autopilot.ts#L1118","where":{"file":"apps/vibee-editor/render/scripts/agent-autopilot.ts","host":"railway:vibee-render","line":1118,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/agent-autopilot-L1118","INTERVAL_MS":1800000,"KIND":"cron","NAME":"agent-autopilot-L1118","NOTE":"Daemon mode only, under --loop or AUTOPILOT_LOOP=1; AUTOPILOT_INTERVAL_MS overrides the thirty-minute period, with a one-minute floor.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/scripts/agent-autopilot.ts:1118","SUMMARY_EN":"Runs one autopilot cycle -- the generation pass and then the channel tick -- and skips the tick entirely when the previous cycle is still running.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/agent-autopilot-L1118","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_agent_autopilot_L1118","name":{"en":"agent-autopilot-L1118"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"39c25a3a6c40cff4e3ad9aa098e7492803a9cc78a935e74966c4f95939c85228","specPath":"specs/crons/999-multibots-telegraf-agent-autopilot-L1118.t27","summary":{"en":"Runs one autopilot cycle -- the generation pass and then the channel tick -- and skips the tick entirely when the previous cycle is still running.","ru":"Один цикл автопилота — проход генерации и затем тик канала; тик пропускается целиком, если предыдущий цикл ещё идёт."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/bot-owner-billing.ts#L474","where":{"file":"src/services/bot-owner-billing.ts","host":"railway:999-multibots-telegraf","line":474,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/bot-owner-billing-L474","INTERVAL_MS":86400000,"KIND":"cron","NAME":"bot-owner-billing-L474","NOTE":"The first run after a restart is skipped on purpose, and an owner whose payments cannot be read is left alone rather than accused.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/bot-owner-billing.ts:474","SUMMARY_EN":"Recomputes every bot owner's debt from the payments ledger, warns them at the soft, warning and critical thresholds, and disables a bot that stays critical for three days.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/bot-owner-billing-L474","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_bot_owner_billing_L474","name":{"en":"bot-owner-billing-L474"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"b2fb3c2d66630369c42ae4aba3f80538661c5591de99f1b088c569185be83197","specPath":"specs/crons/999-multibots-telegraf-bot-owner-billing-L474.t27","summary":{"en":"Recomputes every bot owner's debt from the payments ledger, warns them at the soft, warning and critical thresholds, and disables a bot that stays critical for three days.","ru":"Пересчитывает долг каждого владельца бота по журналу платежей, предупреждает на мягком, тревожном и критическом порогах и отключает бота, три дня остающегося критическим."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/crmProactive.ts#L375","where":{"file":"src/services/crmProactive.ts","host":"railway:999-multibots-telegraf","line":375,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/crmProactive-L375","INTERVAL_MS":1800000,"KIND":"cron","NAME":"crmProactive-L375","NOTE":"The period is CRM_PROACTIVE_MINUTES from src/index.ts, thirty minutes by default; the first sweep waits two minutes after start.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/crmProactive.ts:375","SUMMARY_EN":"Runs one proactive seller turn for the owner: walks the CRM queue and puts the next draft card in front of them without being asked.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/crmProactive-L375","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_crmProactive_L375","name":{"en":"crmProactive-L375"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"68cef02f70476660ff1d1df04010d0a3d6cbe249c35da94d97f4c2a641e57d5e","specPath":"specs/crons/999-multibots-telegraf-crmProactive-L375.t27","summary":{"en":"Runs one proactive seller turn for the owner: walks the CRM queue and puts the next draft card in front of them without being asked.","ru":"Один проактивный ход продавца для владельца: обходит очередь CRM и кладёт перед ним следующую карточку-черновик без просьбы."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/generate-jobs.ts#L164","where":{"file":"apps/vibee-editor/render/generate-jobs.ts","host":"railway:vibee-render","line":164,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/generate-jobs-L164","INTERVAL_MS":300000,"KIND":"cron","NAME":"generate-jobs-L164","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/generate-jobs.ts:164","SUMMARY_EN":"Sweeps finished generation jobs out of memory an hour after they end, once a caller who lost the connection has had time to collect the result.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/generate-jobs-L164","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_generate_jobs_L164","name":{"en":"generate-jobs-L164"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"c72b9a7b5fa9804c513eb5c2ebff0868bbf2a7226347826e64bbd34f6bef6475","specPath":"specs/crons/999-multibots-telegraf-generate-jobs-L164.t27","summary":{"en":"Sweeps finished generation jobs out of memory an hour after they end, once a caller who lost the connection has had time to collect the result.","ru":"Через час после завершения выметает из памяти законченные задания генерации, когда потерявший соединение клиент успел забрать результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/handlers/notificationHandler.ts#L318","where":{"file":"src/handlers/notificationHandler.ts","host":"railway:999-multibots-telegraf","line":318,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/notificationHandler-L318","INTERVAL_MS":60000,"KIND":"cron","NAME":"notificationHandler-L318","NOTE":"Wrapped in an exclusive tick, so two bot processes cannot deliver the same notification twice.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/handlers/notificationHandler.ts:318","SUMMARY_EN":"Drains the notification queue and delivers the Telegram messages waiting in it.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/notificationHandler-L318","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_notificationHandler_L318","name":{"en":"notificationHandler-L318"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"9114a4bdfb275175f60c5a111bdc07bbfcbb62c55a0871176b8f93e3436bdd9f","specPath":"specs/crons/999-multibots-telegraf-notificationHandler-L318.t27","summary":{"en":"Drains the notification queue and delivers the Telegram messages waiting in it.","ru":"Разгружает очередь уведомлений и доставляет ждущие в ней сообщения Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/handlers/notificationHandler.ts#L324","where":{"file":"src/handlers/notificationHandler.ts","host":"railway:999-multibots-telegraf","line":324,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/notificationHandler-L324","INTERVAL_MS":3600000,"KIND":"cron","NAME":"notificationHandler-L324","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/handlers/notificationHandler.ts:324","SUMMARY_EN":"Deletes notification messages old enough that nobody is going to read them.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/notificationHandler-L324","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_notificationHandler_L324","name":{"en":"notificationHandler-L324"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"44d2e3c8843519a512128399557c8d7af29ca2491f769f91c845dc44e0b63f9a","specPath":"specs/crons/999-multibots-telegraf-notificationHandler-L324.t27","summary":{"en":"Deletes notification messages old enough that nobody is going to read them.","ru":"Удаляет уведомления, настолько старые, что их уже никто не прочитает."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/utils/production-monitor.ts#L80","where":{"file":"src/utils/production-monitor.ts","host":"railway:999-multibots-telegraf","line":80,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":false,"HOST":"timer","ID":"timer/999-multibots-telegraf/production-monitor-L80","INTERVAL_MS":300000,"KIND":"cron","NAME":"production-monitor-L80","NOTE":"Started only by running this module from the command line with the `monitor` argument; the bot's own entry point never starts it.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/utils/production-monitor.ts:80","SUMMARY_EN":"Re-runs the container, nginx, port, domain, webhook and system-resource checks, and applies the fixes that are enabled.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/production-monitor-L80","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_production_monitor_L80","name":{"en":"production-monitor-L80"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"880d0b6c01b2b1e4cc9bc92c11ef300b8335bdf8ca842308bca7d3fd7e979254","specPath":"specs/crons/999-multibots-telegraf-production-monitor-L80.t27","summary":{"en":"Re-runs the container, nginx, port, domain, webhook and system-resource checks, and applies the fixes that are enabled.","ru":"Повторяет проверки контейнера, nginx, порта, домена, вебхука и ресурсов системы и применяет включённые исправления."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/provider-health-monitor.ts#L344","where":{"file":"src/services/provider-health-monitor.ts","host":"railway:999-multibots-telegraf","line":344,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/provider-health-monitor-L344","INTERVAL_MS":300000,"KIND":"cron","NAME":"provider-health-monitor-L344","NOTE":"Providers listed in HEALTH_SKIP_PROVIDERS are deliberately not watched and do not raise the alarm.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/provider-health-monitor.ts:344","SUMMARY_EN":"Checks every AI provider that is not parked and records whether it is currently answering.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/provider-health-monitor-L344","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_provider_health_monitor_L344","name":{"en":"provider-health-monitor-L344"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"0044630e40dc2673a2d1210e848f1a3cd41cc2b21b541bec98e305f0192a2de7","specPath":"specs/crons/999-multibots-telegraf-provider-health-monitor-L344.t27","summary":{"en":"Checks every AI provider that is not parked and records whether it is currently answering.","ru":"Проверяет каждого не отключённого AI-провайдера и записывает, отвечает ли он сейчас."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L10845","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":10845,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L10845","INTERVAL_MS":30000,"KIND":"cron","NAME":"render-server-L10845","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:10845","SUMMARY_EN":"Pings every websocket peer and drops the ones that did not answer the previous round.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L10845","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L10845","name":{"en":"render-server-L10845"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"bfcd81ea5f3b3040dccce76d91dd699347e49c2df843529218ee138560e2d924","specPath":"specs/crons/999-multibots-telegraf-render-server-L10845.t27","summary":{"en":"Pings every websocket peer and drops the ones that did not answer the previous round.","ru":"Пингует каждого websocket-пира и отключает тех, кто не ответил в прошлом раунде."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L2301","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":2301,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L2301","INTERVAL_MS":60000,"KIND":"cron","NAME":"render-server-L2301","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:2301","SUMMARY_EN":"Removes render jobs older than an hour from the in-memory job map.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L2301","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L2301","name":{"en":"render-server-L2301"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"37e3dca7f4836af5ecfde5eaaa2aa993ac19087ac902adbb4015c04527a2af62","specPath":"specs/crons/999-multibots-telegraf-render-server-L2301.t27","summary":{"en":"Removes render jobs older than an hour from the in-memory job map.","ru":"Удаляет из карты в памяти задания рендера старше часа."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L2325","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":2325,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L2325","INTERVAL_MS":600000,"KIND":"cron","NAME":"render-server-L2325","NOTE":"Checks often and writes rarely: the cursor lives in the database, because this Railway project has no volume and a deploy wipes local state.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:2325","SUMMARY_EN":"Reads the hive journal and delivers the queen's report to the keepers, passing alarms straight through and batching ordinary events.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L2325","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L2325","name":{"en":"render-server-L2325"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"11b24d4332b7e356f77b233a20d578c3ec31da71ff34be37d16d29d7d4471d5b","specPath":"specs/crons/999-multibots-telegraf-render-server-L2325.t27","summary":{"en":"Reads the hive journal and delivers the queen's report to the keepers, passing alarms straight through and batching ordinary events.","ru":"Читает журнал улья и доставляет отчёт королевы хранителям: тревоги — сразу, обычные события — пакетом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L919","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":919,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L919","INTERVAL_MS":5000,"KIND":"cron","NAME":"render-server-L919","NOTE":"Only starts when a session signing key is configured; a deployed render server refuses to boot without one.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:919","SUMMARY_EN":"Re-reads the session revocation list from Postgres so a revoked browser session stops being accepted.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L919","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L919","name":{"en":"render-server-L919"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"f86d77af65dfb35cc4adf4202c8f06577e82d7856edbcac656ef735eeba19a52","specPath":"specs/crons/999-multibots-telegraf-render-server-L919.t27","summary":{"en":"Re-reads the session revocation list from Postgres so a revoked browser session stops being accepted.","ru":"Перечитывает из Postgres список отозванных сессий, чтобы отозванная сессия браузера перестала приниматься."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/modules/videoGenerator/taskCache.ts#L27","where":{"file":"src/modules/videoGenerator/taskCache.ts","host":"railway:999-multibots-telegraf","line":27,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/taskCache-L27","INTERVAL_MS":300000,"KIND":"cron","NAME":"taskCache-L27","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/modules/videoGenerator/taskCache.ts:27","SUMMARY_EN":"Drops video-generation cache entries past their fifteen-minute lifetime so a finished task cannot block the next request.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/taskCache-L27","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_taskCache_L27","name":{"en":"taskCache-L27"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"ca7f9a9edce47fe23ef59515d87ba7f391b878a9c5115b43e9c32b4a70fe90db","specPath":"specs/crons/999-multibots-telegraf-taskCache-L27.t27","summary":{"en":"Drops video-generation cache entries past their fifteen-minute lifetime so a finished task cannot block the next request.","ru":"Сбрасывает записи кэша видеогенерации старше пятнадцати минут, чтобы завершённая задача не блокировала следующий запрос."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/video-task-store.ts#L156","where":{"file":"src/services/video-task-store.ts","host":"railway:999-multibots-telegraf","line":156,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/video-task-store-L156","INTERVAL_MS":600000,"KIND":"cron","NAME":"video-task-store-L156","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/video-task-store.ts:156","SUMMARY_EN":"Forgets video tasks older than an hour and rewrites the store to disk when anything was removed.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/video-task-store-L156","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_video_task_store_L156","name":{"en":"video-task-store-L156"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"dc4e3d6c76cac57a36074da8a9d6aac8df1f1c55bb68a593c2cadf94c94351b1","specPath":"specs/crons/999-multibots-telegraf-video-task-store-L156.t27","summary":{"en":"Forgets video tasks older than an hour and rewrites the store to disk when anything was removed.","ru":"Забывает видеозадачи старше часа и переписывает хранилище на диск, если что-то было удалено."},"typecheckOk":true,"witness":"spec+code"}],"generatedAt":"2026-09-12T12:30:14.790Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":33,"total":33},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"version":1} +{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"87c29c0f2e638b58c2ed7303ceaa0b4885eef5214d65486c02902a1bd8e7dc32","counts":{"byHost":{"github-actions":12,"inngest":6,"railway-cron":1,"timer":14},"codeOnly":0,"specOnly":0,"specPlusCode":33,"specs":33,"typecheckOk":33,"withRuns":0},"crons":[{"code":{"health":"warn","kind":"github-actions","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/.github/workflows/ci.yml#L10","where":{"file":".github/workflows/ci.yml","host":"github-actions","line":10,"service":null}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"github-actions","ID":"github-actions/999-multibots-telegraf/ci","KIND":"cron","NAME":"CI/CD Pipeline","NOTE":"GitHub Actions on this repository have not run since 2026-06-02 (billing); the schedule stands in the file but does not fire.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 2 * * *","SERVICE":".github/workflows/ci.yml","SUMMARY_EN":"Runs the whole build, type-check and test pipeline once a day so a dependency that rots without a push still gets caught.","TZ":"UTC"},"health":"ok","id":"github-actions/999-multibots-telegraf/ci","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_ci","name":{"en":"CI/CD Pipeline"},"runNow":{"kind":"link","url":"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/gHashTag/999-multibots-telegraf/actions/workflows/ci.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"8aea8946d266dd32d1455a5ae70c1b8a3b79f0ee4ac7889f68f14d0918094484","specPath":"specs/crons/999-multibots-telegraf-ci.t27","summary":{"en":"Runs the whole build, type-check and test pipeline once a day so a dependency that rots without a push still gets caught.","ru":"Раз в день прогоняет весь конвейер сборки, проверки типов и тестов, чтобы зависимость, гниющая без пуша, всё равно была поймана."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","kind":"github-actions","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/.github/workflows/security.yml#L10","where":{"file":".github/workflows/security.yml","host":"github-actions","line":10,"service":null}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"github-actions","ID":"github-actions/999-multibots-telegraf/security","KIND":"cron","NAME":"Security Checks","NOTE":"GitHub Actions on this repository have not run since 2026-06-02 (billing); the schedule stands in the file but does not fire.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 3 * * 0","SERVICE":".github/workflows/security.yml","SUMMARY_EN":"Runs the weekly security sweep: secret detection over the full history, dependency audit and code scanning.","TZ":"UTC"},"health":"ok","id":"github-actions/999-multibots-telegraf/security","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_security","name":{"en":"Security Checks"},"runNow":{"kind":"link","url":"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/gHashTag/999-multibots-telegraf/actions/workflows/security.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"85fd8a7d31b783c57da0443c9ca2156d6d786867bea9dfee682f6208f876e91c","specPath":"specs/crons/999-multibots-telegraf-security.t27","summary":{"en":"Runs the weekly security sweep: secret detection over the full history, dependency audit and code scanning.","ru":"Еженедельная проверка безопасности: поиск секретов по всей истории, аудит зависимостей и сканирование кода."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/t27/blob/e804cd062af9bd4424a8579ea54b1f21381580de/.github/workflows/formal-mutation.yml#L25","where":{"file":".github/workflows/formal-mutation.yml","host":"github-actions","line":25,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/t27/formal-mutation","KIND":"cron","NAME":"formal-mutation","NOTE":"Weekly rather than per-push because a full run costs about thirty yosys invocations.","ON_FAILURE":"log","REPO":"t27","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 5 * * 1","SERVICE":".github/workflows/formal-mutation.yml","SUMMARY_EN":"Proves the formal gates actually bite by mutating the generated RTL once a week and requiring each gate to go red for its own mutation.","TZ":"UTC"},"health":"ok","id":"github-actions/t27/formal-mutation","inSpecCorpus":false,"messages":[],"moduleName":"cron_t27_formal_mutation","name":{"en":"formal-mutation"},"runNow":{"kind":"link","url":"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/gHashTag/t27/actions/workflows/formal-mutation.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f23f8e3b111bc55516c6e1860493acf41325dd40e6bf1b39842ba6c0dd906fbe","specPath":"specs/crons/t27-formal-mutation.t27","summary":{"en":"Proves the formal gates actually bite by mutating the generated RTL once a week and requiring each gate to go red for its own mutation.","ru":"Раз в неделю мутирует сгенерированный RTL и требует, чтобы каждый формальный гейт покраснел на своей мутации — доказательство, что гейты кусаются."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/t27/blob/e804cd062af9bd4424a8579ea54b1f21381580de/.github/workflows/pr-dashboard.yml#L6","where":{"file":".github/workflows/pr-dashboard.yml","host":"github-actions","line":6,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/t27/pr-dashboard","KIND":"cron","NAME":"PR Dashboard","ON_FAILURE":"log","REPO":"t27","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 * * * *","SERVICE":".github/workflows/pr-dashboard.yml","SUMMARY_EN":"Rebuilds the pull-request dashboard every hour from the current state of the open pull requests.","TZ":"UTC"},"health":"ok","id":"github-actions/t27/pr-dashboard","inSpecCorpus":false,"messages":[],"moduleName":"cron_t27_pr_dashboard","name":{"en":"PR Dashboard"},"runNow":{"kind":"link","url":"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/gHashTag/t27/actions/workflows/pr-dashboard.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"a16c8b2d502ca53955b1e51f3816d111ac056e5fe80904edbbc52fc269e45a92","specPath":"specs/crons/t27-pr-dashboard.t27","summary":{"en":"Rebuilds the pull-request dashboard every hour from the current state of the open pull requests.","ru":"Каждый час пересобирает панель pull request из текущего состояния открытых PR."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/agent-cron-cleanup.yml#L4","where":{"file":".github/workflows/agent-cron-cleanup.yml","host":"github-actions","line":4,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/agent-cron-cleanup","KIND":"cron","NAME":"Trinity Agent Cron Cleanup","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 */2 * * *","SERVICE":".github/workflows/agent-cron-cleanup.yml","SUMMARY_EN":"Finds agent deployments that got stuck and kills them, every two hours.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/agent-cron-cleanup","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_agent_cron_cleanup","name":{"en":"Trinity Agent Cron Cleanup"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/agent-cron-cleanup.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f4db9e04ccb4ab2e3a1e501a15c2824109b7827d910ebf70874e5ab1ded9c6cf","specPath":"specs/crons/trinity-agent-cron-cleanup.t27","summary":{"en":"Finds agent deployments that got stuck and kills them, every two hours.","ru":"Каждые два часа находит застрявшие деплои агентов и убивает их."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/agent-queue-drain.yml#L4","where":{"file":".github/workflows/agent-queue-drain.yml","host":"github-actions","line":4,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/agent-queue-drain","KIND":"cron","NAME":"Trinity Agent Queue Drain","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"dispatches agent-spawn-pool.yml for a queued issue; no named skill invocation found in source","SCHEDULE":"*/5 * * * *","SERVICE":".github/workflows/agent-queue-drain.yml","SUMMARY_EN":"Looks for queued issues and free agent slots every five minutes and starts the next agent when there is room.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/agent-queue-drain","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_agent_queue_drain","name":{"en":"Trinity Agent Queue Drain"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/agent-queue-drain.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"e334d5dc5fc0c176e420a131ea712b9f8d2e1c03b56a36388a683081b5defda3","specPath":"specs/crons/trinity-agent-queue-drain.t27","summary":{"en":"Looks for queued issues and free agent slots every five minutes and starts the next agent when there is room.","ru":"Каждые пять минут ищет задачи в очереди и свободные слоты агентов и запускает следующего агента, когда есть место."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/brain-ci.yml#L11","where":{"file":".github/workflows/brain-ci.yml","host":"github-actions","line":11,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/brain-ci","KIND":"cron","NAME":"S³AI Brain CI — \"Functional MRI\" Gate","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 0 * * 0","SERVICE":".github/workflows/brain-ci.yml","SUMMARY_EN":"Runs the weekly brain stress test, the long version of the health gate that every commit already gets.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/brain-ci","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_brain_ci","name":{"en":"S³AI Brain CI — \"Functional MRI\" Gate"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/brain-ci.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"c8cd980319751e2b53501dc645f1beb6980bdbf77adbb98a158a12be441d957e","specPath":"specs/crons/trinity-brain-ci.t27","summary":{"en":"Runs the weekly brain stress test, the long version of the health gate that every commit already gets.","ru":"Еженедельный стресс-тест мозга — длинная версия гейта здоровья, который получает каждый коммит."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/codegen.yml#L10","where":{"file":".github/workflows/codegen.yml","host":"github-actions","line":10,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/codegen","KIND":"cron","NAME":"Codegen Validation","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 0 * * *","SERVICE":".github/workflows/codegen.yml","SUMMARY_EN":"Validates the VIBEE code generator once a day, independently of whether anyone pushed.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/codegen","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_codegen","name":{"en":"Codegen Validation"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/codegen.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"d71a2dd240cabe9e1e5d667259d245209ec4532632c30328971e84ec4cbc4bd6","specPath":"specs/crons/trinity-codegen.t27","summary":{"en":"Validates the VIBEE code generator once a day, independently of whether anyone pushed.","ru":"Раз в день проверяет генератор кода VIBEE независимо от того, пушил ли кто-нибудь."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/discover-callers.yml#L16","where":{"file":".github/workflows/discover-callers.yml","host":"github-actions","line":16,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/discover-callers","KIND":"cron","NAME":"Discover RTL check callers","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"41 5 * * *","SERVICE":".github/workflows/discover-callers.yml","SUMMARY_EN":"Reads GitHub for repositories that run the RTL check, so the gallery counts its own users instead of being hand-written.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/discover-callers","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_discover_callers","name":{"en":"Discover RTL check callers"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/discover-callers.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"1aa5ec92373f3a0a9df24da027b852896fc303ec4eb50e4ee780d9abdea5aced","specPath":"specs/crons/trinity-discover-callers.t27","summary":{"en":"Reads GitHub for repositories that run the RTL check, so the gallery counts its own users instead of being hand-written.","ru":"Читает GitHub в поисках репозиториев, запускающих RTL-проверку, чтобы галерея считала своих пользователей сама."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/pages-health-check.yml#L17","where":{"file":".github/workflows/pages-health-check.yml","host":"github-actions","line":17,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/pages-health-check","KIND":"cron","NAME":"Pages Health Check","NOTE":"An earlier version judged a bare status code, failed ninety-six times a day on a site that was up, and dispatched a redeploy each time.","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/15 * * * *","SERVICE":".github/workflows/pages-health-check.yml","SUMMARY_EN":"Fetches the published site every fifteen minutes, follows the redirect, and redeploys only when the evidence says the deploy is what broke.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/pages-health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_pages_health_check","name":{"en":"Pages Health Check"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/pages-health-check.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"f8199eaa1c9707bff5ba89d553a644725b072fce2f7c4c5de7dfe4b6e9620ac1","specPath":"specs/crons/trinity-pages-health-check.t27","summary":{"en":"Fetches the published site every fifteen minutes, follows the redirect, and redeploys only when the evidence says the deploy is what broke.","ru":"Каждые пятнадцать минут запрашивает опубликованный сайт, следует редиректу и передеплоит только когда свидетельства говорят, что сломан именно деплой."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/signal-health-self.yml#L17","where":{"file":".github/workflows/signal-health-self.yml","host":"github-actions","line":17,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/signal-health-self","KIND":"cron","NAME":"Signal health (self)","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"23 4 * * *","SERVICE":".github/workflows/signal-health-self.yml","SUMMARY_EN":"Applies the signal-health check to the repository that sells it and writes the numbers into the website data.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/signal-health-self","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_signal_health_self","name":{"en":"Signal health (self)"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/signal-health-self.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"b5bd1483d24af17707d8fcf03dbb6f011bc8462773423ebe9b8ee4e506a76a4e","specPath":"specs/crons/trinity-signal-health-self.t27","summary":{"en":"Applies the signal-health check to the repository that sells it and writes the numbers into the website data.","ru":"Применяет проверку signal-health к репозиторию, который её продаёт, и записывает числа в данные сайта."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"github-actions","repoPrivate":false,"sourceUrl":"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/gHashTag/trinity/blob/cdc1d68d697fca070d9ad0f2d36aa4074de140f4/.github/workflows/site-live-gate.yml#L33","where":{"file":".github/workflows/site-live-gate.yml","host":"github-actions","line":33,"service":null}},"control":"github-actions-dispatch","discarded":0,"fields":{"CONTROL":"github-actions-dispatch","ENABLED":true,"HOST":"github-actions","ID":"github-actions/trinity/site-live-gate","KIND":"cron","NAME":"Site live gate","ON_FAILURE":"log","REPO":"trinity","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"17 6 * * *","SERVICE":".github/workflows/site-live-gate.yml","SUMMARY_EN":"Compares the content-hashed entry bundle served at the apex against a build of main, so that 'deployed' means a reader can actually see it.","TZ":"UTC"},"health":"ok","id":"github-actions/trinity/site-live-gate","inSpecCorpus":false,"messages":[],"moduleName":"cron_trinity_site_live_gate","name":{"en":"Site live gate"},"runNow":{"kind":"link","url":"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/gHashTag/trinity/actions/workflows/site-live-gate.yml","via":"github-actions"},"runs":[],"runsResolved":[],"sha256":"76ed9aa7465a9ba704074563535c41d2df1fcfa2ac76059bfe2eb5e3e52c5933","specPath":"specs/crons/trinity-site-live-gate.t27","summary":{"en":"Compares the content-hashed entry bundle served at the apex against a build of main, so that 'deployed' means a reader can actually see it.","ru":"Сравнивает бандл с контент-хешем на апексе со сборкой main, чтобы «задеплоено» означало, что читатель это видит."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/training/checkStuckTrainings.ts#L53","where":{"file":"src/inngest_app/functions/training/checkStuckTrainings.ts","host":"railway:999-multibots-telegraf","line":53,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/check-stuck-trainings","KIND":"cron","NAME":"check-stuck-trainings","NOTE":"Records whose Replicate id is still a placeholder are skipped, because there is nothing on the provider to ask about.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/30 * * * *","SERVICE":"src/inngest_app/functions/training/checkStuckTrainings.ts","SUMMARY_EN":"Finds model trainings still marked pending or processing past the stuck threshold and reconciles them against Replicate.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/check-stuck-trainings","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_check_stuck_trainings","name":{"en":"check-stuck-trainings"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"fb82b6e4149b8be9916c35694faaeca85b555a6e3044cd3bc35f4d836ce60e49","specPath":"specs/crons/999-multibots-telegraf-check-stuck-trainings.t27","summary":{"en":"Finds model trainings still marked pending or processing past the stuck threshold and reconciles them against Replicate.","ru":"Находит обучения моделей, застрявшие в pending или processing дольше порога, и сверяет их с Replicate."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/analytics/dailySalesAdvisor.ts#L56","where":{"file":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","host":"railway:999-multibots-telegraf","line":56,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/daily-sales-advisor","KIND":"cron","NAME":"daily-sales-advisor","NOTE":"One report per owner across all of their bots, assembled from the payments ledger rather than from a balance column.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 9 * * *","SERVICE":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","SUMMARY_EN":"Builds every bot owner a morning report of yesterday's revenue, the week's costs and which services their users actually bought.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/daily-sales-advisor","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_daily_sales_advisor","name":{"en":"daily-sales-advisor"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"0e2f8e5085ed1ea2b4b2f7732c9f9de00fcd19fda8d13e1f735865aa2cd32179","specPath":"specs/crons/999-multibots-telegraf-daily-sales-advisor.t27","summary":{"en":"Builds every bot owner a morning report of yesterday's revenue, the week's costs and which services their users actually bought.","ru":"Собирает каждому владельцу бота утренний отчёт: вчерашняя выручка, расходы недели и что реально покупали пользователи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/monitoring/criticalErrorMonitor.ts#L243","where":{"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","host":"railway:999-multibots-telegraf","line":243,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/health-check","KIND":"cron","NAME":"health-check","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"*/30 * * * *","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","SUMMARY_EN":"Probes the main API and the Inngest service every half hour and reports what answered.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_health_check","name":{"en":"health-check"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"b1bf93d0a864129e5c53a03b96cfe5d52069b5b65a7472dcef61a58cd6b87e1f","specPath":"specs/crons/999-multibots-telegraf-health-check.t27","summary":{"en":"Probes the main API and the Inngest service every half hour and reports what answered.","ru":"Каждые полчаса опрашивает основной API и сервис Inngest и сообщает, кто ответил."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/monitoring/logMonitor.ts#L360","where":{"file":"src/inngest_app/functions/monitoring/logMonitor.ts","host":"railway:999-multibots-telegraf","line":360,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/log-monitor","KIND":"cron","NAME":"log-monitor","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 10 * * *","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts","SUMMARY_EN":"Reads the application logs once a day, has a model summarise the errors and warnings, and sends the digest to Telegram.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/log-monitor","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_log_monitor","name":{"en":"log-monitor"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"3f1d2105328665203dc3850fea9f0245b7a6adbe5558e255756d168478812921","specPath":"specs/crons/999-multibots-telegraf-log-monitor.t27","summary":{"en":"Reads the application logs once a day, has a model summarise the errors and warnings, and sends the digest to Telegram.","ru":"Раз в день читает логи приложения, поручает модели свести ошибки и предупреждения и отправляет дайджест в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/webhookHealthGuard.ts#L218","where":{"file":"src/inngest_app/functions/webhookHealthGuard.ts","host":"railway:999-multibots-telegraf","line":218,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/periodic-webhook-health-check","KIND":"cron","NAME":"periodic-webhook-health-check","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"0 * * * *","SERVICE":"src/inngest_app/functions/webhookHealthGuard.ts","SUMMARY_EN":"Tests both Telegram webhook URLs every hour and sends the admin a critical alarm when neither of them answers.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/periodic-webhook-health-check","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_periodic_webhook_health_check","name":{"en":"periodic-webhook-health-check"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"a3b21a33a8a8022b527e3f46362fb6df63fb6f2e5ee642a439d88862dd4722f3","specPath":"specs/crons/999-multibots-telegraf-periodic-webhook-health-check.t27","summary":{"en":"Tests both Telegram webhook URLs every hour and sends the admin a critical alarm when neither of them answers.","ru":"Каждый час проверяет оба URL вебхука Telegram и шлёт админу критическую тревогу, когда не отвечает ни один."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"inngest","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/inngest_app/functions/analytics/skillDetector.ts#L32","where":{"file":"src/inngest_app/functions/analytics/skillDetector.ts","host":"railway:999-multibots-telegraf","line":32,"service":"inngest"}},"control":"inngest-dashboard","discarded":0,"fields":{"CONTROL":"inngest-dashboard","ENABLED":true,"HOST":"inngest","ID":"inngest/999-multibots-telegraf/skill-detector","KIND":"cron","NAME":"skill-detector","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"the \"skills\" it saves are bot prompt patterns, not Claude Code skills; no skill invocation found in source","SCHEDULE":"0 10 * * *","SERVICE":"src/inngest_app/functions/analytics/skillDetector.ts","SUMMARY_EN":"Mines successful generations for repeated model and prompt patterns once a day and saves the new ones as reusable skills.","TZ":"UTC"},"health":"ok","id":"inngest/999-multibots-telegraf/skill-detector","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_skill_detector","name":{"en":"skill-detector"},"runNow":{"kind":"link","url":"https://inngestinngest-production-6a21.up.railway.app","via":"inngest"},"runs":[],"runsResolved":[],"sha256":"d228015ce607198f53341b0b9dfc55a2cd0616e69487598d0cbabc34cc6892cf","specPath":"specs/crons/999-multibots-telegraf-skill-detector.t27","summary":{"en":"Mines successful generations for repeated model and prompt patterns once a day and saves the new ones as reusable skills.","ru":"Раз в день ищет в успешных генерациях повторяющиеся паттерны моделей и промптов и сохраняет новые как переиспользуемые навыки бота."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","kind":"railway-cron","repoPrivate":true,"sourceUrl":null,"where":{"file":null,"host":"railway:jobsearch-cron","line":null,"service":"jobsearch-cron"}},"control":"railway-dashboard","discarded":0,"fields":{"CONTROL":"railway-dashboard","ENABLED":true,"HOST":"railway-cron","ID":"railway-cron/999/jobsearch-cron","KIND":"cron","NAME":"jobsearch-cron","NOTE":"The schedule is configured in the Railway dashboard for project 999 and is not readable from the checkout; the probe below is what this catalog can verify.","ON_FAILURE":"unknown","REPO":"railway","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SCHEDULE":"","SCHEDULE_NOTE":"configured in the Railway dashboard (project 999); not readable from the checkout","SERVICE":"jobsearch-cron","SUMMARY_EN":"The scheduled job-search service of the Railway project, reachable at cron.t27.ai.","TZ":"UTC"},"health":"ok","id":"railway-cron/999/jobsearch-cron","inSpecCorpus":false,"messages":[],"moduleName":"cron_railway_jobsearch_cron","name":{"en":"jobsearch-cron"},"runNow":{"kind":"link","url":"https://railway.com/project/564d9ebd-7aa8-44fe-93ec-e0b03c87158d/service/3196472e-b885-43e0-b553-0644664e4496","via":"railway"},"runs":[],"runsResolved":[],"sha256":"8729edafdc8239d187c0f2b7d98238438d40ec439b39087e1654bb683366ec3a","specPath":"specs/crons/railway-jobsearch-cron.t27","summary":{"en":"The scheduled job-search service of the Railway project, reachable at cron.t27.ai.","ru":"Сервис поиска вакансий по расписанию в проекте Railway, доступен на cron.t27.ai."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/scripts/agent-autopilot.ts#L1118","where":{"file":"apps/vibee-editor/render/scripts/agent-autopilot.ts","host":"railway:vibee-render","line":1118,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/agent-autopilot-L1118","INTERVAL_MS":1800000,"KIND":"cron","NAME":"agent-autopilot-L1118","NOTE":"Daemon mode only, under --loop or AUTOPILOT_LOOP=1; AUTOPILOT_INTERVAL_MS overrides the thirty-minute period, with a one-minute floor.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/scripts/agent-autopilot.ts:1118","SUMMARY_EN":"Runs one autopilot cycle -- the generation pass and then the channel tick -- and skips the tick entirely when the previous cycle is still running.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/agent-autopilot-L1118","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_agent_autopilot_L1118","name":{"en":"agent-autopilot-L1118"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"39c25a3a6c40cff4e3ad9aa098e7492803a9cc78a935e74966c4f95939c85228","specPath":"specs/crons/999-multibots-telegraf-agent-autopilot-L1118.t27","summary":{"en":"Runs one autopilot cycle -- the generation pass and then the channel tick -- and skips the tick entirely when the previous cycle is still running.","ru":"Один цикл автопилота — проход генерации и затем тик канала; тик пропускается целиком, если предыдущий цикл ещё идёт."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/bot-owner-billing.ts#L474","where":{"file":"src/services/bot-owner-billing.ts","host":"railway:999-multibots-telegraf","line":474,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/bot-owner-billing-L474","INTERVAL_MS":86400000,"KIND":"cron","NAME":"bot-owner-billing-L474","NOTE":"The first run after a restart is skipped on purpose, and an owner whose payments cannot be read is left alone rather than accused.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/bot-owner-billing.ts:474","SUMMARY_EN":"Recomputes every bot owner's debt from the payments ledger, warns them at the soft, warning and critical thresholds, and disables a bot that stays critical for three days.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/bot-owner-billing-L474","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_bot_owner_billing_L474","name":{"en":"bot-owner-billing-L474"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"b2fb3c2d66630369c42ae4aba3f80538661c5591de99f1b088c569185be83197","specPath":"specs/crons/999-multibots-telegraf-bot-owner-billing-L474.t27","summary":{"en":"Recomputes every bot owner's debt from the payments ledger, warns them at the soft, warning and critical thresholds, and disables a bot that stays critical for three days.","ru":"Пересчитывает долг каждого владельца бота по журналу платежей, предупреждает на мягком, тревожном и критическом порогах и отключает бота, три дня остающегося критическим."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/crmProactive.ts#L375","where":{"file":"src/services/crmProactive.ts","host":"railway:999-multibots-telegraf","line":375,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/crmProactive-L375","INTERVAL_MS":1800000,"KIND":"cron","NAME":"crmProactive-L375","NOTE":"The period is CRM_PROACTIVE_MINUTES from src/index.ts, thirty minutes by default; the first sweep waits two minutes after start.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/crmProactive.ts:375","SUMMARY_EN":"Runs one proactive seller turn for the owner: walks the CRM queue and puts the next draft card in front of them without being asked.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/crmProactive-L375","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_crmProactive_L375","name":{"en":"crmProactive-L375"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"68cef02f70476660ff1d1df04010d0a3d6cbe249c35da94d97f4c2a641e57d5e","specPath":"specs/crons/999-multibots-telegraf-crmProactive-L375.t27","summary":{"en":"Runs one proactive seller turn for the owner: walks the CRM queue and puts the next draft card in front of them without being asked.","ru":"Один проактивный ход продавца для владельца: обходит очередь CRM и кладёт перед ним следующую карточку-черновик без просьбы."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/generate-jobs.ts#L164","where":{"file":"apps/vibee-editor/render/generate-jobs.ts","host":"railway:vibee-render","line":164,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/generate-jobs-L164","INTERVAL_MS":300000,"KIND":"cron","NAME":"generate-jobs-L164","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/generate-jobs.ts:164","SUMMARY_EN":"Sweeps finished generation jobs out of memory an hour after they end, once a caller who lost the connection has had time to collect the result.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/generate-jobs-L164","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_generate_jobs_L164","name":{"en":"generate-jobs-L164"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"c72b9a7b5fa9804c513eb5c2ebff0868bbf2a7226347826e64bbd34f6bef6475","specPath":"specs/crons/999-multibots-telegraf-generate-jobs-L164.t27","summary":{"en":"Sweeps finished generation jobs out of memory an hour after they end, once a caller who lost the connection has had time to collect the result.","ru":"Через час после завершения выметает из памяти законченные задания генерации, когда потерявший соединение клиент успел забрать результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/handlers/notificationHandler.ts#L318","where":{"file":"src/handlers/notificationHandler.ts","host":"railway:999-multibots-telegraf","line":318,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/notificationHandler-L318","INTERVAL_MS":60000,"KIND":"cron","NAME":"notificationHandler-L318","NOTE":"Wrapped in an exclusive tick, so two bot processes cannot deliver the same notification twice.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/handlers/notificationHandler.ts:318","SUMMARY_EN":"Drains the notification queue and delivers the Telegram messages waiting in it.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/notificationHandler-L318","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_notificationHandler_L318","name":{"en":"notificationHandler-L318"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"9114a4bdfb275175f60c5a111bdc07bbfcbb62c55a0871176b8f93e3436bdd9f","specPath":"specs/crons/999-multibots-telegraf-notificationHandler-L318.t27","summary":{"en":"Drains the notification queue and delivers the Telegram messages waiting in it.","ru":"Разгружает очередь уведомлений и доставляет ждущие в ней сообщения Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/handlers/notificationHandler.ts#L324","where":{"file":"src/handlers/notificationHandler.ts","host":"railway:999-multibots-telegraf","line":324,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/notificationHandler-L324","INTERVAL_MS":3600000,"KIND":"cron","NAME":"notificationHandler-L324","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/handlers/notificationHandler.ts:324","SUMMARY_EN":"Deletes notification messages old enough that nobody is going to read them.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/notificationHandler-L324","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_notificationHandler_L324","name":{"en":"notificationHandler-L324"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"44d2e3c8843519a512128399557c8d7af29ca2491f769f91c845dc44e0b63f9a","specPath":"specs/crons/999-multibots-telegraf-notificationHandler-L324.t27","summary":{"en":"Deletes notification messages old enough that nobody is going to read them.","ru":"Удаляет уведомления, настолько старые, что их уже никто не прочитает."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/utils/production-monitor.ts#L80","where":{"file":"src/utils/production-monitor.ts","host":"railway:999-multibots-telegraf","line":80,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":false,"HOST":"timer","ID":"timer/999-multibots-telegraf/production-monitor-L80","INTERVAL_MS":300000,"KIND":"cron","NAME":"production-monitor-L80","NOTE":"Started only by running this module from the command line with the `monitor` argument; the bot's own entry point never starts it.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/utils/production-monitor.ts:80","SUMMARY_EN":"Re-runs the container, nginx, port, domain, webhook and system-resource checks, and applies the fixes that are enabled.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/production-monitor-L80","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_production_monitor_L80","name":{"en":"production-monitor-L80"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"880d0b6c01b2b1e4cc9bc92c11ef300b8335bdf8ca842308bca7d3fd7e979254","specPath":"specs/crons/999-multibots-telegraf-production-monitor-L80.t27","summary":{"en":"Re-runs the container, nginx, port, domain, webhook and system-resource checks, and applies the fixes that are enabled.","ru":"Повторяет проверки контейнера, nginx, порта, домена, вебхука и ресурсов системы и применяет включённые исправления."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/provider-health-monitor.ts#L344","where":{"file":"src/services/provider-health-monitor.ts","host":"railway:999-multibots-telegraf","line":344,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/provider-health-monitor-L344","INTERVAL_MS":300000,"KIND":"cron","NAME":"provider-health-monitor-L344","NOTE":"Providers listed in HEALTH_SKIP_PROVIDERS are deliberately not watched and do not raise the alarm.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/provider-health-monitor.ts:344","SUMMARY_EN":"Checks every AI provider that is not parked and records whether it is currently answering.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/provider-health-monitor-L344","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_provider_health_monitor_L344","name":{"en":"provider-health-monitor-L344"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"0044630e40dc2673a2d1210e848f1a3cd41cc2b21b541bec98e305f0192a2de7","specPath":"specs/crons/999-multibots-telegraf-provider-health-monitor-L344.t27","summary":{"en":"Checks every AI provider that is not parked and records whether it is currently answering.","ru":"Проверяет каждого не отключённого AI-провайдера и записывает, отвечает ли он сейчас."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L10845","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":10845,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L10845","INTERVAL_MS":30000,"KIND":"cron","NAME":"render-server-L10845","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:10845","SUMMARY_EN":"Pings every websocket peer and drops the ones that did not answer the previous round.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L10845","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L10845","name":{"en":"render-server-L10845"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"bfcd81ea5f3b3040dccce76d91dd699347e49c2df843529218ee138560e2d924","specPath":"specs/crons/999-multibots-telegraf-render-server-L10845.t27","summary":{"en":"Pings every websocket peer and drops the ones that did not answer the previous round.","ru":"Пингует каждого websocket-пира и отключает тех, кто не ответил в прошлом раунде."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L2301","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":2301,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L2301","INTERVAL_MS":60000,"KIND":"cron","NAME":"render-server-L2301","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:2301","SUMMARY_EN":"Removes render jobs older than an hour from the in-memory job map.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L2301","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L2301","name":{"en":"render-server-L2301"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"37e3dca7f4836af5ecfde5eaaa2aa993ac19087ac902adbb4015c04527a2af62","specPath":"specs/crons/999-multibots-telegraf-render-server-L2301.t27","summary":{"en":"Removes render jobs older than an hour from the in-memory job map.","ru":"Удаляет из карты в памяти задания рендера старше часа."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L2325","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":2325,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L2325","INTERVAL_MS":600000,"KIND":"cron","NAME":"render-server-L2325","NOTE":"Checks often and writes rarely: the cursor lives in the database, because this Railway project has no volume and a deploy wipes local state.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:2325","SUMMARY_EN":"Reads the hive journal and delivers the queen's report to the keepers, passing alarms straight through and batching ordinary events.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L2325","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L2325","name":{"en":"render-server-L2325"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"11b24d4332b7e356f77b233a20d578c3ec31da71ff34be37d16d29d7d4471d5b","specPath":"specs/crons/999-multibots-telegraf-render-server-L2325.t27","summary":{"en":"Reads the hive journal and delivers the queen's report to the keepers, passing alarms straight through and batching ordinary events.","ru":"Читает журнал улья и доставляет отчёт королевы хранителям: тревоги — сразу, обычные события — пакетом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/apps/vibee-editor/render/render-server.ts#L919","where":{"file":"apps/vibee-editor/render/render-server.ts","host":"railway:vibee-render","line":919,"service":"render"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/render-server-L919","INTERVAL_MS":5000,"KIND":"cron","NAME":"render-server-L919","NOTE":"Only starts when a session signing key is configured; a deployed render server refuses to boot without one.","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"apps/vibee-editor/render/render-server.ts:919","SUMMARY_EN":"Re-reads the session revocation list from Postgres so a revoked browser session stops being accepted.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/render-server-L919","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_render_server_L919","name":{"en":"render-server-L919"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"f86d77af65dfb35cc4adf4202c8f06577e82d7856edbcac656ef735eeba19a52","specPath":"specs/crons/999-multibots-telegraf-render-server-L919.t27","summary":{"en":"Re-reads the session revocation list from Postgres so a revoked browser session stops being accepted.","ru":"Перечитывает из Postgres список отозванных сессий, чтобы отозванная сессия браузера перестала приниматься."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/modules/videoGenerator/taskCache.ts#L27","where":{"file":"src/modules/videoGenerator/taskCache.ts","host":"railway:999-multibots-telegraf","line":27,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/taskCache-L27","INTERVAL_MS":300000,"KIND":"cron","NAME":"taskCache-L27","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/modules/videoGenerator/taskCache.ts:27","SUMMARY_EN":"Drops video-generation cache entries past their fifteen-minute lifetime so a finished task cannot block the next request.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/taskCache-L27","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_taskCache_L27","name":{"en":"taskCache-L27"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"ca7f9a9edce47fe23ef59515d87ba7f391b878a9c5115b43e9c32b4a70fe90db","specPath":"specs/crons/999-multibots-telegraf-taskCache-L27.t27","summary":{"en":"Drops video-generation cache entries past their fifteen-minute lifetime so a finished task cannot block the next request.","ru":"Сбрасывает записи кэша видеогенерации старше пятнадцати минут, чтобы завершённая задача не блокировала следующий запрос."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","kind":"timer","repoPrivate":true,"sourceUrl":"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/gHashTag/999-multibots-telegraf/blob/3f01d449e5a04d37f6ff4d76d5572f499c201789/src/services/video-task-store.ts#L156","where":{"file":"src/services/video-task-store.ts","host":"railway:999-multibots-telegraf","line":156,"service":"bot"}},"control":"code-only","discarded":0,"fields":{"CONTROL":"code-only","ENABLED":true,"HOST":"timer","ID":"timer/999-multibots-telegraf/video-task-store-L156","INTERVAL_MS":600000,"KIND":"cron","NAME":"video-task-store-L156","ON_FAILURE":"log","REPO":"999-multibots-telegraf","RUNS":[],"RUNS_NOTE":"no skill invocation found in source","SERVICE":"src/services/video-task-store.ts:156","SUMMARY_EN":"Forgets video tasks older than an hour and rewrites the store to disk when anything was removed.","TZ":"UTC"},"health":"ok","id":"timer/999-multibots-telegraf/video-task-store-L156","inSpecCorpus":false,"messages":[],"moduleName":"cron_999_multibots_telegraf_video_task_store_L156","name":{"en":"video-task-store-L156"},"runNow":{"kind":"disabled","reason":"timer"},"runs":[],"runsResolved":[],"sha256":"dc4e3d6c76cac57a36074da8a9d6aac8df1f1c55bb68a593c2cadf94c94351b1","specPath":"specs/crons/999-multibots-telegraf-video-task-store-L156.t27","summary":{"en":"Forgets video tasks older than an hour and rewrites the store to disk when anything was removed.","ru":"Забывает видеозадачи старше часа и переписывает хранилище на диск, если что-то было удалено."},"typecheckOk":true,"witness":"spec+code"}],"generatedAt":"2026-09-13T03:52:07.716Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":33,"total":33},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"version":1} diff --git a/apps/website/public/functions/spec-functions.json b/apps/website/public/functions/spec-functions.json index 4ba350942e..c51501ed94 100644 --- a/apps/website/public/functions/spec-functions.json +++ b/apps/website/public/functions/spec-functions.json @@ -1 +1 @@ -{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"065b46fe572093d36add5b0a3589a0946d497d70575bb873012947498d40f81c","counts":{"byDomain":{"analytics":2,"broadcast":1,"content":3,"instagram":3,"monitoring":4,"morph":1,"neuro":1,"payment":1,"reels":3,"render":3,"training":4,"webhook":1,"welcome":1},"byProbeResult":{"COMPLETED":7,"FAILED-at-guard":16,"not-deployed":4,"skipped":1},"bySideEffect":{"charges-balance":6,"db-write":16,"external-webhook":3,"messages-admin":6,"messages-owners":2,"messages-user":12,"none":0,"paid-api":19},"byTrigger":{"cron":5,"event":23},"codeOnly":0,"deployUnknown":0,"deployed":24,"notDeployed":4,"specOnly":0,"specPlusCode":28,"specs":28,"typecheckOk":28,"withCronSpec":5,"withDifferences":1},"functions":[{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","legacyId":"daily-sales-advisor","probeResult":"COMPLETED","retries":1,"steps":5},"cronSpec":"inngest/999-multibots-telegraf/daily-sales-advisor","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 9 * * *","DOMAIN":"analytics","EVENT":"","GUARD":"none","ID":"analytics-sales-advise","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"daily-sales-advisor","NAME":"Daily sales advisor","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/daily-sales-advisor. The step name report-${ownerId} is a template expanded once per owner. A manual invoke on 2026-09-09 messaged 13 owners; the hardening list asks this function to honour safe mode.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts:54","SIDE_EFFECTS":["messages-owners","messages-admin"],"STEPS":["load-owners","load-payments-7d","load-payments-1d","load-payments-2d","report-${ownerId}"],"SUMMARY_EN":"Every day at 09:00 UTC loads the bot owners and their payments over the last seven, two and one days and sends each owner a sales report, with a copy to the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"analytics-sales-advise","inSpecCorpus":false,"messages":[],"moduleName":"fn_analytics_sales_advise","name":{"en":"Daily sales advisor","ru":"Ежедневный советник по продажам"},"sha256":"22f09be2b6651090b1704700bf03ee6e25c741ef726c92c34171cb37e0eb4fa4","specPath":"specs/functions/analytics-sales-advise.t27","summary":{"en":"Every day at 09:00 UTC loads the bot owners and their payments over the last seven, two and one days and sends each owner a sales report, with a copy to the admin chat.","ru":"Каждый день в 09:00 UTC загружает владельцев ботов и их платежи за последние семь, два и один день и отправляет каждому владельцу отчёт о продажах с копией в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/analytics/skillDetector.ts","legacyId":"skill-detector","probeResult":"COMPLETED","retries":1,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/skill-detector","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 10 * * *","DOMAIN":"analytics","EVENT":"","GUARD":"none","ID":"analytics-skills-detect","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"skill-detector","NAME":"Skill detector","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/skill-detector. The step name detect-${serviceType} is a template expanded once per service type.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/analytics/skillDetector.ts:30","SIDE_EFFECTS":["messages-owners","messages-admin"],"STEPS":["load-existing-skills","detect-${serviceType}","notify-admin"],"SUMMARY_EN":"Every day at 10:00 UTC loads the known skills, detects new service types from recent usage, one detection step per service type, and notifies the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"analytics-skills-detect","inSpecCorpus":false,"messages":[],"moduleName":"fn_analytics_skills_detect","name":{"en":"Skill detector","ru":"Детектор навыков"},"sha256":"e03e0b8b71566e3cce95146ec4825f3421b844c504f10a8ca0e755db14540e53","specPath":"specs/functions/analytics-skills-detect.t27","summary":{"en":"Every day at 10:00 UTC loads the known skills, detects new service types from recent usage, one detection step per service type, and notifies the admin chat.","ru":"Каждый день в 10:00 UTC загружает известные навыки, находит новые типы сервисов по недавнему использованию (по одному шагу на тип сервиса) и уведомляет админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"broadcast-message","probeResult":"FAILED-at-guard","retries":null,"steps":0},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"broadcast","EVENT":"broadcast/message.send","GUARD":"validate-input","ID":"broadcast-message-send","KIND":"function","LEGACY_EVENTS":["broadcast/send-message"],"LEGACY_ID":"broadcast-message","NAME":"Broadcast message","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout (retries 3). Guard is validate-input. A test_telegram_id in the payload narrows the audience to one recipient.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/broadcast/broadcastMessage.ts:22","SIDE_EFFECTS":["messages-user"],"STEPS":["validate-input","check-permissions","fetch-users","send-messages","analyze-results"],"SUMMARY_EN":"Sends a broadcast to a bot audience: validates the request, checks the sender permissions, fetches the recipients, sends the messages and summarises the delivery results.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"broadcast-message-send","inSpecCorpus":false,"messages":[],"moduleName":"fn_broadcast_message_send","name":{"en":"Broadcast message","ru":"Рассылка сообщения"},"sha256":"53f3415e61b946dfe7216c4d03e52cd53225207b9a8741bf9904dab9092eb357","specPath":"specs/functions/broadcast-message-send.t27","summary":{"en":"Sends a broadcast to a bot audience: validates the request, checks the sender permissions, fetches the recipients, sends the messages and summarises the delivery results.","ru":"Отправляет рассылку аудитории бота: проверяет запрос и права отправителя, получает список получателей, отправляет сообщения и подводит итоги доставки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateDetailedScript.ts","legacyId":"generate-detailed-script","probeResult":"FAILED-at-guard","retries":null,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/detailed-script.generate","GUARD":"zod-schema","ID":"content-detailed-script-generate","KIND":"function","LEGACY_EVENTS":["content/generate-detailed-script"],"LEGACY_ID":"generate-detailed-script","NAME":"Generate detailed script","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateDetailedScript.ts:191","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["create-script-record","generate-detailed-scenes","save-detailed-script"],"SUMMARY_EN":"Expands a script into detailed scenes: creates the script record, generates the scene-by-scene text with a language model and stores the detailed script.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-detailed-script-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_detailed_script_generate","name":{"en":"Generate detailed script","ru":"Детальный сценарий"},"sha256":"4360313e280f6638395cf3aab44984a5a215e39aa9c61d11ed8c0e5ecfb028a3","specPath":"specs/functions/content-detailed-script-generate.t27","summary":{"en":"Expands a script into detailed scenes: creates the script record, generates the scene-by-scene text with a language model and stores the detailed script.","ru":"Разворачивает сценарий в подробные сцены: создаёт запись сценария, генерирует текст по сценам языковой моделью и сохраняет детальный сценарий."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateScenarioClips.ts","legacyId":"generate-scenario-clips","probeResult":"FAILED-at-guard","retries":null,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/scenario-clips.generate","GUARD":"zod-schema","ID":"content-scenario-clips-generate","KIND":"function","LEGACY_EVENTS":["content/generate-scenario-clips"],"LEGACY_ID":"generate-scenario-clips","NAME":"Generate scenario clips","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateScenarioClips.ts:221","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["create-scenario-record","generate-detailed-scenes","create-text-reports-archive","update-scenario-record"],"SUMMARY_EN":"Builds a scenario from a script: creates the scenario record, generates the detailed scenes, packs the text reports into an archive and updates the record.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-scenario-clips-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_scenario_clips_generate","name":{"en":"Generate scenario clips","ru":"Клипы по сценарию"},"sha256":"a7f24bf9b6921c2d3b5bbb4bd4519b8bb42623a7bf54ba85ceb3b39e12799c74","specPath":"specs/functions/content-scenario-clips-generate.t27","summary":{"en":"Builds a scenario from a script: creates the scenario record, generates the detailed scenes, packs the text reports into an archive and updates the record.","ru":"Строит сценарий по скрипту: создаёт запись, генерирует подробные сцены, упаковывает текстовые отчёты в архив и обновляет запись."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateContentScripts.ts","legacyId":"generate-content-scripts","probeResult":"FAILED-at-guard","retries":null,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/scripts.generate","GUARD":"zod-schema","ID":"content-scripts-generate","KIND":"function","LEGACY_EVENTS":["instagram/generate-scripts"],"LEGACY_ID":"generate-content-scripts","NAME":"Generate content scripts","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema. The legacy event name keeps the instagram/ prefix the function was first registered under.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateContentScripts.ts:44","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["get-reel-data","extract-audio","transcribe-audio","generate-scripts","save-scripts"],"SUMMARY_EN":"Writes content scripts from a stored reel: loads the reel, extracts and transcribes the audio, generates the scripts with a language model and stores them.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-scripts-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_scripts_generate","name":{"en":"Generate content scripts","ru":"Сценарии контента"},"sha256":"2c65fc896945f85b8a031bf434390756577e278e8daf5affeed9046d7978492a","specPath":"specs/functions/content-scripts-generate.t27","summary":{"en":"Writes content scripts from a stored reel: loads the reel, extracts and transcribes the audio, generates the scripts with a language model and stores them.","ru":"Пишет сценарии контента по сохранённому рилсу: загружает рилс, извлекает и расшифровывает звук, генерирует сценарии языковой моделью и сохраняет их."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/findCompetitors.ts","legacyId":"find-competitors","probeResult":"FAILED-at-guard","retries":null,"steps":6},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/competitors.find","GUARD":"validate-input","ID":"instagram-competitors-find","KIND":"function","LEGACY_EVENTS":["instagram/find-competitors"],"LEGACY_ID":"find-competitors","NAME":"Find competitors","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is validate-input.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/findCompetitors.ts:134","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["validate-input","validate-project","call-instagram-api","filter-by-followers","save-to-competitors-table","send-telegram-notification"],"SUMMARY_EN":"Finds Instagram competitors for a project: validates the request and the project, calls the Instagram API, filters by follower count, stores the competitors and notifies the requester in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-competitors-find","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_competitors_find","name":{"en":"Find competitors","ru":"Поиск конкурентов"},"sha256":"8201d47aaa9d3ca811c9a2ddf8b4e227645473d0122da9311fd542a5e53cfaa9","specPath":"specs/functions/instagram-competitors-find.t27","summary":{"en":"Finds Instagram competitors for a project: validates the request and the project, calls the Instagram API, filters by follower count, stores the competitors and notifies the requester in Telegram.","ru":"Находит конкурентов в Instagram для проекта: проверяет запрос и проект, вызывает Instagram API, фильтрует по числу подписчиков, сохраняет конкурентов и уведомляет заказчика в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/analyzeCompetitorReels.ts","legacyId":"analyze-competitor-reels","probeResult":"FAILED-at-guard","retries":null,"steps":7},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/reels.analyze","GUARD":"validate-input","ID":"instagram-reels-analyze","KIND":"function","LEGACY_EVENTS":["instagram/analyze-reels"],"LEGACY_ID":"analyze-competitor-reels","NAME":"Analyze competitor reels","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is validate-input.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/analyzeCompetitorReels.ts:211","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["validate-input","validate-project","call-instagram-reels-api","filter-reels-by-date","calculate-metrics","save-to-reels-analysis-table","send-telegram-notification"],"SUMMARY_EN":"Analyzes the recent reels of an Instagram competitor for a project: validates the request and the project, calls the reels API, filters by date, computes the metrics, stores the analysis and notifies the requester in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-reels-analyze","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_reels_analyze","name":{"en":"Analyze competitor reels","ru":"Анализ рилсов конкурента"},"sha256":"6c4c986a981251d73c668906e1bf7d6d1890d1c9cff359d33a05a64551ed5a0a","specPath":"specs/functions/instagram-reels-analyze.t27","summary":{"en":"Analyzes the recent reels of an Instagram competitor for a project: validates the request and the project, calls the reels API, filters by date, computes the metrics, stores the analysis and notifies the requester in Telegram.","ru":"Анализирует недавние рилсы конкурента в Instagram для проекта: проверяет запрос и проект, вызывает API рилсов, фильтрует по дате, считает метрики, сохраняет анализ и уведомляет заказчика в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/extractTopContent.ts","legacyId":"extract-top-content","probeResult":"FAILED-at-guard","retries":null,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/top-content.extract","GUARD":"zod-schema","ID":"instagram-top-content-extract","KIND":"function","LEGACY_EVENTS":["instagram/extract-top"],"LEGACY_ID":"extract-top-content","NAME":"Extract top content","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/extractTopContent.ts:33","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["query-top-reels","process-reels","format-report"],"SUMMARY_EN":"Extracts the top-performing reels already stored for a project: queries the stored reels, processes them and formats the report.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-top-content-extract","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_top_content_extract","name":{"en":"Extract top content","ru":"Лучший контент"},"sha256":"4b2c8ee5877c376316e94eda74ac07c789c1ee5c467313c7f093a3ae32bdc4b6","specPath":"specs/functions/instagram-top-content-extract.t27","summary":{"en":"Extracts the top-performing reels already stored for a project: queries the stored reels, processes them and formats the report.","ru":"Извлекает самые результативные рилсы, уже сохранённые для проекта: запрашивает их из базы, обрабатывает и формирует отчёт."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","legacyId":"critical-error-monitor","probeResult":"COMPLETED","retries":1,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"monitoring","EVENT":"monitoring/error.report","GUARD":"none","ID":"monitoring-error-report","KIND":"function","LEGACY_EVENTS":["app/error.critical"],"LEGACY_ID":"critical-error-monitor","NAME":"Critical error report","NOTE":"No guard: the event is emitted by the application itself. The hardening list asks the formatter to render string, Error and {message} payloads and never print [object Object].","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts:175","SIDE_EFFECTS":["messages-admin"],"STEPS":["analyze-error","format-message","send-notification","log-for-analysis"],"SUMMARY_EN":"Reports a critical application error to the admin chat: analyzes the error, formats the message, sends the notification and logs the incident for later analysis.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"monitoring-error-report","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_error_report","name":{"en":"Critical error report","ru":"Отчёт о критической ошибке"},"sha256":"13cb1dcbfcb0f13ec58ba56cd2b3b2b788ccbc0e2b6cfc610e46b850889bee15","specPath":"specs/functions/monitoring-error-report.t27","summary":{"en":"Reports a critical application error to the admin chat: analyzes the error, formats the message, sends the notification and logs the incident for later analysis.","ru":"Сообщает о критической ошибке приложения в админ-чат: анализирует ошибку, форматирует сообщение, отправляет уведомление и записывает инцидент для последующего разбора."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","legacyId":"health-check","probeResult":"COMPLETED","retries":2,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/health-check","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"*/30 * * * *","DOMAIN":"monitoring","EVENT":"","GUARD":"none","ID":"monitoring-health-check","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"health-check","NAME":"Health check","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/health-check. Lives in the same file as monitoring-error-report.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts:235","SIDE_EFFECTS":["messages-admin"],"STEPS":["check-api-health","check-inngest-health","notify-unhealthy"],"SUMMARY_EN":"Every 30 minutes checks the API server and the Inngest service and messages the admin chat when either is unhealthy.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"monitoring-health-check","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_health_check","name":{"en":"Health check","ru":"Проверка здоровья"},"sha256":"57c23797300ea168c457a74d4edc25c1bcd249408efb634dcd32a7dbfa086260","specPath":"specs/functions/monitoring-health-check.t27","summary":{"en":"Every 30 minutes checks the API server and the Inngest service and messages the admin chat when either is unhealthy.","ru":"Каждые 30 минут проверяет API-сервер и сервис Inngest и пишет в админ-чат, если один из них нездоров."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/logMonitor.ts","legacyId":"log-monitor","probeResult":"COMPLETED","retries":2,"steps":4},"cronSpec":"inngest/999-multibots-telegraf/log-monitor","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 10 * * *","DOMAIN":"monitoring","EVENT":"","GUARD":"none","ID":"monitoring-logs-analyze","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"log-monitor","NAME":"Daily log analysis","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/log-monitor. When LOG_DIR is absent on the host the analysis has nothing to read; the hardening list asks for a fallback to the Inngest run summary.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts:352","SIDE_EFFECTS":["messages-admin"],"STEPS":["read-logs","analyze-logs","generate-message","send-notification"],"SUMMARY_EN":"Every day at 10:00 UTC reads the application logs, analyzes them for errors and warnings, generates a summary and sends it to the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"monitoring-logs-analyze","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_logs_analyze","name":{"en":"Daily log analysis","ru":"Ежедневный анализ логов"},"sha256":"95c9e9bbfaae6a21c206eb8bd48f2a4eb041ab64cfbb9e7e709069e3ac14de52","specPath":"specs/functions/monitoring-logs-analyze.t27","summary":{"en":"Every day at 10:00 UTC reads the application logs, analyzes them for errors and warnings, generates a summary and sends it to the admin chat.","ru":"Каждый день в 10:00 UTC читает логи приложения, ищет в них ошибки и предупреждения, формирует сводку и отправляет её в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/logMonitor.ts","legacyId":"trigger-log-monitor","probeResult":"COMPLETED","retries":1,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"monitoring","EVENT":"monitoring/logs.trigger","GUARD":"none","ID":"monitoring-logs-trigger","KIND":"function","LEGACY_EVENTS":["logs/monitor.trigger"],"LEGACY_ID":"trigger-log-monitor","NAME":"Log analysis on demand","NOTE":"Shares its file and its four steps with monitoring-logs-analyze; only the trigger differs.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts:408","SIDE_EFFECTS":["messages-admin"],"STEPS":["read-logs","analyze-logs","generate-message","send-notification"],"SUMMARY_EN":"Runs the same log analysis as the daily job when asked by an event: reads the logs, analyzes them, generates the summary and sends it to the admin chat.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"monitoring-logs-trigger","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_logs_trigger","name":{"en":"Log analysis on demand","ru":"Анализ логов по запросу"},"sha256":"9bb3e3fb5d73315392c6a08b674ca0b04d63b1e324dfa2a5ecb50bbdae6d074f","specPath":"specs/functions/monitoring-logs-trigger.t27","summary":{"en":"Runs the same log analysis as the daily job when asked by an event: reads the logs, analyzes them, generates the summary and sends it to the admin chat.","ru":"Выполняет тот же анализ логов, что и ежедневная задача, по событию: читает логи, анализирует их, формирует сводку и отправляет в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/training/morphImages.ts","legacyId":"morph-images","probeResult":"FAILED-at-guard","retries":3,"steps":8},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"morph","EVENT":"morph/images.generate","GUARD":"check-user-exists","ID":"morph-images-generate","KIND":"function","LEGACY_EVENTS":["morph/images.requested"],"LEGACY_ID":"morph-images","NAME":"Morph images","NOTE":"Guard is check-user-exists. A second, unregistered copy of this function exists in the tree (src/inngest_app/functions/morphImages.ts); the registered one is the file named in SERVICE.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"is_ru\": true, \"job_id\": \"e2e-probe\", \"image_files\": [], \"extraction_path\": \"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/nonexistent/e2e\", \"morphing_type\": \"seamless\", \"model\": \"kling-v1.6-pro\"}","SERVICE":"src/inngest_app/functions/training/morphImages.ts:30","SIDE_EFFECTS":["charges-balance","paid-api","messages-user"],"STEPS":["check-user-exists","check-balance","notify-start","process-all-pairs","process-loop-pair","concatenate-all-videos","cleanup-temp-files","deliver-result"],"SUMMARY_EN":"Morphs a sequence of user images into one video: checks the user and the balance, notifies the start, processes each image pair into a clip, concatenates the clips, cleans up and delivers the result.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"morph-images-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_morph_images_generate","name":{"en":"Morph images","ru":"Морфинг изображений"},"sha256":"2d830937229c3a5e780c372b433bbf53e38ccde9444ecb20e599fb20e65b2444","specPath":"specs/functions/morph-images-generate.t27","summary":{"en":"Morphs a sequence of user images into one video: checks the user and the balance, notifies the start, processes each image pair into a clip, concatenates the clips, cleans up and delivers the result.","ru":"Превращает последовательность изображений пользователя в одно видео: проверяет пользователя и баланс, сообщает о старте, обрабатывает каждую пару изображений в клип, склеивает клипы, очищает временные файлы и отдаёт результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/neuroImageGeneration.ts","legacyId":"neuro-image-generation","probeResult":"FAILED-at-guard","retries":3,"steps":11},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"neuro","EVENT":"neuro/image.generate","GUARD":"check-user","ID":"neuro-image-generate","KIND":"function","LEGACY_EVENTS":["neuro/photo.generate"],"LEGACY_ID":"neuro-image-generation","NAME":"Neuro image generation","NOTE":"Guard is check-user: an unknown telegram_id stops the run before any payment or paid API call. The step names generate-image-${i} and notify-image-${i} are templates the code expands once per requested image.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"prompt\": \"safe-mode probe\", \"is_ru\": true, \"num_images\": 1, \"model_url\": \"e2e/none\"}","SERVICE":"src/inngest_app/functions/neuroImageGeneration.ts:56","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["get-bot","check-user","get-user-gender","update-level","calculate-total-cost","process-payment","get-aspect-ratio","generate-image-${i}","notify-image-${i}","deduct-balance-final","final-notification"],"SUMMARY_EN":"Generates one or more images for a Telegram user from a prompt and a model URL: loads the bot and the user, computes the total cost, charges the balance, then generates and sends each image and settles the balance at the end.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"neuro-image-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_neuro_image_generate","name":{"en":"Neuro image generation","ru":"Нейро-генерация изображений"},"sha256":"513d1e81f02cb450989ea83082948afcce37819434528fbed6b60930b2941fd8","specPath":"specs/functions/neuro-image-generate.t27","summary":{"en":"Generates one or more images for a Telegram user from a prompt and a model URL: loads the bot and the user, computes the total cost, charges the balance, then generates and sends each image and settles the balance at the end.","ru":"Генерирует одно или несколько изображений для пользователя Telegram по промпту и URL модели: загружает бота и пользователя, считает полную стоимость, списывает баланс, затем генерирует и отправляет каждое изображение и сводит баланс в конце."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"payment-processing-ai-server","probeResult":"COMPLETED","retries":null,"steps":0},"cronSpec":null,"differences":[{"code":"log","field":"ON_FAILURE","spec":"admin-telegram"}],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"payment","EVENT":"payment/ai-server.process","GUARD":"amount-match","ID":"payment-ai-server-process","KIND":"function","LEGACY_EVENTS":["payment/process-ai-server"],"LEGACY_ID":"payment-processing-ai-server","NAME":"AI-server payment processing","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout, where retries is declared as 3 and onFailure is createInngestFailureHandler, which logs and messages the admin chat -- the manifest says on_failure log. Guard is amount-match: an amount matching no plan or option stops the run, which is why the 2026-09-09 probe with IncSum 0.01 COMPLETED without a balance change.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"IncSum\": \"0.01\", \"inv_id\": \"e2e-safe-mode-probe\"}","SERVICE":"src/inngest_app/functions/payments/paymentProcessing.ts:64","SIDE_EFFECTS":["db-write","messages-user"],"STEPS":["check-subscription-plan","check-payment-option","get-user-info","get-bot-config","update-user-balance","send-notification"],"SUMMARY_EN":"Processes a payment reported by the AI server: matches the amount to a subscription plan or a payment option, loads the user and the bot configuration, updates the user balance and sends the payment notification.","TRIGGER":"event","TZ":"UTC"},"health":"warn","id":"payment-ai-server-process","inSpecCorpus":false,"messages":["ON_FAILURE \"admin-telegram\" differs from the manifest (\"log\")"],"moduleName":"fn_payment_ai_server_process","name":{"en":"AI-server payment processing","ru":"Обработка платежа AI-сервера"},"sha256":"07191109132327c0a3743ccc06815ccd2c64b5b6d604b358d26cb6e236dadfe6","specPath":"specs/functions/payment-ai-server-process.t27","summary":{"en":"Processes a payment reported by the AI server: matches the amount to a subscription plan or a payment option, loads the user and the bot configuration, updates the user balance and sends the payment notification.","ru":"Обрабатывает платёж, о котором сообщил AI-сервер: сопоставляет сумму с планом подписки или вариантом оплаты, загружает пользователя и конфигурацию бота, обновляет баланс и отправляет уведомление о платеже."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/ai-reels-callback.ts","legacyId":"ai-reels-callback","probeResult":"FAILED-at-guard","retries":3,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/ai.callback","GUARD":"extract-job-id","ID":"reels-ai-callback","KIND":"function","LEGACY_EVENTS":["ai-reels-callback"],"LEGACY_ID":"ai-reels-callback","NAME":"AI reels callback","NOTE":"Guard is extract-job-id: a payload without a job id fails before anything is sent.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/ai-reels-callback.ts:158","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["send-completed-video","send-failed-message","send-processing-update"],"SUMMARY_EN":"Handles the provider callback for an AI reel job: extracts the job id, then sends the completed video, a failure message or a processing update to the user who ordered it.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-ai-callback","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_ai_callback","name":{"en":"AI reels callback","ru":"Колбэк AI-рилсов"},"sha256":"8db0866dc43faf34aef111565007cdcdb66dd1d6dea46e8f7c7ab2ec97cdf13e","specPath":"specs/functions/reels-ai-callback.t27","summary":{"en":"Handles the provider callback for an AI reel job: extracts the job id, then sends the completed video, a failure message or a processing update to the user who ordered it.","ru":"Обрабатывает колбэк провайдера по задаче AI-рилса: извлекает id задачи, затем отправляет заказчику готовое видео, сообщение об ошибке или статус обработки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateAIReelsFunction.ts","legacyId":"ai-reels-generation","probeResult":"skipped","retries":2,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/ai.generate","GUARD":"none","ID":"reels-ai-generate","KIND":"function","LEGACY_EVENTS":["ai-reels/generate"],"LEGACY_ID":"ai-reels-generation","NAME":"AI reels generation","NOTE":"No guard: the first step already calls a paid API, so the 2026-09-09 probe skipped this function (PROBE_RESULT skipped). The hardening list asks for a validate-input step before that call.","ON_FAILURE":"log","PROBE_RESULT":"skipped","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/existing/generateAIReelsFunction.ts:44","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["generate-lipsync-video","generate-wan25-video","merge-videos","notify-telegram"],"SUMMARY_EN":"Builds a short AI reel: a lip-sync video from an image and a text or audio track, a second generated clip, the two merged, and the result sent to the user in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-ai-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_ai_generate","name":{"en":"AI reels generation","ru":"Генерация AI-рилсов"},"sha256":"11108a3f4c94af03d615a4f82336b1671b293aa40409293448ae52a58d598b20","specPath":"specs/functions/reels-ai-generate.t27","summary":{"en":"Builds a short AI reel: a lip-sync video from an image and a text or audio track, a second generated clip, the two merged, and the result sent to the user in Telegram.","ru":"Собирает короткий AI-рилс: липсинк-видео из изображения и текста или аудио, второй сгенерированный клип, их склейка и отправка результата пользователю в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateAdvancedLoopingVideoFunction.ts","legacyId":"generate-advanced-looping-video","probeResult":"FAILED-at-guard","retries":2,"steps":7},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/loop.generate","GUARD":"min-images","ID":"reels-loop-generate","KIND":"function","LEGACY_EVENTS":["reels/generate-advanced-loop"],"LEGACY_ID":"generate-advanced-looping-video","NAME":"Advanced looping video","NOTE":"Guard is min-images: fewer images than the minimum stops the run before any clip is generated.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"image_urls\": [], \"bot_token\": \"\", \"prompt\": \"safe-mode probe\"}","SERVICE":"src/inngest_app/functions/existing/generateAdvancedLoopingVideoFunction.ts:77","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["generate-morphing-clips","download-video-clips","combine-video-clips","add-music","send-to-telegram","send-to-pulse","cleanup"],"SUMMARY_EN":"Turns a set of user images into a looping video: morphing clips between the images, download and concatenation, background music, delivery to the user in Telegram and to the pulse channel, then cleanup.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-loop-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_loop_generate","name":{"en":"Advanced looping video","ru":"Зацикленное видео"},"sha256":"3a9ce2c1a55f9cd69e4e74bc21a0f3d770f0c6d7846bb379a8233cc7583e2d2e","specPath":"specs/functions/reels-loop-generate.t27","summary":{"en":"Turns a set of user images into a looping video: morphing clips between the images, download and concatenation, background music, delivery to the user in Telegram and to the pulse channel, then cleanup.","ru":"Превращает набор изображений пользователя в зацикленное видео: морфинг-клипы между изображениями, скачивание и склейка, фоновая музыка, доставка пользователю в Telegram и в пульс-канал, затем очистка."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/renderAvatarVideo.ts","legacyId":"render-avatar-video","probeResult":"FAILED-at-guard","retries":3,"steps":13},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/avatar-video.run","GUARD":"zod-schema","ID":"render-avatar-video-run","KIND":"function","LEGACY_EVENTS":["render/avatar-video"],"LEGACY_ID":"render-avatar-video","NAME":"Render avatar video","NOTE":"Guard is zod-schema. Each wait-* step polls a provider job until it completes.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/renderAvatarVideo.ts:174","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["create-job","generate-speech-audio","start-hedra-generation","wait-hedra-completion","start-heygen-generation","wait-heygen-completion","generate-transcription","generate-broll-prompts","generate-brolls-parallel","wait-brolls-completion","create-job-settings","upload-settings-to-s3","trigger-render"],"SUMMARY_EN":"Produces an avatar video: generates the speech audio, runs the avatar generation (Hedra, then HeyGen), transcribes, writes B-roll prompts and generates the B-rolls in parallel, then writes the job settings to S3 and triggers the render.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-avatar-video-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_avatar_video_run","name":{"en":"Render avatar video","ru":"Рендер аватар-видео"},"sha256":"c59d180a0c7866d5115f7d72ba3cf3f88e566c42936937fafba4eec89ab39820","specPath":"specs/functions/render-avatar-video-run.t27","summary":{"en":"Produces an avatar video: generates the speech audio, runs the avatar generation (Hedra, then HeyGen), transcribes, writes B-roll prompts and generates the B-rolls in parallel, then writes the job settings to S3 and triggers the render.","ru":"Создаёт аватар-видео: генерирует речь, запускает генерацию аватара (Hedra, затем HeyGen), расшифровывает, пишет промпты B-roll и параллельно генерирует B-roll, затем записывает настройки задачи в S3 и запускает рендер."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/render.ts","legacyId":"render","probeResult":"FAILED-at-guard","retries":3,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/job.run","GUARD":"zod-schema","ID":"render-job-run","KIND":"function","LEGACY_EVENTS":["render"],"LEGACY_ID":"render","NAME":"Render job","NOTE":"Guard is zod-schema: the payload is parsed before any file is downloaded.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/render.ts:38","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["create-job-folder","download-files","render","upload-to-s3","callback"],"SUMMARY_EN":"Renders a video job on the render server: creates the job folder, downloads the inputs, renders, uploads the output to S3 and calls the job callback.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-job-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_job_run","name":{"en":"Render job","ru":"Задача рендера"},"sha256":"0119d4168128917ef6fbd8a991edae96003724af32280a9af0bd8fdbef080656","specPath":"specs/functions/render-job-run.t27","summary":{"en":"Renders a video job on the render server: creates the job folder, downloads the inputs, renders, uploads the output to S3 and calls the job callback.","ru":"Рендерит видеозадачу на рендер-сервере: создаёт папку задачи, скачивает входные файлы, рендерит, загружает результат в S3 и вызывает колбэк задачи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/renderRiddle.ts","legacyId":"render-riddle","probeResult":"FAILED-at-guard","retries":3,"steps":15},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/riddle.run","GUARD":"zod-schema","ID":"render-riddle-run","KIND":"function","LEGACY_EVENTS":["render-riddle"],"LEGACY_ID":"render-riddle","NAME":"Render riddle video","NOTE":"Guard is zod-schema. The step names generate-broll-${index} and wait-broll-${index} are templates expanded once per scene; start-avatar-generation and wait-avatar-completion appear twice in the code and are listed twice here.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/renderRiddle.ts:59","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["preflight-render-capacity","load-template-json","create-job","generate-speech-audio","start-avatar-generation","wait-avatar-completion","start-avatar-generation","wait-avatar-completion","extract-avatar-speech-url","generate-transcription","generate-broll-prompts","generate-broll-${index}","wait-broll-${index}","prepare-template-json","trigger-render"],"SUMMARY_EN":"Produces a riddle video from a template: checks render capacity, loads the template, generates the speech audio and the avatar clips, transcribes, generates one B-roll per scene, prepares the template JSON and triggers the render.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-riddle-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_riddle_run","name":{"en":"Render riddle video","ru":"Рендер видео-загадки"},"sha256":"fab0efc9b80a37a8be8d288f95c9e1067c8c8bbcc70cc2af2f5d2f67a6f528f6","specPath":"specs/functions/render-riddle-run.t27","summary":{"en":"Produces a riddle video from a template: checks render capacity, loads the template, generates the speech audio and the avatar clips, transcribes, generates one B-roll per scene, prepares the template JSON and triggers the render.","ru":"Создаёт видео-загадку по шаблону: проверяет ёмкость рендера, загружает шаблон, генерирует речь и клипы аватара, расшифровывает, генерирует по одному B-roll на сцену, готовит JSON шаблона и запускает рендер."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/existing/handleModelTrainingCompleted.ts","legacyId":"handle-model-training-completed","probeResult":"not-deployed","retries":2,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model.complete","GUARD":"unknown","ID":"training-model-complete","KIND":"function","LEGACY_EVENTS":["model/training.completed"],"LEGACY_ID":"handle-model-training-completed","NAME":"Model training completed","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest): the deployed app registers 24 base functions and this one is not among them. Guard is unknown because the function could not be probed there.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/existing/handleModelTrainingCompleted.ts:38","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["find-training-record","update-training-status","send-telegram-notification"],"SUMMARY_EN":"Handles the training-completed event from the provider: finds the training record, updates its status and the model list, and sends the user a Telegram notification about the finished or failed training.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-complete","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_training_model_complete","name":{"en":"Model training completed","ru":"Обучение модели завершено"},"sha256":"7764be58758765cb0794cbd0621d91356ee6b71ba3adfb462f615b62111d7454","specPath":"specs/functions/training-model-complete.t27","summary":{"en":"Handles the training-completed event from the provider: finds the training record, updates its status and the model list, and sends the user a Telegram notification about the finished or failed training.","ru":"Обрабатывает событие завершения обучения от провайдера: находит запись обучения, обновляет её статус и список моделей и отправляет пользователю уведомление в Telegram о завершённом или упавшем обучении."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateModelTrainingFunction.ts","legacyId":"generate-model-training","probeResult":"FAILED-at-guard","retries":0,"steps":8},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model.start","GUARD":"validate-steps","ID":"training-model-start","KIND":"function","LEGACY_EVENTS":["model/training.start"],"LEGACY_ID":"generate-model-training","NAME":"Model training start (v1)","NOTE":"RETRIES is 0 by declaration: a failed start is not retried, because a retry would create a second Replicate training. Guard is validate-steps.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":0,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"steps\": -1, \"zipUrl\": \"\", \"triggerWord\": \"e2e\", \"modelName\": \"e2e\", \"is_ru\": true}","SERVICE":"src/inngest_app/functions/existing/generateModelTrainingFunction.ts:38","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["validate-credentials","check-duplicates","validate-zip-url","create-replicate-model","save-pending-record","create-replicate-training","update-training-record","notify-user-started"],"SUMMARY_EN":"Starts a Replicate fine-tune for a user: validates credentials, refuses duplicates, checks the training archive URL, creates the Replicate model and training, records it, and tells the user the training has started.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-start","inSpecCorpus":false,"messages":[],"moduleName":"fn_training_model_start","name":{"en":"Model training start (v1)","ru":"Старт обучения модели (v1)"},"sha256":"90fff63e83a250434c62c3918a91b8a53f7d72a93469ecb589470b1b1bee1c12","specPath":"specs/functions/training-model-start.t27","summary":{"en":"Starts a Replicate fine-tune for a user: validates credentials, refuses duplicates, checks the training archive URL, creates the Replicate model and training, records it, and tells the user the training has started.","ru":"Запускает дообучение на Replicate для пользователя: проверяет учётные данные, отклоняет дубликаты, проверяет URL архива, создаёт модель и обучение на Replicate, записывает их и сообщает пользователю о старте."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"model-training-v2","probeResult":"FAILED-at-guard","retries":null,"steps":0},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model-v2.start","GUARD":"check-user-exists","ID":"training-model-v2-start","KIND":"function","LEGACY_EVENTS":["model/training.v2.requested"],"LEGACY_ID":"model-training-v2","NAME":"Model training start (v2)","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout. RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is check-user-exists.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"zipUrl\": \"\", \"triggerWord\": \"e2e\", \"modelName\": \"e2e\", \"steps\": 1, \"is_ru\": true, \"gender\": \"male\"}","SERVICE":"src/inngest_app/functions/training/modelTrainingV2.ts:45","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["check-user-exists","update-user-level","get-bot","check-balance","encode-zip","create-training","save-training-to-db","notify-user","deduct-balance","refund-balance","handle-error"],"SUMMARY_EN":"Starts a v2 fine-tune for a user: checks the user and the balance, encodes the training archive, creates the training on the provider, records it, deducts the balance and notifies the user; on a later failure the balance is refunded.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-v2-start","inSpecCorpus":false,"messages":[],"moduleName":"fn_training_model_v2_start","name":{"en":"Model training start (v2)","ru":"Старт обучения модели (v2)"},"sha256":"c4524d253aa50af4b4f7a25d528df1a74f902d4229b0103aa6544a6f79e6274c","specPath":"specs/functions/training-model-v2-start.t27","summary":{"en":"Starts a v2 fine-tune for a user: checks the user and the balance, encodes the training archive, creates the training on the provider, records it, deducts the balance and notifies the user; on a later failure the balance is refunded.","ru":"Запускает дообучение v2 для пользователя: проверяет пользователя и баланс, кодирует архив обучения, создаёт обучение у провайдера, записывает его, списывает баланс и уведомляет пользователя; при последующем сбое баланс возвращается."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/training/checkStuckTrainings.ts","legacyId":"check-stuck-trainings","probeResult":"not-deployed","retries":null,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/check-stuck-trainings","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"*/30 * * * *","DOMAIN":"training","EVENT":"","GUARD":"none","ID":"training-stuck-check","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"check-stuck-trainings","NAME":"Stuck trainings check","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/check-stuck-trainings.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/training/checkStuckTrainings.ts:47","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["find-stuck-trainings","check-replicate-status","send-completion-events"],"SUMMARY_EN":"Every 30 minutes finds model trainings still marked pending or processing past the stuck threshold, asks Replicate for their real status and emits the completion events that reconcile them.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"training-stuck-check","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_training_stuck_check","name":{"en":"Stuck trainings check","ru":"Проверка застрявших обучений"},"sha256":"d8518fb2f0cc62a5ea0ec6d7517bdc477bef77cc95890dadf44381031ea43611","specPath":"specs/functions/training-stuck-check.t27","summary":{"en":"Every 30 minutes finds model trainings still marked pending or processing past the stuck threshold, asks Replicate for their real status and emits the completion events that reconcile them.","ru":"Каждые 30 минут находит обучения моделей, всё ещё отмеченные как pending или processing дольше порога, запрашивает у Replicate их реальный статус и порождает события завершения, которые их сверяют."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/webhookHealthGuard.ts","legacyId":"validate-webhook-before-generation","probeResult":"not-deployed","retries":1,"steps":1},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"webhook","EVENT":"webhook/generation.validate","GUARD":"unknown","ID":"webhook-generation-validate","KIND":"function","LEGACY_EVENTS":["video/generation-validate-webhook"],"LEGACY_ID":"validate-webhook-before-generation","NAME":"Webhook validation before generation","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). Guard is unknown because the function could not be probed there. Two other functions in the same file (webhook-health-check, periodic-webhook-health-check) are not registered and have no spec.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/webhookHealthGuard.ts:147","SIDE_EFFECTS":["db-write"],"STEPS":["check-webhook-availability"],"SUMMARY_EN":"Checks that the video-generation webhook endpoint is reachable before a generation is started and records the result.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"webhook-generation-validate","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_webhook_generation_validate","name":{"en":"Webhook validation before generation","ru":"Проверка вебхука перед генерацией"},"sha256":"7a4293fa70eef3448b38f3e6c58d84becf127f5c561225ce43062b8c379e2719","specPath":"specs/functions/webhook-generation-validate.t27","summary":{"en":"Checks that the video-generation webhook endpoint is reachable before a generation is started and records the result.","ru":"Проверяет, что эндпоинт вебхука видеогенерации доступен до старта генерации, и записывает результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/welcomeAvatarGeneration.ts","legacyId":"welcome-avatar-generation","probeResult":"not-deployed","retries":2,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"welcome","EVENT":"welcome/avatar.generate","GUARD":"unknown","ID":"welcome-avatar-generate","KIND":"function","LEGACY_EVENTS":["user/welcome.avatar.generate"],"LEGACY_ID":"welcome-avatar-generation","NAME":"Welcome avatar generation","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). Guard is unknown because the function could not be probed there.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/welcomeAvatarGeneration.ts:108","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["validate-bot","select-hero","reserve-gift-slot","generate-image","send-welcome"],"SUMMARY_EN":"Generates a welcome avatar for a new user: validates the bot, selects a hero, reserves a gift slot, generates the image and sends the welcome message.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"welcome-avatar-generate","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_welcome_avatar_generate","name":{"en":"Welcome avatar generation","ru":"Приветственный аватар"},"sha256":"3b27453bd662eaee697645051447f1d63e66c5c2c64a3157ec7caa0be403f4b4","specPath":"specs/functions/welcome-avatar-generate.t27","summary":{"en":"Generates a welcome avatar for a new user: validates the bot, selects a hero, reserves a gift slot, generates the image and sends the welcome message.","ru":"Генерирует приветственный аватар для нового пользователя: проверяет бота, выбирает героя, резервирует слот подарка, генерирует изображение и отправляет приветственное сообщение."},"typecheckOk":true,"witness":"spec+code"}],"generatedAt":"2026-09-12T12:30:14.790Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":28,"total":28},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":91},"manifest":{"deployedApp":{"baseFunctions":24,"mainRegisters":28,"name":"telegram-bot-client","sdk":"js v3.54.2"},"entries":28,"generatedFrom":{"branch":"main","commit":"a9c08b4","note":"Extracted from the source tree by the spec-first design pass of 2026-09-09; three entries carry no file/steps and eight carry retries null because the extractor did not resolve them. Copied by hand into this repository -- no sync script produces it yet."},"probedAt":"2026-09-09","repo":"gHashTag/999-multibots-telegraf"},"version":1} +{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"18b894248fb768de194664767d2c533d5ab1371880d3055b823838aa6d3f4d67","counts":{"byDomain":{"analytics":2,"broadcast":1,"content":3,"instagram":3,"monitoring":4,"morph":1,"neuro":1,"payment":1,"reels":3,"render":3,"training":4,"webhook":1,"welcome":1},"byProbeResult":{"COMPLETED":7,"FAILED-at-guard":16,"not-deployed":4,"skipped":1},"bySideEffect":{"charges-balance":6,"db-write":16,"external-webhook":3,"messages-admin":6,"messages-owners":2,"messages-user":12,"none":0,"paid-api":19},"byTrigger":{"cron":5,"event":23},"codeOnly":0,"deployUnknown":0,"deployed":24,"notDeployed":4,"specOnly":0,"specPlusCode":28,"specs":28,"typecheckOk":28,"withCronSpec":5,"withDifferences":1},"functions":[{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts","legacyId":"daily-sales-advisor","probeResult":"COMPLETED","retries":1,"steps":5},"cronSpec":"inngest/999-multibots-telegraf/daily-sales-advisor","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 9 * * *","DOMAIN":"analytics","EVENT":"","GUARD":"none","ID":"analytics-sales-advise","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"daily-sales-advisor","NAME":"Daily sales advisor","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/daily-sales-advisor. The step name report-${ownerId} is a template expanded once per owner. A manual invoke on 2026-09-09 messaged 13 owners; the hardening list asks this function to honour safe mode.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/analytics/dailySalesAdvisor.ts:54","SIDE_EFFECTS":["messages-owners","messages-admin"],"STEPS":["load-owners","load-payments-7d","load-payments-1d","load-payments-2d","report-${ownerId}"],"SUMMARY_EN":"Every day at 09:00 UTC loads the bot owners and their payments over the last seven, two and one days and sends each owner a sales report, with a copy to the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"analytics-sales-advise","inSpecCorpus":false,"messages":[],"moduleName":"fn_analytics_sales_advise","name":{"en":"Daily sales advisor","ru":"Ежедневный советник по продажам"},"sha256":"22f09be2b6651090b1704700bf03ee6e25c741ef726c92c34171cb37e0eb4fa4","specPath":"specs/functions/analytics-sales-advise.t27","summary":{"en":"Every day at 09:00 UTC loads the bot owners and their payments over the last seven, two and one days and sends each owner a sales report, with a copy to the admin chat.","ru":"Каждый день в 09:00 UTC загружает владельцев ботов и их платежи за последние семь, два и один день и отправляет каждому владельцу отчёт о продажах с копией в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/analytics/skillDetector.ts","legacyId":"skill-detector","probeResult":"COMPLETED","retries":1,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/skill-detector","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 10 * * *","DOMAIN":"analytics","EVENT":"","GUARD":"none","ID":"analytics-skills-detect","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"skill-detector","NAME":"Skill detector","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/skill-detector. The step name detect-${serviceType} is a template expanded once per service type.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/analytics/skillDetector.ts:30","SIDE_EFFECTS":["messages-owners","messages-admin"],"STEPS":["load-existing-skills","detect-${serviceType}","notify-admin"],"SUMMARY_EN":"Every day at 10:00 UTC loads the known skills, detects new service types from recent usage, one detection step per service type, and notifies the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"analytics-skills-detect","inSpecCorpus":false,"messages":[],"moduleName":"fn_analytics_skills_detect","name":{"en":"Skill detector","ru":"Детектор навыков"},"sha256":"e03e0b8b71566e3cce95146ec4825f3421b844c504f10a8ca0e755db14540e53","specPath":"specs/functions/analytics-skills-detect.t27","summary":{"en":"Every day at 10:00 UTC loads the known skills, detects new service types from recent usage, one detection step per service type, and notifies the admin chat.","ru":"Каждый день в 10:00 UTC загружает известные навыки, находит новые типы сервисов по недавнему использованию (по одному шагу на тип сервиса) и уведомляет админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"broadcast-message","probeResult":"FAILED-at-guard","retries":null,"steps":0},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"broadcast","EVENT":"broadcast/message.send","GUARD":"validate-input","ID":"broadcast-message-send","KIND":"function","LEGACY_EVENTS":["broadcast/send-message"],"LEGACY_ID":"broadcast-message","NAME":"Broadcast message","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout (retries 3). Guard is validate-input. A test_telegram_id in the payload narrows the audience to one recipient.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/broadcast/broadcastMessage.ts:22","SIDE_EFFECTS":["messages-user"],"STEPS":["validate-input","check-permissions","fetch-users","send-messages","analyze-results"],"SUMMARY_EN":"Sends a broadcast to a bot audience: validates the request, checks the sender permissions, fetches the recipients, sends the messages and summarises the delivery results.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"broadcast-message-send","inSpecCorpus":false,"messages":[],"moduleName":"fn_broadcast_message_send","name":{"en":"Broadcast message","ru":"Рассылка сообщения"},"sha256":"53f3415e61b946dfe7216c4d03e52cd53225207b9a8741bf9904dab9092eb357","specPath":"specs/functions/broadcast-message-send.t27","summary":{"en":"Sends a broadcast to a bot audience: validates the request, checks the sender permissions, fetches the recipients, sends the messages and summarises the delivery results.","ru":"Отправляет рассылку аудитории бота: проверяет запрос и права отправителя, получает список получателей, отправляет сообщения и подводит итоги доставки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateDetailedScript.ts","legacyId":"generate-detailed-script","probeResult":"FAILED-at-guard","retries":null,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/detailed-script.generate","GUARD":"zod-schema","ID":"content-detailed-script-generate","KIND":"function","LEGACY_EVENTS":["content/generate-detailed-script"],"LEGACY_ID":"generate-detailed-script","NAME":"Generate detailed script","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateDetailedScript.ts:191","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["create-script-record","generate-detailed-scenes","save-detailed-script"],"SUMMARY_EN":"Expands a script into detailed scenes: creates the script record, generates the scene-by-scene text with a language model and stores the detailed script.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-detailed-script-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_detailed_script_generate","name":{"en":"Generate detailed script","ru":"Детальный сценарий"},"sha256":"4360313e280f6638395cf3aab44984a5a215e39aa9c61d11ed8c0e5ecfb028a3","specPath":"specs/functions/content-detailed-script-generate.t27","summary":{"en":"Expands a script into detailed scenes: creates the script record, generates the scene-by-scene text with a language model and stores the detailed script.","ru":"Разворачивает сценарий в подробные сцены: создаёт запись сценария, генерирует текст по сценам языковой моделью и сохраняет детальный сценарий."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateScenarioClips.ts","legacyId":"generate-scenario-clips","probeResult":"FAILED-at-guard","retries":null,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/scenario-clips.generate","GUARD":"zod-schema","ID":"content-scenario-clips-generate","KIND":"function","LEGACY_EVENTS":["content/generate-scenario-clips"],"LEGACY_ID":"generate-scenario-clips","NAME":"Generate scenario clips","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateScenarioClips.ts:221","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["create-scenario-record","generate-detailed-scenes","create-text-reports-archive","update-scenario-record"],"SUMMARY_EN":"Builds a scenario from a script: creates the scenario record, generates the detailed scenes, packs the text reports into an archive and updates the record.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-scenario-clips-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_scenario_clips_generate","name":{"en":"Generate scenario clips","ru":"Клипы по сценарию"},"sha256":"a7f24bf9b6921c2d3b5bbb4bd4519b8bb42623a7bf54ba85ceb3b39e12799c74","specPath":"specs/functions/content-scenario-clips-generate.t27","summary":{"en":"Builds a scenario from a script: creates the scenario record, generates the detailed scenes, packs the text reports into an archive and updates the record.","ru":"Строит сценарий по скрипту: создаёт запись, генерирует подробные сцены, упаковывает текстовые отчёты в архив и обновляет запись."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/generateContentScripts.ts","legacyId":"generate-content-scripts","probeResult":"FAILED-at-guard","retries":null,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"content","EVENT":"content/scripts.generate","GUARD":"zod-schema","ID":"content-scripts-generate","KIND":"function","LEGACY_EVENTS":["instagram/generate-scripts"],"LEGACY_ID":"generate-content-scripts","NAME":"Generate content scripts","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema. The legacy event name keeps the instagram/ prefix the function was first registered under.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/generateContentScripts.ts:44","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["get-reel-data","extract-audio","transcribe-audio","generate-scripts","save-scripts"],"SUMMARY_EN":"Writes content scripts from a stored reel: loads the reel, extracts and transcribes the audio, generates the scripts with a language model and stores them.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"content-scripts-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_content_scripts_generate","name":{"en":"Generate content scripts","ru":"Сценарии контента"},"sha256":"2c65fc896945f85b8a031bf434390756577e278e8daf5affeed9046d7978492a","specPath":"specs/functions/content-scripts-generate.t27","summary":{"en":"Writes content scripts from a stored reel: loads the reel, extracts and transcribes the audio, generates the scripts with a language model and stores them.","ru":"Пишет сценарии контента по сохранённому рилсу: загружает рилс, извлекает и расшифровывает звук, генерирует сценарии языковой моделью и сохраняет их."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/findCompetitors.ts","legacyId":"find-competitors","probeResult":"FAILED-at-guard","retries":null,"steps":6},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/competitors.find","GUARD":"validate-input","ID":"instagram-competitors-find","KIND":"function","LEGACY_EVENTS":["instagram/find-competitors"],"LEGACY_ID":"find-competitors","NAME":"Find competitors","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is validate-input.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/findCompetitors.ts:134","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["validate-input","validate-project","call-instagram-api","filter-by-followers","save-to-competitors-table","send-telegram-notification"],"SUMMARY_EN":"Finds Instagram competitors for a project: validates the request and the project, calls the Instagram API, filters by follower count, stores the competitors and notifies the requester in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-competitors-find","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_competitors_find","name":{"en":"Find competitors","ru":"Поиск конкурентов"},"sha256":"8201d47aaa9d3ca811c9a2ddf8b4e227645473d0122da9311fd542a5e53cfaa9","specPath":"specs/functions/instagram-competitors-find.t27","summary":{"en":"Finds Instagram competitors for a project: validates the request and the project, calls the Instagram API, filters by follower count, stores the competitors and notifies the requester in Telegram.","ru":"Находит конкурентов в Instagram для проекта: проверяет запрос и проект, вызывает Instagram API, фильтрует по числу подписчиков, сохраняет конкурентов и уведомляет заказчика в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/analyzeCompetitorReels.ts","legacyId":"analyze-competitor-reels","probeResult":"FAILED-at-guard","retries":null,"steps":7},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/reels.analyze","GUARD":"validate-input","ID":"instagram-reels-analyze","KIND":"function","LEGACY_EVENTS":["instagram/analyze-reels"],"LEGACY_ID":"analyze-competitor-reels","NAME":"Analyze competitor reels","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is validate-input.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/analyzeCompetitorReels.ts:211","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["validate-input","validate-project","call-instagram-reels-api","filter-reels-by-date","calculate-metrics","save-to-reels-analysis-table","send-telegram-notification"],"SUMMARY_EN":"Analyzes the recent reels of an Instagram competitor for a project: validates the request and the project, calls the reels API, filters by date, computes the metrics, stores the analysis and notifies the requester in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-reels-analyze","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_reels_analyze","name":{"en":"Analyze competitor reels","ru":"Анализ рилсов конкурента"},"sha256":"6c4c986a981251d73c668906e1bf7d6d1890d1c9cff359d33a05a64551ed5a0a","specPath":"specs/functions/instagram-reels-analyze.t27","summary":{"en":"Analyzes the recent reels of an Instagram competitor for a project: validates the request and the project, calls the reels API, filters by date, computes the metrics, stores the analysis and notifies the requester in Telegram.","ru":"Анализирует недавние рилсы конкурента в Instagram для проекта: проверяет запрос и проект, вызывает API рилсов, фильтрует по дате, считает метрики, сохраняет анализ и уведомляет заказчика в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/content/extractTopContent.ts","legacyId":"extract-top-content","probeResult":"FAILED-at-guard","retries":null,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"instagram","EVENT":"instagram/top-content.extract","GUARD":"zod-schema","ID":"instagram-top-content-extract","KIND":"function","LEGACY_EVENTS":["instagram/extract-top"],"LEGACY_ID":"extract-top-content","NAME":"Extract top content","NOTE":"RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is zod-schema.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/content/extractTopContent.ts:33","SIDE_EFFECTS":["paid-api","db-write"],"STEPS":["query-top-reels","process-reels","format-report"],"SUMMARY_EN":"Extracts the top-performing reels already stored for a project: queries the stored reels, processes them and formats the report.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"instagram-top-content-extract","inSpecCorpus":false,"messages":[],"moduleName":"fn_instagram_top_content_extract","name":{"en":"Extract top content","ru":"Лучший контент"},"sha256":"4b2c8ee5877c376316e94eda74ac07c789c1ee5c467313c7f093a3ae32bdc4b6","specPath":"specs/functions/instagram-top-content-extract.t27","summary":{"en":"Extracts the top-performing reels already stored for a project: queries the stored reels, processes them and formats the report.","ru":"Извлекает самые результативные рилсы, уже сохранённые для проекта: запрашивает их из базы, обрабатывает и формирует отчёт."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","legacyId":"critical-error-monitor","probeResult":"COMPLETED","retries":1,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"monitoring","EVENT":"monitoring/error.report","GUARD":"none","ID":"monitoring-error-report","KIND":"function","LEGACY_EVENTS":["app/error.critical"],"LEGACY_ID":"critical-error-monitor","NAME":"Critical error report","NOTE":"No guard: the event is emitted by the application itself. The hardening list asks the formatter to render string, Error and {message} payloads and never print [object Object].","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts:175","SIDE_EFFECTS":["messages-admin"],"STEPS":["analyze-error","format-message","send-notification","log-for-analysis"],"SUMMARY_EN":"Reports a critical application error to the admin chat: analyzes the error, formats the message, sends the notification and logs the incident for later analysis.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"monitoring-error-report","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_error_report","name":{"en":"Critical error report","ru":"Отчёт о критической ошибке"},"sha256":"13cb1dcbfcb0f13ec58ba56cd2b3b2b788ccbc0e2b6cfc610e46b850889bee15","specPath":"specs/functions/monitoring-error-report.t27","summary":{"en":"Reports a critical application error to the admin chat: analyzes the error, formats the message, sends the notification and logs the incident for later analysis.","ru":"Сообщает о критической ошибке приложения в админ-чат: анализирует ошибку, форматирует сообщение, отправляет уведомление и записывает инцидент для последующего разбора."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts","legacyId":"health-check","probeResult":"COMPLETED","retries":2,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/health-check","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"*/30 * * * *","DOMAIN":"monitoring","EVENT":"","GUARD":"none","ID":"monitoring-health-check","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"health-check","NAME":"Health check","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/health-check. Lives in the same file as monitoring-error-report.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/criticalErrorMonitor.ts:235","SIDE_EFFECTS":["messages-admin"],"STEPS":["check-api-health","check-inngest-health","notify-unhealthy"],"SUMMARY_EN":"Every 30 minutes checks the API server and the Inngest service and messages the admin chat when either is unhealthy.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"monitoring-health-check","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_health_check","name":{"en":"Health check","ru":"Проверка здоровья"},"sha256":"57c23797300ea168c457a74d4edc25c1bcd249408efb634dcd32a7dbfa086260","specPath":"specs/functions/monitoring-health-check.t27","summary":{"en":"Every 30 minutes checks the API server and the Inngest service and messages the admin chat when either is unhealthy.","ru":"Каждые 30 минут проверяет API-сервер и сервис Inngest и пишет в админ-чат, если один из них нездоров."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/logMonitor.ts","legacyId":"log-monitor","probeResult":"COMPLETED","retries":2,"steps":4},"cronSpec":"inngest/999-multibots-telegraf/log-monitor","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"0 10 * * *","DOMAIN":"monitoring","EVENT":"","GUARD":"none","ID":"monitoring-logs-analyze","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"log-monitor","NAME":"Daily log analysis","NOTE":"The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/log-monitor. When LOG_DIR is absent on the host the analysis has nothing to read; the hardening list asks for a fallback to the Inngest run summary.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts:352","SIDE_EFFECTS":["messages-admin"],"STEPS":["read-logs","analyze-logs","generate-message","send-notification"],"SUMMARY_EN":"Every day at 10:00 UTC reads the application logs, analyzes them for errors and warnings, generates a summary and sends it to the admin chat.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"monitoring-logs-analyze","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_logs_analyze","name":{"en":"Daily log analysis","ru":"Ежедневный анализ логов"},"sha256":"95c9e9bbfaae6a21c206eb8bd48f2a4eb041ab64cfbb9e7e709069e3ac14de52","specPath":"specs/functions/monitoring-logs-analyze.t27","summary":{"en":"Every day at 10:00 UTC reads the application logs, analyzes them for errors and warnings, generates a summary and sends it to the admin chat.","ru":"Каждый день в 10:00 UTC читает логи приложения, ищет в них ошибки и предупреждения, формирует сводку и отправляет её в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/monitoring/logMonitor.ts","legacyId":"trigger-log-monitor","probeResult":"COMPLETED","retries":1,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"monitoring","EVENT":"monitoring/logs.trigger","GUARD":"none","ID":"monitoring-logs-trigger","KIND":"function","LEGACY_EVENTS":["logs/monitor.trigger"],"LEGACY_ID":"trigger-log-monitor","NAME":"Log analysis on demand","NOTE":"Shares its file and its four steps with monitoring-logs-analyze; only the trigger differs.","ON_FAILURE":"log","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/monitoring/logMonitor.ts:408","SIDE_EFFECTS":["messages-admin"],"STEPS":["read-logs","analyze-logs","generate-message","send-notification"],"SUMMARY_EN":"Runs the same log analysis as the daily job when asked by an event: reads the logs, analyzes them, generates the summary and sends it to the admin chat.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"monitoring-logs-trigger","inSpecCorpus":false,"messages":[],"moduleName":"fn_monitoring_logs_trigger","name":{"en":"Log analysis on demand","ru":"Анализ логов по запросу"},"sha256":"9bb3e3fb5d73315392c6a08b674ca0b04d63b1e324dfa2a5ecb50bbdae6d074f","specPath":"specs/functions/monitoring-logs-trigger.t27","summary":{"en":"Runs the same log analysis as the daily job when asked by an event: reads the logs, analyzes them, generates the summary and sends it to the admin chat.","ru":"Выполняет тот же анализ логов, что и ежедневная задача, по событию: читает логи, анализирует их, формирует сводку и отправляет в админ-чат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/training/morphImages.ts","legacyId":"morph-images","probeResult":"FAILED-at-guard","retries":3,"steps":8},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"morph","EVENT":"morph/images.generate","GUARD":"check-user-exists","ID":"morph-images-generate","KIND":"function","LEGACY_EVENTS":["morph/images.requested"],"LEGACY_ID":"morph-images","NAME":"Morph images","NOTE":"Guard is check-user-exists. A second, unregistered copy of this function exists in the tree (src/inngest_app/functions/morphImages.ts); the registered one is the file named in SERVICE.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"is_ru\": true, \"job_id\": \"e2e-probe\", \"image_files\": [], \"extraction_path\": \"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/nonexistent/e2e\", \"morphing_type\": \"seamless\", \"model\": \"kling-v1.6-pro\"}","SERVICE":"src/inngest_app/functions/training/morphImages.ts:30","SIDE_EFFECTS":["charges-balance","paid-api","messages-user"],"STEPS":["check-user-exists","check-balance","notify-start","process-all-pairs","process-loop-pair","concatenate-all-videos","cleanup-temp-files","deliver-result"],"SUMMARY_EN":"Morphs a sequence of user images into one video: checks the user and the balance, notifies the start, processes each image pair into a clip, concatenates the clips, cleans up and delivers the result.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"morph-images-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_morph_images_generate","name":{"en":"Morph images","ru":"Морфинг изображений"},"sha256":"2d830937229c3a5e780c372b433bbf53e38ccde9444ecb20e599fb20e65b2444","specPath":"specs/functions/morph-images-generate.t27","summary":{"en":"Morphs a sequence of user images into one video: checks the user and the balance, notifies the start, processes each image pair into a clip, concatenates the clips, cleans up and delivers the result.","ru":"Превращает последовательность изображений пользователя в одно видео: проверяет пользователя и баланс, сообщает о старте, обрабатывает каждую пару изображений в клип, склеивает клипы, очищает временные файлы и отдаёт результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/neuroImageGeneration.ts","legacyId":"neuro-image-generation","probeResult":"FAILED-at-guard","retries":3,"steps":11},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"neuro","EVENT":"neuro/image.generate","GUARD":"check-user","ID":"neuro-image-generate","KIND":"function","LEGACY_EVENTS":["neuro/photo.generate"],"LEGACY_ID":"neuro-image-generation","NAME":"Neuro image generation","NOTE":"Guard is check-user: an unknown telegram_id stops the run before any payment or paid API call. The step names generate-image-${i} and notify-image-${i} are templates the code expands once per requested image.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"prompt\": \"safe-mode probe\", \"is_ru\": true, \"num_images\": 1, \"model_url\": \"e2e/none\"}","SERVICE":"src/inngest_app/functions/neuroImageGeneration.ts:56","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["get-bot","check-user","get-user-gender","update-level","calculate-total-cost","process-payment","get-aspect-ratio","generate-image-${i}","notify-image-${i}","deduct-balance-final","final-notification"],"SUMMARY_EN":"Generates one or more images for a Telegram user from a prompt and a model URL: loads the bot and the user, computes the total cost, charges the balance, then generates and sends each image and settles the balance at the end.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"neuro-image-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_neuro_image_generate","name":{"en":"Neuro image generation","ru":"Нейро-генерация изображений"},"sha256":"513d1e81f02cb450989ea83082948afcce37819434528fbed6b60930b2941fd8","specPath":"specs/functions/neuro-image-generate.t27","summary":{"en":"Generates one or more images for a Telegram user from a prompt and a model URL: loads the bot and the user, computes the total cost, charges the balance, then generates and sends each image and settles the balance at the end.","ru":"Генерирует одно или несколько изображений для пользователя Telegram по промпту и URL модели: загружает бота и пользователя, считает полную стоимость, списывает баланс, затем генерирует и отправляет каждое изображение и сводит баланс в конце."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"payment-processing-ai-server","probeResult":"COMPLETED","retries":null,"steps":0},"cronSpec":null,"differences":[{"code":"log","field":"ON_FAILURE","spec":"admin-telegram"}],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"payment","EVENT":"payment/ai-server.process","GUARD":"amount-match","ID":"payment-ai-server-process","KIND":"function","LEGACY_EVENTS":["payment/process-ai-server"],"LEGACY_ID":"payment-processing-ai-server","NAME":"AI-server payment processing","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout, where retries is declared as 3 and onFailure is createInngestFailureHandler, which logs and messages the admin chat -- the manifest says on_failure log. Guard is amount-match: an amount matching no plan or option stops the run, which is why the 2026-09-09 probe with IncSum 0.01 COMPLETED without a balance change.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"COMPLETED","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{\"IncSum\": \"0.01\", \"inv_id\": \"e2e-safe-mode-probe\"}","SERVICE":"src/inngest_app/functions/payments/paymentProcessing.ts:64","SIDE_EFFECTS":["db-write","messages-user"],"STEPS":["check-subscription-plan","check-payment-option","get-user-info","get-bot-config","update-user-balance","send-notification"],"SUMMARY_EN":"Processes a payment reported by the AI server: matches the amount to a subscription plan or a payment option, loads the user and the bot configuration, updates the user balance and sends the payment notification.","TRIGGER":"event","TZ":"UTC"},"health":"warn","id":"payment-ai-server-process","inSpecCorpus":false,"messages":["ON_FAILURE \"admin-telegram\" differs from the manifest (\"log\")"],"moduleName":"fn_payment_ai_server_process","name":{"en":"AI-server payment processing","ru":"Обработка платежа AI-сервера"},"sha256":"07191109132327c0a3743ccc06815ccd2c64b5b6d604b358d26cb6e236dadfe6","specPath":"specs/functions/payment-ai-server-process.t27","summary":{"en":"Processes a payment reported by the AI server: matches the amount to a subscription plan or a payment option, loads the user and the bot configuration, updates the user balance and sends the payment notification.","ru":"Обрабатывает платёж, о котором сообщил AI-сервер: сопоставляет сумму с планом подписки или вариантом оплаты, загружает пользователя и конфигурацию бота, обновляет баланс и отправляет уведомление о платеже."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/ai-reels-callback.ts","legacyId":"ai-reels-callback","probeResult":"FAILED-at-guard","retries":3,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/ai.callback","GUARD":"extract-job-id","ID":"reels-ai-callback","KIND":"function","LEGACY_EVENTS":["ai-reels-callback"],"LEGACY_ID":"ai-reels-callback","NAME":"AI reels callback","NOTE":"Guard is extract-job-id: a payload without a job id fails before anything is sent.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/ai-reels-callback.ts:158","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["send-completed-video","send-failed-message","send-processing-update"],"SUMMARY_EN":"Handles the provider callback for an AI reel job: extracts the job id, then sends the completed video, a failure message or a processing update to the user who ordered it.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-ai-callback","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_ai_callback","name":{"en":"AI reels callback","ru":"Колбэк AI-рилсов"},"sha256":"8db0866dc43faf34aef111565007cdcdb66dd1d6dea46e8f7c7ab2ec97cdf13e","specPath":"specs/functions/reels-ai-callback.t27","summary":{"en":"Handles the provider callback for an AI reel job: extracts the job id, then sends the completed video, a failure message or a processing update to the user who ordered it.","ru":"Обрабатывает колбэк провайдера по задаче AI-рилса: извлекает id задачи, затем отправляет заказчику готовое видео, сообщение об ошибке или статус обработки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateAIReelsFunction.ts","legacyId":"ai-reels-generation","probeResult":"skipped","retries":2,"steps":4},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/ai.generate","GUARD":"none","ID":"reels-ai-generate","KIND":"function","LEGACY_EVENTS":["ai-reels/generate"],"LEGACY_ID":"ai-reels-generation","NAME":"AI reels generation","NOTE":"No guard: the first step already calls a paid API, so the 2026-09-09 probe skipped this function (PROBE_RESULT skipped). The hardening list asks for a validate-input step before that call.","ON_FAILURE":"log","PROBE_RESULT":"skipped","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/existing/generateAIReelsFunction.ts:44","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["generate-lipsync-video","generate-wan25-video","merge-videos","notify-telegram"],"SUMMARY_EN":"Builds a short AI reel: a lip-sync video from an image and a text or audio track, a second generated clip, the two merged, and the result sent to the user in Telegram.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-ai-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_ai_generate","name":{"en":"AI reels generation","ru":"Генерация AI-рилсов"},"sha256":"11108a3f4c94af03d615a4f82336b1671b293aa40409293448ae52a58d598b20","specPath":"specs/functions/reels-ai-generate.t27","summary":{"en":"Builds a short AI reel: a lip-sync video from an image and a text or audio track, a second generated clip, the two merged, and the result sent to the user in Telegram.","ru":"Собирает короткий AI-рилс: липсинк-видео из изображения и текста или аудио, второй сгенерированный клип, их склейка и отправка результата пользователю в Telegram."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateAdvancedLoopingVideoFunction.ts","legacyId":"generate-advanced-looping-video","probeResult":"FAILED-at-guard","retries":2,"steps":7},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"reels","EVENT":"reels/loop.generate","GUARD":"min-images","ID":"reels-loop-generate","KIND":"function","LEGACY_EVENTS":["reels/generate-advanced-loop"],"LEGACY_ID":"generate-advanced-looping-video","NAME":"Advanced looping video","NOTE":"Guard is min-images: fewer images than the minimum stops the run before any clip is generated.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"image_urls\": [], \"bot_token\": \"\", \"prompt\": \"safe-mode probe\"}","SERVICE":"src/inngest_app/functions/existing/generateAdvancedLoopingVideoFunction.ts:77","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["generate-morphing-clips","download-video-clips","combine-video-clips","add-music","send-to-telegram","send-to-pulse","cleanup"],"SUMMARY_EN":"Turns a set of user images into a looping video: morphing clips between the images, download and concatenation, background music, delivery to the user in Telegram and to the pulse channel, then cleanup.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"reels-loop-generate","inSpecCorpus":false,"messages":[],"moduleName":"fn_reels_loop_generate","name":{"en":"Advanced looping video","ru":"Зацикленное видео"},"sha256":"3a9ce2c1a55f9cd69e4e74bc21a0f3d770f0c6d7846bb379a8233cc7583e2d2e","specPath":"specs/functions/reels-loop-generate.t27","summary":{"en":"Turns a set of user images into a looping video: morphing clips between the images, download and concatenation, background music, delivery to the user in Telegram and to the pulse channel, then cleanup.","ru":"Превращает набор изображений пользователя в зацикленное видео: морфинг-клипы между изображениями, скачивание и склейка, фоновая музыка, доставка пользователю в Telegram и в пульс-канал, затем очистка."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/renderAvatarVideo.ts","legacyId":"render-avatar-video","probeResult":"FAILED-at-guard","retries":3,"steps":13},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/avatar-video.run","GUARD":"zod-schema","ID":"render-avatar-video-run","KIND":"function","LEGACY_EVENTS":["render/avatar-video"],"LEGACY_ID":"render-avatar-video","NAME":"Render avatar video","NOTE":"Guard is zod-schema. Each wait-* step polls a provider job until it completes.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/renderAvatarVideo.ts:174","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["create-job","generate-speech-audio","start-hedra-generation","wait-hedra-completion","start-heygen-generation","wait-heygen-completion","generate-transcription","generate-broll-prompts","generate-brolls-parallel","wait-brolls-completion","create-job-settings","upload-settings-to-s3","trigger-render"],"SUMMARY_EN":"Produces an avatar video: generates the speech audio, runs the avatar generation (Hedra, then HeyGen), transcribes, writes B-roll prompts and generates the B-rolls in parallel, then writes the job settings to S3 and triggers the render.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-avatar-video-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_avatar_video_run","name":{"en":"Render avatar video","ru":"Рендер аватар-видео"},"sha256":"c59d180a0c7866d5115f7d72ba3cf3f88e566c42936937fafba4eec89ab39820","specPath":"specs/functions/render-avatar-video-run.t27","summary":{"en":"Produces an avatar video: generates the speech audio, runs the avatar generation (Hedra, then HeyGen), transcribes, writes B-roll prompts and generates the B-rolls in parallel, then writes the job settings to S3 and triggers the render.","ru":"Создаёт аватар-видео: генерирует речь, запускает генерацию аватара (Hedra, затем HeyGen), расшифровывает, пишет промпты B-roll и параллельно генерирует B-roll, затем записывает настройки задачи в S3 и запускает рендер."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/render.ts","legacyId":"render","probeResult":"FAILED-at-guard","retries":3,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/job.run","GUARD":"zod-schema","ID":"render-job-run","KIND":"function","LEGACY_EVENTS":["render"],"LEGACY_ID":"render","NAME":"Render job","NOTE":"Guard is zod-schema: the payload is parsed before any file is downloaded.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/render.ts:38","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["create-job-folder","download-files","render","upload-to-s3","callback"],"SUMMARY_EN":"Renders a video job on the render server: creates the job folder, downloads the inputs, renders, uploads the output to S3 and calls the job callback.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-job-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_job_run","name":{"en":"Render job","ru":"Задача рендера"},"sha256":"0119d4168128917ef6fbd8a991edae96003724af32280a9af0bd8fdbef080656","specPath":"specs/functions/render-job-run.t27","summary":{"en":"Renders a video job on the render server: creates the job folder, downloads the inputs, renders, uploads the output to S3 and calls the job callback.","ru":"Рендерит видеозадачу на рендер-сервере: создаёт папку задачи, скачивает входные файлы, рендерит, загружает результат в S3 и вызывает колбэк задачи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/render/renderRiddle.ts","legacyId":"render-riddle","probeResult":"FAILED-at-guard","retries":3,"steps":15},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"render","EVENT":"render/riddle.run","GUARD":"zod-schema","ID":"render-riddle-run","KIND":"function","LEGACY_EVENTS":["render-riddle"],"LEGACY_ID":"render-riddle","NAME":"Render riddle video","NOTE":"Guard is zod-schema. The step names generate-broll-${index} and wait-broll-${index} are templates expanded once per scene; start-avatar-generation and wait-avatar-completion appear twice in the code and are listed twice here.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":3,"SAFE_PROBE":"{}","SERVICE":"src/inngest_app/functions/render/renderRiddle.ts:59","SIDE_EFFECTS":["paid-api","external-webhook","db-write"],"STEPS":["preflight-render-capacity","load-template-json","create-job","generate-speech-audio","start-avatar-generation","wait-avatar-completion","start-avatar-generation","wait-avatar-completion","extract-avatar-speech-url","generate-transcription","generate-broll-prompts","generate-broll-${index}","wait-broll-${index}","prepare-template-json","trigger-render"],"SUMMARY_EN":"Produces a riddle video from a template: checks render capacity, loads the template, generates the speech audio and the avatar clips, transcribes, generates one B-roll per scene, prepares the template JSON and triggers the render.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"render-riddle-run","inSpecCorpus":false,"messages":[],"moduleName":"fn_render_riddle_run","name":{"en":"Render riddle video","ru":"Рендер видео-загадки"},"sha256":"fab0efc9b80a37a8be8d288f95c9e1067c8c8bbcc70cc2af2f5d2f67a6f528f6","specPath":"specs/functions/render-riddle-run.t27","summary":{"en":"Produces a riddle video from a template: checks render capacity, loads the template, generates the speech audio and the avatar clips, transcribes, generates one B-roll per scene, prepares the template JSON and triggers the render.","ru":"Создаёт видео-загадку по шаблону: проверяет ёмкость рендера, загружает шаблон, генерирует речь и клипы аватара, расшифровывает, генерирует по одному B-roll на сцену, готовит JSON шаблона и запускает рендер."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/existing/handleModelTrainingCompleted.ts","legacyId":"handle-model-training-completed","probeResult":"not-deployed","retries":2,"steps":3},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model.complete","GUARD":"unknown","ID":"training-model-complete","KIND":"function","LEGACY_EVENTS":["model/training.completed"],"LEGACY_ID":"handle-model-training-completed","NAME":"Model training completed","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest): the deployed app registers 24 base functions and this one is not among them. Guard is unknown because the function could not be probed there.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/existing/handleModelTrainingCompleted.ts:38","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["find-training-record","update-training-status","send-telegram-notification"],"SUMMARY_EN":"Handles the training-completed event from the provider: finds the training record, updates its status and the model list, and sends the user a Telegram notification about the finished or failed training.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-complete","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_training_model_complete","name":{"en":"Model training completed","ru":"Обучение модели завершено"},"sha256":"7764be58758765cb0794cbd0621d91356ee6b71ba3adfb462f615b62111d7454","specPath":"specs/functions/training-model-complete.t27","summary":{"en":"Handles the training-completed event from the provider: finds the training record, updates its status and the model list, and sends the user a Telegram notification about the finished or failed training.","ru":"Обрабатывает событие завершения обучения от провайдера: находит запись обучения, обновляет её статус и список моделей и отправляет пользователю уведомление в Telegram о завершённом или упавшем обучении."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":"src/inngest_app/functions/existing/generateModelTrainingFunction.ts","legacyId":"generate-model-training","probeResult":"FAILED-at-guard","retries":0,"steps":8},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model.start","GUARD":"validate-steps","ID":"training-model-start","KIND":"function","LEGACY_EVENTS":["model/training.start"],"LEGACY_ID":"generate-model-training","NAME":"Model training start (v1)","NOTE":"RETRIES is 0 by declaration: a failed start is not retried, because a retry would create a second Replicate training. Guard is validate-steps.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":0,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"steps\": -1, \"zipUrl\": \"\", \"triggerWord\": \"e2e\", \"modelName\": \"e2e\", \"is_ru\": true}","SERVICE":"src/inngest_app/functions/existing/generateModelTrainingFunction.ts:38","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["validate-credentials","check-duplicates","validate-zip-url","create-replicate-model","save-pending-record","create-replicate-training","update-training-record","notify-user-started"],"SUMMARY_EN":"Starts a Replicate fine-tune for a user: validates credentials, refuses duplicates, checks the training archive URL, creates the Replicate model and training, records it, and tells the user the training has started.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-start","inSpecCorpus":false,"messages":[],"moduleName":"fn_training_model_start","name":{"en":"Model training start (v1)","ru":"Старт обучения модели (v1)"},"sha256":"90fff63e83a250434c62c3918a91b8a53f7d72a93469ecb589470b1b1bee1c12","specPath":"specs/functions/training-model-start.t27","summary":{"en":"Starts a Replicate fine-tune for a user: validates credentials, refuses duplicates, checks the training archive URL, creates the Replicate model and training, records it, and tells the user the training has started.","ru":"Запускает дообучение на Replicate для пользователя: проверяет учётные данные, отклоняет дубликаты, проверяет URL архива, создаёт модель и обучение на Replicate, записывает их и сообщает пользователю о старте."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":true,"file":null,"legacyId":"model-training-v2","probeResult":"FAILED-at-guard","retries":null,"steps":0},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"training","EVENT":"training/model-v2.start","GUARD":"check-user-exists","ID":"training-model-v2-start","KIND":"function","LEGACY_EVENTS":["model/training.v2.requested"],"LEGACY_ID":"model-training-v2","NAME":"Model training start (v2)","NOTE":"The manifest carries no file, steps or retries for this function (its extractor did not resolve them); SERVICE, STEPS and RETRIES here were read from the same checkout. RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. Guard is check-user-exists.","ON_FAILURE":"log","PROBE_RESULT":"FAILED-at-guard","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"{\"telegram_id\": \"0\", \"bot_name\": \"e2e_nonexistent_bot\", \"zipUrl\": \"\", \"triggerWord\": \"e2e\", \"modelName\": \"e2e\", \"steps\": 1, \"is_ru\": true, \"gender\": \"male\"}","SERVICE":"src/inngest_app/functions/training/modelTrainingV2.ts:45","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["check-user-exists","update-user-level","get-bot","check-balance","encode-zip","create-training","save-training-to-db","notify-user","deduct-balance","refund-balance","handle-error"],"SUMMARY_EN":"Starts a v2 fine-tune for a user: checks the user and the balance, encodes the training archive, creates the training on the provider, records it, deducts the balance and notifies the user; on a later failure the balance is refunded.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"training-model-v2-start","inSpecCorpus":false,"messages":[],"moduleName":"fn_training_model_v2_start","name":{"en":"Model training start (v2)","ru":"Старт обучения модели (v2)"},"sha256":"c4524d253aa50af4b4f7a25d528df1a74f902d4229b0103aa6544a6f79e6274c","specPath":"specs/functions/training-model-v2-start.t27","summary":{"en":"Starts a v2 fine-tune for a user: checks the user and the balance, encodes the training archive, creates the training on the provider, records it, deducts the balance and notifies the user; on a later failure the balance is refunded.","ru":"Запускает дообучение v2 для пользователя: проверяет пользователя и баланс, кодирует архив обучения, создаёт обучение у провайдера, записывает его, списывает баланс и уведомляет пользователя; при последующем сбое баланс возвращается."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/training/checkStuckTrainings.ts","legacyId":"check-stuck-trainings","probeResult":"not-deployed","retries":null,"steps":3},"cronSpec":"inngest/999-multibots-telegraf/check-stuck-trainings","differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"*/30 * * * *","DOMAIN":"training","EVENT":"","GUARD":"none","ID":"training-stuck-check","KIND":"function","LEGACY_EVENTS":[],"LEGACY_ID":"check-stuck-trainings","NAME":"Stuck trainings check","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). RETRIES is not declared in the code, so the Inngest JS SDK v3 default of 4 applies. The same schedule is stated as a cron card, specs/crons ID inngest/999-multibots-telegraf/check-stuck-trainings.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":4,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/training/checkStuckTrainings.ts:47","SIDE_EFFECTS":["charges-balance","paid-api","messages-user","db-write"],"STEPS":["find-stuck-trainings","check-replicate-status","send-completion-events"],"SUMMARY_EN":"Every 30 minutes finds model trainings still marked pending or processing past the stuck threshold, asks Replicate for their real status and emits the completion events that reconcile them.","TRIGGER":"cron","TZ":"UTC"},"health":"ok","id":"training-stuck-check","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_training_stuck_check","name":{"en":"Stuck trainings check","ru":"Проверка застрявших обучений"},"sha256":"d8518fb2f0cc62a5ea0ec6d7517bdc477bef77cc95890dadf44381031ea43611","specPath":"specs/functions/training-stuck-check.t27","summary":{"en":"Every 30 minutes finds model trainings still marked pending or processing past the stuck threshold, asks Replicate for their real status and emits the completion events that reconcile them.","ru":"Каждые 30 минут находит обучения моделей, всё ещё отмеченные как pending или processing дольше порога, запрашивает у Replicate их реальный статус и порождает события завершения, которые их сверяют."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/webhookHealthGuard.ts","legacyId":"validate-webhook-before-generation","probeResult":"not-deployed","retries":1,"steps":1},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"webhook","EVENT":"webhook/generation.validate","GUARD":"unknown","ID":"webhook-generation-validate","KIND":"function","LEGACY_EVENTS":["video/generation-validate-webhook"],"LEGACY_ID":"validate-webhook-before-generation","NAME":"Webhook validation before generation","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). Guard is unknown because the function could not be probed there. Two other functions in the same file (webhook-health-check, periodic-webhook-health-check) are not registered and have no spec.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":1,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/webhookHealthGuard.ts:147","SIDE_EFFECTS":["db-write"],"STEPS":["check-webhook-availability"],"SUMMARY_EN":"Checks that the video-generation webhook endpoint is reachable before a generation is started and records the result.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"webhook-generation-validate","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_webhook_generation_validate","name":{"en":"Webhook validation before generation","ru":"Проверка вебхука перед генерацией"},"sha256":"7a4293fa70eef3448b38f3e6c58d84becf127f5c561225ce43062b8c379e2719","specPath":"specs/functions/webhook-generation-validate.t27","summary":{"en":"Checks that the video-generation webhook endpoint is reachable before a generation is started and records the result.","ru":"Проверяет, что эндпоинт вебхука видеогенерации доступен до старта генерации, и записывает результат."},"typecheckOk":true,"witness":"spec+code"},{"code":{"control":"spec+code","deployed":false,"file":"src/inngest_app/functions/welcomeAvatarGeneration.ts","legacyId":"welcome-avatar-generation","probeResult":"not-deployed","retries":2,"steps":5},"cronSpec":null,"differences":[],"discarded":0,"fields":{"CONTROL":"spec+code","CRON":"","DOMAIN":"welcome","EVENT":"welcome/avatar.generate","GUARD":"unknown","ID":"welcome-avatar-generate","KIND":"function","LEGACY_EVENTS":["user/welcome.avatar.generate"],"LEGACY_ID":"welcome-avatar-generation","NAME":"Welcome avatar generation","NOTE":"Not on the production Railway build as of 2026-09-09 (deployed_2026_09_09 false in the manifest). Guard is unknown because the function could not be probed there.","ON_FAILURE":"admin-telegram","PROBE_RESULT":"not-deployed","REPO":"999-multibots-telegraf","RETRIES":2,"SAFE_PROBE":"","SERVICE":"src/inngest_app/functions/welcomeAvatarGeneration.ts:108","SIDE_EFFECTS":["paid-api","messages-user"],"STEPS":["validate-bot","select-hero","reserve-gift-slot","generate-image","send-welcome"],"SUMMARY_EN":"Generates a welcome avatar for a new user: validates the bot, selects a hero, reserves a gift slot, generates the image and sends the welcome message.","TRIGGER":"event","TZ":"UTC"},"health":"ok","id":"welcome-avatar-generate","inSpecCorpus":false,"messages":["not on the production build probed 2026-09-09 (deployed_2026_09_09 false)"],"moduleName":"fn_welcome_avatar_generate","name":{"en":"Welcome avatar generation","ru":"Приветственный аватар"},"sha256":"3b27453bd662eaee697645051447f1d63e66c5c2c64a3157ec7caa0be403f4b4","specPath":"specs/functions/welcome-avatar-generate.t27","summary":{"en":"Generates a welcome avatar for a new user: validates the bot, selects a hero, reserves a gift slot, generates the image and sends the welcome message.","ru":"Генерирует приветственный аватар для нового пользователя: проверяет бота, выбирает героя, резервирует слот подарка, генерирует изображение и отправляет приветственное сообщение."},"typecheckOk":true,"witness":"spec+code"}],"generatedAt":"2026-09-13T03:52:07.716Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":28,"total":28},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":92},"manifest":{"deployedApp":{"baseFunctions":24,"mainRegisters":28,"name":"telegram-bot-client","sdk":"js v3.54.2"},"entries":28,"generatedFrom":{"branch":"main","commit":"a9c08b4","note":"Extracted from the source tree by the spec-first design pass of 2026-09-09; three entries carry no file/steps and eight carry retries null because the extractor did not resolve them. Copied by hand into this repository -- no sync script produces it yet."},"probedAt":"2026-09-09","repo":"gHashTag/999-multibots-telegraf"},"version":1} diff --git a/apps/website/public/skills/spec-skills.json b/apps/website/public/skills/spec-skills.json index d4d0c58e52..c72c863de4 100644 --- a/apps/website/public/skills/spec-skills.json +++ b/apps/website/public/skills/spec-skills.json @@ -1 +1 @@ -{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"54810ec14338f3ef58eb70faeb0d24d600a3734bd7b14a370292c676831febff","counts":{"codeOnly":0,"runBy":0,"specOnly":0,"specPlusCode":26,"specs":26,"typecheckOk":26},"generatedAt":"2026-09-12T12:30:14.790Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":26,"total":26},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"skills":[{"code":{"health":"warn","link":"unbound","path":"t27/measure-corpus/SKILL.md","sha256":"b8fb7503f660a81b2fee57cde8998b18bbf6c6f334ca2ee69424c3ccf99f3211"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/measure-corpus","KIND":"skill","NAME":"MEASURE THE CORPUS","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Pick the right instrument for a claim about the t27 spec corpus, and avoid the specific traps that have produced wrong published numbers. Use before quoting any figure about specs, errors, or gates.","TAGS":["corpus","measurement","honesty"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/measure-corpus","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_measure_corpus","name":{"en":"MEASURE THE CORPUS"},"runBy":[],"sha256":"740d067747a4de74acb2be6ba7072f11ef58da37700addab7e7a172cc0c397aa","specPath":"specs/skills/t27-measure-corpus.t27","summary":{"en":"Pick the right instrument for a claim about the t27 spec corpus, and avoid the specific traps that have produced wrong published numbers. Use before quoting any figure about specs, errors, or gates.","ru":"Выбор правильного инструмента для любого утверждения о корпусе спек t27 и список ловушек, которые уже давали неверные опубликованные числа. Использовать перед тем, как цитировать любое число о корпусе."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"t27/phi-loop/SKILL.md","sha256":"d8af7f6a9cbc39ed4557291528f36748e07292ef752f5159e2827f59b2dd7bc6"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/phi-loop","KIND":"skill","NAME":"PHI LOOP","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Execute 9-phase spec-first development workflow (Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn)","TAGS":["workflow","spec-first","tdd"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/phi-loop","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_phi_loop","name":{"en":"PHI LOOP"},"runBy":[],"sha256":"19dba96ffef309c75a31bc54d282f25026afa8beeb3a6f97600946700a5f74db","specPath":"specs/skills/t27-phi-loop.t27","summary":{"en":"Execute 9-phase spec-first development workflow (Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn)","ru":"Девятифазный цикл spec-first разработки: Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/tri/skill.md","sha256":"8fb4d4796c2dc7adab9670a65709ce0451633e6f1f076d5e490270596636042a"},"discarded":0,"fields":{"COMMAND":"/tri","ENABLED":true,"ID":"t27/tri","KIND":"skill","NAME":"tri","REPO":"t27","SOURCE":"skill.md","SPECS":["compiler/skill/registry.t27"],"SUMMARY_EN":"This skill should be used when user asks to \"tri skill begin\", \"PHI LOOP\", \"edit .t27 spec\", \"seal hash\", \"tri gen\", \"tri test\", \"tri verdict\", \"tri experience save\", \"tri notebook query\", \"tri notebook wrapup\", or any task requiring spe...","TAGS":["tri","workflow","seal"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/tri","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_tri","name":{"en":"tri"},"runBy":[],"sha256":"99f03be9bbefc5f7c3b0637717e69650f11b0bf8644563b4e03bd24d12a66c89","specPath":"specs/skills/t27-tri.t27","summary":{"en":"This skill should be used when user asks to \"tri skill begin\", \"PHI LOOP\", \"edit .t27 spec\", \"seal hash\", \"tri gen\", \"tri test\", \"tri verdict\", \"tri experience save\", \"tri notebook query\", \"tri notebook wrapup\", or any task requiring spe...","ru":"Команды tri для работы со скилом: begin, правка .t27-спеки, seal hash, gen, test, verdict, experience. Реестр скилов описан в compiler/skill/registry.t27."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/tri-pipeline/SKILL.md","sha256":"b4bfc290b86a4a1d4513cf9ace0a43526ca8fe98e0d97ff1eb59ea7997aa7427"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/tri-pipeline","KIND":"skill","NAME":"TRI Pipeline","REPO":"t27","SOURCE":"SKILL.md","SPECS":["specs/pipeline/e2e_test.t27"],"SUMMARY_EN":"Execute tri commands (gen, test, verify, seal, verdict) for spec-first development","TAGS":["tri","pipeline","verify"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/tri-pipeline","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_tri_pipeline","name":{"en":"TRI Pipeline"},"runBy":[],"sha256":"716635d0a782f18bfd6d112d88aeacc9e1961b81a85aec42b91a970fd55ce662","specPath":"specs/skills/t27-tri-pipeline.t27","summary":{"en":"Execute tri commands (gen, test, verify, seal, verdict) for spec-first development","ru":"Выполнение команд tri (gen, test, verify, seal, verdict) для spec-first разработки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"t27/wave-audit/SKILL.md","sha256":"4cd0dd22105ae7fe86091a69ec297df729661181f147c0b59f8e8e94a90e9100"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/wave-audit","KIND":"skill","NAME":"Wave Audit — Comprehensive Project Analysis","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Full-spectrum audit of t27 project: GitHub issues analysis, weakness identification, SOTA research review, decomposed plan, and implementation of critical fixes.","TAGS":["audit","issues","plan"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/wave-audit","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_wave_audit","name":{"en":"Wave Audit — Comprehensive Project Analysis"},"runBy":[],"sha256":"50c024be3d15fb0d68356ef3e918d71a1ddd3a6b315478927a996a5760efc1db","specPath":"specs/skills/t27-wave-audit.t27","summary":{"en":"Full-spectrum audit of t27 project: GitHub issues analysis, weakness identification, SOTA research review, decomposed plan, and implementation of critical fixes.","ru":"Полный аудит проекта t27: разбор GitHub issues, поиск слабых мест, обзор SOTA, декомпозированный план и реализация критичных исправлений."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/wrap-up/skill.md","sha256":"a4a9b4fd9d022c212add3479cde725f6b9bd56bc31d2d600ba771cbd009329f9"},"discarded":0,"fields":{"COMMAND":"/wrap-up","ENABLED":true,"ID":"t27/wrap-up","KIND":"skill","NAME":"wrap-up","REPO":"t27","SOURCE":"skill.md","SPECS":["specs/automation/wrapup-auto.t27"],"SUMMARY_EN":"Format and upload session wrap-up to NotebookLM for persistent semantic memory","TAGS":["memory","notebooklm","session"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/wrap-up","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_wrap_up","name":{"en":"wrap-up"},"runBy":[],"sha256":"5f6e7ed53ca0f4ca52320a9c1ebdbbf079e371836de109c94dc440847fa0f2dc","specPath":"specs/skills/t27-wrap-up.t27","summary":{"en":"Format and upload session wrap-up to NotebookLM for persistent semantic memory","ru":"Оформление и загрузка итогов сессии в NotebookLM как постоянной семантической памяти."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/blog-post/SKILL.md","sha256":"2cb755fd4a60a76d568a0742aeda34da60a2441774139646e0ebf4bd2a185493"},"discarded":0,"fields":{"COMMAND":"/blog-post","ENABLED":true,"ID":"trinity/blog-post","KIND":"skill","NAME":"blog-post","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Write and publish a post to the t27.ai blog. Covers where the blog actually lives (not where it looks like it lives), the Post schema with its required receipts and openQuestions, the honesty rules the data file itself imposes, and the b...","TAGS":["blog","publish","website"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/blog-post","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_blog_post","name":{"en":"blog-post"},"runBy":[],"sha256":"028f49b8d26ed69b4f8db6991666a5f51b9a2c2737291ceb3258bfd11ff7c3e7","specPath":"specs/skills/trinity-blog-post.t27","summary":{"en":"Write and publish a post to the t27.ai blog. Covers where the blog actually lives (not where it looks like it lives), the Post schema with its required receipts and openQuestions, the honesty rules the data file itself imposes, and the b...","ru":"Написать и опубликовать пост в блог t27.ai: где блог реально живёт, схема Post с обязательными свидетельствами, обложка и проверки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/board-sync/SKILL.md","sha256":"f4bfa63737cf7a2078ae6e42f68943384214159243243ae8ec971ddeaac1825e"},"discarded":0,"fields":{"COMMAND":"/board [sync|audit|fix]","ENABLED":true,"ID":"trinity/board-sync","KIND":"skill","NAME":"board","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"GitHub Project Board auto-sync — fill empty fields, sync labels with board status, audit field completeness. Keeps board as realtime source of truth.","TAGS":["github","board","labels"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/board-sync","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_board_sync","name":{"en":"board"},"runBy":[],"sha256":"45ece51f52ec529802e387903a06b3fc58f3dcc088823785511c924c57567c32","specPath":"specs/skills/trinity-board-sync.t27","summary":{"en":"GitHub Project Board auto-sync — fill empty fields, sync labels with board status, audit field completeness. Keeps board as realtime source of truth.","ru":"Автосинхронизация GitHub Project Board: заполнить пустые поля, согласовать метки со статусом доски, проверить полноту полей."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/cloud/SKILL.md","sha256":"53aa338dddc4e6b8a0fd82f6d3b8dc9ac9b245b3457559c3c44f325ede0130e6"},"discarded":0,"fields":{"COMMAND":"/cloud [status|agents|events|full]","ENABLED":true,"ID":"trinity/cloud","KIND":"skill","NAME":"cloud","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Show Trinity Cloud Dev dashboard — containers, training farm, issues, PRs, costs. Use when checking agent swarm status, cloud containers, or CI/CD pipeline.","TAGS":["dashboard","railway","agents"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/cloud","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_cloud","name":{"en":"cloud"},"runBy":[],"sha256":"7eb9c81b10e1dd99998207ce71b792342f1f8bdd3852b974f27eb20418ca480e","specPath":"specs/skills/trinity-cloud.t27","summary":{"en":"Show Trinity Cloud Dev dashboard — containers, training farm, issues, PRs, costs. Use when checking agent swarm status, cloud containers, or CI/CD pipeline.","ru":"Панель Trinity Cloud Dev: контейнеры, тренировочная ферма, issues, PR, расходы. Для проверки состояния роя агентов и CI/CD."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/doctor/SKILL.md","sha256":"68efdf79301066d5e64e72babc91ddb867899786186fa360e6775b8365059815"},"discarded":0,"fields":{"COMMAND":"/doctor [quick|full|scan|junk|docs|dupes] [lang:ru|en]","ENABLED":true,"ID":"trinity/doctor","KIND":"skill","NAME":"doctor","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"HEALER — diagnose, heal, commit dirty files, monitor junk & docs & duplicates, report honestly. Every loop = action + proof.","TAGS":["health","repo","report"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/doctor","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_doctor","name":{"en":"doctor"},"runBy":[],"sha256":"4e74c213b43b2b2c253dda134a93795b3a6e627a4711d5fc8dffb3067c1cb0b0","specPath":"specs/skills/trinity-doctor.t27","summary":{"en":"HEALER — diagnose, heal, commit dirty files, monitor junk & docs & duplicates, report honestly. Every loop = action + proof.","ru":"ЛЕКАРЬ: диагностика, лечение, коммит грязных файлов, надзор за мусором, документацией и дубликатами, честный отчёт. Каждый цикл = действие + доказательство."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/farm-garden/SKILL.md","sha256":"6721489885755a64bfdd07f0407b0ddad366c713cb2723098c0fc63b4e196bb4"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"trinity/farm-garden","KIND":"skill","NAME":"Garden — Quantum Gardener for Trinity Farm","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Autonomous farm population manager. Monitors, evolves, and recycles HSLM training workers.","TAGS":["farm","hslm","workers"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/farm-garden","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_farm_garden","name":{"en":"Garden — Quantum Gardener for Trinity Farm"},"runBy":[],"sha256":"4afded3071ac34a51d06749ea6983dfd0238d1dcb78856ae19b836122019c080","specPath":"specs/skills/trinity-farm-garden.t27","summary":{"en":"Autonomous farm population manager. Monitors, evolves, and recycles HSLM training workers.","ru":"Автономный управляющий популяцией фермы: наблюдает, эволюционирует и перерабатывает рабочих обучения HSLM."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/fpga-synth/SKILL.md","sha256":"de3915e66cdab0f3207f53f6ea22a85b258c8a998b614231eebf7afab2ca9ec3"},"discarded":0,"fields":{"COMMAND":"/fpga-synth ","ENABLED":true,"ID":"trinity/fpga-synth","KIND":"skill","NAME":"fpga-synth","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Run FPGA synthesis pipeline from .tri spec to bitstream. Use when working with Verilog, FPGA, or hardware synthesis.","TAGS":["fpga","verilog","synthesis"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/fpga-synth","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_fpga_synth","name":{"en":"fpga-synth"},"runBy":[],"sha256":"2d3563e302746a958794670cd14404a7c4e6854dcf546468dd5f91907ff299e4","specPath":"specs/skills/trinity-fpga-synth.t27","summary":{"en":"Run FPGA synthesis pipeline from .tri spec to bitstream. Use when working with Verilog, FPGA, or hardware synthesis.","ru":"Конвейер синтеза FPGA от .tri-спеки до битстрима. Для работы с Verilog, FPGA и аппаратным синтезом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/god-mode/SKILL.md","sha256":"0c48e328ae4cf1cbaffef270e7dbe16fac59a7fba845547179bcfe078f65ee7a"},"discarded":0,"fields":{"COMMAND":"/god-mode [status|agents|tasks|violations]","ENABLED":true,"ID":"trinity/god-mode","KIND":"skill","NAME":"god-mode","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"GOD MODE — Agent monitoring dashboard. Shows swarm status, task queue, pipeline compliance, circuit breakers, git activity, and rule violations.","TAGS":["dashboard","agents","monitoring"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/god-mode","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_god_mode","name":{"en":"god-mode"},"runBy":[],"sha256":"577f3aa5eb4280c6be165fd7d0458fb849988246800eef63c77b3c774091706f","specPath":"specs/skills/trinity-god-mode.t27","summary":{"en":"GOD MODE — Agent monitoring dashboard. Shows swarm status, task queue, pipeline compliance, circuit breakers, git activity, and rule violations.","ru":"GOD MODE: панель наблюдения за агентами — состояние роя, очередь задач, соблюдение конвейера, предохранители, активность git, нарушения правил."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/implement-issue/SKILL.md","sha256":"88ccafaece204489bd38ee3f2fbd5f7db3d38275c2ba7e5a9bfca2852be596bb"},"discarded":0,"fields":{"COMMAND":"/implement-issue [issue-number]","ENABLED":true,"ID":"trinity/implement-issue","KIND":"skill","NAME":"implement-issue","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Read a GitHub issue, create a branch, implement the solution, and open a PR. Use when given an issue number to implement.","TAGS":["github","issue","pr"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/implement-issue","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_implement_issue","name":{"en":"implement-issue"},"runBy":[],"sha256":"789be8f18768603dfb45d8664ad51fc1bb1311f82a0288c3a93efc19c08534e6","specPath":"specs/skills/trinity-implement-issue.t27","summary":{"en":"Read a GitHub issue, create a branch, implement the solution, and open a PR. Use when given an issue number to implement.","ru":"Прочитать GitHub issue, создать ветку, реализовать решение и открыть PR. Для работы по номеру задачи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/queen-hive-visuals/SKILL.md","sha256":"c6d914dc81c84fc13dacca37de258563261a451a139e3c1644bbdc8b7a97b414"},"discarded":0,"fields":{"COMMAND":"/queen-hive-visuals","ENABLED":true,"ID":"trinity/queen-hive-visuals","KIND":"skill","NAME":"queen-hive-visuals","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Maintain QUEEN's floating hive, original point-down TRINITY logo, sharp issue displays and matching camera interactions.","TAGS":["queen","ui","3d"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/queen-hive-visuals","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_queen_hive_visuals","name":{"en":"queen-hive-visuals"},"runBy":[],"sha256":"327c5189a740d092290fe5dd10de3cf4da56b54a44d1bec9be8414451e70ae0e","specPath":"specs/skills/trinity-queen-hive-visuals.t27","summary":{"en":"Maintain QUEEN's floating hive, original point-down TRINITY logo, sharp issue displays and matching camera interactions.","ru":"Поддержка плавающего улья Королевы, оригинального логотипа TRINITY остриём вниз, чётких табло задач и согласованных движений камеры."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/review-code/SKILL.md","sha256":"e5712744615c2422d9a0c81413422e6e1a2ac97c4bfac8bb508f1cd04bf05d75"},"discarded":0,"fields":{"COMMAND":"/review-code [file-or-branch] (optional)","ENABLED":true,"ID":"trinity/review-code","KIND":"skill","NAME":"review-code","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Review recent code changes for bugs, style issues, and improvements. Use after writing code or before committing.","TAGS":["review","quality"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/review-code","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_review_code","name":{"en":"review-code"},"runBy":[],"sha256":"c5cf6004cce2295f921b7d983e252a9aafbd92ad662db2d5b595824c2774b7a4","specPath":"specs/skills/trinity-review-code.t27","summary":{"en":"Review recent code changes for bugs, style issues, and improvements. Use after writing code or before committing.","ru":"Ревью недавних изменений кода: ошибки, стиль, улучшения. После написания кода или перед коммитом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/run-tests/SKILL.md","sha256":"7ead75ab36b840ec5588013b0de8f2c23ed3a27a0d3a5160d7e68334e5992a79"},"discarded":0,"fields":{"COMMAND":"/run-tests [module] (optional - all, vsa, vm, bsd, hslm, tri-api)","ENABLED":true,"ID":"trinity/run-tests","KIND":"skill","NAME":"run-tests","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Build the project, check for warnings, run all tests, and report results. Quick health check for the codebase.","TAGS":["tests","build","zig"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/run-tests","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_run_tests","name":{"en":"run-tests"},"runBy":[],"sha256":"8c683823554ee75c69b4dd27468eb819bd8f7ea003e91cf216b80be03dca13a6","specPath":"specs/skills/trinity-run-tests.t27","summary":{"en":"Build the project, check for warnings, run all tests, and report results. Quick health check for the codebase.","ru":"Собрать проект, проверить предупреждения, прогнать все тесты и отчитаться. Быстрая проверка здоровья кодовой базы."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/scholar/SKILL.md","sha256":"5c35431008a4d2694cf2e7ad65c01d6f1559d5836b8f7cfb0c3422f752d5b2c2"},"discarded":0,"fields":{"COMMAND":"/scholar [scan|eval|apply|full|report|topic:\"query\"]","ENABLED":true,"ID":"trinity/scholar","KIND":"skill","NAME":"scholar","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Self-Evolving Research Agent — scans web for relevant tech, evaluates findings, proposes improvements. Uses Perplexity Sonar API via MCP.","TAGS":["research","perplexity","mcp"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/scholar","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_scholar","name":{"en":"scholar"},"runBy":[],"sha256":"70bc5c1e10d9905fa22a38de1c7b88926b75d69b6a82305e69613820f70f83ae","specPath":"specs/skills/trinity-scholar.t27","summary":{"en":"Self-Evolving Research Agent — scans web for relevant tech, evaluates findings, proposes improvements. Uses Perplexity Sonar API via MCP.","ru":"Саморазвивающийся исследовательский агент: сканирует веб на релевантные технологии, оценивает находки, предлагает улучшения. Perplexity Sonar через MCP."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/status/SKILL.md","sha256":"e4bc75ff45cdc52968f1ef0ac6e1a1a482072f78e14283b1e71b6fe13a054890"},"discarded":0,"fields":{"COMMAND":"/status [quick|full] [lang:ru|en]","ENABLED":true,"ID":"trinity/status","KIND":"skill","NAME":"status","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Live system dashboard — 12-dimension ouroboros score, verdict v3, agents, build health, recommendations","TAGS":["dashboard","ouroboros","verdict"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/status","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_status","name":{"en":"status"},"runBy":[],"sha256":"09185d50913f410e9c5cdd3338d2fd38adb97f0997208c6440c89b2325268b9c","specPath":"specs/skills/trinity-status.t27","summary":{"en":"Live system dashboard — 12-dimension ouroboros score, verdict v3, agents, build health, recommendations","ru":"Живая панель системы: 12-мерная оценка уробороса, verdict v3, агенты, здоровье сборки, рекомендации."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/tech-tree/SKILL.md","sha256":"f84c8ea67ab696a9bc3828ccfe8b8708572fe5ddb7574f409ddf75c467744a0f"},"discarded":0,"fields":{"COMMAND":"/tree [next|path|blocked|update]","ENABLED":true,"ID":"trinity/tech-tree","KIND":"skill","NAME":"tree","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Technology dependency tree — shows issue DAG, prereqs, critical path, blocked/ready tasks. Single source of truth for work order.","TAGS":["issues","dag","planning"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/tech-tree","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_tech_tree","name":{"en":"tree"},"runBy":[],"sha256":"951d3d8a6dd0c1c6c62a303c660a45205624bf2f558fd090b34fe5b45b9f1501","specPath":"specs/skills/trinity-tech-tree.t27","summary":{"en":"Technology dependency tree — shows issue DAG, prereqs, critical path, blocked/ready tasks. Single source of truth for work order.","ru":"Дерево технологических зависимостей: DAG задач, предпосылки, критический путь, заблокированные и готовые задачи. Единый источник порядка работ."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/tri/SKILL.md","sha256":"4c38d1005219336c88583e985b5208653fa199d12481d98173604922dc35e4a5"},"discarded":0,"fields":{"COMMAND":"/tri [short] [full] [audit] [coverage] [lang:ru|en] [humor|prof|toxic|zen]","ENABLED":true,"ID":"trinity/tri","KIND":"skill","NAME":"tri","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"TRI status dashboard — agent thought mode by default, /tri full for visual dashboard","TAGS":["tri","dashboard","status"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/tri","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_tri","name":{"en":"tri"},"runBy":[],"sha256":"09f58e175bfeb73fb49d30bfdc6e0b197d775e6883fa8bb9417dffc92ffefebd","specPath":"specs/skills/trinity-tri.t27","summary":{"en":"TRI status dashboard — agent thought mode by default, /tri full for visual dashboard","ru":"Панель статуса TRI: по умолчанию режим мысли агента, /tri full — визуальная панель."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/trinity-test/SKILL.md","sha256":"648c7f095f0b9739a17d7a5d47fbfbe3e6dc2b2bd940fb6cea837632940b6c56"},"discarded":0,"fields":{"COMMAND":"/trinity-test [module] (vsa, vm, firebird, all)","ENABLED":true,"ID":"trinity/trinity-test","KIND":"skill","NAME":"trinity-test","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Run Trinity test suites and analyze results. Use for testing VSA, VM, Firebird, WASM, or full test suite.","TAGS":["tests","vsa","vm"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/trinity-test","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_trinity_test","name":{"en":"trinity-test"},"runBy":[],"sha256":"b70f5629049065477023aa4b4d51eb8272de0750a5c4809d7d445c698729c1a0","specPath":"specs/skills/trinity-trinity-test.t27","summary":{"en":"Run Trinity test suites and analyze results. Use for testing VSA, VM, Firebird, WASM, or full test suite.","ru":"Прогон тестовых наборов Trinity и разбор результатов: VSA, VM, Firebird, WASM или всё целиком."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/ux-wave/SKILL.md","sha256":"9690999e8d1e2091c80ef838e41a1d4dc48d9ffea1cf29a39294238f69954b28"},"discarded":0,"fields":{"COMMAND":"/ux-wave [wave-number] [audit]","ENABLED":true,"ID":"trinity/ux-wave","KIND":"skill","NAME":"ux-wave","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Autonomous UX improvement waves — launch 4 parallel agents per wave, audit every 5 waves, commit fixes. For Queen UI chat & network polish.","TAGS":["ux","agents","queen"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/ux-wave","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_ux_wave","name":{"en":"ux-wave"},"runBy":[],"sha256":"e63fa9e43303eefdf53f1f95499c15bb7794c7f08c9d14c1958f61e362e75ada","specPath":"specs/skills/trinity-ux-wave.t27","summary":{"en":"Autonomous UX improvement waves — launch 4 parallel agents per wave, audit every 5 waves, commit fixes. For Queen UI chat & network polish.","ru":"Автономные волны улучшения UX: 4 параллельных агента на волну, аудит каждые 5 волн, коммит исправлений. Для чата и сети Queen UI."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/vibee-gen/SKILL.md","sha256":"fc01e69f1395b590603692a29d9bb1ee533104bb716b5bb284738027df17b395"},"discarded":0,"fields":{"COMMAND":"/vibee-gen ","ENABLED":true,"ID":"trinity/vibee-gen","KIND":"skill","NAME":"vibee-gen","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Generate Zig or Verilog code from VIBEE specifications. Use when creating or updating .tri specs and regenerating code.","TAGS":["codegen","zig","verilog"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/vibee-gen","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_vibee_gen","name":{"en":"vibee-gen"},"runBy":[],"sha256":"769952ebb9d14eba7cdd2ee226b9d266de20e692ac0ee1e66ba6f622564a91f9","specPath":"specs/skills/trinity-vibee-gen.t27","summary":{"en":"Generate Zig or Verilog code from VIBEE specifications. Use when creating or updating .tri specs and regenerating code.","ru":"Генерация кода Zig или Verilog из спецификаций VIBEE. При создании или обновлении .tri-спек и перегенерации кода."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/vsa-verify/SKILL.md","sha256":"8b9c4518b1bc5dd468b12697a436f7d959278466b5282e575709d7981722905b"},"discarded":0,"fields":{"COMMAND":"/vsa-verify [operation or proof to verify]","ENABLED":true,"ID":"trinity/vsa-verify","KIND":"skill","NAME":"vsa-verify","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Verify VSA (Vector Symbolic Architecture) mathematical proofs and operations. Use for math verification, bind/unbind/bundle testing, phi identity checks.","TAGS":["vsa","math","verify"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/vsa-verify","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_vsa_verify","name":{"en":"vsa-verify"},"runBy":[],"sha256":"311455eaad1ec081b56395b38564babf52e10966f35b98b862d97bc5be60ff52","specPath":"specs/skills/trinity-vsa-verify.t27","summary":{"en":"Verify VSA (Vector Symbolic Architecture) mathematical proofs and operations. Use for math verification, bind/unbind/bundle testing, phi identity checks.","ru":"Проверка математических доказательств и операций VSA: bind/unbind/bundle, тождества phi."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/wave/SKILL.md","sha256":"ecf06fdfa467158f6758066aba41a8e49699f37e61c18e62716da765a7eb5487"},"discarded":0,"fields":{"COMMAND":"/wave [status|spawn |deploy|progress]","ENABLED":true,"ID":"trinity/wave","KIND":"skill","NAME":"wave","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Farm wave management — create Railway accounts, spawn workers, deploy configs, track wave progress. Use for scaling training farm.","TAGS":["farm","railway","scaling"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/wave","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_wave","name":{"en":"wave"},"runBy":[],"sha256":"0d205500e7adf560ff03ecfd59e90ee13b51f4624e27555d4142e5b184100d6b","specPath":"specs/skills/trinity-wave.t27","summary":{"en":"Farm wave management — create Railway accounts, spawn workers, deploy configs, track wave progress. Use for scaling training farm.","ru":"Управление волнами фермы: аккаунты Railway, запуск рабочих, раскатка конфигов, прогресс волны. Для масштабирования тренировочной фермы."},"typecheckOk":true,"witness":"spec+code"}],"version":1} +{"codeOnly":[],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"54810ec14338f3ef58eb70faeb0d24d600a3734bd7b14a370292c676831febff","counts":{"codeOnly":0,"runBy":0,"specOnly":0,"specPlusCode":26,"specs":26,"typecheckOk":26},"generatedAt":"2026-09-13T03:52:07.716Z","i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":26,"total":26},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"skills":[{"code":{"health":"warn","link":"unbound","path":"t27/measure-corpus/SKILL.md","sha256":"b8fb7503f660a81b2fee57cde8998b18bbf6c6f334ca2ee69424c3ccf99f3211"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/measure-corpus","KIND":"skill","NAME":"MEASURE THE CORPUS","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Pick the right instrument for a claim about the t27 spec corpus, and avoid the specific traps that have produced wrong published numbers. Use before quoting any figure about specs, errors, or gates.","TAGS":["corpus","measurement","honesty"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/measure-corpus","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_measure_corpus","name":{"en":"MEASURE THE CORPUS"},"runBy":[],"sha256":"740d067747a4de74acb2be6ba7072f11ef58da37700addab7e7a172cc0c397aa","specPath":"specs/skills/t27-measure-corpus.t27","summary":{"en":"Pick the right instrument for a claim about the t27 spec corpus, and avoid the specific traps that have produced wrong published numbers. Use before quoting any figure about specs, errors, or gates.","ru":"Выбор правильного инструмента для любого утверждения о корпусе спек t27 и список ловушек, которые уже давали неверные опубликованные числа. Использовать перед тем, как цитировать любое число о корпусе."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"t27/phi-loop/SKILL.md","sha256":"d8af7f6a9cbc39ed4557291528f36748e07292ef752f5159e2827f59b2dd7bc6"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/phi-loop","KIND":"skill","NAME":"PHI LOOP","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Execute 9-phase spec-first development workflow (Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn)","TAGS":["workflow","spec-first","tdd"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/phi-loop","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_phi_loop","name":{"en":"PHI LOOP"},"runBy":[],"sha256":"19dba96ffef309c75a31bc54d282f25026afa8beeb3a6f97600946700a5f74db","specPath":"specs/skills/t27-phi-loop.t27","summary":{"en":"Execute 9-phase spec-first development workflow (Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn)","ru":"Девятифазный цикл spec-first разработки: Issue → Spec → TDD → Code → Gen → Seal → Verify → Land → Learn."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/tri/skill.md","sha256":"8fb4d4796c2dc7adab9670a65709ce0451633e6f1f076d5e490270596636042a"},"discarded":0,"fields":{"COMMAND":"/tri","ENABLED":true,"ID":"t27/tri","KIND":"skill","NAME":"tri","REPO":"t27","SOURCE":"skill.md","SPECS":["compiler/skill/registry.t27"],"SUMMARY_EN":"This skill should be used when user asks to \"tri skill begin\", \"PHI LOOP\", \"edit .t27 spec\", \"seal hash\", \"tri gen\", \"tri test\", \"tri verdict\", \"tri experience save\", \"tri notebook query\", \"tri notebook wrapup\", or any task requiring spe...","TAGS":["tri","workflow","seal"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/tri","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_tri","name":{"en":"tri"},"runBy":[],"sha256":"99f03be9bbefc5f7c3b0637717e69650f11b0bf8644563b4e03bd24d12a66c89","specPath":"specs/skills/t27-tri.t27","summary":{"en":"This skill should be used when user asks to \"tri skill begin\", \"PHI LOOP\", \"edit .t27 spec\", \"seal hash\", \"tri gen\", \"tri test\", \"tri verdict\", \"tri experience save\", \"tri notebook query\", \"tri notebook wrapup\", or any task requiring spe...","ru":"Команды tri для работы со скилом: begin, правка .t27-спеки, seal hash, gen, test, verdict, experience. Реестр скилов описан в compiler/skill/registry.t27."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/tri-pipeline/SKILL.md","sha256":"b4bfc290b86a4a1d4513cf9ace0a43526ca8fe98e0d97ff1eb59ea7997aa7427"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/tri-pipeline","KIND":"skill","NAME":"TRI Pipeline","REPO":"t27","SOURCE":"SKILL.md","SPECS":["specs/pipeline/e2e_test.t27"],"SUMMARY_EN":"Execute tri commands (gen, test, verify, seal, verdict) for spec-first development","TAGS":["tri","pipeline","verify"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/tri-pipeline","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_tri_pipeline","name":{"en":"TRI Pipeline"},"runBy":[],"sha256":"716635d0a782f18bfd6d112d88aeacc9e1961b81a85aec42b91a970fd55ce662","specPath":"specs/skills/t27-tri-pipeline.t27","summary":{"en":"Execute tri commands (gen, test, verify, seal, verdict) for spec-first development","ru":"Выполнение команд tri (gen, test, verify, seal, verdict) для spec-first разработки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"t27/wave-audit/SKILL.md","sha256":"4cd0dd22105ae7fe86091a69ec297df729661181f147c0b59f8e8e94a90e9100"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"t27/wave-audit","KIND":"skill","NAME":"Wave Audit — Comprehensive Project Analysis","REPO":"t27","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Full-spectrum audit of t27 project: GitHub issues analysis, weakness identification, SOTA research review, decomposed plan, and implementation of critical fixes.","TAGS":["audit","issues","plan"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/wave-audit","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_wave_audit","name":{"en":"Wave Audit — Comprehensive Project Analysis"},"runBy":[],"sha256":"50c024be3d15fb0d68356ef3e918d71a1ddd3a6b315478927a996a5760efc1db","specPath":"specs/skills/t27-wave-audit.t27","summary":{"en":"Full-spectrum audit of t27 project: GitHub issues analysis, weakness identification, SOTA research review, decomposed plan, and implementation of critical fixes.","ru":"Полный аудит проекта t27: разбор GitHub issues, поиск слабых мест, обзор SOTA, декомпозированный план и реализация критичных исправлений."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"ok","link":"bound","path":"t27/wrap-up/skill.md","sha256":"a4a9b4fd9d022c212add3479cde725f6b9bd56bc31d2d600ba771cbd009329f9"},"discarded":0,"fields":{"COMMAND":"/wrap-up","ENABLED":true,"ID":"t27/wrap-up","KIND":"skill","NAME":"wrap-up","REPO":"t27","SOURCE":"skill.md","SPECS":["specs/automation/wrapup-auto.t27"],"SUMMARY_EN":"Format and upload session wrap-up to NotebookLM for persistent semantic memory","TAGS":["memory","notebooklm","session"],"TIMEOUT_MIN":30},"health":"ok","id":"t27/wrap-up","inSpecCorpus":false,"messages":[],"moduleName":"skill_t27_wrap_up","name":{"en":"wrap-up"},"runBy":[],"sha256":"5f6e7ed53ca0f4ca52320a9c1ebdbbf079e371836de109c94dc440847fa0f2dc","specPath":"specs/skills/t27-wrap-up.t27","summary":{"en":"Format and upload session wrap-up to NotebookLM for persistent semantic memory","ru":"Оформление и загрузка итогов сессии в NotebookLM как постоянной семантической памяти."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/blog-post/SKILL.md","sha256":"2cb755fd4a60a76d568a0742aeda34da60a2441774139646e0ebf4bd2a185493"},"discarded":0,"fields":{"COMMAND":"/blog-post","ENABLED":true,"ID":"trinity/blog-post","KIND":"skill","NAME":"blog-post","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Write and publish a post to the t27.ai blog. Covers where the blog actually lives (not where it looks like it lives), the Post schema with its required receipts and openQuestions, the honesty rules the data file itself imposes, and the b...","TAGS":["blog","publish","website"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/blog-post","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_blog_post","name":{"en":"blog-post"},"runBy":[],"sha256":"028f49b8d26ed69b4f8db6991666a5f51b9a2c2737291ceb3258bfd11ff7c3e7","specPath":"specs/skills/trinity-blog-post.t27","summary":{"en":"Write and publish a post to the t27.ai blog. Covers where the blog actually lives (not where it looks like it lives), the Post schema with its required receipts and openQuestions, the honesty rules the data file itself imposes, and the b...","ru":"Написать и опубликовать пост в блог t27.ai: где блог реально живёт, схема Post с обязательными свидетельствами, обложка и проверки."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/board-sync/SKILL.md","sha256":"f4bfa63737cf7a2078ae6e42f68943384214159243243ae8ec971ddeaac1825e"},"discarded":0,"fields":{"COMMAND":"/board [sync|audit|fix]","ENABLED":true,"ID":"trinity/board-sync","KIND":"skill","NAME":"board","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"GitHub Project Board auto-sync — fill empty fields, sync labels with board status, audit field completeness. Keeps board as realtime source of truth.","TAGS":["github","board","labels"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/board-sync","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_board_sync","name":{"en":"board"},"runBy":[],"sha256":"45ece51f52ec529802e387903a06b3fc58f3dcc088823785511c924c57567c32","specPath":"specs/skills/trinity-board-sync.t27","summary":{"en":"GitHub Project Board auto-sync — fill empty fields, sync labels with board status, audit field completeness. Keeps board as realtime source of truth.","ru":"Автосинхронизация GitHub Project Board: заполнить пустые поля, согласовать метки со статусом доски, проверить полноту полей."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/cloud/SKILL.md","sha256":"53aa338dddc4e6b8a0fd82f6d3b8dc9ac9b245b3457559c3c44f325ede0130e6"},"discarded":0,"fields":{"COMMAND":"/cloud [status|agents|events|full]","ENABLED":true,"ID":"trinity/cloud","KIND":"skill","NAME":"cloud","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Show Trinity Cloud Dev dashboard — containers, training farm, issues, PRs, costs. Use when checking agent swarm status, cloud containers, or CI/CD pipeline.","TAGS":["dashboard","railway","agents"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/cloud","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_cloud","name":{"en":"cloud"},"runBy":[],"sha256":"7eb9c81b10e1dd99998207ce71b792342f1f8bdd3852b974f27eb20418ca480e","specPath":"specs/skills/trinity-cloud.t27","summary":{"en":"Show Trinity Cloud Dev dashboard — containers, training farm, issues, PRs, costs. Use when checking agent swarm status, cloud containers, or CI/CD pipeline.","ru":"Панель Trinity Cloud Dev: контейнеры, тренировочная ферма, issues, PR, расходы. Для проверки состояния роя агентов и CI/CD."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/doctor/SKILL.md","sha256":"68efdf79301066d5e64e72babc91ddb867899786186fa360e6775b8365059815"},"discarded":0,"fields":{"COMMAND":"/doctor [quick|full|scan|junk|docs|dupes] [lang:ru|en]","ENABLED":true,"ID":"trinity/doctor","KIND":"skill","NAME":"doctor","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"HEALER — diagnose, heal, commit dirty files, monitor junk & docs & duplicates, report honestly. Every loop = action + proof.","TAGS":["health","repo","report"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/doctor","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_doctor","name":{"en":"doctor"},"runBy":[],"sha256":"4e74c213b43b2b2c253dda134a93795b3a6e627a4711d5fc8dffb3067c1cb0b0","specPath":"specs/skills/trinity-doctor.t27","summary":{"en":"HEALER — diagnose, heal, commit dirty files, monitor junk & docs & duplicates, report honestly. Every loop = action + proof.","ru":"ЛЕКАРЬ: диагностика, лечение, коммит грязных файлов, надзор за мусором, документацией и дубликатами, честный отчёт. Каждый цикл = действие + доказательство."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/farm-garden/SKILL.md","sha256":"6721489885755a64bfdd07f0407b0ddad366c713cb2723098c0fc63b4e196bb4"},"discarded":0,"fields":{"COMMAND":"","ENABLED":true,"ID":"trinity/farm-garden","KIND":"skill","NAME":"Garden — Quantum Gardener for Trinity Farm","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Autonomous farm population manager. Monitors, evolves, and recycles HSLM training workers.","TAGS":["farm","hslm","workers"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/farm-garden","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_farm_garden","name":{"en":"Garden — Quantum Gardener for Trinity Farm"},"runBy":[],"sha256":"4afded3071ac34a51d06749ea6983dfd0238d1dcb78856ae19b836122019c080","specPath":"specs/skills/trinity-farm-garden.t27","summary":{"en":"Autonomous farm population manager. Monitors, evolves, and recycles HSLM training workers.","ru":"Автономный управляющий популяцией фермы: наблюдает, эволюционирует и перерабатывает рабочих обучения HSLM."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/fpga-synth/SKILL.md","sha256":"de3915e66cdab0f3207f53f6ea22a85b258c8a998b614231eebf7afab2ca9ec3"},"discarded":0,"fields":{"COMMAND":"/fpga-synth ","ENABLED":true,"ID":"trinity/fpga-synth","KIND":"skill","NAME":"fpga-synth","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Run FPGA synthesis pipeline from .tri spec to bitstream. Use when working with Verilog, FPGA, or hardware synthesis.","TAGS":["fpga","verilog","synthesis"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/fpga-synth","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_fpga_synth","name":{"en":"fpga-synth"},"runBy":[],"sha256":"2d3563e302746a958794670cd14404a7c4e6854dcf546468dd5f91907ff299e4","specPath":"specs/skills/trinity-fpga-synth.t27","summary":{"en":"Run FPGA synthesis pipeline from .tri spec to bitstream. Use when working with Verilog, FPGA, or hardware synthesis.","ru":"Конвейер синтеза FPGA от .tri-спеки до битстрима. Для работы с Verilog, FPGA и аппаратным синтезом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/god-mode/SKILL.md","sha256":"0c48e328ae4cf1cbaffef270e7dbe16fac59a7fba845547179bcfe078f65ee7a"},"discarded":0,"fields":{"COMMAND":"/god-mode [status|agents|tasks|violations]","ENABLED":true,"ID":"trinity/god-mode","KIND":"skill","NAME":"god-mode","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"GOD MODE — Agent monitoring dashboard. Shows swarm status, task queue, pipeline compliance, circuit breakers, git activity, and rule violations.","TAGS":["dashboard","agents","monitoring"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/god-mode","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_god_mode","name":{"en":"god-mode"},"runBy":[],"sha256":"577f3aa5eb4280c6be165fd7d0458fb849988246800eef63c77b3c774091706f","specPath":"specs/skills/trinity-god-mode.t27","summary":{"en":"GOD MODE — Agent monitoring dashboard. Shows swarm status, task queue, pipeline compliance, circuit breakers, git activity, and rule violations.","ru":"GOD MODE: панель наблюдения за агентами — состояние роя, очередь задач, соблюдение конвейера, предохранители, активность git, нарушения правил."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/implement-issue/SKILL.md","sha256":"88ccafaece204489bd38ee3f2fbd5f7db3d38275c2ba7e5a9bfca2852be596bb"},"discarded":0,"fields":{"COMMAND":"/implement-issue [issue-number]","ENABLED":true,"ID":"trinity/implement-issue","KIND":"skill","NAME":"implement-issue","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Read a GitHub issue, create a branch, implement the solution, and open a PR. Use when given an issue number to implement.","TAGS":["github","issue","pr"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/implement-issue","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_implement_issue","name":{"en":"implement-issue"},"runBy":[],"sha256":"789be8f18768603dfb45d8664ad51fc1bb1311f82a0288c3a93efc19c08534e6","specPath":"specs/skills/trinity-implement-issue.t27","summary":{"en":"Read a GitHub issue, create a branch, implement the solution, and open a PR. Use when given an issue number to implement.","ru":"Прочитать GitHub issue, создать ветку, реализовать решение и открыть PR. Для работы по номеру задачи."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/queen-hive-visuals/SKILL.md","sha256":"c6d914dc81c84fc13dacca37de258563261a451a139e3c1644bbdc8b7a97b414"},"discarded":0,"fields":{"COMMAND":"/queen-hive-visuals","ENABLED":true,"ID":"trinity/queen-hive-visuals","KIND":"skill","NAME":"queen-hive-visuals","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Maintain QUEEN's floating hive, original point-down TRINITY logo, sharp issue displays and matching camera interactions.","TAGS":["queen","ui","3d"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/queen-hive-visuals","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_queen_hive_visuals","name":{"en":"queen-hive-visuals"},"runBy":[],"sha256":"327c5189a740d092290fe5dd10de3cf4da56b54a44d1bec9be8414451e70ae0e","specPath":"specs/skills/trinity-queen-hive-visuals.t27","summary":{"en":"Maintain QUEEN's floating hive, original point-down TRINITY logo, sharp issue displays and matching camera interactions.","ru":"Поддержка плавающего улья Королевы, оригинального логотипа TRINITY остриём вниз, чётких табло задач и согласованных движений камеры."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/review-code/SKILL.md","sha256":"e5712744615c2422d9a0c81413422e6e1a2ac97c4bfac8bb508f1cd04bf05d75"},"discarded":0,"fields":{"COMMAND":"/review-code [file-or-branch] (optional)","ENABLED":true,"ID":"trinity/review-code","KIND":"skill","NAME":"review-code","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Review recent code changes for bugs, style issues, and improvements. Use after writing code or before committing.","TAGS":["review","quality"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/review-code","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_review_code","name":{"en":"review-code"},"runBy":[],"sha256":"c5cf6004cce2295f921b7d983e252a9aafbd92ad662db2d5b595824c2774b7a4","specPath":"specs/skills/trinity-review-code.t27","summary":{"en":"Review recent code changes for bugs, style issues, and improvements. Use after writing code or before committing.","ru":"Ревью недавних изменений кода: ошибки, стиль, улучшения. После написания кода или перед коммитом."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/run-tests/SKILL.md","sha256":"7ead75ab36b840ec5588013b0de8f2c23ed3a27a0d3a5160d7e68334e5992a79"},"discarded":0,"fields":{"COMMAND":"/run-tests [module] (optional - all, vsa, vm, bsd, hslm, tri-api)","ENABLED":true,"ID":"trinity/run-tests","KIND":"skill","NAME":"run-tests","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Build the project, check for warnings, run all tests, and report results. Quick health check for the codebase.","TAGS":["tests","build","zig"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/run-tests","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_run_tests","name":{"en":"run-tests"},"runBy":[],"sha256":"8c683823554ee75c69b4dd27468eb819bd8f7ea003e91cf216b80be03dca13a6","specPath":"specs/skills/trinity-run-tests.t27","summary":{"en":"Build the project, check for warnings, run all tests, and report results. Quick health check for the codebase.","ru":"Собрать проект, проверить предупреждения, прогнать все тесты и отчитаться. Быстрая проверка здоровья кодовой базы."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/scholar/SKILL.md","sha256":"5c35431008a4d2694cf2e7ad65c01d6f1559d5836b8f7cfb0c3422f752d5b2c2"},"discarded":0,"fields":{"COMMAND":"/scholar [scan|eval|apply|full|report|topic:\"query\"]","ENABLED":true,"ID":"trinity/scholar","KIND":"skill","NAME":"scholar","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Self-Evolving Research Agent — scans web for relevant tech, evaluates findings, proposes improvements. Uses Perplexity Sonar API via MCP.","TAGS":["research","perplexity","mcp"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/scholar","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_scholar","name":{"en":"scholar"},"runBy":[],"sha256":"70bc5c1e10d9905fa22a38de1c7b88926b75d69b6a82305e69613820f70f83ae","specPath":"specs/skills/trinity-scholar.t27","summary":{"en":"Self-Evolving Research Agent — scans web for relevant tech, evaluates findings, proposes improvements. Uses Perplexity Sonar API via MCP.","ru":"Саморазвивающийся исследовательский агент: сканирует веб на релевантные технологии, оценивает находки, предлагает улучшения. Perplexity Sonar через MCP."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/status/SKILL.md","sha256":"e4bc75ff45cdc52968f1ef0ac6e1a1a482072f78e14283b1e71b6fe13a054890"},"discarded":0,"fields":{"COMMAND":"/status [quick|full] [lang:ru|en]","ENABLED":true,"ID":"trinity/status","KIND":"skill","NAME":"status","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Live system dashboard — 12-dimension ouroboros score, verdict v3, agents, build health, recommendations","TAGS":["dashboard","ouroboros","verdict"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/status","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_status","name":{"en":"status"},"runBy":[],"sha256":"09185d50913f410e9c5cdd3338d2fd38adb97f0997208c6440c89b2325268b9c","specPath":"specs/skills/trinity-status.t27","summary":{"en":"Live system dashboard — 12-dimension ouroboros score, verdict v3, agents, build health, recommendations","ru":"Живая панель системы: 12-мерная оценка уробороса, verdict v3, агенты, здоровье сборки, рекомендации."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/tech-tree/SKILL.md","sha256":"f84c8ea67ab696a9bc3828ccfe8b8708572fe5ddb7574f409ddf75c467744a0f"},"discarded":0,"fields":{"COMMAND":"/tree [next|path|blocked|update]","ENABLED":true,"ID":"trinity/tech-tree","KIND":"skill","NAME":"tree","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Technology dependency tree — shows issue DAG, prereqs, critical path, blocked/ready tasks. Single source of truth for work order.","TAGS":["issues","dag","planning"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/tech-tree","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_tech_tree","name":{"en":"tree"},"runBy":[],"sha256":"951d3d8a6dd0c1c6c62a303c660a45205624bf2f558fd090b34fe5b45b9f1501","specPath":"specs/skills/trinity-tech-tree.t27","summary":{"en":"Technology dependency tree — shows issue DAG, prereqs, critical path, blocked/ready tasks. Single source of truth for work order.","ru":"Дерево технологических зависимостей: DAG задач, предпосылки, критический путь, заблокированные и готовые задачи. Единый источник порядка работ."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/tri/SKILL.md","sha256":"4c38d1005219336c88583e985b5208653fa199d12481d98173604922dc35e4a5"},"discarded":0,"fields":{"COMMAND":"/tri [short] [full] [audit] [coverage] [lang:ru|en] [humor|prof|toxic|zen]","ENABLED":true,"ID":"trinity/tri","KIND":"skill","NAME":"tri","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"TRI status dashboard — agent thought mode by default, /tri full for visual dashboard","TAGS":["tri","dashboard","status"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/tri","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_tri","name":{"en":"tri"},"runBy":[],"sha256":"09f58e175bfeb73fb49d30bfdc6e0b197d775e6883fa8bb9417dffc92ffefebd","specPath":"specs/skills/trinity-tri.t27","summary":{"en":"TRI status dashboard — agent thought mode by default, /tri full for visual dashboard","ru":"Панель статуса TRI: по умолчанию режим мысли агента, /tri full — визуальная панель."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/trinity-test/SKILL.md","sha256":"648c7f095f0b9739a17d7a5d47fbfbe3e6dc2b2bd940fb6cea837632940b6c56"},"discarded":0,"fields":{"COMMAND":"/trinity-test [module] (vsa, vm, firebird, all)","ENABLED":true,"ID":"trinity/trinity-test","KIND":"skill","NAME":"trinity-test","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Run Trinity test suites and analyze results. Use for testing VSA, VM, Firebird, WASM, or full test suite.","TAGS":["tests","vsa","vm"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/trinity-test","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_trinity_test","name":{"en":"trinity-test"},"runBy":[],"sha256":"b70f5629049065477023aa4b4d51eb8272de0750a5c4809d7d445c698729c1a0","specPath":"specs/skills/trinity-trinity-test.t27","summary":{"en":"Run Trinity test suites and analyze results. Use for testing VSA, VM, Firebird, WASM, or full test suite.","ru":"Прогон тестовых наборов Trinity и разбор результатов: VSA, VM, Firebird, WASM или всё целиком."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/ux-wave/SKILL.md","sha256":"9690999e8d1e2091c80ef838e41a1d4dc48d9ffea1cf29a39294238f69954b28"},"discarded":0,"fields":{"COMMAND":"/ux-wave [wave-number] [audit]","ENABLED":true,"ID":"trinity/ux-wave","KIND":"skill","NAME":"ux-wave","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Autonomous UX improvement waves — launch 4 parallel agents per wave, audit every 5 waves, commit fixes. For Queen UI chat & network polish.","TAGS":["ux","agents","queen"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/ux-wave","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_ux_wave","name":{"en":"ux-wave"},"runBy":[],"sha256":"e63fa9e43303eefdf53f1f95499c15bb7794c7f08c9d14c1958f61e362e75ada","specPath":"specs/skills/trinity-ux-wave.t27","summary":{"en":"Autonomous UX improvement waves — launch 4 parallel agents per wave, audit every 5 waves, commit fixes. For Queen UI chat & network polish.","ru":"Автономные волны улучшения UX: 4 параллельных агента на волну, аудит каждые 5 волн, коммит исправлений. Для чата и сети Queen UI."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/vibee-gen/SKILL.md","sha256":"fc01e69f1395b590603692a29d9bb1ee533104bb716b5bb284738027df17b395"},"discarded":0,"fields":{"COMMAND":"/vibee-gen ","ENABLED":true,"ID":"trinity/vibee-gen","KIND":"skill","NAME":"vibee-gen","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Generate Zig or Verilog code from VIBEE specifications. Use when creating or updating .tri specs and regenerating code.","TAGS":["codegen","zig","verilog"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/vibee-gen","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_vibee_gen","name":{"en":"vibee-gen"},"runBy":[],"sha256":"769952ebb9d14eba7cdd2ee226b9d266de20e692ac0ee1e66ba6f622564a91f9","specPath":"specs/skills/trinity-vibee-gen.t27","summary":{"en":"Generate Zig or Verilog code from VIBEE specifications. Use when creating or updating .tri specs and regenerating code.","ru":"Генерация кода Zig или Verilog из спецификаций VIBEE. При создании или обновлении .tri-спек и перегенерации кода."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/vsa-verify/SKILL.md","sha256":"8b9c4518b1bc5dd468b12697a436f7d959278466b5282e575709d7981722905b"},"discarded":0,"fields":{"COMMAND":"/vsa-verify [operation or proof to verify]","ENABLED":true,"ID":"trinity/vsa-verify","KIND":"skill","NAME":"vsa-verify","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Verify VSA (Vector Symbolic Architecture) mathematical proofs and operations. Use for math verification, bind/unbind/bundle testing, phi identity checks.","TAGS":["vsa","math","verify"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/vsa-verify","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_vsa_verify","name":{"en":"vsa-verify"},"runBy":[],"sha256":"311455eaad1ec081b56395b38564babf52e10966f35b98b862d97bc5be60ff52","specPath":"specs/skills/trinity-vsa-verify.t27","summary":{"en":"Verify VSA (Vector Symbolic Architecture) mathematical proofs and operations. Use for math verification, bind/unbind/bundle testing, phi identity checks.","ru":"Проверка математических доказательств и операций VSA: bind/unbind/bundle, тождества phi."},"typecheckOk":true,"witness":"spec+code"},{"code":{"health":"warn","link":"unbound","path":"trinity/wave/SKILL.md","sha256":"ecf06fdfa467158f6758066aba41a8e49699f37e61c18e62716da765a7eb5487"},"discarded":0,"fields":{"COMMAND":"/wave [status|spawn |deploy|progress]","ENABLED":true,"ID":"trinity/wave","KIND":"skill","NAME":"wave","REPO":"trinity","SOURCE":"SKILL.md","SPECS":[],"SUMMARY_EN":"Farm wave management — create Railway accounts, spawn workers, deploy configs, track wave progress. Use for scaling training farm.","TAGS":["farm","railway","scaling"],"TIMEOUT_MIN":30},"health":"ok","id":"trinity/wave","inSpecCorpus":false,"messages":[],"moduleName":"skill_trinity_wave","name":{"en":"wave"},"runBy":[],"sha256":"0d205500e7adf560ff03ecfd59e90ee13b51f4624e27555d4142e5b184100d6b","specPath":"specs/skills/trinity-wave.t27","summary":{"en":"Farm wave management — create Railway accounts, spawn workers, deploy configs, track wave progress. Use for scaling training farm.","ru":"Управление волнами фермы: аккаунты Railway, запуск рабочих, раскатка конфигов, прогресс волны. Для масштабирования тренировочной фермы."},"typecheckOk":true,"witness":"spec+code"}],"version":1} diff --git a/apps/website/public/t27/files/specs/agents/t.t27 b/apps/website/public/t27/files/specs/agents/t.t27 index 8c6fe161b0..fb4167bf61 100644 --- a/apps/website/public/t27/files/specs/agents/t.t27 +++ b/apps/website/public/t27/files/specs/agents/t.t27 @@ -39,8 +39,8 @@ pub const SKILLS : [2]str = ["t27/phi-loop", "t27/tri-pipeline"]; pub const SKILLS_NOTE : str = ".claude/agents/trinity.md, Phase 2 PLAN: \"Identify required skills (phi-loop, tri-pipeline)\"; Phase 4 VERIFY: \"Run conformance tests via tri-pipeline\". specs/OWNERS.md lists skills/ and crons/ under T-Queen, which is catalog ownership, not a held skill."; ; Tool IDs (specs/tools) the agent holds. Bound only where a source line names the command ; for this letter; TOOLS_NOTE cites that line or says why the list is empty. -pub const TOOLS : [2]str = ["tri/gen", "tri/test"]; -pub const TOOLS_NOTE : str = ".claude/agents/trinity.md:68 (5. Gen - Run tri gen) and :70 (7. Verify - Run tri test). No source binds tri loop or tri health to T."; +pub const TOOLS : [3]str = ["tri/gen", "tri/test", "mcp/inngest-dev"]; +pub const TOOLS_NOTE : str = ".claude/agents/trinity.md:68 (5. Gen - Run tri gen) and :70 (7. Verify - Run tri test); specs/automation/inngest-queen-scheduler.t27 OWNER = \"T\" binds the scheduler mcp/inngest-dev to the Queen (specs/OWNERS.md: skills/ and crons/ under T-Queen). No source binds tri loop or tri health to T."; ; Where the agent logs episodes (AGENTS_ALPHABET.md: "Logs to .trinity/experience/"). pub const EXPERIENCE_LOG : str = ".trinity/experience/"; pub const ENABLED : bool = true; diff --git a/apps/website/public/t27/files/specs/automation/inngest-queen-scheduler.t27 b/apps/website/public/t27/files/specs/automation/inngest-queen-scheduler.t27 new file mode 100644 index 0000000000..b47ad739e8 --- /dev/null +++ b/apps/website/public/t27/files/specs/automation/inngest-queen-scheduler.t27 @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: Apache-2.0 +// specs/automation/inngest-queen-scheduler.t27 -- every cron and every skill card of this +// repository (specs/crons, specs/skills) held as one Inngest app that the Queen's runtime serves. +// Host: gHashTag/BrowserOS trios/agent-server apps/server/src/inngest/ (the app), mounted on the +// same Hono server that serves /queen/*; the Inngest server is the self-hosted `inngest` +// of Railway project 999 (private address INNGEST_BASE_URL), reachable to people and bees +// through the MCP face described by specs/tools/mcp/inngest-dev.t27. +// Nothing below is inferred from a file name: the host reads these cards with the compiler +// (t27_compiler.wasm, t27_analyze -> ConstDecl) and derives every function from declared fields. +// The cron cards keep their CONTROL field; it says "inngest" only after the step this spec +// calls THE MOVE has been done for that card and the function has been seen firing. +// phi^2 + 1/phi^2 = 3 | TRINITY + +module automation::inngest_queen_scheduler { + + pub const KIND : str = "automation"; + pub const ID : str = "inngest-queen-scheduler"; + pub const REPO : str = "BrowserOS"; + pub const HOST_PATH : str = "trios/agent-server/apps/server/src/inngest"; + pub const VERSION : u8 = 1; + // The agent letter that holds the scheduler (specs/agents/t.t27 TOOLS names mcp/inngest-dev). + pub const OWNER : str = "T"; + pub const TOOL : str = "mcp/inngest-dev"; + + // The app as the Inngest server sees it. + pub const APP_ID : str = "t27-queen"; + pub const SERVE_PATH : str = "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/api/inngest"; + pub const ENV : [4]str = ["INNGEST_BASE_URL", "INNGEST_EVENT_KEY", "INNGEST_SIGNING_KEY", "INNGEST_SERVE_HOST"]; + // The GitHub token the host already carries for the Queen's reads; dispatch reuses it. + pub const TOKEN_ENV : str = "TRIOS_GITHUB_API_TOKEN"; + pub const GITHUB_OWNER : str = "gHashTag"; + + // Which cards become functions. Both directories, every *.t27, ENABLED or not. + pub const SCOPE : [2]str = ["specs/crons", "specs/skills"]; + // A card that does not typecheck, or lacks a required field, is refused: the app then serves + // the cards that pass and lists the refused ones; it never guesses a field. + pub const ON_BAD_CARD : str = "refuse-card-serve-rest"; + + // Function identity. slug(ID) = ID lower-cased with every run outside [a-z0-9] replaced by "-". + pub const CRON_FUNCTION_ID : str = "cron-"; + pub const SKILL_FUNCTION_ID : str = "skill-"; + // Every cron function also answers this event, so an operator can fire it by hand. + pub const CRON_TICK_EVENT : str = "cron/.tick"; + // A skill function is event-only: nothing schedules a skill directly. + pub const SKILL_RUN_EVENT : str = "skill/.run"; + // A cron whose RUNS names skill IDs sends one SKILL_RUN_EVENT per ID after its own dispatch. + pub const RUNS_FANOUT : bool = true; + + // What a cron function does when it fires, by the card's HOST field. + // github-actions: POST /repos///actions/workflows//dispatches + // with ref = the repository's default branch (read from the API, not assumed). + pub const DISPATCH_GITHUB_ACTIONS : str = "workflow-dispatch"; + // inngest: the card is already a function of the 999-multibots-telegraf app; registering a second + // schedule would fire it twice, so this app registers the tick event only. + pub const DISPATCH_INNGEST : str = "tick-only"; + // timer: a setInterval inside a 999 process with no remote handle; tick event only, no schedule. + pub const DISPATCH_TIMER : str = "tick-only"; + // railway-cron: Railway owns the schedule; tick event only. + pub const DISPATCH_RAILWAY_CRON : str = "tick-only"; + // A card with ENABLED = false or an empty SCHEDULE gets no cron trigger, only the tick event. + pub const DISABLED_CARD : str = "tick-only"; + // SCHEDULE is a five-field cron expression evaluated in the card's TZ. + pub const SCHEDULE_FIELDS : u8 = 5; + + // What a skill function does: one issue for the Queen's bees, never a shell command. + pub const SKILL_DISPATCH : str = "queen-issue"; + pub const SKILL_ISSUE_REPO : str = "/"; + pub const SKILL_ISSUE_TITLE : str = "[skill] "; + pub const SKILL_ISSUE_LABEL : str = "queen-skill"; + // The issue body carries the two sections the Queen's brief requires. + pub const SKILL_ISSUE_SECTIONS : [2]str = ["## Success Criteria", "## Boundary"]; + // An open issue with the same title is reused, not duplicated; the run reports its number. + pub const SKILL_ISSUE_DEDUP : str = "reuse-open-same-title"; + + // THE MOVE, per github-actions card, in this order and never the reverse: + // 1. the function is synced and seen firing (list_function_runs); + // 2. a PR to the card's REPO removes the `schedule:` block of SERVICE and keeps workflow_dispatch; + // 3. the card's CONTROL becomes "inngest". + pub const MOVE_STEPS : u8 = 3; + pub const CONTROL_AFTER_MOVE : str = "inngest"; + // Measured 2026-09-13 on the default branches: 9 of the 12 github-actions SERVICE files declare + // workflow_dispatch; 999 ci.yml, 999 security.yml and t27 formal-mutation.yml do not, so their + // dispatch answers 422 until a PR adds the trigger. + pub const WORKFLOWS_WITH_DISPATCH : u8 = 9; + pub const WORKFLOWS_TOTAL : u8 = 12; + + // Not claimed: no function of this app has fired yet at VERSION 1; the count of synced + // functions is read from the server (list_functions), not written here. + pub const ENABLED : bool = true; +} diff --git a/apps/website/public/t27/files/specs/tools/README.md b/apps/website/public/t27/files/specs/tools/README.md index a37d096ad1..6ef738f977 100644 --- a/apps/website/public/t27/files/specs/tools/README.md +++ b/apps/website/public/t27/files/specs/tools/README.md @@ -101,9 +101,10 @@ Nothing in these files is typed by hand. Each file records where its text came f Every card carries three fields beyond its family's: `REPO` (`gHashTag/t27` or `gHashTag/trinity`), `QUALIFIED_ID` (`/:/`, unique across -repositories by construction) and `SCHEMA = 2`. The 62 cards written before schema 2 keep -their short `ID` (`tri/`, `mcp/`): the site route and the agents' `TOOLS` -arrays use it, and `QUALIFIED_ID = REPO:ID`. A card of the Trinity `tri` has +repositories by construction) and `SCHEMA = 2`. The 62 cards written before schema 2, and +`mcp/inngest-dev` (the Queen's scheduler, 2026-09-13, written with the same short form), keep +a short `ID` (`tri/`, `mcp/`): the site route and the agents' `TOOLS` +arrays use it, and `QUALIFIED_ID = REPO:ID`; `LEGACY_COUNT = 63` in `catalog.t27`. A card of the Trinity `tri` has `ID = QUALIFIED_ID` and no short form, so a same-named command (`fpga`, `test` at the pin; `COLLISIONS` in `catalog.t27`) can never be selected by the wrong repository. diff --git a/apps/website/public/t27/files/specs/tools/catalog.t27 b/apps/website/public/t27/files/specs/tools/catalog.t27 new file mode 100644 index 0000000000..93c30da6b3 --- /dev/null +++ b/apps/website/public/t27/files/specs/tools/catalog.t27 @@ -0,0 +1,158 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/tools/catalog.t27 -- the tools catalog contract: schema 2, repository-qualified IDs, legacy resolution +; S06 of gHashTag/trinity#988 (gHashTag/t27#3568). specs/tools/ holds one card per tool of two repositories: +; the Rust tri of gHashTag/t27 (tri/.t27), the MCP servers of both (mcp/.t27), and now the Zig +; tri of gHashTag/trinity (trinity/tri/.t27), derived from the one registry that repository's own +; binary exports and its CI drift-checks (.trinity/registry.json, 29 commands). Until 2026-09-12 the README +; said the consumer had no tri binary; it has one, with five dispatch layers, a 187-entry command table, an +; MCP server that advertises 210 tools from a literal, and documents that count 35, 47, 100 and 280. This file +; states the schema every card carries, how an ID names a repository, how a legacy short ID resolves without +; ever selecting the wrong repository, which evidence a witness may claim, and what the consumer measures to; +; the decisions are functions the C backend executes, and tools/trinity_tools_registry.py holds the cards and +; the counts to conformance/trinity/tools_inventory.json. ASCII only (L3). phi^2 + 1/phi^2 = 3 | TRINITY + +module ToolsCatalog; + +pub const KIND : str = "tools-catalog"; +pub const ID : str = "tools/catalog"; +pub const NAME : str = "The tools catalog of specs/tools: schema, identity, resolution, evidence"; +pub const SCHEMA_VERSION : u32 = 2; +pub const CONSUMER_REPO : str = "gHashTag/trinity"; +pub const PINNED_REVISION : str = "976df517419f918f05b78e73767e2fdf4aad14be"; +pub const REGISTRY : str = ".trinity/registry.json"; +pub const REGISTRY_RULE : str = "exported by `zig build export-registry` from src/registry/command_table.zig (only mcp_enabled commands), held to the binary by the Registry schema check of .github/workflows/ci.yml; the Trinity cards derive from it and from nothing else"; +pub const REGISTRY_VERSION : str = "1.0.0"; +pub const REGISTRY_GENERATED_AT : str = "1773041968"; +; --- Families, repositories, identity ---------------------------------------------------------- +pub const FAMILIES : [2]str = ["tri-cli", "mcp"]; +pub const REPOS : [2]str = ["gHashTag/t27", "gHashTag/trinity"]; +pub const DIRECTORIES : [3]str = ["tri/.t27 (gHashTag/t27, FAMILY tri-cli)", "mcp/.t27 (either repository, FAMILY mcp)", "trinity/tri/.t27 (gHashTag/trinity, FAMILY tri-cli)"]; +pub const QUALIFIED_ID_GRAMMAR : str = "/:/, for example gHashTag/t27:tri/gen and gHashTag/trinity:tri/gen; unique across repositories by construction"; +pub const LEGACY_ID_GRAMMAR : str = "/, for example tri/gen or mcp/needle: the ID of the 63 cards written at or before schema 2 (62 before it, mcp/inngest-dev after); the site route and the agents' TOOLS arrays use it"; +pub const ID_RULE : str = "a legacy card keeps ID = / and adds QUALIFIED_ID = REPO:ID; a card of any other repository's tri has ID = QUALIFIED_ID, never a short form"; +pub const SCHEMA_2_FIELDS : [3]str = ["REPO", "QUALIFIED_ID", "SCHEMA"]; +pub const SCHEMA_2_RULE : str = "every card carries REPO, QUALIFIED_ID and SCHEMA = 2 in addition to its family's fields; a Trinity tri card also carries ALIASES, NAMESPACE, MODE, STABILITY, CATEGORY, JOB_TIMEOUT, SIDE_EFFECTS, CAPABILITIES, MCP_ENABLED, MCP_NAME, MCP_DISPLAY_NAME, EXAMPLES, EXIT_CODES, RESULT, COLLIDES_WITH, ROUTED, ROUTE_KIND, ROUTE_NOTE, WITNESS_SOURCE"; +; --- Legacy resolution ------------------------------------------------------------------------------ +pub const RESOLVE_LEGACY : u32 = 0; +pub const RESOLVE_NEEDS_REPOSITORY : u32 = 1; +pub const RESOLVE_UNKNOWN : u32 = 2; +pub const RESOLUTION_RULE : str = "a legacy ID resolves through LEGACY_IDS -> LEGACY_TARGETS and nothing else: tri/ is always the gHashTag/t27 command, even when gHashTag/trinity has a command of the same name; a short ID that names only a Trinity command is refused with the message `use gHashTag/trinity:tri/`; a short ID in neither table is unknown"; +pub const MIGRATION_MESSAGE : str = "legacy id tri/ names the gHashTag/t27 command; for the gHashTag/trinity command use gHashTag/trinity:tri/"; +pub const LEGACY_COUNT : u32 = 63; +pub const LEGACY_IDS : [63]str = ["tri/abandoned", "tri/cell", "tri/census", "tri/ci", "tri/competitors", "tri/discard", "tri/doctor", "tri/elab", "tri/emit", "tri/experience", "tri/fleet", "tri/fmt", "tri/fpga", "tri/gates", "tri/gen", "tri/harness", "tri/health", "tri/hooks", "tri/issues", "tri/jumps", "tri/kinds", "tri/lean", "tri/ledgers", "tri/loop", "tri/merging", "tri/misread", "tri/mods", "tri/mutate", "tri/now", "tri/one-away", "tri/orphaned", "tri/pr", "tri/prose", "tri/quantifiers", "tri/red", "tri/reseal", "tri/rtl", "tri/seals", "tri/serve", "tri/skill", "tri/status", "tri/sweep", "tri/synth", "tri/test", "tri/topic", "tri/types", "tri/unparsed", "tri/vectors", "tri/verdict", "tri/vsim", "tri/window", "tri/worktrees", "mcp/gitbutler", "mcp/inngest-dev", "mcp/needle", "mcp/neon", "mcp/notebooklm", "mcp/railway-mcp-server", "mcp/t27-traceability", "mcp/tri-mcp", "mcp/tri-ssot", "mcp/trinity", "mcp/zig-docs"]; +pub const LEGACY_TARGETS : [63]str = ["gHashTag/t27:tri/abandoned", "gHashTag/t27:tri/cell", "gHashTag/t27:tri/census", "gHashTag/t27:tri/ci", "gHashTag/t27:tri/competitors", "gHashTag/t27:tri/discard", "gHashTag/t27:tri/doctor", "gHashTag/t27:tri/elab", "gHashTag/t27:tri/emit", "gHashTag/t27:tri/experience", "gHashTag/t27:tri/fleet", "gHashTag/t27:tri/fmt", "gHashTag/t27:tri/fpga", "gHashTag/t27:tri/gates", "gHashTag/t27:tri/gen", "gHashTag/t27:tri/harness", "gHashTag/t27:tri/health", "gHashTag/t27:tri/hooks", "gHashTag/t27:tri/issues", "gHashTag/t27:tri/jumps", "gHashTag/t27:tri/kinds", "gHashTag/t27:tri/lean", "gHashTag/t27:tri/ledgers", "gHashTag/t27:tri/loop", "gHashTag/t27:tri/merging", "gHashTag/t27:tri/misread", "gHashTag/t27:tri/mods", "gHashTag/t27:tri/mutate", "gHashTag/t27:tri/now", "gHashTag/t27:tri/one-away", "gHashTag/t27:tri/orphaned", "gHashTag/t27:tri/pr", "gHashTag/t27:tri/prose", "gHashTag/t27:tri/quantifiers", "gHashTag/t27:tri/red", "gHashTag/t27:tri/reseal", "gHashTag/t27:tri/rtl", "gHashTag/t27:tri/seals", "gHashTag/t27:tri/serve", "gHashTag/t27:tri/skill", "gHashTag/t27:tri/status", "gHashTag/t27:tri/sweep", "gHashTag/t27:tri/synth", "gHashTag/t27:tri/test", "gHashTag/t27:tri/topic", "gHashTag/t27:tri/types", "gHashTag/t27:tri/unparsed", "gHashTag/t27:tri/vectors", "gHashTag/t27:tri/verdict", "gHashTag/t27:tri/vsim", "gHashTag/t27:tri/window", "gHashTag/t27:tri/worktrees", "gHashTag/t27:mcp/gitbutler", "gHashTag/t27:mcp/inngest-dev", "gHashTag/trinity:mcp/needle", "gHashTag/trinity:mcp/neon", "gHashTag/t27:mcp/notebooklm", "gHashTag/trinity:mcp/railway-mcp-server", "gHashTag/t27:mcp/t27-traceability", "gHashTag/t27:mcp/tri-mcp", "gHashTag/t27:mcp/tri-ssot", "gHashTag/trinity:mcp/trinity", "gHashTag/trinity:mcp/zig-docs"]; +; Command names both repositories' tri dispatch (the name or an alias of a registry command that is also a t27 card). +pub const COLLISION_COUNT : u32 = 2; +pub const COLLISIONS : [2]str = ["fpga", "test"]; +; --- Evidence ----------------------------------------------------------------------------------------- +pub const WITNESSES : [4]str = ["source-parse", "registry-export", "help-output", "runtime"]; +pub const WITNESS_RULE : str = "source-parse: read from the source at a named commit; registry-export: read from an artifact the binary itself exported and CI holds to the binary; help-output: diffed against the binary's own --help on a named host; runtime: an invocation and its result recorded. Source parsing alone never claims runtime verification"; +pub const WITNESS_T27_TRI : str = "source-parse on the cards, help-output measured by tools/trinity_tools_registry.py inventory --tri against target/release/tri: 52 of 52 names and every ACTIONS list agree with the binary's help (clap's implicit help subcommand set aside)"; +pub const WITNESS_TRINITY_TRI : str = "registry-export: no host builds the Trinity tri, and no workflow runs its help; its cards claim nothing about runtime"; +pub const WITNESS_MCP : str = "source-parse: no workflow runs either MCP server; specs/tools/mcp_protocol.t27 states the behaviour read from the source"; +; --- Vocabularies (from src/registry/command_def.zig) ------------------------------------------------- +pub const SIDE_EFFECT_CLASSES : [5]str = ["none", "repo", "filesystem", "network", "hardware"]; +pub const CAPABILITY_CLASSES : [5]str = ["none", "repo", "filesystem", "network", "hardware"]; +pub const CAPABILITY_RULE : str = "a Trinity card's CAPABILITIES equal the registry's side_effects of the command; nothing is inferred from the handler; an empty list means the registry declares none, which is not evidence that the command has none"; +pub const MODES : [3]str = ["sync", "job", "stream"]; +pub const STABILITIES : [3]str = ["stable", "experimental", "dangerous"]; +pub const NAMESPACES : [6]str = ["core", "dev", "forge", "agent", "mcp", "system"]; +; --- What the consumer measures to (tools/trinity_tools_registry.py inventory at the pin) --------------- +pub const T27_TRI_CARDS : u32 = 52; +pub const MCP_CARDS : u32 = 11; +pub const TRINITY_TRI_CARDS : u32 = 29; +pub const TRINITY_TABLE_COMMANDS : u32 = 187; +pub const TRINITY_TABLE_MCP_ENABLED : u32 = 29; +pub const TRINITY_EXPORTED : u32 = 29; +pub const TRINITY_EXPORTED_UNROUTED : u32 = 6; +pub const UNROUTED_EXPORTED : [6]str = ["blindspots", "wallet", "mesh", "reputation", "hardware", "conscious"]; +pub const TRINITY_TABLE_UNROUTED : u32 = 12; +pub const TRINITY_EXECUTE_MAP_LIVE : u32 = 180; +pub const TRINITY_EXECUTE_MAP_DISABLED : u32 = 18; +pub const TRINITY_PARSE_TOKENS : u32 = 322; +pub const TRINITY_MCP_SERVER_TOOLS : u32 = 210; +pub const TRINITY_MCP_SERVER_MALFORMED : u32 = 32; +pub const TRINITY_MCP_OVERLAP : u32 = 9; +pub const EXPORTED_SHARE_PERCENT : u32 = 15; +pub const DISPATCH_LAYERS : [5]str = ["global flags and the interactive REPL (src/tri/main.zig:82-127)", "a first-argument chain of string comparisons (src/tri/main.zig:134-639)", "two static handler maps of cell dispatch (src/tri/tri_cell_dispatch.zig)", "cell-contributed two-word commands, matched before the flat switch, that spawn zig-out/bin/ (src/tri/tri_cell_dispatch.zig:288-385)", "six namespaces and a flat Command enum of 186 variants behind parseCommand (src/tri/tri_namespace.zig, src/tri/tri_utils.zig:35-1069)"]; +pub const FINDING_COUNT : u32 = 10; +pub const FINDINGS : [10]str = ["the consumer has a tri binary (build.zig:2134, exe tri, run step tri); the statement that it has none is withdrawn from specs/tools/README.md and docs/system/tooling.md", "the command table holds 187 commands and the export keeps the 29 with mcp_enabled: 158 commands the binary dispatches are in no registry artifact CI checks", "six exported commands reach no dispatcher at the pin (their execute_map entries are among the 18 commented out): their MCP tools have no CLI behind them", "the comptime check that every execute_map entry exists in the command table is commented out (src/tri/tri_register.zig:1268-1280)", "the MCP server advertises 210 tools from a literal of which 32 objects are malformed JSON, the exporter writes 29 from the table, nine names are common to both, and the server never reads the export", "tri mcp tools is unreachable: the cell of tools/mcp/trinity_mcp claims the two-word command first and spawns a binary that does not exist", "tri --help lists six commands no layer dispatches (auto-commit, ml-optimize, deploy-dashboard, self-host, safeguards, safeguards-disable) and omits every layer-two namespace; a --search flag the README documents does not exist", "two ExitCode enums coexist (sysexits in observability.zig, 0..7 in tri_exit_codes.zig) and the sysexits mapping is reached from no caller: UnifiedOutput status carries failure at exit 0", "the only workflow step that runs a tri command runs `tri --version || true`, `tri help || true`, `tri constants || true` (docs-check.yml); no workflow builds or runs trinity-mcp or needle-mcp", "docs/command_registry.md (165 CLI, 23 MCP, 120 API), docs/api_reference.md (47+ tools), cell.tri (47+), server.zig (35+, 38+), resources.zig (280+ commands) and README.md (100+) each count differently; the registry export and the source are the numbers above"]; +pub const ENABLED : bool = true; + +; --- Rules ------------------------------------------------------------------------------------------- + +pub fn resolve_legacy(in_t27: bool, in_trinity: bool) -> u32 { + if (in_t27) { return RESOLVE_LEGACY; } + if (in_trinity) { return RESOLVE_NEEDS_REPOSITORY; } + return RESOLVE_UNKNOWN; +} + +pub fn is_collision(in_t27: bool, in_trinity: bool) -> bool { + return in_t27 and in_trinity; +} + +pub fn legacy_selects_trinity(in_t27: bool, in_trinity: bool) -> bool { + return false; +} + +pub fn witness_rank(witness: u32) -> u32 { + if (witness > 3) { return 0; } + return witness + 1; +} + +pub fn witness_claims_runtime(witness: u32) -> bool { + return witness == 3; +} + +pub fn card_is_qualified(has_repo: bool, has_qualified_id: bool, schema: u32) -> bool { + return has_repo and has_qualified_id and schema == SCHEMA_VERSION; +} + +pub fn exported_share(exported: u32, table: u32) -> u32 { + return (exported * 100) / table; +} + +invariant the_legacy_table_covers_every_legacy_card { LEGACY_COUNT == T27_TRI_CARDS + MCP_CARDS } +invariant the_trinity_cards_are_the_export { TRINITY_TRI_CARDS == TRINITY_EXPORTED } +invariant the_export_is_the_mcp_enabled_subset { TRINITY_EXPORTED == TRINITY_TABLE_MCP_ENABLED } +invariant the_overlap_is_within_the_export { TRINITY_MCP_OVERLAP <= TRINITY_EXPORTED } + +test a_legacy_id_never_selects_the_other_repository { + assert resolve_legacy(true, false) == RESOLVE_LEGACY; + assert resolve_legacy(true, true) == RESOLVE_LEGACY; + assert resolve_legacy(false, true) == RESOLVE_NEEDS_REPOSITORY; + assert resolve_legacy(false, false) == RESOLVE_UNKNOWN; + assert legacy_selects_trinity(true, true) == false; + assert legacy_selects_trinity(false, true) == false; +} + +test the_collisions_are_the_names_both_binaries_dispatch { + assert is_collision(true, true) == true; + assert is_collision(true, false) == false; + assert COLLISIONS[0] == "fpga"; + assert COLLISIONS[1] == "test"; + assert COLLISION_COUNT == 2; +} + +test witnesses_rank_and_only_runtime_claims_runtime { + assert witness_rank(0) == 1; + assert witness_rank(3) == 4; + assert witness_rank(4) == 0; + assert witness_claims_runtime(0) == false; + assert witness_claims_runtime(1) == false; + assert witness_claims_runtime(3) == true; +} + +test schema_two_needs_the_three_fields { + assert card_is_qualified(true, true, 2) == true; + assert card_is_qualified(true, true, 1) == false; + assert card_is_qualified(false, true, 2) == false; + assert LEGACY_IDS[0] == "tri/abandoned"; + assert LEGACY_TARGETS[0] == "gHashTag/t27:tri/abandoned"; +} + +test the_export_is_a_sixth_of_the_table { + assert exported_share(TRINITY_EXPORTED, TRINITY_TABLE_COMMANDS) == EXPORTED_SHARE_PERCENT; + assert TRINITY_EXPORTED_UNROUTED == 6; + assert UNROUTED_EXPORTED[0] == "blindspots"; +} diff --git a/apps/website/public/t27/files/specs/tools/mcp/inngest-dev.t27 b/apps/website/public/t27/files/specs/tools/mcp/inngest-dev.t27 new file mode 100644 index 0000000000..1e842bf715 --- /dev/null +++ b/apps/website/public/t27/files/specs/tools/mcp/inngest-dev.t27 @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: Apache-2.0 +; specs/tools/mcp/inngest-dev.t27 -- tool mcp/inngest-dev, MCP server "inngest-dev" (self-hosted Inngest, Railway project 999) +; Source of truth for the tool card on t27.ai (#/tools?tool=mcp/inngest-dev). +; Tool names, descriptions (first line) and input keys are the server's own tools/list answer, +; recorded over Streamable HTTP on 2026-09-13 (initialize -> notifications/initialized -> tools/list, +; serverInfo name "inngest-dev", title "Inngest Dev Server MCP Tools", version 1.0.0, +; response header x-inngest-server-kind: cloud); nothing is typed by hand. +; This is the scheduler the Queen holds: every cron and every skill card of specs/crons and +; specs/skills is registered as an Inngest function by the app specs/automation/inngest-queen-scheduler.t27 +; describes, and these 20 tools are how a bee or an operator lists, invokes, reruns or cancels them. +; Layer 5 of the ladder Specs -> Skills -> Crons -> Agents -> Tools. ASCII only (L3). +; phi^2 + 1/phi^2 = 3 | TRINITY + +module tool_mcp_inngest_dev; + +pub const KIND : str = "tool"; +pub const FAMILY : str = "mcp"; +pub const ID : str = "mcp/inngest-dev"; +pub const SERVER : str = "inngest-dev"; +pub const SERVER_VERSION : str = "1.0.0"; +pub const TRANSPORT : str = "http"; +; The registration line as a client states it; the REST tools (get_apps, list_functions, ...) answer +; HTTP 401 until the client also sends Authorization: Bearer (measured 2026-09-13). +pub const LAUNCH : str = "claude mcp add --transport http inngest-dev https://inngestinngest-production-c468.up.railway.app/mcp"; +pub const ENV : [1]str = ["INNGEST_SIGNING_KEY"]; +; No .mcp.json in this repository registers it; the Queen's runtime (trios/agent-server) holds the address. +pub const CONFIG : str = ""; +pub const REPO : str = "gHashTag/t27"; +pub const QUALIFIED_ID : str = "gHashTag/t27:mcp/inngest-dev"; +pub const SCHEMA : u32 = 2; +pub const SOURCE : str = "tools/list of https://inngestinngest-production-c468.up.railway.app/mcp (2026-09-13)"; +pub const ABOUT : str = "MCP face of the self-hosted Inngest server (Railway project 999) that runs the Queen's crons and skills as functions of the app t27-queen; lists apps and functions, reads runs and traces, invokes, reruns and cancels."; +pub const ABOUT_SOURCE : str = "serverInfo.title of the initialize answer plus specs/automation/inngest-queen-scheduler.t27"; +; Tools as the server lists them (tools/list), their descriptions and inputSchema property keys. +pub const TOOLS : [20]str = ["cancel_run", "get_app", "get_apps", "get_event_runs", "get_function", "get_run", "get_run_status", "get_run_trace", "grep_docs", "health", "invoke_function", "invoke_function_sync", "list_docs", "list_function_runs", "list_functions", "list_runs", "poll_run_status", "read_doc", "rerun", "send_event"]; +pub const TOOLS_ABOUT : [20]str = ["Cancels an in-progress function run", "Fetches details for a single app, including sync metadata and function count", "Lists active apps in the authenticated environment. Set archived to true to list archived apps instead.", "Lists function runs triggered by a specific event", "Fetches function configuration and status details for a function within an app", "Fetches the canonical run summary for a single function run", "Deprecated compatibility tool retained for existing dev server integrations. Use get_run and get_run_trace for new integrations. Parameters:", "Fetches the trace tree for a single function run", "Search documentation using exact string matching (grep). Useful for finding specific API names, error codes, or identifiers. Parameters: pat", "Returns the health status of the API service", "Invokes a function, executing the function either asynchronously or synchronously based on the mode parameter in the request body", "Deprecated compatibility tool retained for existing dev server integrations. Use invoke_function for the shared asynchronous Cloud and dev s", "List all available documentation categories and their document counts. No parameters required.", "Lists runs for one function in the authenticated environment", "Lists function configuration and status details for an app", "Lists runs in the authenticated environment, optionally filtered by app and function IDs", "Deprecated compatibility tool retained for existing dev server integrations. Use get_run for new integrations. Poll multiple function runs u", "Read the full content of a specific documentation file. Parameters: path (required string - the doc file path relative to docs directory)", "Creates a new run using the original run's triggering event data", "Deprecated compatibility tool retained for existing dev server integrations. Send an event to the Inngest dev server and return the event ID"]; +pub const TOOLS_INPUTS : [20]str = ["runId", "appId", "archived,cursor,limit", "cursor,eventId,includeOutput,limit", "appId,functionId", "includeOutput,runId", "runId", "includeOutput,runId", "pattern,limit", "", "appId,data,functionId,idempotencyKey", "functionId,data,user,timeout", "", "appId,cursor,from,functionId,includeOutput,isDeferred,limit,order,status,timeField,until", "appId,cursor,limit", "appId,cursor,from,functionId,includeOutput,isDeferred,limit,order,status,timeField,until", "runIds,timeout,pollInterval", "path", "fromStep,runId", "name,data,user,eventIdSeed"]; +pub const RESOURCES : [0]str = []; +pub const RESOURCES_ABOUT : [0]str = []; +; 4 of the 20 carry the server's own word "Deprecated compatibility tool" (get_run_status, invoke_function_sync, poll_run_status, send_event); a bee prefers get_run, invoke_function and the REST-backed list tools. +pub const TOOLS_NOTE : str = "Recorded from the live tools/list, not from source: the server is the upstream inngest binary, its source is not in this repository. Measured 2026-09-13 without a key: health, get_apps and list_runs answer REST API v2 returned HTTP 401: Authentication failed; list_docs and grep_docs answer (173 documents). The REST-backed tools need Authorization: Bearer on the MCP request."; +; The server is the upstream inngest binary run by Railway, not code of this repository. +pub const EXTERNAL : bool = true; +pub const AGENTS : [1]str = ["T"]; +pub const AGENTS_NOTE : str = "specs/agents/t.t27 TOOLS names mcp/inngest-dev: the Queen (Tau) holds the scheduler; a bee reaches it through the Queen's brief, not by its own registration."; +; help-output is the nearest witness the catalog vocabulary has for 'diffed against the server's own tools/list on a named host'; no workflow runs it yet, so nothing here claims runtime. +pub const WITNESS : str = "help-output"; +pub const ENABLED : bool = true; diff --git a/apps/website/public/tools/spec-tools.json b/apps/website/public/tools/spec-tools.json index a6eb7b1ebb..162a3f02d5 100644 --- a/apps/website/public/tools/spec-tools.json +++ b/apps/website/public/tools/spec-tools.json @@ -1 +1 @@ -{"collisions":[{"name":"fpga","t27":"gHashTag/t27:tri/fpga","trinity":"gHashTag/trinity:tri/fpga"},{"name":"test","t27":"gHashTag/t27:tri/test","trinity":"gHashTag/trinity:tri/test"}],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"f00987daaf6bcd334f863a0ed45aed0ad5511cc352f54bb34cd29d87e9a07c4f","counts":{"byRepo":{"gHashTag/t27":57,"gHashTag/trinity":34},"byWitness":{"help-output":0,"registry-export":29,"runtime":0,"source-parse":62},"collisions":2,"enabled":91,"mcp":10,"mcpExternal":5,"mcpTools":235,"mcpWithTools":5,"schema2":91,"specs":91,"tri":81,"triActions":124,"triWithActions":38,"trinityTri":29,"typecheckOk":91,"withAgents":5,"withSkills":5},"generatedAt":"2026-09-12T12:30:14.790Z","groups":{"mcpByRepo":{"gHashTag/t27":["mcp/gitbutler","mcp/notebooklm","mcp/t27-traceability","mcp/tri-mcp","mcp/tri-ssot"],"gHashTag/trinity":["mcp/needle","mcp/neon","mcp/railway-mcp-server","mcp/trinity","mcp/zig-docs"]},"triByAgent":{"-":["gHashTag/trinity:tri/bench","gHashTag/trinity:tri/bio","gHashTag/trinity:tri/blindspots","gHashTag/trinity:tri/conscious","gHashTag/trinity:tri/constants","gHashTag/trinity:tri/cosmos","gHashTag/trinity:tri/dashboard","gHashTag/trinity:tri/fib","gHashTag/trinity:tri/fpga","gHashTag/trinity:tri/gematria","gHashTag/trinity:tri/govern","gHashTag/trinity:tri/hardware","gHashTag/trinity:tri/identity","gHashTag/trinity:tri/lucas","gHashTag/trinity:tri/mesh","gHashTag/trinity:tri/needle","gHashTag/trinity:tri/needle-check","gHashTag/trinity:tri/needle-search","gHashTag/trinity:tri/omega","gHashTag/trinity:tri/particles","gHashTag/trinity:tri/phi","gHashTag/trinity:tri/quantum","gHashTag/trinity:tri/reputation","gHashTag/trinity:tri/sacred-const","gHashTag/trinity:tri/spiral","gHashTag/trinity:tri/swarm","gHashTag/trinity:tri/test","gHashTag/trinity:tri/vsa","gHashTag/trinity:tri/wallet","tri/abandoned","tri/census","tri/ci","tri/competitors","tri/discard","tri/doctor","tri/elab","tri/emit","tri/fleet","tri/fmt","tri/fpga","tri/gates","tri/harness","tri/health","tri/hooks","tri/issues","tri/jumps","tri/kinds","tri/lean","tri/ledgers","tri/loop","tri/merging","tri/misread","tri/mods","tri/mutate","tri/now","tri/one-away","tri/orphaned","tri/pr","tri/prose","tri/quantifiers","tri/red","tri/reseal","tri/rtl","tri/seals","tri/serve","tri/skill","tri/status","tri/sweep","tri/synth","tri/topic","tri/types","tri/unparsed","tri/vectors","tri/vsim","tri/window","tri/worktrees"],"C":["tri/gen"],"E":["tri/experience"],"T":["tri/gen","tri/test"],"V":["tri/test","tri/verdict"],"W":["tri/cell"]},"triByRepo":{"gHashTag/t27":["tri/abandoned","tri/cell","tri/census","tri/ci","tri/competitors","tri/discard","tri/doctor","tri/elab","tri/emit","tri/experience","tri/fleet","tri/fmt","tri/fpga","tri/gates","tri/gen","tri/harness","tri/health","tri/hooks","tri/issues","tri/jumps","tri/kinds","tri/lean","tri/ledgers","tri/loop","tri/merging","tri/misread","tri/mods","tri/mutate","tri/now","tri/one-away","tri/orphaned","tri/pr","tri/prose","tri/quantifiers","tri/red","tri/reseal","tri/rtl","tri/seals","tri/serve","tri/skill","tri/status","tri/sweep","tri/synth","tri/test","tri/topic","tri/types","tri/unparsed","tri/vectors","tri/verdict","tri/vsim","tri/window","tri/worktrees"],"gHashTag/trinity":["gHashTag/trinity:tri/bench","gHashTag/trinity:tri/bio","gHashTag/trinity:tri/blindspots","gHashTag/trinity:tri/conscious","gHashTag/trinity:tri/constants","gHashTag/trinity:tri/cosmos","gHashTag/trinity:tri/dashboard","gHashTag/trinity:tri/fib","gHashTag/trinity:tri/fpga","gHashTag/trinity:tri/gematria","gHashTag/trinity:tri/govern","gHashTag/trinity:tri/hardware","gHashTag/trinity:tri/identity","gHashTag/trinity:tri/lucas","gHashTag/trinity:tri/mesh","gHashTag/trinity:tri/needle","gHashTag/trinity:tri/needle-check","gHashTag/trinity:tri/needle-search","gHashTag/trinity:tri/omega","gHashTag/trinity:tri/particles","gHashTag/trinity:tri/phi","gHashTag/trinity:tri/quantum","gHashTag/trinity:tri/reputation","gHashTag/trinity:tri/sacred-const","gHashTag/trinity:tri/spiral","gHashTag/trinity:tri/swarm","gHashTag/trinity:tri/test","gHashTag/trinity:tri/vsa","gHashTag/trinity:tri/wallet"]}},"i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":91,"total":91},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":91},"legacy":{"mcp/gitbutler":"gHashTag/t27:mcp/gitbutler","mcp/needle":"gHashTag/trinity:mcp/needle","mcp/neon":"gHashTag/trinity:mcp/neon","mcp/notebooklm":"gHashTag/t27:mcp/notebooklm","mcp/railway-mcp-server":"gHashTag/trinity:mcp/railway-mcp-server","mcp/t27-traceability":"gHashTag/t27:mcp/t27-traceability","mcp/tri-mcp":"gHashTag/t27:mcp/tri-mcp","mcp/tri-ssot":"gHashTag/t27:mcp/tri-ssot","mcp/trinity":"gHashTag/trinity:mcp/trinity","mcp/zig-docs":"gHashTag/trinity:mcp/zig-docs","tri/abandoned":"gHashTag/t27:tri/abandoned","tri/cell":"gHashTag/t27:tri/cell","tri/census":"gHashTag/t27:tri/census","tri/ci":"gHashTag/t27:tri/ci","tri/competitors":"gHashTag/t27:tri/competitors","tri/discard":"gHashTag/t27:tri/discard","tri/doctor":"gHashTag/t27:tri/doctor","tri/elab":"gHashTag/t27:tri/elab","tri/emit":"gHashTag/t27:tri/emit","tri/experience":"gHashTag/t27:tri/experience","tri/fleet":"gHashTag/t27:tri/fleet","tri/fmt":"gHashTag/t27:tri/fmt","tri/fpga":"gHashTag/t27:tri/fpga","tri/gates":"gHashTag/t27:tri/gates","tri/gen":"gHashTag/t27:tri/gen","tri/harness":"gHashTag/t27:tri/harness","tri/health":"gHashTag/t27:tri/health","tri/hooks":"gHashTag/t27:tri/hooks","tri/issues":"gHashTag/t27:tri/issues","tri/jumps":"gHashTag/t27:tri/jumps","tri/kinds":"gHashTag/t27:tri/kinds","tri/lean":"gHashTag/t27:tri/lean","tri/ledgers":"gHashTag/t27:tri/ledgers","tri/loop":"gHashTag/t27:tri/loop","tri/merging":"gHashTag/t27:tri/merging","tri/misread":"gHashTag/t27:tri/misread","tri/mods":"gHashTag/t27:tri/mods","tri/mutate":"gHashTag/t27:tri/mutate","tri/now":"gHashTag/t27:tri/now","tri/one-away":"gHashTag/t27:tri/one-away","tri/orphaned":"gHashTag/t27:tri/orphaned","tri/pr":"gHashTag/t27:tri/pr","tri/prose":"gHashTag/t27:tri/prose","tri/quantifiers":"gHashTag/t27:tri/quantifiers","tri/red":"gHashTag/t27:tri/red","tri/reseal":"gHashTag/t27:tri/reseal","tri/rtl":"gHashTag/t27:tri/rtl","tri/seals":"gHashTag/t27:tri/seals","tri/serve":"gHashTag/t27:tri/serve","tri/skill":"gHashTag/t27:tri/skill","tri/status":"gHashTag/t27:tri/status","tri/sweep":"gHashTag/t27:tri/sweep","tri/synth":"gHashTag/t27:tri/synth","tri/test":"gHashTag/t27:tri/test","tri/topic":"gHashTag/t27:tri/topic","tri/types":"gHashTag/t27:tri/types","tri/unparsed":"gHashTag/t27:tri/unparsed","tri/vectors":"gHashTag/t27:tri/vectors","tri/verdict":"gHashTag/t27:tri/verdict","tri/vsim":"gHashTag/t27:tri/vsim","tri/window":"gHashTag/t27:tri/window","tri/worktrees":"gHashTag/t27:tri/worktrees"},"pin":{"ref":"93727f733e23baf032d54505095777f16676d70b","source":"public/agents/experience.json sources[t27].commit"},"schema":2,"tools":[{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Filter benchmarks by pattern","name":""},{"about":"string, optional; Output report file","name":""},{"about":"integer, optional; Number of iterations (default: 1000)","name":""}],"collidesWith":null,"command":"tri bench","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Run performance benchmarks","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["benchmark"],"ARGS":[": string, optional; Filter benchmarks by pattern",": string, optional; Output report file",": integer, optional; Number of iterations (default: 1000)"],"CAPABILITIES":["filesystem"],"CATEGORY":"benchmark","COLLIDES_WITH":"","COMMAND":"tri bench","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri bench","tri bench --filter vsa","tri bench --output report.json"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/bench","JOB_TIMEOUT":600,"KIND":"tool","MCP_DISPLAY_NAME":"Performance Benchmarks","MCP_ENABLED":true,"MCP_NAME":"tri_bench","MODE":"job","NAMESPACE":"dev","QUALIFIED_ID":"gHashTag/trinity:tri/bench","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command bench (cli_namespace dev)","WHEN_TO_USE":"Run performance benchmarks","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/bench","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_bench","name":{"en":"tri bench"},"qualifiedId":"gHashTag/trinity:tri/bench","registry":{"aliases":["benchmark"],"capabilities":["filesystem"],"category":"benchmark","examples":["tri bench","tri bench --filter vsa","tri bench --output report.json"],"jobTimeout":600,"mcpDisplayName":"Performance Benchmarks","mcpEnabled":true,"mcpName":"tri_bench","mode":"job","namespace":"dev","sideEffects":["filesystem"],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/bench tri bench run performance benchmarks run performance benchmarks","sha256":"1abd9bd8ba36e27afc61193b4da5cee668fce6a890cc6b7b0c4d44bbe13be5a9","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/bench.t27","summary":{"en":"Run performance benchmarks","ru":"Бенчмарки Trinity."},"typecheckOk":true,"variant":"registry command bench (cli_namespace dev)","whenToUse":"Run performance benchmarks","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; DNA/RNA/Protein sequence","name":""}],"collidesWith":null,"command":"tri bio","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["biology"],"ARGS":[": string, required; DNA/RNA/Protein sequence"],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri bio","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri bio dna ATGCGT","tri bio rna AUGCCAUAA","tri bio protein MVHLTPEEK","tri bio codon ATG"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/bio","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"DNA Analysis","MCP_ENABLED":true,"MCP_NAME":"tri_bio_dna","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/bio","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command bio (cli_namespace core)","WHEN_TO_USE":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/bio","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_bio","name":{"en":"tri bio"},"qualifiedId":"gHashTag/trinity:tri/bio","registry":{"aliases":["biology"],"capabilities":[],"category":"science","examples":["tri bio dna ATGCGT","tri bio rna AUGCCAUAA","tri bio protein MVHLTPEEK","tri bio codon ATG"],"jobTimeout":300,"mcpDisplayName":"DNA Analysis","mcpEnabled":true,"mcpName":"tri_bio_dna","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/bio tri bio biology v14.0 \\u2014 dna/rna/protein sacred analysis biology v14.0 \\u2014 dna/rna/protein sacred analysis","sha256":"e9f0534647b2ff6479e0a03577eeb01d1c529f0973f585eb5c134ae4f819d29a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/bio.t27","summary":{"en":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","ru":"Биология v14.0 — сакральный анализ ДНК, РНК и белков."},"typecheckOk":true,"variant":"registry command bio (cli_namespace core)","whenToUse":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri blindspots","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["blind-spot","blindspot","bs"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri blindspots","ENABLED":true,"ENTRY":"","EXAMPLES":["tri blindspots all","tri blindspots nuclear","tri blindspots atomic","tri blindspots plasma","tri blindspots optics","tri blindspots astro","tri blindspots quantum","tri blindspots condensed","tri blindspots biology-advanced","tri blindspots domains"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/blindspots","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Blind Spots (8 Domains)","MCP_ENABLED":true,"MCP_NAME":"tri_blindspots","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/blindspots","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri blindspots` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command blindspots (cli_namespace core)","WHEN_TO_USE":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/blindspots","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_blindspots","name":{"en":"tri blindspots"},"qualifiedId":"gHashTag/trinity:tri/blindspots","registry":{"aliases":["blind-spot","blindspot","bs"],"capabilities":[],"category":"science","examples":["tri blindspots all","tri blindspots nuclear","tri blindspots atomic","tri blindspots plasma","tri blindspots optics","tri blindspots astro","tri blindspots quantum","tri blindspots condensed","tri blindspots biology-advanced","tri blindspots domains"],"jobTimeout":300,"mcpDisplayName":"Blind Spots (8 Domains)","mcpEnabled":true,"mcpName":"tri_blindspots","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri blindspots` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/blindspots tri blindspots blind spots v1.0 \\u2014 90+ new formulas across 8 domains blind spots v1.0 \\u2014 90+ new formulas across 8 domains","sha256":"ae78ffaeec23f0c29f7aece98aa361e30ae30e923624aba2aad40b23b4a9ef7f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/blindspots.t27","summary":{"en":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","ru":"Слепые пятна: поиск областей, где сакральная формула ещё не проверена."},"typecheckOk":true,"variant":"registry command blindspots (cli_namespace core)","whenToUse":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri conscious","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["consciousness"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri conscious","ENABLED":true,"ENTRY":"","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/conscious","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Consciousness Simulator","MCP_ENABLED":true,"MCP_NAME":"tri_consciousness","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/conscious","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri conscious` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command conscious (cli_namespace core)","WHEN_TO_USE":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/conscious","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_conscious","name":{"en":"tri conscious"},"qualifiedId":"gHashTag/trinity:tri/conscious","registry":{"aliases":["consciousness"],"capabilities":[],"category":"science","examples":[],"jobTimeout":300,"mcpDisplayName":"Consciousness Simulator","mcpEnabled":true,"mcpName":"tri_consciousness","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri conscious` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/conscious tri conscious consciousness awakening simulator (iit+gwt+orchor+qutrit+activeinf) consciousness awakening simulator (iit+gwt+orchor+qutrit+activeinf)","sha256":"94a9c3f27d49d51c2cb60355eaaaa9a9f296515a6974afb7c629d7ff00681f54","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/conscious.t27","summary":{"en":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","ru":"Метрики сознания Trinity."},"typecheckOk":true,"variant":"registry command conscious (cli_namespace core)","whenToUse":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri constants","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["const","c"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri constants","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri constants"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/constants","JOB_TIMEOUT":0,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Constants","MCP_ENABLED":true,"MCP_NAME":"tri_constants","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/constants","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command constants (cli_namespace core)","WHEN_TO_USE":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/constants","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_constants","name":{"en":"tri constants"},"qualifiedId":"gHashTag/trinity:tri/constants","registry":{"aliases":["const","c"],"capabilities":[],"category":"math","examples":["tri constants"],"jobTimeout":0,"mcpDisplayName":"Sacred Constants","mcpEnabled":true,"mcpName":"tri_constants","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/constants tri constants display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5) display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","sha256":"2ab994adcd287776d83e4432dfd098a89121d8d3f8395b9ef2f15dd8cc6fea04","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/constants.t27","summary":{"en":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","ru":"Сакральные константы (phi, pi, e и их соотношения)."},"typecheckOk":true,"variant":"registry command constants (cli_namespace core)","whenToUse":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri cosmos","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Cosmology v15.0 \\u2014 Universe through \\u03c6","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["cosmology"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri cosmos","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri cosmos hubble","tri cosmos dark","tri cosmos w-z","tri cosmos lambda-z","tri cosmos phantom","tri cosmos consciousness-de"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/cosmos","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Hubble Tension","MCP_ENABLED":true,"MCP_NAME":"tri_cosmos_hubble","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/cosmos","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command cosmos (cli_namespace core)","WHEN_TO_USE":"Cosmology v15.0 \\u2014 Universe through \\u03c6","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/cosmos","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_cosmos","name":{"en":"tri cosmos"},"qualifiedId":"gHashTag/trinity:tri/cosmos","registry":{"aliases":["cosmology"],"capabilities":[],"category":"science","examples":["tri cosmos hubble","tri cosmos dark","tri cosmos w-z","tri cosmos lambda-z","tri cosmos phantom","tri cosmos consciousness-de"],"jobTimeout":300,"mcpDisplayName":"Hubble Tension","mcpEnabled":true,"mcpName":"tri_cosmos_hubble","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/cosmos tri cosmos cosmology v15.0 \\u2014 universe through \\u03c6 cosmology v15.0 \\u2014 universe through \\u03c6","sha256":"42bf0f894738516bde89899aa41ed960072949d0409958942954da09f598e5bd","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/cosmos.t27","summary":{"en":"Cosmology v15.0 \\u2014 Universe through \\u03c6","ru":"Космология v15.0 — постоянная Хаббла и сакральные космологические константы."},"typecheckOk":true,"variant":"registry command cosmos (cli_namespace core)","whenToUse":"Cosmology v15.0 \\u2014 Universe through \\u03c6","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, optional; Dashboard port","name":""}],"collidesWith":null,"command":"tri dashboard","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred dashboard","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, optional; Dashboard port"],"CAPABILITIES":[],"CATEGORY":"system","COLLIDES_WITH":"","COMMAND":"tri dashboard","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/dashboard","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Dashboard Server","MCP_ENABLED":true,"MCP_NAME":"tri_dashboard_serve","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/dashboard","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command dashboard (cli_namespace core)","WHEN_TO_USE":"Sacred dashboard","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/dashboard","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_dashboard","name":{"en":"tri dashboard"},"qualifiedId":"gHashTag/trinity:tri/dashboard","registry":{"aliases":[],"capabilities":[],"category":"system","examples":[],"jobTimeout":300,"mcpDisplayName":"Dashboard Server","mcpEnabled":true,"mcpName":"tri_dashboard_serve","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/dashboard tri dashboard sacred dashboard sacred dashboard","sha256":"3e84d5413e6db52ac25368c67f1585b67c5c0401f80c30df20c96c626c3b345d","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/dashboard.t27","summary":{"en":"Sacred dashboard","ru":"Панель состояния Trinity."},"typecheckOk":true,"variant":"registry command dashboard (cli_namespace core)","whenToUse":"Sacred dashboard","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Fibonacci index","name":""}],"collidesWith":null,"command":"tri fib","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Fibonacci numbers with BigInt","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["fibonacci"],"ARGS":[": integer, required; Fibonacci index"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri fib","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri fib 10","tri fib 100"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/fib","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Fibonacci","MCP_ENABLED":true,"MCP_NAME":"tri_fib","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/fib","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command fib (cli_namespace core)","WHEN_TO_USE":"Fibonacci numbers with BigInt","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/fib","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_fib","name":{"en":"tri fib"},"qualifiedId":"gHashTag/trinity:tri/fib","registry":{"aliases":["fibonacci"],"capabilities":[],"category":"math","examples":["tri fib 10","tri fib 100"],"jobTimeout":300,"mcpDisplayName":"Fibonacci","mcpEnabled":true,"mcpName":"tri_fib","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/fib tri fib fibonacci numbers with bigint fibonacci numbers with bigint","sha256":"a7a393454d6c7633bfbf3ce21e91dcb7e2232921c6492192b7db580242981ed0","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/fib.t27","summary":{"en":"Fibonacci numbers with BigInt","ru":"Числа Фибоначчи."},"typecheckOk":true,"variant":"registry command fib (cli_namespace core)","whenToUse":"Fibonacci numbers with BigInt","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":"gHashTag/t27:tri/fpga","command":"tri fpga","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"FPGA toolchain via FORGE v2.0 (native Zig)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["forge"],"ARGS":[],"CAPABILITIES":["hardware","filesystem"],"CATEGORY":"dev","COLLIDES_WITH":"gHashTag/t27:tri/fpga","COMMAND":"tri fpga","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri fpga bench","tri fpga verdict","tri fpga run design.json","tri fpga flash design.bit"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/fpga","JOB_TIMEOUT":1800,"KIND":"tool","MCP_DISPLAY_NAME":"FPGA Toolchain","MCP_ENABLED":true,"MCP_NAME":"tri_fpga","MODE":"job","NAMESPACE":"forge","QUALIFIED_ID":"gHashTag/trinity:tri/fpga","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["hardware","filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"experimental","VARIANT":"registry command fpga (cli_namespace forge)","WHEN_TO_USE":"FPGA toolchain via FORGE v2.0 (native Zig)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/fpga","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_fpga","name":{"en":"tri fpga"},"qualifiedId":"gHashTag/trinity:tri/fpga","registry":{"aliases":["forge"],"capabilities":["hardware","filesystem"],"category":"dev","examples":["tri fpga bench","tri fpga verdict","tri fpga run design.json","tri fpga flash design.bit"],"jobTimeout":1800,"mcpDisplayName":"FPGA Toolchain","mcpEnabled":true,"mcpName":"tri_fpga","mode":"job","namespace":"forge","sideEffects":["hardware","filesystem"],"stability":"experimental"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/fpga tri fpga fpga toolchain via forge v2.0 (native zig) fpga toolchain via forge v2.0 (native zig)","sha256":"cd2e83756f6d11ed08e29c26a1c145b8384e56b7b3dd9c2e39e815b739c7190a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/fpga.t27","summary":{"en":"FPGA toolchain via FORGE v2.0 (native Zig)","ru":"FPGA: синтез, прошивка и проверка."},"typecheckOk":true,"variant":"registry command fpga (cli_namespace forge)","whenToUse":"FPGA toolchain via FORGE v2.0 (native Zig)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Text to analyze","name":""},{"about":"string, optional; Language system","name":""}],"collidesWith":null,"command":"tri gematria","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Gematria word value calculator","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, required; Text to analyze",": string, optional; Language system"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri gematria","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri gematria hello"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/gematria","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Gematria","MCP_ENABLED":true,"MCP_NAME":"tri_gematria","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/gematria","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command gematria (cli_namespace core)","WHEN_TO_USE":"Gematria word value calculator","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/gematria","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_gematria","name":{"en":"tri gematria"},"qualifiedId":"gHashTag/trinity:tri/gematria","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri gematria hello"],"jobTimeout":300,"mcpDisplayName":"Gematria","mcpEnabled":true,"mcpName":"tri_gematria","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/gematria tri gematria gematria word value calculator gematria word value calculator","sha256":"ef97c85a18e66c8236579ad970aa519e61b85deb9c2094b7ae5dad85e7d1a767","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/gematria.t27","summary":{"en":"Gematria word value calculator","ru":"Гематрия: числовое значение текста."},"typecheckOk":true,"variant":"registry command gematria (cli_namespace core)","whenToUse":"Gematria word value calculator","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; proposals, vote, treasury, rewards","name":""}],"collidesWith":null,"command":"tri govern","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred governance","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; proposals, vote, treasury, rewards"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri govern","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/govern","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Governance System","MCP_ENABLED":true,"MCP_NAME":"tri_govern","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/govern","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command govern (cli_namespace core)","WHEN_TO_USE":"Sacred governance","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/govern","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_govern","name":{"en":"tri govern"},"qualifiedId":"gHashTag/trinity:tri/govern","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Governance System","mcpEnabled":true,"mcpName":"tri_govern","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/govern tri govern sacred governance sacred governance","sha256":"b354d78a042da1a057338c5bd4bd2e9426ab6540e4b0b24c959782d3793e1538","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/govern.t27","summary":{"en":"Sacred governance","ru":"Управление роем."},"typecheckOk":true,"variant":"registry command govern (cli_namespace core)","whenToUse":"Sacred governance","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri hardware","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Hardware deployment \\u2014 deploy, status, stop nodes","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri hardware","ENABLED":true,"ENTRY":"","EXAMPLES":["tri hardware deploy","tri hardware status"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/hardware","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Hardware Info","MCP_ENABLED":true,"MCP_NAME":"tri_hardware_info","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/hardware","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri hardware` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command hardware (cli_namespace core)","WHEN_TO_USE":"Hardware deployment \\u2014 deploy, status, stop nodes","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/hardware","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_hardware","name":{"en":"tri hardware"},"qualifiedId":"gHashTag/trinity:tri/hardware","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri hardware deploy","tri hardware status"],"jobTimeout":300,"mcpDisplayName":"Hardware Info","mcpEnabled":true,"mcpName":"tri_hardware_info","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri hardware` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/hardware tri hardware hardware deployment \\u2014 deploy, status, stop nodes hardware deployment \\u2014 deploy, status, stop nodes","sha256":"1badc358e7b3bedcded55bfc6aba9c2ff976edde0c930e130560db5de6677787","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/hardware.t27","summary":{"en":"Hardware deployment \\u2014 deploy, status, stop nodes","ru":"Сведения об оборудовании."},"typecheckOk":true,"variant":"registry command hardware (cli_namespace core)","whenToUse":"Hardware deployment \\u2014 deploy, status, stop nodes","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; node, generate, verify, reputation","name":""}],"collidesWith":null,"command":"tri identity","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred identity","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; node, generate, verify, reputation"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri identity","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/identity","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Identity","MCP_ENABLED":true,"MCP_NAME":"tri_identity","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/identity","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command identity (cli_namespace core)","WHEN_TO_USE":"Sacred identity","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/identity","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_identity","name":{"en":"tri identity"},"qualifiedId":"gHashTag/trinity:tri/identity","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Sacred Identity","mcpEnabled":true,"mcpName":"tri_identity","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/identity tri identity sacred identity sacred identity","sha256":"f9fa2056b186e23ed82410422f87a164d198a5d89ff00738b77659b99da9399e","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/identity.t27","summary":{"en":"Sacred identity","ru":"Сакральное тождество phi^2 + 1/phi^2 = 3."},"typecheckOk":true,"variant":"registry command identity (cli_namespace core)","whenToUse":"Sacred identity","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Lucas index","name":""}],"collidesWith":null,"command":"tri lucas","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Lucas numbers (L(2)=3=TRINITY)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Lucas index"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri lucas","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri lucas 10","tri lucas 20"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/lucas","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Lucas Numbers","MCP_ENABLED":true,"MCP_NAME":"tri_lucas","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/lucas","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command lucas (cli_namespace core)","WHEN_TO_USE":"Lucas numbers (L(2)=3=TRINITY)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/lucas","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_lucas","name":{"en":"tri lucas"},"qualifiedId":"gHashTag/trinity:tri/lucas","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri lucas 10","tri lucas 20"],"jobTimeout":300,"mcpDisplayName":"Lucas Numbers","mcpEnabled":true,"mcpName":"tri_lucas","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/lucas tri lucas lucas numbers (l(2)=3=trinity) lucas numbers (l(2)=3=trinity)","sha256":"21a656adb73fbc5fa02c0ae82807e24666fe20c954806a21203ed54b742bb9e6","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/lucas.t27","summary":{"en":"Lucas numbers (L(2)=3=TRINITY)","ru":"Числа Люка."},"typecheckOk":true,"variant":"registry command lucas (cli_namespace core)","whenToUse":"Lucas numbers (L(2)=3=TRINITY)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri mesh","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Global mesh management \\u2014 status, topology, discovery","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri mesh","ENABLED":true,"ENTRY":"","EXAMPLES":["tri mesh status","tri mesh topology","tri mesh discover"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/mesh","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Mesh Status","MCP_ENABLED":true,"MCP_NAME":"tri_mesh_status","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/mesh","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri mesh` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command mesh (cli_namespace core)","WHEN_TO_USE":"Global mesh management \\u2014 status, topology, discovery","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/mesh","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_mesh","name":{"en":"tri mesh"},"qualifiedId":"gHashTag/trinity:tri/mesh","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri mesh status","tri mesh topology","tri mesh discover"],"jobTimeout":300,"mcpDisplayName":"Mesh Status","mcpEnabled":true,"mcpName":"tri_mesh_status","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri mesh` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/mesh tri mesh global mesh management \\u2014 status, topology, discovery global mesh management \\u2014 status, topology, discovery","sha256":"8a2aeb36832b43ec2112a770f943529481e4a7f3ccd52f7b4fdc62e7452978ed","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/mesh.t27","summary":{"en":"Global mesh management \\u2014 status, topology, discovery","ru":"Состояние mesh-сети."},"typecheckOk":true,"variant":"registry command mesh (cli_namespace core)","whenToUse":"Global mesh management \\u2014 status, topology, discovery","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; File to edit","name":""},{"about":"string, optional; Edit query","name":""}],"collidesWith":null,"command":"tri needle","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Structural editor core","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; File to edit",": string, optional; Edit query"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Editor","MCP_ENABLED":true,"MCP_NAME":"tri_needle","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle (cli_namespace core)","WHEN_TO_USE":"Structural editor core","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle","name":{"en":"tri needle"},"qualifiedId":"gHashTag/trinity:tri/needle","registry":{"aliases":[],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Editor","mcpEnabled":true,"mcpName":"tri_needle","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle tri needle structural editor core structural editor core","sha256":"3058e555568a46d707c7eb6bde87b2611b7b3b35d0bc44cf39e69b7105c96836","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle.t27","summary":{"en":"Structural editor core","ru":"Needle: AST-редактирование кода."},"typecheckOk":true,"variant":"registry command needle (cli_namespace core)","whenToUse":"Structural editor core","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; File to check","name":""}],"collidesWith":null,"command":"tri needle-check","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Needle check","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["needle_check"],"ARGS":[": string, optional; File to check"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle-check","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle-check","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Check","MCP_ENABLED":true,"MCP_NAME":"tri_needle_check","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle-check","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle-check (cli_namespace core)","WHEN_TO_USE":"Needle check","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle-check","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle_check","name":{"en":"tri needle-check"},"qualifiedId":"gHashTag/trinity:tri/needle-check","registry":{"aliases":["needle_check"],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Check","mcpEnabled":true,"mcpName":"tri_needle_check","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle-check tri needle-check needle check needle check","sha256":"689a89b90876fa9967656508d3791f3de1a47afe358cbf4d7ccf023fce1c32d5","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle-check.t27","summary":{"en":"Needle check","ru":"Needle: проверка качества кода."},"typecheckOk":true,"variant":"registry command needle-check (cli_namespace core)","whenToUse":"Needle check","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Search pattern","name":""}],"collidesWith":null,"command":"tri needle-search","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Needle search","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["needle_search"],"ARGS":[": string, required; Search pattern"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle-search","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle-search","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Search","MCP_ENABLED":true,"MCP_NAME":"tri_needle_search","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle-search","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle-search (cli_namespace core)","WHEN_TO_USE":"Needle search","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle-search","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle_search","name":{"en":"tri needle-search"},"qualifiedId":"gHashTag/trinity:tri/needle-search","registry":{"aliases":["needle_search"],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Search","mcpEnabled":true,"mcpName":"tri_needle_search","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle-search tri needle-search needle search needle search","sha256":"d596ee91ec23d39cb905e0ddc7dffc504c532952a2fb0fe7ed64438db707779c","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle-search.t27","summary":{"en":"Needle search","ru":"Needle: поиск по шаблону в коде."},"typecheckOk":true,"variant":"registry command needle-search (cli_namespace core)","whenToUse":"Needle search","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri omega","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Omega phase","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri omega","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/omega","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Omega Status","MCP_ENABLED":true,"MCP_NAME":"tri_omega_status","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/omega","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command omega (cli_namespace core)","WHEN_TO_USE":"Omega phase","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/omega","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_omega","name":{"en":"tri omega"},"qualifiedId":"gHashTag/trinity:tri/omega","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Omega Status","mcpEnabled":true,"mcpName":"tri_omega_status","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/omega tri omega omega phase omega phase","sha256":"e03bddbb9708c94b3c44f5a3b2aef4ac440d53c9328c75ae8b6c37fb9a21959f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/omega.t27","summary":{"en":"Omega phase","ru":"Состояние Omega."},"typecheckOk":true,"variant":"registry command omega (cli_namespace core)","whenToUse":"Omega phase","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri particles","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Particle physics sacred formulas (49 constants from \\u03c6)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["particle","pdg"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri particles","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri particles","tri particles all","tri particles tier1","tri particles search alpha_s"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/particles","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Particle Physics Sacred","MCP_ENABLED":true,"MCP_NAME":"tri_particles","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/particles","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command particles (cli_namespace core)","WHEN_TO_USE":"Particle physics sacred formulas (49 constants from \\u03c6)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/particles","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_particles","name":{"en":"tri particles"},"qualifiedId":"gHashTag/trinity:tri/particles","registry":{"aliases":["particle","pdg"],"capabilities":[],"category":"science","examples":["tri particles","tri particles all","tri particles tier1","tri particles search alpha_s"],"jobTimeout":300,"mcpDisplayName":"Particle Physics Sacred","mcpEnabled":true,"mcpName":"tri_particles","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/particles tri particles particle physics sacred formulas (49 constants from \\u03c6) particle physics sacred formulas (49 constants from \\u03c6)","sha256":"de48a64950df41b2344a8bed9ad969eb6776456406b9c68c469cba8c13b3ac7e","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/particles.t27","summary":{"en":"Particle physics sacred formulas (49 constants from \\u03c6)","ru":"Физика частиц: константы и массы."},"typecheckOk":true,"variant":"registry command particles (cli_namespace core)","whenToUse":"Particle physics sacred formulas (49 constants from \\u03c6)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Power of phi","name":""}],"collidesWith":null,"command":"tri phi","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Compute \\u03c6\\u207f (golden ratio power)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Power of phi"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri phi","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri phi 10","tri phi 100"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/phi","JOB_TIMEOUT":0,"KIND":"tool","MCP_DISPLAY_NAME":"Phi Power","MCP_ENABLED":true,"MCP_NAME":"tri_phi","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/phi","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command phi (cli_namespace core)","WHEN_TO_USE":"Compute \\u03c6\\u207f (golden ratio power)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/phi","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_phi","name":{"en":"tri phi"},"qualifiedId":"gHashTag/trinity:tri/phi","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri phi 10","tri phi 100"],"jobTimeout":0,"mcpDisplayName":"Phi Power","mcpEnabled":true,"mcpName":"tri_phi","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/phi tri phi compute \\u03c6\\u207f (golden ratio power) compute \\u03c6\\u207f (golden ratio power)","sha256":"293d2f0f3dd1ad97dcc7e6485a9285d91ba36deb71ec7520b80523877a2c8405","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/phi.t27","summary":{"en":"Compute \\u03c6\\u207f (golden ratio power)","ru":"Золотое сечение phi и его степени."},"typecheckOk":true,"variant":"registry command phi (cli_namespace core)","whenToUse":"Compute \\u03c6\\u207f (golden ratio power)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri quantum","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Quantum Trinity","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri quantum","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/quantum","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Quantum Constants","MCP_ENABLED":true,"MCP_NAME":"tri_quantum_constants","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/quantum","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command quantum (cli_namespace core)","WHEN_TO_USE":"Quantum Trinity","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/quantum","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_quantum","name":{"en":"tri quantum"},"qualifiedId":"gHashTag/trinity:tri/quantum","registry":{"aliases":[],"capabilities":[],"category":"science","examples":[],"jobTimeout":300,"mcpDisplayName":"Quantum Constants","mcpEnabled":true,"mcpName":"tri_quantum_constants","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/quantum tri quantum quantum trinity quantum trinity","sha256":"8d982321638e3fbde1a0a9ac40ad051614868d399025685f5b4d580ec86a1656","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/quantum.t27","summary":{"en":"Quantum Trinity","ru":"Квантовые константы."},"typecheckOk":true,"variant":"registry command quantum (cli_namespace core)","whenToUse":"Quantum Trinity","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri reputation","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Reputation system \\u2014 show node reputation, leaderboard","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["rep"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri reputation","ENABLED":true,"ENTRY":"","EXAMPLES":["tri reputation show","tri reputation leaderboard"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/reputation","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Reputation Leaderboard","MCP_ENABLED":true,"MCP_NAME":"tri_omega_reputation","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/reputation","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri reputation` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command reputation (cli_namespace core)","WHEN_TO_USE":"Reputation system \\u2014 show node reputation, leaderboard","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/reputation","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_reputation","name":{"en":"tri reputation"},"qualifiedId":"gHashTag/trinity:tri/reputation","registry":{"aliases":["rep"],"capabilities":[],"category":"depin","examples":["tri reputation show","tri reputation leaderboard"],"jobTimeout":300,"mcpDisplayName":"Reputation Leaderboard","mcpEnabled":true,"mcpName":"tri_omega_reputation","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri reputation` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/reputation tri reputation reputation system \\u2014 show node reputation, leaderboard reputation system \\u2014 show node reputation, leaderboard","sha256":"ce0352d36e43b44480a79b3333031e61f637feda0bd474b8af6b239364a030cb","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/reputation.t27","summary":{"en":"Reputation system \\u2014 show node reputation, leaderboard","ru":"Репутация узла Omega."},"typecheckOk":true,"variant":"registry command reputation (cli_namespace core)","whenToUse":"Reputation system \\u2014 show node reputation, leaderboard","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Target constant (phi2_pi2, e_pi, etc.)","name":""},{"about":"integer, optional; Number of CORDIC stages","name":""},{"about":"integer, optional; Data width in bits","name":""},{"about":"string, optional; Output Verilog file","name":""}],"collidesWith":null,"command":"tri sacred-const","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred constants FPGA synthesis (0 DSP48)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["sacred_constants","sacred-fpga"],"ARGS":[": string, optional; Target constant (phi2_pi2, e_pi, etc.)",": integer, optional; Number of CORDIC stages",": integer, optional; Data width in bits",": string, optional; Output Verilog file"],"CAPABILITIES":["filesystem"],"CATEGORY":"advanced","COLLIDES_WITH":"","COMMAND":"tri sacred-const","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri sacred-const phi-arith","tri sacred-const cordic-sacred","tri sacred-const const-rom"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/sacred-const","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Constants FPGA","MCP_ENABLED":true,"MCP_NAME":"tri_sacred_const_fpga","MODE":"job","NAMESPACE":"forge","QUALIFIED_ID":"gHashTag/trinity:tri/sacred-const","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"experimental","VARIANT":"registry command sacred-const (cli_namespace forge)","WHEN_TO_USE":"Sacred constants FPGA synthesis (0 DSP48)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/sacred-const","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_sacred_const","name":{"en":"tri sacred-const"},"qualifiedId":"gHashTag/trinity:tri/sacred-const","registry":{"aliases":["sacred_constants","sacred-fpga"],"capabilities":["filesystem"],"category":"advanced","examples":["tri sacred-const phi-arith","tri sacred-const cordic-sacred","tri sacred-const const-rom"],"jobTimeout":300,"mcpDisplayName":"Sacred Constants FPGA","mcpEnabled":true,"mcpName":"tri_sacred_const_fpga","mode":"job","namespace":"forge","sideEffects":["filesystem"],"stability":"experimental"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/sacred-const tri sacred-const sacred constants fpga synthesis (0 dsp48) sacred constants fpga synthesis (0 dsp48)","sha256":"6adddc181a2303061a5805b40022f137ec1c1e53b8356733092a3e97182e4a3c","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/sacred-const.t27","summary":{"en":"Sacred constants FPGA synthesis (0 DSP48)","ru":"Сакральные константы для FPGA."},"typecheckOk":true,"variant":"registry command sacred-const (cli_namespace forge)","whenToUse":"Sacred constants FPGA synthesis (0 DSP48)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Number of spiral points","name":""}],"collidesWith":null,"command":"tri spiral","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"\\u03c6-spiral coordinates","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Number of spiral points"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri spiral","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri spiral 10"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/spiral","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Phi Spiral","MCP_ENABLED":true,"MCP_NAME":"tri_spiral","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/spiral","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command spiral (cli_namespace core)","WHEN_TO_USE":"\\u03c6-spiral coordinates","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/spiral","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_spiral","name":{"en":"tri spiral"},"qualifiedId":"gHashTag/trinity:tri/spiral","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri spiral 10"],"jobTimeout":300,"mcpDisplayName":"Phi Spiral","mcpEnabled":true,"mcpName":"tri_spiral","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/spiral tri spiral \\u03c6-spiral coordinates \\u03c6-spiral coordinates","sha256":"d470286a2fffe65a4db790f6a3e2f869df079c8b225669a283becb0236677386","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/spiral.t27","summary":{"en":"\\u03c6-spiral coordinates","ru":"Золотая спираль: координаты точек."},"typecheckOk":true,"variant":"registry command spiral (cli_namespace core)","whenToUse":"\\u03c6-spiral coordinates","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; status, coordinator, agents, tasks, converge","name":""}],"collidesWith":null,"command":"tri swarm","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred swarm intelligence","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; status, coordinator, agents, tasks, converge"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri swarm","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/swarm","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Swarm Intelligence","MCP_ENABLED":true,"MCP_NAME":"tri_swarm","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/swarm","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command swarm (cli_namespace core)","WHEN_TO_USE":"Sacred swarm intelligence","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/swarm","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_swarm","name":{"en":"tri swarm"},"qualifiedId":"gHashTag/trinity:tri/swarm","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Swarm Intelligence","mcpEnabled":true,"mcpName":"tri_swarm","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/swarm tri swarm sacred swarm intelligence sacred swarm intelligence","sha256":"7b4d45dc89ac177958625f180a55cc0564880cab1f2acb52e6123802096a272f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/swarm.t27","summary":{"en":"Sacred swarm intelligence","ru":"Состояние роя агентов."},"typecheckOk":true,"variant":"registry command swarm (cli_namespace core)","whenToUse":"Sacred swarm intelligence","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Path to file to test","name":""},{"about":"string, optional; Output test file path","name":""},{"about":"boolean, optional; Include coverage markers","name":""}],"collidesWith":"gHashTag/t27:tri/test","command":"tri test","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Generate comprehensive test suites","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, required; Path to file to test",": string, optional; Output test file path",": boolean, optional; Include coverage markers"],"CAPABILITIES":["filesystem"],"CATEGORY":"dev","COLLIDES_WITH":"gHashTag/t27:tri/test","COMMAND":"tri test","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri test src/vsa.zig","tri test src/math/commands.zig --output tests/math_test.zig","tri test src/crypto.zig --coverage"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/test","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Test Generator","MCP_ENABLED":true,"MCP_NAME":"tri_test","MODE":"job","NAMESPACE":"dev","QUALIFIED_ID":"gHashTag/trinity:tri/test","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command test (cli_namespace dev)","WHEN_TO_USE":"Generate comprehensive test suites","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/test","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_test","name":{"en":"tri test"},"qualifiedId":"gHashTag/trinity:tri/test","registry":{"aliases":[],"capabilities":["filesystem"],"category":"dev","examples":["tri test src/vsa.zig","tri test src/math/commands.zig --output tests/math_test.zig","tri test src/crypto.zig --coverage"],"jobTimeout":300,"mcpDisplayName":"Test Generator","mcpEnabled":true,"mcpName":"tri_test","mode":"job","namespace":"dev","sideEffects":["filesystem"],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/test tri test generate comprehensive test suites generate comprehensive test suites","sha256":"ac05a41e5d3f54a99466f848a89d6c13c12f300b3ff31994677cc9b4c429be34","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/test.t27","summary":{"en":"Generate comprehensive test suites","ru":"Запуск тестов Trinity."},"typecheckOk":true,"variant":"registry command test (cli_namespace dev)","whenToUse":"Generate comprehensive test suites","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri vsa","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Vector Symbolic Architecture operations","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["vector-symbolic"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri vsa","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri vsa bind alice bob","tri vsa similarity cat dog","tri vsa memory show stats"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/vsa","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"VSA Operations","MCP_ENABLED":true,"MCP_NAME":"tri_vsa_bind","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/vsa","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command vsa (cli_namespace core)","WHEN_TO_USE":"Vector Symbolic Architecture operations","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/vsa","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_vsa","name":{"en":"tri vsa"},"qualifiedId":"gHashTag/trinity:tri/vsa","registry":{"aliases":["vector-symbolic"],"capabilities":[],"category":"science","examples":["tri vsa bind alice bob","tri vsa similarity cat dog","tri vsa memory show stats"],"jobTimeout":300,"mcpDisplayName":"VSA Operations","mcpEnabled":true,"mcpName":"tri_vsa_bind","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/vsa tri vsa vector symbolic architecture operations vector symbolic architecture operations","sha256":"90a98d73cbabf43baef032e5a8522a1e6aaf22c3ad5e89bcb4a1f4389d9698d3","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/vsa.t27","summary":{"en":"Vector Symbolic Architecture operations","ru":"VSA: связывание векторов."},"typecheckOk":true,"variant":"registry command vsa (cli_namespace core)","whenToUse":"Vector Symbolic Architecture operations","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Wallet address","name":"
"}],"collidesWith":null,"command":"tri wallet","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Wallet management \\u2014 connect, balance, claim rewards","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":["
: string, optional; Wallet address"],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri wallet","ENABLED":true,"ENTRY":"","EXAMPLES":["tri wallet connect metamask","tri wallet balance","tri wallet claim 50.0"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/wallet","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Wallet Balance","MCP_ENABLED":true,"MCP_NAME":"tri_wallet_balance","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/wallet","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri wallet` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command wallet (cli_namespace core)","WHEN_TO_USE":"Wallet management \\u2014 connect, balance, claim rewards","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/wallet","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_wallet","name":{"en":"tri wallet"},"qualifiedId":"gHashTag/trinity:tri/wallet","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri wallet connect metamask","tri wallet balance","tri wallet claim 50.0"],"jobTimeout":300,"mcpDisplayName":"Wallet Balance","mcpEnabled":true,"mcpName":"tri_wallet_balance","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri wallet` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/wallet tri wallet wallet management \\u2014 connect, balance, claim rewards wallet management \\u2014 connect, balance, claim rewards","sha256":"eb15c59465bc42b003a394b15261ba2da9101faba2459665e7ad9b3a8ca51f6a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/wallet.t27","summary":{"en":"Wallet management \\u2014 connect, balance, claim rewards","ru":"Баланс кошелька DePIN."},"typecheckOk":true,"variant":"registry command wallet (cli_namespace core)","whenToUse":"Wallet management \\u2014 connect, balance, claim rewards","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":["GITBUTLER_REPO"],"external":true,"family":"mcp","fields":{"ABOUT":"External GitButler MCP server launched as `but mcp`; the repository only registers it in .mcp.json.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["GITBUTLER_REPO"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/gitbutler","KIND":"tool","LAUNCH":"but mcp","QUALIFIED_ID":"gHashTag/t27:mcp/gitbutler","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"gitbutler","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external `but` binary, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/gitbutler","inSpecCorpus":false,"launch":"but mcp","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_gitbutler","name":{"en":"gitbutler"},"qualifiedId":"gHashTag/t27:mcp/gitbutler","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/gitbutler gitbutler external gitbutler mcp server launched as `but mcp`; the repository only registers it in .mcp.json.","server":"gitbutler","serverVersion":"","sha256":"488ff443b895b38f10748ab28238d7a9348819df4e53af1fa7adcc4bbacf3992","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/gitbutler.t27","summary":{"en":"External GitButler MCP server launched as `but mcp`; the repository only registers it in .mcp.json.","ru":"Внешний MCP-сервер GitButler, запускаемый как `but mcp`; репозиторий лишь регистрирует его в .mcp.json."},"tools":[],"toolsNote":"Tool list lives in the external `but` binary, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from the tool descriptions in tools/mcp/needle_mcp/server.zig","agents":[],"config":".claude-plugin/.mcp.json","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"Zig MCP server for AST-aware code editing (needle): structural search and replace, quality gates, preview.","ABOUT_SOURCE":"derived from the tool descriptions in tools/mcp/needle_mcp/server.zig","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude-plugin/.mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/needle","KIND":"tool","LAUNCH":"/zig-out/bin/needle-mcp","QUALIFIED_ID":"gHashTag/trinity:mcp/needle","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"needle","SERVER_VERSION":"","SOURCE":"tools/mcp/needle_mcp/server.zig","TOOLS":["needle_structural_replace","needle_search","needle_quality_gates","needle_preview","needle_batch_edit","needle_autonomous_refactor"],"TOOLS_ABOUT":["Apply AST-aware code edit with Tier 0->1 fallback and safety gates","Search codebase for pattern matches with confidence scores","Run quality gates: parse check, AST analysis, violation detection","Preview edit diff without applying changes","Apply multiple edits in a single operation","Execute Ralph Loop: intent-aware refactoring using semantic search + HNSW + VSA validation"],"TOOLS_INPUTS":["","","","","",""],"TOOLS_NOTE":"Input schema keys were not extracted for this server (schemas are inline Zig literals); names and descriptions only. The .claude-plugin/.mcp.json command is an absolute path into a developer checkout; its home prefix is written as here (no home paths in specs).","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/needle","inSpecCorpus":false,"launch":"/zig-out/bin/needle-mcp","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.claude-plugin/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/tools/mcp/needle_mcp/server.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_needle","name":{"en":"needle"},"qualifiedId":"gHashTag/trinity:mcp/needle","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/needle needle zig mcp server for ast-aware code editing (needle): structural search and replace, quality gates, preview. needle_structural_replace apply ast-aware code edit with tier 0->1 fallback and safety gates needle_search search codebase for pattern matches with confidence scores needle_quality_gates run quality gates: parse check, ast analysis, violation detection needle_preview preview edit diff without applying changes needle_batch_edit apply multiple edits in a single operation needle_autonomous_refactor execute ralph loop: intent-aware refactoring using semantic search + hnsw + vsa validation","server":"needle","serverVersion":"","sha256":"e2bff492844bb71720dc0caa8615e6025c5bcbf68978e17da5e89ef661adb563","skills":[],"source":"tools/mcp/needle_mcp/server.zig","specPath":"specs/tools/mcp/needle.t27","summary":{"en":"Zig MCP server for AST-aware code editing (needle): structural search and replace, quality gates, preview.","ru":"MCP-сервер на Zig для AST-осознанного редактирования кода (needle): структурный поиск и замена, гейты качества, предпросмотр."},"tools":[{"about":"Apply AST-aware code edit with Tier 0->1 fallback and safety gates","inputs":[],"name":"needle_structural_replace"},{"about":"Search codebase for pattern matches with confidence scores","inputs":[],"name":"needle_search"},{"about":"Run quality gates: parse check, AST analysis, violation detection","inputs":[],"name":"needle_quality_gates"},{"about":"Preview edit diff without applying changes","inputs":[],"name":"needle_preview"},{"about":"Apply multiple edits in a single operation","inputs":[],"name":"needle_batch_edit"},{"about":"Execute Ralph Loop: intent-aware refactoring using semantic search + HNSW + VSA validation","inputs":[],"name":"needle_autonomous_refactor"}],"toolsNote":"Input schema keys were not extracted for this server (schemas are inline Zig literals); names and descriptions only. The .claude-plugin/.mcp.json command is an absolute path into a developer checkout; its home prefix is written as here (no home paths in specs).","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":["NEON_API_KEY"],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["NEON_API_KEY"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/neon","KIND":"tool","LAUNCH":"npx -y @neondatabase/mcp-server-neon start","QUALIFIED_ID":"gHashTag/trinity:mcp/neon","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"neon","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/neon","inSpecCorpus":false,"launch":"npx -y @neondatabase/mcp-server-neon start","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_neon","name":{"en":"neon"},"qualifiedId":"gHashTag/trinity:mcp/neon","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/neon neon external mcp server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","server":"neon","serverVersion":"","sha256":"7bf7cec4562d12aa0f4d9928b70cec5fd4db6ed6f35b52d2a9286f0f932eeb24","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/neon.t27","summary":{"en":"External MCP server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","ru":"Внешний MCP-сервер `neon`, зарегистрированный в .mcp.json; запускается как `npx -y @neondatabase/mcp-server-neon start`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".claude/mcp.json entry; no tool list in this repository","agents":[],"config":".claude/mcp.json","discarded":0,"env":["NOTEBOOKLM_STORAGE_STATE"],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","ABOUT_SOURCE":".claude/mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude/mcp.json","ENABLED":true,"ENV":["NOTEBOOKLM_STORAGE_STATE"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/notebooklm","KIND":"tool","LAUNCH":"notebooklm-mcp --notebook-id auto","QUALIFIED_ID":"gHashTag/t27:mcp/notebooklm","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"notebooklm","SERVER_VERSION":"","SOURCE":".claude/mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external package, not in this repository.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/notebooklm","inSpecCorpus":false,"launch":"notebooklm-mcp --notebook-id auto","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_notebooklm","name":{"en":"notebooklm"},"qualifiedId":"gHashTag/t27:mcp/notebooklm","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/notebooklm notebooklm external mcp server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","server":"notebooklm","serverVersion":"","sha256":"93548d18109d7be76e3c43ea298c9db0a335044e2bbb820d23606859c9939bdb","skills":[],"source":".claude/mcp.json","specPath":"specs/tools/mcp/notebooklm.t27","summary":{"en":"External MCP server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","ru":"Внешний MCP-сервер `notebooklm`, зарегистрированный в .claude/mcp.json; запускается как `notebooklm-mcp`."},"tools":[],"toolsNote":"Tool list lives in the external package, not in this repository.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":[],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/railway-mcp-server","KIND":"tool","LAUNCH":"npx -y @railway/mcp-server","QUALIFIED_ID":"gHashTag/trinity:mcp/railway-mcp-server","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"railway-mcp-server","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/railway-mcp-server","inSpecCorpus":false,"launch":"npx -y @railway/mcp-server","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_railway_mcp_server","name":{"en":"railway-mcp-server"},"qualifiedId":"gHashTag/trinity:mcp/railway-mcp-server","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/railway-mcp-server railway-mcp-server external mcp server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","server":"railway-mcp-server","serverVersion":"","sha256":"e0af68eb26c5b4f8f5ac5e45aa859a28337cce715e90122020fed881b81a9afd","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/railway-mcp-server.t27","summary":{"en":"External MCP server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","ru":"Внешний MCP-сервер `railway-mcp-server`, зарегистрированный в .mcp.json; запускается как `npx -y @railway/mcp-server`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from the tool and resource descriptions in scripts/mcp-traceability-server.js","agents":[],"config":".mcp.json","discarded":0,"env":["PROJECT_ROOT","ENFORCE_L1"],"external":false,"family":"mcp","fields":{"ABOUT":"MCP server over stdio that checks L1 TRACEABILITY (Closes #N) in commit messages and PR descriptions, generates compliant commit messages, validates branch names and serves the PHI LOOP stacked-branch template; resources expose the constitution and the L1 audit.","ABOUT_SOURCE":"derived from the tool and resource descriptions in scripts/mcp-traceability-server.js","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["PROJECT_ROOT","ENFORCE_L1"],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/t27-traceability","KIND":"tool","LAUNCH":"node scripts/mcp-traceability-server.js","QUALIFIED_ID":"gHashTag/t27:mcp/t27-traceability","REPO":"gHashTag/t27","RESOURCES":["docs/T27-CONSTITUTION.md","docs/l1-traceability-audit.md"],"RESOURCES_ABOUT":["Constitutional laws including L1 TRACEABILITY","Audit report for L1 TRACEABILITY compliance"],"SCHEMA":2,"SERVER":"t27-traceability","SERVER_VERSION":"1.0.0","SOURCE":"scripts/mcp-traceability-server.js","TOOLS":["check_traceability","generate_commit_message","validate_branch_name","get_phi_loop_template"],"TOOLS_ABOUT":["Check if a commit message or PR description complies with L1 TRACEABILITY (Closes #N required)","Generate a compliant commit message for t27 including required L1 TRACEABILITY reference","Validate branch name follows t27 naming conventions","Get PHI LOOP stacked branch template for ring development"],"TOOLS_INPUTS":["message","type,scope,description,issueNumber,invariantLaws,body","branchName","ringNumber"],"TOOLS_NOTE":"","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/t27-traceability","inSpecCorpus":false,"launch":"node scripts/mcp-traceability-server.js","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/scripts/mcp-traceability-server.js"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_t27_traceability","name":{"en":"t27-traceability"},"qualifiedId":"gHashTag/t27:mcp/t27-traceability","repo":"gHashTag/t27","resources":[{"about":"Constitutional laws including L1 TRACEABILITY","path":"docs/T27-CONSTITUTION.md"},{"about":"Audit report for L1 TRACEABILITY compliance","path":"docs/l1-traceability-audit.md"}],"schema":2,"searchText":"mcp/t27-traceability t27-traceability mcp server over stdio that checks l1 traceability (closes #n) in commit messages and pr descriptions, generates compliant commit messages, validates branch names and serves the phi loop stacked-branch template; resources expose the constitution and the l1 audit. check_traceability check if a commit message or pr description complies with l1 traceability (closes #n required) generate_commit_message generate a compliant commit message for t27 including required l1 traceability reference validate_branch_name validate branch name follows t27 naming conventions get_phi_loop_template get phi loop stacked branch template for ring development","server":"t27-traceability","serverVersion":"1.0.0","sha256":"2496a572dc04d4f7e615f0d235fd6cda542d1a10caf6abc91ee4ef3a3e36da1e","skills":[],"source":"scripts/mcp-traceability-server.js","specPath":"specs/tools/mcp/t27-traceability.t27","summary":{"en":"MCP server over stdio that checks L1 TRACEABILITY (Closes #N) in commit messages and PR descriptions, generates compliant commit messages, validates branch names and serves the PHI LOOP stacked-branch template; resources expose the constitution and the L1 audit.","ru":"MCP-сервер по stdio, проверяющий L1 TRACEABILITY (Closes #N) в сообщениях коммитов и описаниях PR, генерирующий соответствующие сообщения коммитов, валидирующий имена веток и отдающий шаблон стековых веток PHI LOOP; ресурсы открывают конституцию и аудит L1."},"tools":[{"about":"Check if a commit message or PR description complies with L1 TRACEABILITY (Closes #N required)","inputs":["message"],"name":"check_traceability"},{"about":"Generate a compliant commit message for t27 including required L1 TRACEABILITY reference","inputs":["type","scope","description","issueNumber","invariantLaws","body"],"name":"generate_commit_message"},{"about":"Validate branch name follows t27 naming conventions","inputs":["branchName"],"name":"validate_branch_name"},{"about":"Get PHI LOOP stacked branch template for ring development","inputs":["ringNumber"],"name":"get_phi_loop_template"}],"toolsNote":"","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from the tool descriptions in cli/tri-mcp/src/main.rs build_tools_list","agents":[],"config":"","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"Rust MCP server exposing the PHI LOOP tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health.","ABOUT_SOURCE":"derived from the tool descriptions in cli/tri-mcp/src/main.rs build_tools_list","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":"","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/tri-mcp","KIND":"tool","LAUNCH":"cargo run -q -p tri-mcp (binary tri-mcp; JSON-RPC over stdio)","QUALIFIED_ID":"gHashTag/t27:mcp/tri-mcp","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"tri-mcp","SERVER_VERSION":"0.1.0","SOURCE":"cli/tri-mcp/src/main.rs","TOOLS":["tri_status","tri_skill_begin","tri_skill_end","tri_cell_checkpoint","tri_cell_seal","tri_gen","tri_test","tri_verdict","tri_experience_save","tri_health"],"TOOLS_ABOUT":["Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","Begins a new PHI LOOP skill session bound to an issue.","Ends the active PHI LOOP skill session.","Records a checkpoint step in the active cell.","Seals the active cell by computing a SHA-256 hash of its checkpoint history.","Generates backends from a .t27 spec file using t27c.","Runs tests for a .t27 spec file using t27c.","Checks for toxic regressions by analyzing swarm health metrics.","Saves an experience episode to the akashic log.","Returns queen and swarm health status from .trinity state."],"TOOLS_INPUTS":["","issue,description","","step","","spec_path","spec_path","","episode_type,summary,ring",""],"TOOLS_NOTE":"Not registered in .mcp.json at this commit; the server exists as the tri-mcp crate.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/tri-mcp","inSpecCorpus":false,"launch":"cargo run -q -p tri-mcp (binary tri-mcp; JSON-RPC over stdio)","links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri-mcp/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_tri_mcp","name":{"en":"tri-mcp"},"qualifiedId":"gHashTag/t27:mcp/tri-mcp","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/tri-mcp tri-mcp rust mcp server exposing the phi loop tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health. tri_status returns phi loop status including active skill, cell, issue binding, and uncommitted changes. tri_skill_begin begins a new phi loop skill session bound to an issue. tri_skill_end ends the active phi loop skill session. tri_cell_checkpoint records a checkpoint step in the active cell. tri_cell_seal seals the active cell by computing a sha-256 hash of its checkpoint history. tri_gen generates backends from a .t27 spec file using t27c. tri_test runs tests for a .t27 spec file using t27c. tri_verdict checks for toxic regressions by analyzing swarm health metrics. tri_experience_save saves an experience episode to the akashic log. tri_health returns queen and swarm health status from .trinity state.","server":"tri-mcp","serverVersion":"0.1.0","sha256":"ae32961a90fd40b66ecab5b4d20fea7d20293038c00c728d191d211a9576986e","skills":[],"source":"cli/tri-mcp/src/main.rs","specPath":"specs/tools/mcp/tri-mcp.t27","summary":{"en":"Rust MCP server exposing the PHI LOOP tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health.","ru":"MCP-сервер на Rust, открывающий команды tri PHI LOOP как инструменты: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health."},"tools":[{"about":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","inputs":[],"name":"tri_status"},{"about":"Begins a new PHI LOOP skill session bound to an issue.","inputs":["issue","description"],"name":"tri_skill_begin"},{"about":"Ends the active PHI LOOP skill session.","inputs":[],"name":"tri_skill_end"},{"about":"Records a checkpoint step in the active cell.","inputs":["step"],"name":"tri_cell_checkpoint"},{"about":"Seals the active cell by computing a SHA-256 hash of its checkpoint history.","inputs":[],"name":"tri_cell_seal"},{"about":"Generates backends from a .t27 spec file using t27c.","inputs":["spec_path"],"name":"tri_gen"},{"about":"Runs tests for a .t27 spec file using t27c.","inputs":["spec_path"],"name":"tri_test"},{"about":"Checks for toxic regressions by analyzing swarm health metrics.","inputs":[],"name":"tri_verdict"},{"about":"Saves an experience episode to the akashic log.","inputs":["episode_type","summary","ring"],"name":"tri_experience_save"},{"about":"Returns queen and swarm health status from .trinity state.","inputs":[],"name":"tri_health"}],"toolsNote":"Not registered in .mcp.json at this commit; the server exists as the tri-mcp crate.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"manifest.json description","agents":[],"config":".claude/mcp/tri-ssot/manifest.json","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"SSOT Integration for t27: GitHub Issues + PRs + Documentation -> NotebookLM","ABOUT_SOURCE":"manifest.json description","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude/mcp/tri-ssot/manifest.json","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/tri-ssot","KIND":"tool","LAUNCH":"python3 -m contrib.backend.github.mcp_server","QUALIFIED_ID":"gHashTag/t27:mcp/tri-ssot","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"tri-ssot","SERVER_VERSION":"1.0.0","SOURCE":".claude/mcp/tri-ssot/manifest.json","TOOLS":["tri_issue","tri_pr","tri_docs","tri_sync","tri_search"],"TOOLS_ABOUT":["GitHub Issue management: create, update, list, close","GitHub PR management: create, merge, close, get status","Documentation management: upload to NotebookLM, sync, query","Unified sync: sync all entities (issues, prs, docs) with NotebookLM","Unified search across GitHub Issues, PRs, NotebookLM docs"],"TOOLS_INPUTS":["action,title,body,labels,issue_id,state","action,title,body,pr_id,issue_id","action,file_path,title","scope","query"],"TOOLS_NOTE":"The manifest names python3 -m contrib.backend.github.mcp_server, but the t27 tree at this commit has no contrib/backend/github/mcp_server.py (git ls-tree); the tool list is taken from the manifest alone (declared, not executed).","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/tri-ssot","inSpecCorpus":false,"launch":"python3 -m contrib.backend.github.mcp_server","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp/tri-ssot/manifest.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp/tri-ssot/manifest.json"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_tri_ssot","name":{"en":"tri-ssot"},"qualifiedId":"gHashTag/t27:mcp/tri-ssot","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/tri-ssot tri-ssot ssot integration for t27: github issues + prs + documentation -> notebooklm tri_issue github issue management: create, update, list, close tri_pr github pr management: create, merge, close, get status tri_docs documentation management: upload to notebooklm, sync, query tri_sync unified sync: sync all entities (issues, prs, docs) with notebooklm tri_search unified search across github issues, prs, notebooklm docs","server":"tri-ssot","serverVersion":"1.0.0","sha256":"c5f2218c27d16037026e392844aee9dff023506272d7eb2ecae5c323be2994de","skills":[],"source":".claude/mcp/tri-ssot/manifest.json","specPath":"specs/tools/mcp/tri-ssot.t27","summary":{"en":"SSOT Integration for t27: GitHub Issues + PRs + Documentation -> NotebookLM","ru":"Интеграция SSOT для t27: GitHub Issues + PR + документация -> NotebookLM."},"tools":[{"about":"GitHub Issue management: create, update, list, close","inputs":["action","title","body","labels","issue_id","state"],"name":"tri_issue"},{"about":"GitHub PR management: create, merge, close, get status","inputs":["action","title","body","pr_id","issue_id"],"name":"tri_pr"},{"about":"Documentation management: upload to NotebookLM, sync, query","inputs":["action","file_path","title"],"name":"tri_docs"},{"about":"Unified sync: sync all entities (issues, prs, docs) with NotebookLM","inputs":["scope"],"name":"tri_sync"},{"about":"Unified search across GitHub Issues, PRs, NotebookLM docs","inputs":["query"],"name":"tri_search"}],"toolsNote":"The manifest names python3 -m contrib.backend.github.mcp_server, but the t27 tree at this commit has no contrib/backend/github/mcp_server.py (git ls-tree); the tool list is taken from the manifest alone (declared, not executed).","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from tools/mcp/trinity_mcp/server.zig writeToolsList and .claude/rules/mcp-servers.md","agents":[],"config":".mcp.json","discarded":0,"env":["TRINITY_MCP_PORT"],"external":false,"family":"mcp","fields":{"ABOUT":"Zig MCP server (JSON-RPC over stdio, Content-Length framing) that exposes the tri pipeline, Golden Chain links, swarm, cloud/farm, FPGA, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writeToolsList plus cell-generated tools loaded at runtime.","ABOUT_SOURCE":"derived from tools/mcp/trinity_mcp/server.zig writeToolsList and .claude/rules/mcp-servers.md","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["TRINITY_MCP_PORT"],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/trinity","KIND":"tool","LAUNCH":"/data/trinity/zig-out/bin/trinity-mcp","QUALIFIED_ID":"gHashTag/trinity:mcp/trinity","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"trinity","SERVER_VERSION":"","SOURCE":"tools/mcp/trinity_mcp/server.zig","TOOLS":["tri_execute","tri_code","tri_gen","tri_spec_create","tri_decompose","tri_plan","tri_verify","tri_bench","tri_verdict","tri_test","tri_test_run","tri_fix","tri_explain","tri_refactor","tri_doc","tri_reason","tri_status","tri_diff","tri_log","tri_commit","needle_structural_replace","needle_search","needle_quality_gates","needle_preview","needle_batch_edit","needle_graph_build","needle_graph_refactor","needle_graph_extract","needle_graph_visualize","needle_graph_affected","needle_graph_vsa_search","needle_semantic_replace","needle_vsa_index","needle_safe_cross_refactor","needle_vsa_rule_apply","needle_cross_preview","needle_rollback_all","needle_omega_init","needle_omega_analyze","needle_omega_execute","needle_omega_detect","needle_omega_status","needle_safety_gates_run","needle_atomic_refactor","needle_parse_check","needle_compile_check","tri_constants","tri_phi","tri_fib","tri_lucas","tri_spiral","tri_chat","tri_loop_decision","tri_pipeline","tri_omega_awaken","tri_os_boot","tri_tvc_demo","tri_tvc_stats","tri_chem_periodic","tri_chem_element","tri_chem_mass","tri_chem_moles","tri_bio_dna","tri_bio_codon","tri_bio_protein","tri_quantum_constants","tri_quantum_states","tri_bell_states","tri_formula","swarm_status","swarm_agents","swarm_register","swarm_heartbeat","swarm_task_get","swarm_task_add","swarm_task_cancel","swarm_tasks","swarm_pause","swarm_resume","swarm_assign","swarm_github_sync","swarm_github_on_start","swarm_github_on_complete","swarm_github_on_fail","oracle_start","oracle_stop","oracle_status","tri_train_status","tri_train_diagnose","tri_train_loss_curve","tri_train_recommend","tri_train_checkpoint","cloud_spawn","cloud_kill","cloud_list","cloud_status","cloud_logs","cloud_spawn_all","cloud_cleanup","cloud_history","cloud_api_check","cloud_redeploy","cloud_diagnose","cloud_issue_create","cloud_farm","cloud_farm_sync","cloud_farm_capacity","cloud_farm_rebalance","farm_evolve_health","farm_evolve_notify","farm_evolve_watch","cloud_train","cloud_train_batch","chain_cache","chain_baseline","chain_metrics","chain_patterns","chain_tree","chain_check_spec","chain_spec","chain_codegen","chain_analyze","chain_test","chain_bench","chain_fix","chain_bench_ext","chain_bench_theory","chain_delta","chain_optimize","chain_docs","chain_verdict","chain_git","chain_loop","chain_deploy","chain_evolve","chain_self_ref","chain_fpga_test","chain_research","chain_lint_spec","chain_list","cloud_decompose","tri_notify","fpga_uart_scan","fpga_uart_ping","fpga_uart_send","doctor_status","doctor_scan","doctor_report","doctor_plan","doctor_heal","job_start","job_status","job_logs","job_list","job_cancel","job_artifacts","issue_list","issue_view","issue_create","issue_comment","issue_close","issue_assign","issue_decompose","deploy_status","deploy_logs","deploy_vars","deploy_start","deploy_stop","experience_save","experience_recall","experience_mistakes","patent_status","patent_analysis","depin_status","depin_nodes","depin_fitness","research_query","experiment_list","experiment_compare","chimera_run","ouroboros_status","ouroboros_run","self_test","self_health","context_info","context_load","faculty_status","mu_status","mu_patterns","zenodo_status","tri_analyze","tri_clean","tri_fmt","tri_stats","tri_lint","tri_search","tri_metrics","tri_trace","tri_eval","farm_status","farm_idle","farm_recycle","farm_fill","farm_accounts","farm_wave_spawn","fpga_synth","fpga_status","fpga_build","fpga_verify","fpga_flash"],"TOOLS_ABOUT":["Universal executor -- run ANY tri command with automatic needle check","Generate code with typing effect","Compile VIBEE spec to Zig/Verilog","Create new .tri specification template","Break task into sub-tasks (Golden Chain Link 4)","Generate implementation plan (Golden Chain Link 5)","Run tests + benchmarks (Links 7-11)","Run performance benchmarks","Generate toxic verdict (Link 14)","Generate tests for code","Run specific test suite","Detect and fix bugs","Explain code or concept","Suggest refactoring","Generate documentation","Chain-of-thought reasoning","Git status --short","Git diff","Git log --oneline","Git add -A && commit","AST-aware code edit with Tier 0->1 fallback","Search codebase for pattern matches","Run quality gates: parse check, AST analysis","Preview edit diff without applying","Apply multiple edits in one operation","Build complete call graph with VSA embeddings for project","Rename symbol across entire project with semantic awareness","Extract function/method from code block","Generate graph visualization (DOT/JSON) with VSA clustering","Find all files affected by symbol change (with semantic impact)","Search for semantically similar symbols by code or intent","Replace code by semantic meaning (not just pattern)","Build semantic VSA index for codebase","Safe cross-file semantic refactor with VSA rules and 100% rollback","Apply VSA rules to validate proposed refactor","Preview cross-file refactor impact with safety assessment","Rollback all changes from failed refactor","Initialize Omega autonomous agent for project","Omega analyzes codebase and suggests improvements","Execute refactor plan with full autonomy","Auto-detect code improvements and optimizations","Get Omega agent status and health","Run all safety gates on a file (Phase 1: parse/compile/test)","Apply atomic refactor with 100% rollback guarantee (Phase 1)","Parse check using Zig AST parser (Phase 1)","Compile check using zig build (Phase 1)","Show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...)","Compute phi^n (golden ratio power)","Fibonacci with BigInt","Lucas L(n) -- L(2)=3=TRINITY","phi-spiral coordinates","Interactive chat (vision + voice + tools)","Loop decision: CONTINUE/EXIT (Link 17)","Execute 26-link Golden Chain pipeline","Awaken Omega autonomous agent","Temporal Trinity OS boot","Run TVC chat demo","Show TVC corpus statistics","List periodic table elements by category","Look up element by symbol or atomic number","Calculate molar mass of chemical formula","Calculate moles, molecules, atoms from mass","Analyze DNA sequence (GC content, composition)","Look up RNA codon to amino acid","Analyze protein sequence (mass, composition)","Show quantum physics constants (h, hbar, alpha)","Show quantum basis states and phi-state","Show four Bell entangled states","Evaluate V = n * 3^k * pi^m * phi^p * e^q","Get Ralph Agent Swarm status summary (agents, tasks, counts)","List all registered swarm agents with status","Register a new agent in the swarm","Agent heartbeat with status, branch, task_id, commit_sha (circuit breaker)","Get next pending task for an agent (priority-ordered)","Add a new task to the swarm queue","Cancel and remove a task from the queue","List all tasks in the swarm queue","Pause all swarm agents (finish current tasks, no new assignments)","Resume all paused swarm agents","Create and assign a task to a specific agent","Convert GitHub issue to swarm task. Returns labels/actions for Go proxy.","Notify that agent started a GitHub-sourced task. Returns label swaps + comment.","Notify GitHub task completed. Returns labels, comment, close_issue.","Notify GitHub task failed. Returns labels + error comment.","Start Oracle Telegram watchdog thread (sends swarm status every N minutes)","Stop Oracle Telegram watchdog thread","Get Oracle watchdog status (running/stopped, messages sent, errors)","Get HSLM training status -- checkpoints, loss, anomalies, recommendation","Diagnose HSLM training anomalies (zero loss, phase transition, overfitting)","Get HSLM loss curve from checkpoint headers","Get phi-aware recommendation for next training action","List HSLM checkpoints with step, loss, PPL, size","Spawn a cloud agent container for a GitHub issue","Kill a cloud agent container","List all active cloud agent containers","Get cloud infrastructure status","Get cloud agent deployment logs","Spawn agents for all issues labeled agent:spawn","Remove inactive cloud agent entries","Get event history for a cloud agent","Test API key connectivity and model routing -- detects proxy returning wrong model","Reuse existing Railway service for a new issue number","Diagnose why an agent failed -- shows GitHub comments, JSONL events, PR status","Create a GitHub issue with agent:spawn label for auto-spawning","Railway multi-account farm dashboard -- shows all accounts with capacity and daily limits","Sync active service counts across all Railway accounts","Get farm capacity as JSON -- total slots, active services, daily remaining per account","Migrate services from overloaded to underloaded Railway accounts","Farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, ETA","Farm insight scan -- detect leader changes, plateaus, spikes, wave completion. Sends to Telegram unless dry-run","Single evolution sweep -- inject sacred children into free slots, auto-notify. Always --once","Spawn an HSLM training experiment on Railway farm","Spawn all 13 HSLM training experiments across Railway farm","Chain Link 0: TVC Gate -- search corpus, return cached or continue","Chain Link 1: Analyze previous version v(n-1)","Chain Link 2: Collect performance metrics","Chain Link 3: Research patterns and science (PAS)","Chain Link 4: Build technology dependency tree","Chain Link 5: VIBEE-first compliance check","Chain Link 6: Create .tri specifications","Chain Link 7: Generate Zig code from .tri specs","Chain Link 8: Sacred Intelligence code analysis","Chain Link 9: Run zig build test suite","Chain Link 10: CRITICAL -- Compare to baseline v(n-1)","Chain Link 11: SWE Agent error fixing","Chain Link 12: Compare to external tools (llama.cpp/vLLM)","Chain Link 13: Gap to theoretical maximum","Chain Link 14: Generate improvement delta report","Chain Link 15: Optimize if needed (optional)","Chain Link 16: Generate documentation with proofs","Chain Link 17: Critical self-assessment (toxic verdict)","Chain Link 18: Commit and push changes","Chain Link 19: Decide next iteration (continue/exit)","Chain Link 20: Auto-deploy to cloud","Chain Link 21: Pipeline analyzes itself (eternal self-evolution)","Chain Link 22: Pipeline improves itself (circular bootstrapping)","Chain Link 23: Camera-based LED verification for FPGA","Chain Link 24: Research-assisted error fixing via Perplexity","Chain Link 25: Validate .tri spec syntax before codegen","List all 26 Golden Chain links with roles and status","Decompose a GitHub issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator)","Send/edit/pin Telegram messages via tri CLI","Scan for USB-UART serial devices (CH340/FTDI) connected to FPGA","PING/PONG test -- send 0x03, expect 0x83 from FPGA","Send raw hex bytes to FPGA via UART and print response","Get doctor health status -- one-line summary","Scan and classify all .zig files","Health score dashboard with emoji grades","Create migration queue for manual files","Regenerate manual files through pipeline","Start a background job","Get job status by ID","Get job logs by ID","List all background jobs","Cancel a running job","Get job artifacts by ID","List open GitHub issues","View a specific GitHub issue","Create a new GitHub issue","Add a comment to a GitHub issue","Close a GitHub issue","Assign a user to a GitHub issue","Decompose a GitHub issue into sub-tasks","Get deployment status","Get deployment logs","Get deployment environment variables","Start deployment","Stop deployment","Save an experience entry (key-value learning)","Recall an experience entry by key","List all recorded mistakes/anti-patterns","Get patent portfolio status","Get patent analysis and claims","Get DePIN node protocol status","List DePIN network nodes","Get DePIN node fitness scores","Research a topic via Perplexity-assisted search","List all HSLM training experiments","Compare two experiments","Run a chimera fused command (farm-cycle, train-cycle, etc.)","Get ouroboros self-evolution status and score","Run ouroboros self-evolution cycle","Run self-test suite","Get self-health check results","Get current context info (tokens, files, window)","Load additional context from a file path","Get Faculty Board status dashboard","Get MU agent status","List MU learned patterns","Get Zenodo publication status","Analyze codebase quality and metrics","Clean build artifacts and temp files","Format all Zig source files","Show project statistics (LOC, files, tests)","Run linter on source code","Search codebase for a query string","Get project metrics dashboard","Get execution trace","Evaluate expression or code snippet","Get training farm status overview","List idle farm workers","Recycle underperforming farm workers","Fill empty farm slots with new experiments","List all 8 Railway farm accounts and their service counts","Spawn a wave of training workers on a specific account","Run FPGA synthesis pipeline","Get FPGA hardware and synthesis status","Build FPGA bitstream","Verify FPGA bitstream against RTL","Flash bitstream to FPGA board"],"TOOLS_INPUTS":["command,args,auto_needle","prompt","spec","name","task","task","","suite","","file","pattern","file","target","file","file","prompt","","","count","message","file_path,pattern_query,replacement,safety_level,edit_mode","query,file_path,confidence_threshold","file_path,check_level","file_path,pattern_query,replacement","edits","root_dir,enable_vsa","symbol,new_name,semantic_aware,similarity_threshold,scope,preview","file,start_line,end_line,function_name","format,focus,show_vsa","symbol,include_transitive,semantic_impact","query,top_k,min_similarity","intent,replacement_intent,file,preview","root_dir,embedding_dim","intent,new_intent,semantic_threshold,preview","transformation,rules_file","symbol,new_name,include_vsa","refactor_id","root_dir,autonomy_level","intent,auto_detect","plan_id,confirm","min_confidence,max_results","","file_path,gates","file_path,pattern_query,replacement,safety_gates","file_path","project_root","","n","n","n","n","message,stream","mode","task","mode","","","","category","element","formula","formula,mass","sequence","codon","sequence","","","","n,k,m,p,q","","","agent_id,hostname","agent_id,status,branch,task_id,commit_sha","agent_id","id,slug,description,priority","task_id","","","","agent_id,description","issue_number,title,labels","task_id,agent_id,branch","task_id,agent_id,result","task_id,agent_id,error","telegram_token,chat_id,interval_ms","","","","dir","dir","dir","dir","issue_number","issue_number","","","","","","issue_number","","service_id,issue_number","issue_number","title","","","","","","dry_run","sacred,dry_run","name","","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","","issue_number,template","text,chat_id,pin,edit_id","","device","device,hex_bytes","","","","","","command","id","id","","id","id","","number","title,body","number,body","number","number,user","number","","","","","","key,value","key","","","","","","","query","","a,b","name","","","","","","path","","","","","","","","","","query","","","","","","","","","account,count","","","","","bitstream"],"TOOLS_NOTE":"Static list parsed from writeToolsList (210 entries; 32 entries have an unbalanced trailing brace in the source literal and were parsed after adding or removing one). Cell-generated tools from data/cells/mcp_tools.json are appended at runtime and are not listed here. .trinity/mcp_schemas.json lists a different, shorter set (29 names) and is not used as the source.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/trinity","inSpecCorpus":false,"launch":"/data/trinity/zig-out/bin/trinity-mcp","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/tools/mcp/trinity_mcp/server.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_trinity","name":{"en":"trinity"},"qualifiedId":"gHashTag/trinity:mcp/trinity","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/trinity trinity zig mcp server (json-rpc over stdio, content-length framing) that exposes the tri pipeline, golden chain links, swarm, cloud/farm, fpga, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writetoolslist plus cell-generated tools loaded at runtime. tri_execute universal executor -- run any tri command with automatic needle check tri_code generate code with typing effect tri_gen compile vibee spec to zig/verilog tri_spec_create create new .tri specification template tri_decompose break task into sub-tasks (golden chain link 4) tri_plan generate implementation plan (golden chain link 5) tri_verify run tests + benchmarks (links 7-11) tri_bench run performance benchmarks tri_verdict generate toxic verdict (link 14) tri_test generate tests for code tri_test_run run specific test suite tri_fix detect and fix bugs tri_explain explain code or concept tri_refactor suggest refactoring tri_doc generate documentation tri_reason chain-of-thought reasoning tri_status git status --short tri_diff git diff tri_log git log --oneline tri_commit git add -a && commit needle_structural_replace ast-aware code edit with tier 0->1 fallback needle_search search codebase for pattern matches needle_quality_gates run quality gates: parse check, ast analysis needle_preview preview edit diff without applying needle_batch_edit apply multiple edits in one operation needle_graph_build build complete call graph with vsa embeddings for project needle_graph_refactor rename symbol across entire project with semantic awareness needle_graph_extract extract function/method from code block needle_graph_visualize generate graph visualization (dot/json) with vsa clustering needle_graph_affected find all files affected by symbol change (with semantic impact) needle_graph_vsa_search search for semantically similar symbols by code or intent needle_semantic_replace replace code by semantic meaning (not just pattern) needle_vsa_index build semantic vsa index for codebase needle_safe_cross_refactor safe cross-file semantic refactor with vsa rules and 100% rollback needle_vsa_rule_apply apply vsa rules to validate proposed refactor needle_cross_preview preview cross-file refactor impact with safety assessment needle_rollback_all rollback all changes from failed refactor needle_omega_init initialize omega autonomous agent for project needle_omega_analyze omega analyzes codebase and suggests improvements needle_omega_execute execute refactor plan with full autonomy needle_omega_detect auto-detect code improvements and optimizations needle_omega_status get omega agent status and health needle_safety_gates_run run all safety gates on a file (phase 1: parse/compile/test) needle_atomic_refactor apply atomic refactor with 100% rollback guarantee (phase 1) needle_parse_check parse check using zig ast parser (phase 1) needle_compile_check compile check using zig build (phase 1) tri_constants show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...) tri_phi compute phi^n (golden ratio power) tri_fib fibonacci with bigint tri_lucas lucas l(n) -- l(2)=3=trinity tri_spiral phi-spiral coordinates tri_chat interactive chat (vision + voice + tools) tri_loop_decision loop decision: continue/exit (link 17) tri_pipeline execute 26-link golden chain pipeline tri_omega_awaken awaken omega autonomous agent tri_os_boot temporal trinity os boot tri_tvc_demo run tvc chat demo tri_tvc_stats show tvc corpus statistics tri_chem_periodic list periodic table elements by category tri_chem_element look up element by symbol or atomic number tri_chem_mass calculate molar mass of chemical formula tri_chem_moles calculate moles, molecules, atoms from mass tri_bio_dna analyze dna sequence (gc content, composition) tri_bio_codon look up rna codon to amino acid tri_bio_protein analyze protein sequence (mass, composition) tri_quantum_constants show quantum physics constants (h, hbar, alpha) tri_quantum_states show quantum basis states and phi-state tri_bell_states show four bell entangled states tri_formula evaluate v = n * 3^k * pi^m * phi^p * e^q swarm_status get ralph agent swarm status summary (agents, tasks, counts) swarm_agents list all registered swarm agents with status swarm_register register a new agent in the swarm swarm_heartbeat agent heartbeat with status, branch, task_id, commit_sha (circuit breaker) swarm_task_get get next pending task for an agent (priority-ordered) swarm_task_add add a new task to the swarm queue swarm_task_cancel cancel and remove a task from the queue swarm_tasks list all tasks in the swarm queue swarm_pause pause all swarm agents (finish current tasks, no new assignments) swarm_resume resume all paused swarm agents swarm_assign create and assign a task to a specific agent swarm_github_sync convert github issue to swarm task. returns labels/actions for go proxy. swarm_github_on_start notify that agent started a github-sourced task. returns label swaps + comment. swarm_github_on_complete notify github task completed. returns labels, comment, close_issue. swarm_github_on_fail notify github task failed. returns labels + error comment. oracle_start start oracle telegram watchdog thread (sends swarm status every n minutes) oracle_stop stop oracle telegram watchdog thread oracle_status get oracle watchdog status (running/stopped, messages sent, errors) tri_train_status get hslm training status -- checkpoints, loss, anomalies, recommendation tri_train_diagnose diagnose hslm training anomalies (zero loss, phase transition, overfitting) tri_train_loss_curve get hslm loss curve from checkpoint headers tri_train_recommend get phi-aware recommendation for next training action tri_train_checkpoint list hslm checkpoints with step, loss, ppl, size cloud_spawn spawn a cloud agent container for a github issue cloud_kill kill a cloud agent container cloud_list list all active cloud agent containers cloud_status get cloud infrastructure status cloud_logs get cloud agent deployment logs cloud_spawn_all spawn agents for all issues labeled agent:spawn cloud_cleanup remove inactive cloud agent entries cloud_history get event history for a cloud agent cloud_api_check test api key connectivity and model routing -- detects proxy returning wrong model cloud_redeploy reuse existing railway service for a new issue number cloud_diagnose diagnose why an agent failed -- shows github comments, jsonl events, pr status cloud_issue_create create a github issue with agent:spawn label for auto-spawning cloud_farm railway multi-account farm dashboard -- shows all accounts with capacity and daily limits cloud_farm_sync sync active service counts across all railway accounts cloud_farm_capacity get farm capacity as json -- total slots, active services, daily remaining per account cloud_farm_rebalance migrate services from overloaded to underloaded railway accounts farm_evolve_health farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, eta farm_evolve_notify farm insight scan -- detect leader changes, plateaus, spikes, wave completion. sends to telegram unless dry-run farm_evolve_watch single evolution sweep -- inject sacred children into free slots, auto-notify. always --once cloud_train spawn an hslm training experiment on railway farm cloud_train_batch spawn all 13 hslm training experiments across railway farm chain_cache chain link 0: tvc gate -- search corpus, return cached or continue chain_baseline chain link 1: analyze previous version v(n-1) chain_metrics chain link 2: collect performance metrics chain_patterns chain link 3: research patterns and science (pas) chain_tree chain link 4: build technology dependency tree chain_check_spec chain link 5: vibee-first compliance check chain_spec chain link 6: create .tri specifications chain_codegen chain link 7: generate zig code from .tri specs chain_analyze chain link 8: sacred intelligence code analysis chain_test chain link 9: run zig build test suite chain_bench chain link 10: critical -- compare to baseline v(n-1) chain_fix chain link 11: swe agent error fixing chain_bench_ext chain link 12: compare to external tools (llama.cpp/vllm) chain_bench_theory chain link 13: gap to theoretical maximum chain_delta chain link 14: generate improvement delta report chain_optimize chain link 15: optimize if needed (optional) chain_docs chain link 16: generate documentation with proofs chain_verdict chain link 17: critical self-assessment (toxic verdict) chain_git chain link 18: commit and push changes chain_loop chain link 19: decide next iteration (continue/exit) chain_deploy chain link 20: auto-deploy to cloud chain_evolve chain link 21: pipeline analyzes itself (eternal self-evolution) chain_self_ref chain link 22: pipeline improves itself (circular bootstrapping) chain_fpga_test chain link 23: camera-based led verification for fpga chain_research chain link 24: research-assisted error fixing via perplexity chain_lint_spec chain link 25: validate .tri spec syntax before codegen chain_list list all 26 golden chain links with roles and status cloud_decompose decompose a github issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator) tri_notify send/edit/pin telegram messages via tri cli fpga_uart_scan scan for usb-uart serial devices (ch340/ftdi) connected to fpga fpga_uart_ping ping/pong test -- send 0x03, expect 0x83 from fpga fpga_uart_send send raw hex bytes to fpga via uart and print response doctor_status get doctor health status -- one-line summary doctor_scan scan and classify all .zig files doctor_report health score dashboard with emoji grades doctor_plan create migration queue for manual files doctor_heal regenerate manual files through pipeline job_start start a background job job_status get job status by id job_logs get job logs by id job_list list all background jobs job_cancel cancel a running job job_artifacts get job artifacts by id issue_list list open github issues issue_view view a specific github issue issue_create create a new github issue issue_comment add a comment to a github issue issue_close close a github issue issue_assign assign a user to a github issue issue_decompose decompose a github issue into sub-tasks deploy_status get deployment status deploy_logs get deployment logs deploy_vars get deployment environment variables deploy_start start deployment deploy_stop stop deployment experience_save save an experience entry (key-value learning) experience_recall recall an experience entry by key experience_mistakes list all recorded mistakes/anti-patterns patent_status get patent portfolio status patent_analysis get patent analysis and claims depin_status get depin node protocol status depin_nodes list depin network nodes depin_fitness get depin node fitness scores research_query research a topic via perplexity-assisted search experiment_list list all hslm training experiments experiment_compare compare two experiments chimera_run run a chimera fused command (farm-cycle, train-cycle, etc.) ouroboros_status get ouroboros self-evolution status and score ouroboros_run run ouroboros self-evolution cycle self_test run self-test suite self_health get self-health check results context_info get current context info (tokens, files, window) context_load load additional context from a file path faculty_status get faculty board status dashboard mu_status get mu agent status mu_patterns list mu learned patterns zenodo_status get zenodo publication status tri_analyze analyze codebase quality and metrics tri_clean clean build artifacts and temp files tri_fmt format all zig source files tri_stats show project statistics (loc, files, tests) tri_lint run linter on source code tri_search search codebase for a query string tri_metrics get project metrics dashboard tri_trace get execution trace tri_eval evaluate expression or code snippet farm_status get training farm status overview farm_idle list idle farm workers farm_recycle recycle underperforming farm workers farm_fill fill empty farm slots with new experiments farm_accounts list all 8 railway farm accounts and their service counts farm_wave_spawn spawn a wave of training workers on a specific account fpga_synth run fpga synthesis pipeline fpga_status get fpga hardware and synthesis status fpga_build build fpga bitstream fpga_verify verify fpga bitstream against rtl fpga_flash flash bitstream to fpga board","server":"trinity","serverVersion":"","sha256":"6d12259c8f9ce6b5c139b041f23558ef50c0f6a3edb22569fb4e2559f4ca3b54","skills":[],"source":"tools/mcp/trinity_mcp/server.zig","specPath":"specs/tools/mcp/trinity.t27","summary":{"en":"Zig MCP server (JSON-RPC over stdio, Content-Length framing) that exposes the tri pipeline, Golden Chain links, swarm, cloud/farm, FPGA, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writeToolsList plus cell-generated tools loaded at runtime.","ru":"MCP-сервер на Zig (JSON-RPC по stdio, кадрирование Content-Length), открывающий инструменты конвейера tri, звеньев Golden Chain, роя, облака/фермы, FPGA, doctor, job, issue, deploy, experience, oracle и needle; статический список writeToolsList плюс инструменты ячеек, подгружаемые во время выполнения."},"tools":[{"about":"Universal executor -- run ANY tri command with automatic needle check","inputs":["command","args","auto_needle"],"name":"tri_execute"},{"about":"Generate code with typing effect","inputs":["prompt"],"name":"tri_code"},{"about":"Compile VIBEE spec to Zig/Verilog","inputs":["spec"],"name":"tri_gen"},{"about":"Create new .tri specification template","inputs":["name"],"name":"tri_spec_create"},{"about":"Break task into sub-tasks (Golden Chain Link 4)","inputs":["task"],"name":"tri_decompose"},{"about":"Generate implementation plan (Golden Chain Link 5)","inputs":["task"],"name":"tri_plan"},{"about":"Run tests + benchmarks (Links 7-11)","inputs":[],"name":"tri_verify"},{"about":"Run performance benchmarks","inputs":["suite"],"name":"tri_bench"},{"about":"Generate toxic verdict (Link 14)","inputs":[],"name":"tri_verdict"},{"about":"Generate tests for code","inputs":["file"],"name":"tri_test"},{"about":"Run specific test suite","inputs":["pattern"],"name":"tri_test_run"},{"about":"Detect and fix bugs","inputs":["file"],"name":"tri_fix"},{"about":"Explain code or concept","inputs":["target"],"name":"tri_explain"},{"about":"Suggest refactoring","inputs":["file"],"name":"tri_refactor"},{"about":"Generate documentation","inputs":["file"],"name":"tri_doc"},{"about":"Chain-of-thought reasoning","inputs":["prompt"],"name":"tri_reason"},{"about":"Git status --short","inputs":[],"name":"tri_status"},{"about":"Git diff","inputs":[],"name":"tri_diff"},{"about":"Git log --oneline","inputs":["count"],"name":"tri_log"},{"about":"Git add -A && commit","inputs":["message"],"name":"tri_commit"},{"about":"AST-aware code edit with Tier 0->1 fallback","inputs":["file_path","pattern_query","replacement","safety_level","edit_mode"],"name":"needle_structural_replace"},{"about":"Search codebase for pattern matches","inputs":["query","file_path","confidence_threshold"],"name":"needle_search"},{"about":"Run quality gates: parse check, AST analysis","inputs":["file_path","check_level"],"name":"needle_quality_gates"},{"about":"Preview edit diff without applying","inputs":["file_path","pattern_query","replacement"],"name":"needle_preview"},{"about":"Apply multiple edits in one operation","inputs":["edits"],"name":"needle_batch_edit"},{"about":"Build complete call graph with VSA embeddings for project","inputs":["root_dir","enable_vsa"],"name":"needle_graph_build"},{"about":"Rename symbol across entire project with semantic awareness","inputs":["symbol","new_name","semantic_aware","similarity_threshold","scope","preview"],"name":"needle_graph_refactor"},{"about":"Extract function/method from code block","inputs":["file","start_line","end_line","function_name"],"name":"needle_graph_extract"},{"about":"Generate graph visualization (DOT/JSON) with VSA clustering","inputs":["format","focus","show_vsa"],"name":"needle_graph_visualize"},{"about":"Find all files affected by symbol change (with semantic impact)","inputs":["symbol","include_transitive","semantic_impact"],"name":"needle_graph_affected"},{"about":"Search for semantically similar symbols by code or intent","inputs":["query","top_k","min_similarity"],"name":"needle_graph_vsa_search"},{"about":"Replace code by semantic meaning (not just pattern)","inputs":["intent","replacement_intent","file","preview"],"name":"needle_semantic_replace"},{"about":"Build semantic VSA index for codebase","inputs":["root_dir","embedding_dim"],"name":"needle_vsa_index"},{"about":"Safe cross-file semantic refactor with VSA rules and 100% rollback","inputs":["intent","new_intent","semantic_threshold","preview"],"name":"needle_safe_cross_refactor"},{"about":"Apply VSA rules to validate proposed refactor","inputs":["transformation","rules_file"],"name":"needle_vsa_rule_apply"},{"about":"Preview cross-file refactor impact with safety assessment","inputs":["symbol","new_name","include_vsa"],"name":"needle_cross_preview"},{"about":"Rollback all changes from failed refactor","inputs":["refactor_id"],"name":"needle_rollback_all"},{"about":"Initialize Omega autonomous agent for project","inputs":["root_dir","autonomy_level"],"name":"needle_omega_init"},{"about":"Omega analyzes codebase and suggests improvements","inputs":["intent","auto_detect"],"name":"needle_omega_analyze"},{"about":"Execute refactor plan with full autonomy","inputs":["plan_id","confirm"],"name":"needle_omega_execute"},{"about":"Auto-detect code improvements and optimizations","inputs":["min_confidence","max_results"],"name":"needle_omega_detect"},{"about":"Get Omega agent status and health","inputs":[],"name":"needle_omega_status"},{"about":"Run all safety gates on a file (Phase 1: parse/compile/test)","inputs":["file_path","gates"],"name":"needle_safety_gates_run"},{"about":"Apply atomic refactor with 100% rollback guarantee (Phase 1)","inputs":["file_path","pattern_query","replacement","safety_gates"],"name":"needle_atomic_refactor"},{"about":"Parse check using Zig AST parser (Phase 1)","inputs":["file_path"],"name":"needle_parse_check"},{"about":"Compile check using zig build (Phase 1)","inputs":["project_root"],"name":"needle_compile_check"},{"about":"Show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...)","inputs":[],"name":"tri_constants"},{"about":"Compute phi^n (golden ratio power)","inputs":["n"],"name":"tri_phi"},{"about":"Fibonacci with BigInt","inputs":["n"],"name":"tri_fib"},{"about":"Lucas L(n) -- L(2)=3=TRINITY","inputs":["n"],"name":"tri_lucas"},{"about":"phi-spiral coordinates","inputs":["n"],"name":"tri_spiral"},{"about":"Interactive chat (vision + voice + tools)","inputs":["message","stream"],"name":"tri_chat"},{"about":"Loop decision: CONTINUE/EXIT (Link 17)","inputs":["mode"],"name":"tri_loop_decision"},{"about":"Execute 26-link Golden Chain pipeline","inputs":["task"],"name":"tri_pipeline"},{"about":"Awaken Omega autonomous agent","inputs":["mode"],"name":"tri_omega_awaken"},{"about":"Temporal Trinity OS boot","inputs":[],"name":"tri_os_boot"},{"about":"Run TVC chat demo","inputs":[],"name":"tri_tvc_demo"},{"about":"Show TVC corpus statistics","inputs":[],"name":"tri_tvc_stats"},{"about":"List periodic table elements by category","inputs":["category"],"name":"tri_chem_periodic"},{"about":"Look up element by symbol or atomic number","inputs":["element"],"name":"tri_chem_element"},{"about":"Calculate molar mass of chemical formula","inputs":["formula"],"name":"tri_chem_mass"},{"about":"Calculate moles, molecules, atoms from mass","inputs":["formula","mass"],"name":"tri_chem_moles"},{"about":"Analyze DNA sequence (GC content, composition)","inputs":["sequence"],"name":"tri_bio_dna"},{"about":"Look up RNA codon to amino acid","inputs":["codon"],"name":"tri_bio_codon"},{"about":"Analyze protein sequence (mass, composition)","inputs":["sequence"],"name":"tri_bio_protein"},{"about":"Show quantum physics constants (h, hbar, alpha)","inputs":[],"name":"tri_quantum_constants"},{"about":"Show quantum basis states and phi-state","inputs":[],"name":"tri_quantum_states"},{"about":"Show four Bell entangled states","inputs":[],"name":"tri_bell_states"},{"about":"Evaluate V = n * 3^k * pi^m * phi^p * e^q","inputs":["n","k","m","p","q"],"name":"tri_formula"},{"about":"Get Ralph Agent Swarm status summary (agents, tasks, counts)","inputs":[],"name":"swarm_status"},{"about":"List all registered swarm agents with status","inputs":[],"name":"swarm_agents"},{"about":"Register a new agent in the swarm","inputs":["agent_id","hostname"],"name":"swarm_register"},{"about":"Agent heartbeat with status, branch, task_id, commit_sha (circuit breaker)","inputs":["agent_id","status","branch","task_id","commit_sha"],"name":"swarm_heartbeat"},{"about":"Get next pending task for an agent (priority-ordered)","inputs":["agent_id"],"name":"swarm_task_get"},{"about":"Add a new task to the swarm queue","inputs":["id","slug","description","priority"],"name":"swarm_task_add"},{"about":"Cancel and remove a task from the queue","inputs":["task_id"],"name":"swarm_task_cancel"},{"about":"List all tasks in the swarm queue","inputs":[],"name":"swarm_tasks"},{"about":"Pause all swarm agents (finish current tasks, no new assignments)","inputs":[],"name":"swarm_pause"},{"about":"Resume all paused swarm agents","inputs":[],"name":"swarm_resume"},{"about":"Create and assign a task to a specific agent","inputs":["agent_id","description"],"name":"swarm_assign"},{"about":"Convert GitHub issue to swarm task. Returns labels/actions for Go proxy.","inputs":["issue_number","title","labels"],"name":"swarm_github_sync"},{"about":"Notify that agent started a GitHub-sourced task. Returns label swaps + comment.","inputs":["task_id","agent_id","branch"],"name":"swarm_github_on_start"},{"about":"Notify GitHub task completed. Returns labels, comment, close_issue.","inputs":["task_id","agent_id","result"],"name":"swarm_github_on_complete"},{"about":"Notify GitHub task failed. Returns labels + error comment.","inputs":["task_id","agent_id","error"],"name":"swarm_github_on_fail"},{"about":"Start Oracle Telegram watchdog thread (sends swarm status every N minutes)","inputs":["telegram_token","chat_id","interval_ms"],"name":"oracle_start"},{"about":"Stop Oracle Telegram watchdog thread","inputs":[],"name":"oracle_stop"},{"about":"Get Oracle watchdog status (running/stopped, messages sent, errors)","inputs":[],"name":"oracle_status"},{"about":"Get HSLM training status -- checkpoints, loss, anomalies, recommendation","inputs":[],"name":"tri_train_status"},{"about":"Diagnose HSLM training anomalies (zero loss, phase transition, overfitting)","inputs":["dir"],"name":"tri_train_diagnose"},{"about":"Get HSLM loss curve from checkpoint headers","inputs":["dir"],"name":"tri_train_loss_curve"},{"about":"Get phi-aware recommendation for next training action","inputs":["dir"],"name":"tri_train_recommend"},{"about":"List HSLM checkpoints with step, loss, PPL, size","inputs":["dir"],"name":"tri_train_checkpoint"},{"about":"Spawn a cloud agent container for a GitHub issue","inputs":["issue_number"],"name":"cloud_spawn"},{"about":"Kill a cloud agent container","inputs":["issue_number"],"name":"cloud_kill"},{"about":"List all active cloud agent containers","inputs":[],"name":"cloud_list"},{"about":"Get cloud infrastructure status","inputs":[],"name":"cloud_status"},{"about":"Get cloud agent deployment logs","inputs":[],"name":"cloud_logs"},{"about":"Spawn agents for all issues labeled agent:spawn","inputs":[],"name":"cloud_spawn_all"},{"about":"Remove inactive cloud agent entries","inputs":[],"name":"cloud_cleanup"},{"about":"Get event history for a cloud agent","inputs":["issue_number"],"name":"cloud_history"},{"about":"Test API key connectivity and model routing -- detects proxy returning wrong model","inputs":[],"name":"cloud_api_check"},{"about":"Reuse existing Railway service for a new issue number","inputs":["service_id","issue_number"],"name":"cloud_redeploy"},{"about":"Diagnose why an agent failed -- shows GitHub comments, JSONL events, PR status","inputs":["issue_number"],"name":"cloud_diagnose"},{"about":"Create a GitHub issue with agent:spawn label for auto-spawning","inputs":["title"],"name":"cloud_issue_create"},{"about":"Railway multi-account farm dashboard -- shows all accounts with capacity and daily limits","inputs":[],"name":"cloud_farm"},{"about":"Sync active service counts across all Railway accounts","inputs":[],"name":"cloud_farm_sync"},{"about":"Get farm capacity as JSON -- total slots, active services, daily remaining per account","inputs":[],"name":"cloud_farm_capacity"},{"about":"Migrate services from overloaded to underloaded Railway accounts","inputs":[],"name":"cloud_farm_rebalance"},{"about":"Farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, ETA","inputs":[],"name":"farm_evolve_health"},{"about":"Farm insight scan -- detect leader changes, plateaus, spikes, wave completion. Sends to Telegram unless dry-run","inputs":["dry_run"],"name":"farm_evolve_notify"},{"about":"Single evolution sweep -- inject sacred children into free slots, auto-notify. Always --once","inputs":["sacred","dry_run"],"name":"farm_evolve_watch"},{"about":"Spawn an HSLM training experiment on Railway farm","inputs":["name"],"name":"cloud_train"},{"about":"Spawn all 13 HSLM training experiments across Railway farm","inputs":[],"name":"cloud_train_batch"},{"about":"Chain Link 0: TVC Gate -- search corpus, return cached or continue","inputs":["task"],"name":"chain_cache"},{"about":"Chain Link 1: Analyze previous version v(n-1)","inputs":["task"],"name":"chain_baseline"},{"about":"Chain Link 2: Collect performance metrics","inputs":["task"],"name":"chain_metrics"},{"about":"Chain Link 3: Research patterns and science (PAS)","inputs":["task"],"name":"chain_patterns"},{"about":"Chain Link 4: Build technology dependency tree","inputs":["task"],"name":"chain_tree"},{"about":"Chain Link 5: VIBEE-first compliance check","inputs":["task"],"name":"chain_check_spec"},{"about":"Chain Link 6: Create .tri specifications","inputs":["task"],"name":"chain_spec"},{"about":"Chain Link 7: Generate Zig code from .tri specs","inputs":["task"],"name":"chain_codegen"},{"about":"Chain Link 8: Sacred Intelligence code analysis","inputs":["task"],"name":"chain_analyze"},{"about":"Chain Link 9: Run zig build test suite","inputs":["task"],"name":"chain_test"},{"about":"Chain Link 10: CRITICAL -- Compare to baseline v(n-1)","inputs":["task"],"name":"chain_bench"},{"about":"Chain Link 11: SWE Agent error fixing","inputs":["task"],"name":"chain_fix"},{"about":"Chain Link 12: Compare to external tools (llama.cpp/vLLM)","inputs":["task"],"name":"chain_bench_ext"},{"about":"Chain Link 13: Gap to theoretical maximum","inputs":["task"],"name":"chain_bench_theory"},{"about":"Chain Link 14: Generate improvement delta report","inputs":["task"],"name":"chain_delta"},{"about":"Chain Link 15: Optimize if needed (optional)","inputs":["task"],"name":"chain_optimize"},{"about":"Chain Link 16: Generate documentation with proofs","inputs":["task"],"name":"chain_docs"},{"about":"Chain Link 17: Critical self-assessment (toxic verdict)","inputs":["task"],"name":"chain_verdict"},{"about":"Chain Link 18: Commit and push changes","inputs":["task"],"name":"chain_git"},{"about":"Chain Link 19: Decide next iteration (continue/exit)","inputs":["task"],"name":"chain_loop"},{"about":"Chain Link 20: Auto-deploy to cloud","inputs":["task"],"name":"chain_deploy"},{"about":"Chain Link 21: Pipeline analyzes itself (eternal self-evolution)","inputs":["task"],"name":"chain_evolve"},{"about":"Chain Link 22: Pipeline improves itself (circular bootstrapping)","inputs":["task"],"name":"chain_self_ref"},{"about":"Chain Link 23: Camera-based LED verification for FPGA","inputs":["task"],"name":"chain_fpga_test"},{"about":"Chain Link 24: Research-assisted error fixing via Perplexity","inputs":["task"],"name":"chain_research"},{"about":"Chain Link 25: Validate .tri spec syntax before codegen","inputs":["task"],"name":"chain_lint_spec"},{"about":"List all 26 Golden Chain links with roles and status","inputs":[],"name":"chain_list"},{"about":"Decompose a GitHub issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator)","inputs":["issue_number","template"],"name":"cloud_decompose"},{"about":"Send/edit/pin Telegram messages via tri CLI","inputs":["text","chat_id","pin","edit_id"],"name":"tri_notify"},{"about":"Scan for USB-UART serial devices (CH340/FTDI) connected to FPGA","inputs":[],"name":"fpga_uart_scan"},{"about":"PING/PONG test -- send 0x03, expect 0x83 from FPGA","inputs":["device"],"name":"fpga_uart_ping"},{"about":"Send raw hex bytes to FPGA via UART and print response","inputs":["device","hex_bytes"],"name":"fpga_uart_send"},{"about":"Get doctor health status -- one-line summary","inputs":[],"name":"doctor_status"},{"about":"Scan and classify all .zig files","inputs":[],"name":"doctor_scan"},{"about":"Health score dashboard with emoji grades","inputs":[],"name":"doctor_report"},{"about":"Create migration queue for manual files","inputs":[],"name":"doctor_plan"},{"about":"Regenerate manual files through pipeline","inputs":[],"name":"doctor_heal"},{"about":"Start a background job","inputs":["command"],"name":"job_start"},{"about":"Get job status by ID","inputs":["id"],"name":"job_status"},{"about":"Get job logs by ID","inputs":["id"],"name":"job_logs"},{"about":"List all background jobs","inputs":[],"name":"job_list"},{"about":"Cancel a running job","inputs":["id"],"name":"job_cancel"},{"about":"Get job artifacts by ID","inputs":["id"],"name":"job_artifacts"},{"about":"List open GitHub issues","inputs":[],"name":"issue_list"},{"about":"View a specific GitHub issue","inputs":["number"],"name":"issue_view"},{"about":"Create a new GitHub issue","inputs":["title","body"],"name":"issue_create"},{"about":"Add a comment to a GitHub issue","inputs":["number","body"],"name":"issue_comment"},{"about":"Close a GitHub issue","inputs":["number"],"name":"issue_close"},{"about":"Assign a user to a GitHub issue","inputs":["number","user"],"name":"issue_assign"},{"about":"Decompose a GitHub issue into sub-tasks","inputs":["number"],"name":"issue_decompose"},{"about":"Get deployment status","inputs":[],"name":"deploy_status"},{"about":"Get deployment logs","inputs":[],"name":"deploy_logs"},{"about":"Get deployment environment variables","inputs":[],"name":"deploy_vars"},{"about":"Start deployment","inputs":[],"name":"deploy_start"},{"about":"Stop deployment","inputs":[],"name":"deploy_stop"},{"about":"Save an experience entry (key-value learning)","inputs":["key","value"],"name":"experience_save"},{"about":"Recall an experience entry by key","inputs":["key"],"name":"experience_recall"},{"about":"List all recorded mistakes/anti-patterns","inputs":[],"name":"experience_mistakes"},{"about":"Get patent portfolio status","inputs":[],"name":"patent_status"},{"about":"Get patent analysis and claims","inputs":[],"name":"patent_analysis"},{"about":"Get DePIN node protocol status","inputs":[],"name":"depin_status"},{"about":"List DePIN network nodes","inputs":[],"name":"depin_nodes"},{"about":"Get DePIN node fitness scores","inputs":[],"name":"depin_fitness"},{"about":"Research a topic via Perplexity-assisted search","inputs":["query"],"name":"research_query"},{"about":"List all HSLM training experiments","inputs":[],"name":"experiment_list"},{"about":"Compare two experiments","inputs":["a","b"],"name":"experiment_compare"},{"about":"Run a chimera fused command (farm-cycle, train-cycle, etc.)","inputs":["name"],"name":"chimera_run"},{"about":"Get ouroboros self-evolution status and score","inputs":[],"name":"ouroboros_status"},{"about":"Run ouroboros self-evolution cycle","inputs":[],"name":"ouroboros_run"},{"about":"Run self-test suite","inputs":[],"name":"self_test"},{"about":"Get self-health check results","inputs":[],"name":"self_health"},{"about":"Get current context info (tokens, files, window)","inputs":[],"name":"context_info"},{"about":"Load additional context from a file path","inputs":["path"],"name":"context_load"},{"about":"Get Faculty Board status dashboard","inputs":[],"name":"faculty_status"},{"about":"Get MU agent status","inputs":[],"name":"mu_status"},{"about":"List MU learned patterns","inputs":[],"name":"mu_patterns"},{"about":"Get Zenodo publication status","inputs":[],"name":"zenodo_status"},{"about":"Analyze codebase quality and metrics","inputs":[],"name":"tri_analyze"},{"about":"Clean build artifacts and temp files","inputs":[],"name":"tri_clean"},{"about":"Format all Zig source files","inputs":[],"name":"tri_fmt"},{"about":"Show project statistics (LOC, files, tests)","inputs":[],"name":"tri_stats"},{"about":"Run linter on source code","inputs":[],"name":"tri_lint"},{"about":"Search codebase for a query string","inputs":["query"],"name":"tri_search"},{"about":"Get project metrics dashboard","inputs":[],"name":"tri_metrics"},{"about":"Get execution trace","inputs":[],"name":"tri_trace"},{"about":"Evaluate expression or code snippet","inputs":[],"name":"tri_eval"},{"about":"Get training farm status overview","inputs":[],"name":"farm_status"},{"about":"List idle farm workers","inputs":[],"name":"farm_idle"},{"about":"Recycle underperforming farm workers","inputs":[],"name":"farm_recycle"},{"about":"Fill empty farm slots with new experiments","inputs":[],"name":"farm_fill"},{"about":"List all 8 Railway farm accounts and their service counts","inputs":[],"name":"farm_accounts"},{"about":"Spawn a wave of training workers on a specific account","inputs":["account","count"],"name":"farm_wave_spawn"},{"about":"Run FPGA synthesis pipeline","inputs":[],"name":"fpga_synth"},{"about":"Get FPGA hardware and synthesis status","inputs":[],"name":"fpga_status"},{"about":"Build FPGA bitstream","inputs":[],"name":"fpga_build"},{"about":"Verify FPGA bitstream against RTL","inputs":[],"name":"fpga_verify"},{"about":"Flash bitstream to FPGA board","inputs":["bitstream"],"name":"fpga_flash"}],"toolsNote":"Static list parsed from writeToolsList (210 entries; 32 entries have an unbalanced trailing brace in the source literal and were parsed after adding or removing one). Cell-generated tools from data/cells/mcp_tools.json are appended at runtime and are not listed here. .trinity/mcp_schemas.json lists a different, shorter set (29 names) and is not used as the source.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":[],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/zig-docs","KIND":"tool","LAUNCH":"npx -y @nichochar/zig-mcp@latest","QUALIFIED_ID":"gHashTag/trinity:mcp/zig-docs","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"zig-docs","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/zig-docs","inSpecCorpus":false,"launch":"npx -y @nichochar/zig-mcp@latest","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_zig_docs","name":{"en":"zig-docs"},"qualifiedId":"gHashTag/trinity:mcp/zig-docs","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/zig-docs zig-docs external mcp server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","server":"zig-docs","serverVersion":"","sha256":"baaff4d44a3595acd0cf596f2f070219c08df87bb2a997092e0b3e4792f06903","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/zig-docs.t27","summary":{"en":"External MCP server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","ru":"Внешний MCP-сервер `zig-docs`, зарегистрированный в .mcp.json; запускается как `npx -y @nichochar/zig-mcp@latest`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Abandoned (cli/tri/src/main.rs; module cli/tri/src/abandoned.rs)","actions":[{"about":"List recovery sites whose preceding comment names a concrete construct.","name":"list"}],"agents":[],"args":[],"command":"tri abandoned","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Recovery sites whose own comment names the construct they discard.","ABOUT_SOURCE":"clap /// doc on Commands::Abandoned (cli/tri/src/main.rs; module cli/tri/src/abandoned.rs)","ACTIONS":["list"],"ACTIONS_ABOUT":["List recovery sites whose preceding comment names a concrete construct."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri abandoned","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/abandoned","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/abandoned","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/abandoned.rs","VARIANT":"Commands::Abandoned","WHEN_TO_USE":"Recovery sites whose own comment names the construct they discard.","WITNESS":"source-parse"},"health":"ok","id":"tri/abandoned","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/abandoned.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_abandoned","name":{"en":"tri abandoned"},"qualifiedId":"gHashTag/t27:tri/abandoned","repo":"gHashTag/t27","schema":2,"searchText":"tri/abandoned tri abandoned recovery sites whose own comment names the construct they discard. recovery sites whose own comment names the construct they discard. list list recovery sites whose preceding comment names a concrete construct.","sha256":"b3105d48a28faff92bc02e393c146c4e95cba6c68277eb54f27ec5abc3b77bb4","skills":[],"source":"cli/tri/src/abandoned.rs","specPath":"specs/tools/tri/abandoned.t27","summary":{"en":"Recovery sites whose own comment names the construct they discard.","ru":"Точки восстановления, чей собственный комментарий называет отбрасываемую конструкцию."},"typecheckOk":true,"variant":"Commands::Abandoned","whenToUse":"Recovery sites whose own comment names the construct they discard.","witness":"source-parse"},{"aboutSource":"tri-mcp tools tri_cell_checkpoint and tri_cell_seal descriptions (cli/tri-mcp/src/main.rs); CellAction enum cli/tri/src/main.rs:448","actions":[{"about":"","name":"checkpoint"},{"about":"","name":"seal"}],"agents":[{"letter":"W","ok":true}],"args":[],"command":"tri cell","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","ABOUT_SOURCE":"tri-mcp tools tri_cell_checkpoint and tri_cell_seal descriptions (cli/tri-mcp/src/main.rs); CellAction enum cli/tri/src/main.rs:448","ACTIONS":["checkpoint","seal"],"ACTIONS_ABOUT":["",""],"AGENTS":["W"],"AGENTS_NOTE":"docs/agents/AGENTS_ALPHABET.md:144, agent W domain Workflow / tri cell, key file src/tri/cell.zig; PHASE 6 EVOLVE: W seals tri-cell commit (hash seal).","ARGS":[],"COMMAND":"tri cell","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/cell","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/cell","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Cell","WHEN_TO_USE":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","WITNESS":"source-parse"},"health":"ok","id":"tri/cell","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_cell","name":{"en":"tri cell"},"qualifiedId":"gHashTag/t27:tri/cell","repo":"gHashTag/t27","schema":2,"searchText":"tri/cell tri cell records a checkpoint step in the active cell. seals the active cell by computing a sha-256 hash of its checkpoint history. records a checkpoint step in the active cell. seals the active cell by computing a sha-256 hash of its checkpoint history. checkpoint seal w","sha256":"36ed34dfc7beb24c2fdd5b7dc5f7fe3375b42f357ffde7befd19f7cfbc22cdca","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/cell.t27","summary":{"en":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","ru":"Записывает шаг-контрольную точку в активной ячейке; запечатывает активную ячейку, вычисляя SHA-256 истории её контрольных точек."},"typecheckOk":true,"variant":"Commands::Cell","whenToUse":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Census (cli/tri/src/main.rs; module cli/tri/src/census.rs)","actions":[{"about":"Every census's printed population, against one counted another way.","name":"audit"},{"about":"Pin each pure census's output, so a change that moves one has to say so.","name":"pin"}],"agents":[],"args":[],"command":"tri census","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","ABOUT_SOURCE":"clap /// doc on Commands::Census (cli/tri/src/main.rs; module cli/tri/src/census.rs)","ACTIONS":["audit","pin"],"ACTIONS_ABOUT":["Every census's printed population, against one counted another way.","Pin each pure census's output, so a change that moves one has to say so."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri census","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/census","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/census","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/census.rs","VARIANT":"Commands::Census","WHEN_TO_USE":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","WITNESS":"source-parse"},"health":"ok","id":"tri/census","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/census.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_census","name":{"en":"tri census"},"qualifiedId":"gHashTag/t27:tri/census","repo":"gHashTag/t27","schema":2,"searchText":"tri/census tri census specs the compiler cannot read, ranked by the construct that stops it. every census's printed population, against one counted another way. specs the compiler cannot read, ranked by the construct that stops it. every census's printed population, against one counted another way. audit every census's printed population, against one counted another way. pin pin each pure census's output, so a change that moves one has to say so.","sha256":"d78bef53542ec408f004c9a1e1650cd9fd125ef0e7da3d4172f5ed9a203961af","skills":[],"source":"cli/tri/src/census.rs","specPath":"specs/tools/tri/census.t27","summary":{"en":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","ru":"Спеки, которые компилятор не может прочитать, ранжированные по конструкции, которая его останавливает. Напечатанная популяция каждой переписи против одной, посчитанной иначе."},"typecheckOk":true,"variant":"Commands::Census","whenToUse":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Ci (cli/tri/src/main.rs; module cli/tri/src/cibase.rs)","actions":[{"about":"List PR gates that have never run on the default branch.","name":"baseline"}],"agents":[],"args":[],"command":"tri ci","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","ABOUT_SOURCE":"clap /// doc on Commands::Ci (cli/tri/src/main.rs; module cli/tri/src/cibase.rs)","ACTIONS":["baseline"],"ACTIONS_ABOUT":["List PR gates that have never run on the default branch."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri ci","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/ci","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/ci","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/cibase.rs","VARIANT":"Commands::Ci","WHEN_TO_USE":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","WITNESS":"source-parse"},"health":"ok","id":"tri/ci","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/cibase.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_ci","name":{"en":"tri ci"},"qualifiedId":"gHashTag/t27:tri/ci","repo":"gHashTag/t27","schema":2,"searchText":"tri/ci tri ci is the hardware this plan assumes actually attached? ci questions about the repository's own gates. is the hardware this plan assumes actually attached? ci questions about the repository's own gates. baseline list pr gates that have never run on the default branch.","sha256":"589b4502973beca006108ffedabec587effb8778bfd21be45399b23bcae398f3","skills":[],"source":"cli/tri/src/cibase.rs","specPath":"specs/tools/tri/ci.t27","summary":{"en":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","ru":"Действительно ли подключено оборудование, которое предполагает этот план? Вопросы CI о собственных гейтах репозитория."},"typecheckOk":true,"variant":"Commands::Ci","whenToUse":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Competitors (cli/tri/src/main.rs; module cli/tri/src/competitors.rs)","actions":[{"about":"Count the records, the double-entered papers and the unpublished zeros.","name":"audit"},{"about":"When the survey behind this table last read a paper, by the month its citations encode.","name":"freshness"}],"agents":[],"args":[],"command":"tri competitors","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","ABOUT_SOURCE":"clap /// doc on Commands::Competitors (cli/tri/src/main.rs; module cli/tri/src/competitors.rs)","ACTIONS":["audit","freshness"],"ACTIONS_ABOUT":["Count the records, the double-entered papers and the unpublished zeros.","When the survey behind this table last read a paper, by the month its citations encode."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri competitors","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/competitors","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/competitors","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/competitors.rs","VARIANT":"Commands::Competitors","WHEN_TO_USE":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","WITNESS":"source-parse"},"health":"ok","id":"tri/competitors","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/competitors.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_competitors","name":{"en":"tri competitors"},"qualifiedId":"gHashTag/t27:tri/competitors","repo":"gHashTag/t27","schema":2,"searchText":"tri/competitors tri competitors the competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice. the competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice. audit count the records, the double-entered papers and the unpublished zeros. freshness when the survey behind this table last read a paper, by the month its citations encode.","sha256":"43fb47d6699c50e81d6ecd71f0f0791c5e0c46ba0fd69a2f066d60825d8f6706","skills":[],"source":"cli/tri/src/competitors.rs","specPath":"specs/tools/tri/competitors.t27","summary":{"en":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","ru":"Таблица конкурентов против собственного контракта: сколько её опубликованных оценок никогда не публиковались и сколько статей она считает дважды."},"typecheckOk":true,"variant":"Commands::Competitors","whenToUse":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Discard (cli/tri/src/main.rs; module cli/tri/src/discard.rs)","actions":[{"about":"Rank the discarding specs, largest first, against the pinned volume.","name":"top"},{"about":"Group the discard by which recovery threw it away, and what it stopped on.","name":"classify"}],"agents":[],"args":[],"command":"tri discard","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What the parser reads and throws away, ranked against its pinned bound.","ABOUT_SOURCE":"clap /// doc on Commands::Discard (cli/tri/src/main.rs; module cli/tri/src/discard.rs)","ACTIONS":["top","classify"],"ACTIONS_ABOUT":["Rank the discarding specs, largest first, against the pinned volume.","Group the discard by which recovery threw it away, and what it stopped on."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri discard","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/discard","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/discard","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/discard.rs","VARIANT":"Commands::Discard","WHEN_TO_USE":"What the parser reads and throws away, ranked against its pinned bound.","WITNESS":"source-parse"},"health":"ok","id":"tri/discard","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/discard.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_discard","name":{"en":"tri discard"},"qualifiedId":"gHashTag/t27:tri/discard","repo":"gHashTag/t27","schema":2,"searchText":"tri/discard tri discard what the parser reads and throws away, ranked against its pinned bound. what the parser reads and throws away, ranked against its pinned bound. top rank the discarding specs, largest first, against the pinned volume. classify group the discard by which recovery threw it away, and what it stopped on.","sha256":"601efe186f5a97dbfd2e82e397ac53f32210ccedb4fadf1c2ffd0c0ee62e4530","skills":[],"source":"cli/tri/src/discard.rs","specPath":"specs/tools/tri/discard.t27","summary":{"en":"What the parser reads and throws away, ranked against its pinned bound.","ru":"Что парсер читает и выбрасывает, в сравнении с закреплённой границей."},"typecheckOk":true,"variant":"Commands::Discard","whenToUse":"What the parser reads and throws away, ranked against its pinned bound.","witness":"source-parse"},{"aboutSource":"handler cmd_doctor match arms start/stop/status and its error text unknown doctor action (start|stop|status) (cli/tri/src/main.rs:934)","actions":[],"agents":[],"args":[{"about":"","name":""}],"command":"tri doctor","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","ABOUT_SOURCE":"handler cmd_doctor match arms start/stop/status and its error text unknown doctor action (start|stop|status) (cli/tri/src/main.rs:934)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[""],"COMMAND":"tri doctor","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/doctor","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/doctor","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Doctor","WHEN_TO_USE":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","WITNESS":"source-parse"},"health":"ok","id":"tri/doctor","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_doctor","name":{"en":"tri doctor"},"qualifiedId":"gHashTag/t27:tri/doctor","repo":"gHashTag/t27","schema":2,"searchText":"tri/doctor tri doctor start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status). start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","sha256":"be3ed8d97c7404a17400311d3432bec040d027f0a76ce264a459326204780fd9","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/doctor.t27","summary":{"en":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","ru":"Запускает, останавливает или показывает состояние doctor, хранимое в .trinity/state/doctor.json (действия: start | stop | status)."},"typecheckOk":true,"variant":"Commands::Doctor","whenToUse":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Elab (cli/tri/src/main.rs; module cli/tri/src/elab.rs)","actions":[{"about":"Distribution of elaboration diagnostics by message shape.","name":"classify"},{"about":"How many diagnostics are secondary -- same source line as one above.","name":"secondary"}],"agents":[],"args":[],"command":"tri elab","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Classify a compiler's error output before quoting a number from it.","ABOUT_SOURCE":"clap /// doc on Commands::Elab (cli/tri/src/main.rs; module cli/tri/src/elab.rs)","ACTIONS":["classify","secondary"],"ACTIONS_ABOUT":["Distribution of elaboration diagnostics by message shape.","How many diagnostics are secondary -- same source line as one above."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri elab","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/elab","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/elab","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/elab.rs","VARIANT":"Commands::Elab","WHEN_TO_USE":"Classify a compiler's error output before quoting a number from it.","WITNESS":"source-parse"},"health":"ok","id":"tri/elab","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/elab.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_elab","name":{"en":"tri elab"},"qualifiedId":"gHashTag/t27:tri/elab","repo":"gHashTag/t27","schema":2,"searchText":"tri/elab tri elab classify a compiler's error output before quoting a number from it. classify a compiler's error output before quoting a number from it. classify distribution of elaboration diagnostics by message shape. secondary how many diagnostics are secondary -- same source line as one above.","sha256":"e1ee4634ec3f0bb75b6c2f870fda5b9ba40f1c1329ad5ed38ce03a9351065791","skills":[],"source":"cli/tri/src/elab.rs","specPath":"specs/tools/tri/elab.t27","summary":{"en":"Classify a compiler's error output before quoting a number from it.","ru":"Классифицирует вывод ошибок компилятора прежде, чем цитировать из него число."},"typecheckOk":true,"variant":"Commands::Elab","whenToUse":"Classify a compiler's error output before quoting a number from it.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Emit (cli/tri/src/main.rs; module cli/tri/src/gendet.rs)","actions":[{"about":"Generate the corpus twice with the same binary and name what differs.","name":"determinism"}],"agents":[],"args":[],"command":"tri emit","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Does the same binary produce the same generated code twice?","ABOUT_SOURCE":"clap /// doc on Commands::Emit (cli/tri/src/main.rs; module cli/tri/src/gendet.rs)","ACTIONS":["determinism"],"ACTIONS_ABOUT":["Generate the corpus twice with the same binary and name what differs."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri emit","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/emit","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/emit","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/gendet.rs","VARIANT":"Commands::Emit","WHEN_TO_USE":"Does the same binary produce the same generated code twice? Every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. Three of the four emitters do not; see #3006. (`Gen` is taken by the single-spec emitter, so this is `Emit`.)","WITNESS":"source-parse"},"health":"ok","id":"tri/emit","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/gendet.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_emit","name":{"en":"tri emit"},"qualifiedId":"gHashTag/t27:tri/emit","repo":"gHashTag/t27","schema":2,"searchText":"tri/emit tri emit does the same binary produce the same generated code twice? does the same binary produce the same generated code twice? every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. three of the four emitters do not; see #3006. (`gen` is taken by the single-spec emitter, so this is `emit`.) determinism generate the corpus twice with the same binary and name what differs.","sha256":"c4d32975e53fc1cf71a345333d73454c185b745057a215af3113981eedc68517","skills":[],"source":"cli/tri/src/gendet.rs","specPath":"specs/tools/tri/emit.t27","summary":{"en":"Does the same binary produce the same generated code twice?","ru":"Даёт ли один и тот же бинарник один и тот же сгенерированный код дважды?"},"typecheckOk":true,"variant":"Commands::Emit","whenToUse":"Does the same binary produce the same generated code twice? Every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. Three of the four emitters do not; see #3006. (`Gen` is taken by the single-spec emitter, so this is `Emit`.)","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_experience_save description (cli/tri-mcp/src/main.rs); ExperienceAction enum cli/tri/src/main.rs:457","actions":[{"about":"","name":"save"}],"agents":[{"letter":"E","ok":true}],"args":[],"command":"tri experience","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Saves an experience episode to the akashic log.","ABOUT_SOURCE":"tri-mcp tool tri_experience_save description (cli/tri-mcp/src/main.rs); ExperienceAction enum cli/tri/src/main.rs:457","ACTIONS":["save"],"ACTIONS_ABOUT":[""],"AGENTS":["E"],"AGENTS_NOTE":".claude/agents/agent-e-experience.md:64 (tri experience save -- Save episode to experience log). Lines 65-66 name tri experience query and tri notebook, which the CLI does not have at this commit.","ARGS":[],"COMMAND":"tri experience","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/experience","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/experience","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Experience","WHEN_TO_USE":"Saves an experience episode to the akashic log.","WITNESS":"source-parse"},"health":"ok","id":"tri/experience","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_experience","name":{"en":"tri experience"},"qualifiedId":"gHashTag/t27:tri/experience","repo":"gHashTag/t27","schema":2,"searchText":"tri/experience tri experience saves an experience episode to the akashic log. saves an experience episode to the akashic log. save e","sha256":"08a7874c72e53ac1054c02ddb4a7649a6c4efb3c27ab9da7f4e148f6b9d05024","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/experience.t27","summary":{"en":"Saves an experience episode to the akashic log.","ru":"Сохраняет эпизод опыта в акашический журнал."},"typecheckOk":true,"variant":"Commands::Experience","whenToUse":"Saves an experience episode to the akashic log.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/fleet.rs:1","actions":[{"about":"Scan the USB bus and say plainly what hardware is present.","name":"scan"},{"about":"Check the environments a claim depends on before repeating the claim.","name":"asof"}],"agents":[],"args":[],"command":"tri fleet","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri fleet` -- is the hardware this plan assumes actually attached?","ABOUT_SOURCE":"//! module doc, cli/tri/src/fleet.rs:1","ACTIONS":["scan","asof"],"ACTIONS_ABOUT":["Scan the USB bus and say plainly what hardware is present.","Check the environments a claim depends on before repeating the claim."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri fleet","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fleet","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fleet","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/fleet.rs","VARIANT":"Commands::Fleet","WHEN_TO_USE":"`tri fleet` -- is the hardware this plan assumes actually attached?","WITNESS":"source-parse"},"health":"ok","id":"tri/fleet","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/fleet.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fleet","name":{"en":"tri fleet"},"qualifiedId":"gHashTag/t27:tri/fleet","repo":"gHashTag/t27","schema":2,"searchText":"tri/fleet tri fleet `tri fleet` -- is the hardware this plan assumes actually attached? `tri fleet` -- is the hardware this plan assumes actually attached? scan scan the usb bus and say plainly what hardware is present. asof check the environments a claim depends on before repeating the claim.","sha256":"13c773d8e575a6f617dbcb4c86415a09bf50217b58f257efc4ea0ebc1ab90a8b","skills":[],"source":"cli/tri/src/fleet.rs","specPath":"specs/tools/tri/fleet.t27","summary":{"en":"`tri fleet` -- is the hardware this plan assumes actually attached?","ru":"`tri fleet` -- действительно ли подключено оборудование, которое предполагает этот план?"},"typecheckOk":true,"variant":"Commands::Fleet","whenToUse":"`tri fleet` -- is the hardware this plan assumes actually attached?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Fmt (cli/tri/src/main.rs)","actions":[],"agents":[],"args":[{"about":"One package instead of the whole workspace.","name":"--package"},{"about":"Report what is dirty and whether a workflow formats, and stop.","name":"--dry-run"}],"command":"tri fmt","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","ABOUT_SOURCE":"clap /// doc on Commands::Fmt (cli/tri/src/main.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--package: One package instead of the whole workspace.","--dry-run: Report what is dirty and whether a workflow formats, and stop."],"COMMAND":"tri fmt","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fmt","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fmt","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Fmt","WHEN_TO_USE":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","WITNESS":"source-parse"},"health":"ok","id":"tri/fmt","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fmt","name":{"en":"tri fmt"},"qualifiedId":"gHashTag/t27:tri/fmt","repo":"gHashTag/t27","schema":2,"searchText":"tri/fmt tri fmt type names with more than one definition in the spec tree. run the formatter and restore every file it rewrote that you had not touched. type names with more than one definition in the spec tree. run the formatter and restore every file it rewrote that you had not touched.","sha256":"83e694d0156e30877c9a0d898b194667571fbc64181ff7c99dc0f7647a6f3452","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/fmt.t27","summary":{"en":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","ru":"Имена типов с более чем одним определением в дереве спеков. Запускает форматтер и восстанавливает каждый переписанный им файл, которого вы не трогали."},"typecheckOk":true,"variant":"Commands::Fmt","whenToUse":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Fpga (cli/tri/src/main.rs; module cli/tri/src/fpga.rs)","actions":[{"about":"Read and print the JTAG IDCODE of the attached DLC10 cable target.","name":"idcode"},{"about":"Read the configuration IDCODE register via the Type-1 CFG_IN/CFG_OUT protocol. On a healthy XC7A100T this must return 0x13631093 (same as the JTAG IDCODE). If 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken.","name":"idcode-cfg"},{"about":"Program FPGA SRAM (volatile -- lost on power-cycle).","name":"sram"},{"about":"Program the on-board SPI flash (non-volatile / persistent).","name":"program"},{"about":"Read the SPI flash JEDEC ID via the JTAG-to-SPI bridge.","name":"flash-id"},{"about":"Read the raw CFG_OUT status register.","name":"status"},{"about":"Decode 7-series configuration registers for DONE=LOW diagnosis.","name":"debug"},{"about":"Load a bitstream into FPGA SRAM using openFPGALoader with a Digilent FTDI cable. This is the canonical path for the QMTech Wukong V1 / XC7A200T board because the in-tree `dlc10` driver only supports Xilinx DLC10 cables (VID=0x03FD), not the attached Digilent cable (VID=0x0403:0x6014).","name":"load-sram"},{"about":"Read and decode the FPGA STAT register via openFPGALoader.","name":"stat"},{"about":"Read the FPGA XADC sensors (temperature, VCCINT, VCCAUX) via openFPGALoader and print a JSON object. The board must be powered and connected through a supported cable such as `digilent_hs2`.","name":"read-xadc"},{"about":"Synthesize the GF16 4x4 matrix design through the openXC7 toolchain. Output is written to `/gf16_matmul4x4_top.bit`.","name":"synth-gf16"},{"about":"Program the on-board SPI flash (non-volatile) using openFPGALoader's JTAG-to-SPI bridge. Requires a matching `spiOverJtag` bitstream for the exact FPGA package; the XC7A200T-FGG676 bridge is present in recent openFPGALoader distributions but flash boot may still depend on board mode pins (see docs/reports/FPGA_LOOP_EVIDENCE_2026-07-04.md).","name":"program-flash"},{"about":"Dump SPI flash contents to a file via openFPGALoader's JTAG-to-SPI bridge.","name":"dump-flash"},{"about":"Parse the .bit header and print the configuration registers that affect Master SPI boot (COR0, COR1, WBSTAR, TIMER, CTL0, CTL1, IDCODE, BSPI).","name":"bit-config"},{"about":"Program the given .bit to SPI flash, dump the same region back, and compare the dumped bytes against the bitstream payload. This verifies the openFPGALoader write path is bit-perfect for the raw bitstream.","name":"round-trip-verify"},{"about":"Guided cold-POR boot experiment. Programs flash, asks the user to physically power-cycle the board, then captures STAT without a JTAG reset and prints a decision-tree diagnosis.","name":"boot-log"},{"about":"Deterministic cold-POR boot experiment with optional relay control. With `--relay-port MOCK` the command writes a deterministic, clearly labeled mock boot log so CI can exercise the cold-POR JSON path without touching hardware. Real relay ports are reserved for Variant A/B.","name":"cold-por"},{"about":"Board-less smoke gate for the FPGA path. Runs `tri fpga bit-config` on the GF16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo Verilog. Requires no physical board.","name":"smoke-gate"},{"about":"Print or interactively confirm the cold-POR boot protocol. This is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle.","name":"boot-protocol"},{"about":"Patch the raw OSCFSEL field (COR0[22:17]) of a 7-series .bit file.","name":"patch-cor0"},{"about":"Generate a set of OSCFSEL variants from a single input .bit file. Outputs one file per requested value to the given directory.","name":"cclk-variants"},{"about":"Automated cold-POR CCLK sweep. Generates OSCFSEL variants, programs each to flash, prompts for the physical power-cycle, captures STAT, and writes JSON logs. The only manual step is disconnecting/reconnecting the cable and power-cycling the board.","name":"cclk-sweep"},{"about":"Read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working CCLK variant.","name":"sweep-report"},{"about":"Print DSLogic / oscilloscope instructions for measuring the FPGA CCLK output during Master SPI configuration. Optionally parse a DSView CSV export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the Digilent FTDI cable as `ftdi-la`).","name":"measure-cclk"},{"about":"Read the SPI flash status register via openFPGALoader's JTAG-to-SPI bridge. Decodes WIP, WEL, and QE bits to help diagnose boot-from-flash failures.","name":"flash-status"},{"about":"Diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into FPGA SRAM, report STAT, leave TAP in RTI. Does NOT touch SPI flash. Useful for verifying the bridge actually reaches DONE=HIGH before debugging SPI semantics.","name":"proxy-load"},{"about":"Diagnostic: read IDCODE + STAT *without* touching the FPGA. Run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. Also confirms IR=USER1 select is accepted.","name":"proxy-status"},{"about":"Diagnostic: shift raw hex bytes through the USER1 BSCAN as a single SPI transaction. Reads `--rx N` MISO bytes after the TX stream. Requires the proxy bridge to be already loaded (`tri fpga proxy-load` first).","name":"spi-raw"},{"about":"Diagnostic: probe the IR capture pattern after selecting an IR. A healthy 7-series TAP always captures `0b000001` into the IR shift register. Anything else means the JTAG chain is broken or the cable is mis-driving TMS.","name":"ir-probe"},{"about":"Diagnostic: drive the full JEDEC-read flow end-to-end with maximum instrumentation, **including** the 0xAB Release-Power-down and 0x66+0x99 software-reset recovery attempts. Equivalent to `flash-id --verbose` plus auto-recovery.","name":"flash-id-debug"},{"about":"Build the QMTech XC7A100T-FGG676 JTAG-to-SPI proxy bitstream via the openXC7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). Requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on PATH. With `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `BSCAN_SPI_XC7A100T` constant picks it up on the next rebuild.","name":"build-proxy"},{"about":"Clone the openXC7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`.","name":"setup-openxc7-chipdb"},{"about":"Generate a Lean 4 theorem from a `tri fpga measure-cclk --json` output. The theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. Useful for turning a real capture into a machine-checked proof without manual copy-paste.","name":"measured-to-lean"},{"about":"Print the PVT-derated N25Q128_3V SCK low/high bound for a supplied operating context. Also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope.","name":"pvt-envelope"},{"about":"Build the QMTech XC7A100T-FGG676 proxy bitstream via a Docker container running Xilinx Vivado. Clones our `openFPGALoader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spiOverJtag/`. On Apple Silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. With `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its SHA256 is printed.","name":"build-proxy-docker"}],"agents":[],"args":[],"command":"tri fpga","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"FPGA programming via the in-tree DLC10 driver (pure Rust).","ABOUT_SOURCE":"clap /// doc on Commands::Fpga (cli/tri/src/main.rs; module cli/tri/src/fpga.rs)","ACTIONS":["idcode","idcode-cfg","sram","program","flash-id","status","debug","load-sram","stat","read-xadc","synth-gf16","program-flash","dump-flash","bit-config","round-trip-verify","boot-log","cold-por","smoke-gate","boot-protocol","patch-cor0","cclk-variants","cclk-sweep","sweep-report","measure-cclk","flash-status","proxy-load","proxy-status","spi-raw","ir-probe","flash-id-debug","build-proxy","setup-openxc7-chipdb","measured-to-lean","pvt-envelope","build-proxy-docker"],"ACTIONS_ABOUT":["Read and print the JTAG IDCODE of the attached DLC10 cable target.","Read the configuration IDCODE register via the Type-1 CFG_IN/CFG_OUT protocol. On a healthy XC7A100T this must return 0x13631093 (same as the JTAG IDCODE). If 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken.","Program FPGA SRAM (volatile -- lost on power-cycle).","Program the on-board SPI flash (non-volatile / persistent).","Read the SPI flash JEDEC ID via the JTAG-to-SPI bridge.","Read the raw CFG_OUT status register.","Decode 7-series configuration registers for DONE=LOW diagnosis.","Load a bitstream into FPGA SRAM using openFPGALoader with a Digilent FTDI cable. This is the canonical path for the QMTech Wukong V1 / XC7A200T board because the in-tree `dlc10` driver only supports Xilinx DLC10 cables (VID=0x03FD), not the attached Digilent cable (VID=0x0403:0x6014).","Read and decode the FPGA STAT register via openFPGALoader.","Read the FPGA XADC sensors (temperature, VCCINT, VCCAUX) via openFPGALoader and print a JSON object. The board must be powered and connected through a supported cable such as `digilent_hs2`.","Synthesize the GF16 4x4 matrix design through the openXC7 toolchain. Output is written to `/gf16_matmul4x4_top.bit`.","Program the on-board SPI flash (non-volatile) using openFPGALoader's JTAG-to-SPI bridge. Requires a matching `spiOverJtag` bitstream for the exact FPGA package; the XC7A200T-FGG676 bridge is present in recent openFPGALoader distributions but flash boot may still depend on board mode pins (see docs/reports/FPGA_LOOP_EVIDENCE_2026-07-04.md).","Dump SPI flash contents to a file via openFPGALoader's JTAG-to-SPI bridge.","Parse the .bit header and print the configuration registers that affect Master SPI boot (COR0, COR1, WBSTAR, TIMER, CTL0, CTL1, IDCODE, BSPI).","Program the given .bit to SPI flash, dump the same region back, and compare the dumped bytes against the bitstream payload. This verifies the openFPGALoader write path is bit-perfect for the raw bitstream.","Guided cold-POR boot experiment. Programs flash, asks the user to physically power-cycle the board, then captures STAT without a JTAG reset and prints a decision-tree diagnosis.","Deterministic cold-POR boot experiment with optional relay control. With `--relay-port MOCK` the command writes a deterministic, clearly labeled mock boot log so CI can exercise the cold-POR JSON path without touching hardware. Real relay ports are reserved for Variant A/B.","Board-less smoke gate for the FPGA path. Runs `tri fpga bit-config` on the GF16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo Verilog. Requires no physical board.","Print or interactively confirm the cold-POR boot protocol. This is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle.","Patch the raw OSCFSEL field (COR0[22:17]) of a 7-series .bit file.","Generate a set of OSCFSEL variants from a single input .bit file. Outputs one file per requested value to the given directory.","Automated cold-POR CCLK sweep. Generates OSCFSEL variants, programs each to flash, prompts for the physical power-cycle, captures STAT, and writes JSON logs. The only manual step is disconnecting/reconnecting the cable and power-cycling the board.","Read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working CCLK variant.","Print DSLogic / oscilloscope instructions for measuring the FPGA CCLK output during Master SPI configuration. Optionally parse a DSView CSV export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the Digilent FTDI cable as `ftdi-la`).","Read the SPI flash status register via openFPGALoader's JTAG-to-SPI bridge. Decodes WIP, WEL, and QE bits to help diagnose boot-from-flash failures.","Diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into FPGA SRAM, report STAT, leave TAP in RTI. Does NOT touch SPI flash. Useful for verifying the bridge actually reaches DONE=HIGH before debugging SPI semantics.","Diagnostic: read IDCODE + STAT *without* touching the FPGA. Run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. Also confirms IR=USER1 select is accepted.","Diagnostic: shift raw hex bytes through the USER1 BSCAN as a single SPI transaction. Reads `--rx N` MISO bytes after the TX stream. Requires the proxy bridge to be already loaded (`tri fpga proxy-load` first).","Diagnostic: probe the IR capture pattern after selecting an IR. A healthy 7-series TAP always captures `0b000001` into the IR shift register. Anything else means the JTAG chain is broken or the cable is mis-driving TMS.","Diagnostic: drive the full JEDEC-read flow end-to-end with maximum instrumentation, **including** the 0xAB Release-Power-down and 0x66+0x99 software-reset recovery attempts. Equivalent to `flash-id --verbose` plus auto-recovery.","Build the QMTech XC7A100T-FGG676 JTAG-to-SPI proxy bitstream via the openXC7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). Requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on PATH. With `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `BSCAN_SPI_XC7A100T` constant picks it up on the next rebuild.","Clone the openXC7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`.","Generate a Lean 4 theorem from a `tri fpga measure-cclk --json` output. The theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. Useful for turning a real capture into a machine-checked proof without manual copy-paste.","Print the PVT-derated N25Q128_3V SCK low/high bound for a supplied operating context. Also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope.","Build the QMTech XC7A100T-FGG676 proxy bitstream via a Docker container running Xilinx Vivado. Clones our `openFPGALoader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spiOverJtag/`. On Apple Silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. With `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its SHA256 is printed."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri fpga","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fpga","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fpga","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/fpga.rs","VARIANT":"Commands::Fpga","WHEN_TO_USE":"FPGA programming via the in-tree DLC10 driver (pure Rust).","WITNESS":"source-parse"},"health":"ok","id":"tri/fpga","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/fpga.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fpga","name":{"en":"tri fpga"},"qualifiedId":"gHashTag/t27:tri/fpga","repo":"gHashTag/t27","schema":2,"searchText":"tri/fpga tri fpga fpga programming via the in-tree dlc10 driver (pure rust). fpga programming via the in-tree dlc10 driver (pure rust). idcode read and print the jtag idcode of the attached dlc10 cable target. idcode-cfg read the configuration idcode register via the type-1 cfg_in/cfg_out protocol. on a healthy xc7a100t this must return 0x13631093 (same as the jtag idcode). if 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken. sram program fpga sram (volatile -- lost on power-cycle). program program the on-board spi flash (non-volatile / persistent). flash-id read the spi flash jedec id via the jtag-to-spi bridge. status read the raw cfg_out status register. debug decode 7-series configuration registers for done=low diagnosis. load-sram load a bitstream into fpga sram using openfpgaloader with a digilent ftdi cable. this is the canonical path for the qmtech wukong v1 / xc7a200t board because the in-tree `dlc10` driver only supports xilinx dlc10 cables (vid=0x03fd), not the attached digilent cable (vid=0x0403:0x6014). stat read and decode the fpga stat register via openfpgaloader. read-xadc read the fpga xadc sensors (temperature, vccint, vccaux) via openfpgaloader and print a json object. the board must be powered and connected through a supported cable such as `digilent_hs2`. synth-gf16 synthesize the gf16 4x4 matrix design through the openxc7 toolchain. output is written to `/gf16_matmul4x4_top.bit`. program-flash program the on-board spi flash (non-volatile) using openfpgaloader's jtag-to-spi bridge. requires a matching `spioverjtag` bitstream for the exact fpga package; the xc7a200t-fgg676 bridge is present in recent openfpgaloader distributions but flash boot may still depend on board mode pins (see docs/reports/fpga_loop_evidence_2026-07-04.md). dump-flash dump spi flash contents to a file via openfpgaloader's jtag-to-spi bridge. bit-config parse the .bit header and print the configuration registers that affect master spi boot (cor0, cor1, wbstar, timer, ctl0, ctl1, idcode, bspi). round-trip-verify program the given .bit to spi flash, dump the same region back, and compare the dumped bytes against the bitstream payload. this verifies the openfpgaloader write path is bit-perfect for the raw bitstream. boot-log guided cold-por boot experiment. programs flash, asks the user to physically power-cycle the board, then captures stat without a jtag reset and prints a decision-tree diagnosis. cold-por deterministic cold-por boot experiment with optional relay control. with `--relay-port mock` the command writes a deterministic, clearly labeled mock boot log so ci can exercise the cold-por json path without touching hardware. real relay ports are reserved for variant a/b. smoke-gate board-less smoke gate for the fpga path. runs `tri fpga bit-config` on the gf16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo verilog. requires no physical board. boot-protocol print or interactively confirm the cold-por boot protocol. this is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle. patch-cor0 patch the raw oscfsel field (cor0[22:17]) of a 7-series .bit file. cclk-variants generate a set of oscfsel variants from a single input .bit file. outputs one file per requested value to the given directory. cclk-sweep automated cold-por cclk sweep. generates oscfsel variants, programs each to flash, prompts for the physical power-cycle, captures stat, and writes json logs. the only manual step is disconnecting/reconnecting the cable and power-cycling the board. sweep-report read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working cclk variant. measure-cclk print dslogic / oscilloscope instructions for measuring the fpga cclk output during master spi configuration. optionally parse a dsview csv export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the digilent ftdi cable as `ftdi-la`). flash-status read the spi flash status register via openfpgaloader's jtag-to-spi bridge. decodes wip, wel, and qe bits to help diagnose boot-from-flash failures. proxy-load diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into fpga sram, report stat, leave tap in rti. does not touch spi flash. useful for verifying the bridge actually reaches done=high before debugging spi semantics. proxy-status diagnostic: read idcode + stat *without* touching the fpga. run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. also confirms ir=user1 select is accepted. spi-raw diagnostic: shift raw hex bytes through the user1 bscan as a single spi transaction. reads `--rx n` miso bytes after the tx stream. requires the proxy bridge to be already loaded (`tri fpga proxy-load` first). ir-probe diagnostic: probe the ir capture pattern after selecting an ir. a healthy 7-series tap always captures `0b000001` into the ir shift register. anything else means the jtag chain is broken or the cable is mis-driving tms. flash-id-debug diagnostic: drive the full jedec-read flow end-to-end with maximum instrumentation, **including** the 0xab release-power-down and 0x66+0x99 software-reset recovery attempts. equivalent to `flash-id --verbose` plus auto-recovery. build-proxy build the qmtech xc7a100t-fgg676 jtag-to-spi proxy bitstream via the openxc7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on path. with `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `bscan_spi_xc7a100t` constant picks it up on the next rebuild. setup-openxc7-chipdb clone the openxc7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`. measured-to-lean generate a lean 4 theorem from a `tri fpga measure-cclk --json` output. the theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. useful for turning a real capture into a machine-checked proof without manual copy-paste. pvt-envelope print the pvt-derated n25q128_3v sck low/high bound for a supplied operating context. also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope. build-proxy-docker build the qmtech xc7a100t-fgg676 proxy bitstream via a docker container running xilinx vivado. clones our `openfpgaloader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spioverjtag/`. on apple silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. with `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its sha256 is printed.","sha256":"aaf7d2d4ae26d149b68e8c50d010bcda79b6ba3bf30c782194ca37bd60f8c7b6","skills":[],"source":"cli/tri/src/fpga.rs","specPath":"specs/tools/tri/fpga.t27","summary":{"en":"FPGA programming via the in-tree DLC10 driver (pure Rust).","ru":"Программирование FPGA через встроенный драйвер DLC10 (чистый Rust)."},"typecheckOk":true,"variant":"Commands::Fpga","whenToUse":"FPGA programming via the in-tree DLC10 driver (pure Rust).","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Gates (cli/tri/src/main.rs; module cli/tri/src/gates.rs)","actions":[{"about":"Classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it.","name":"warnings"},{"about":"Run every gate script and its negative control; name the ones with none.","name":"sweep"},{"about":"Break each gate's failure path and demand its control notices.","name":"mutate"},{"about":"Open pull requests whose path-filtered CI never ran.","name":"prs"},{"about":"What the tree says is required, against what the ruleset requires.","name":"preview"},{"about":"Which interpreter each gate step is handed to, and who says so.","name":"shell"},{"about":"Gate steps whose PASS is reachable with the thing they check absent.","name":"quiet"},{"about":"Every bounded GitHub fetch in this crate, and whether it can tell a page from a total.","name":"fetches"},{"about":"Run every gate CI runs, in an EMPTY tree, and report what still passes.","name":"empty"},{"about":"","name":"required"},{"about":"List active workflows whose lifetime success count is zero.","name":"dead"},{"about":"Workflows with no recent run on the default branch: their green is about frequency, not health.","name":"tests"},{"about":"","name":"unmeasured"}],"agents":[],"args":[],"command":"tri gates","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Find workflows that have never once succeeded.","ABOUT_SOURCE":"clap /// doc on Commands::Gates (cli/tri/src/main.rs; module cli/tri/src/gates.rs)","ACTIONS":["warnings","sweep","mutate","prs","preview","shell","quiet","fetches","empty","required","dead","tests","unmeasured"],"ACTIONS_ABOUT":["Classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it.","Run every gate script and its negative control; name the ones with none.","Break each gate's failure path and demand its control notices.","Open pull requests whose path-filtered CI never ran.","What the tree says is required, against what the ruleset requires.","Which interpreter each gate step is handed to, and who says so.","Gate steps whose PASS is reachable with the thing they check absent.","Every bounded GitHub fetch in this crate, and whether it can tell a page from a total.","Run every gate CI runs, in an EMPTY tree, and report what still passes.","","List active workflows whose lifetime success count is zero.","Workflows with no recent run on the default branch: their green is about frequency, not health.",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri gates","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/gates","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/gates","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/gates.rs","VARIANT":"Commands::Gates","WHEN_TO_USE":"Find workflows that have never once succeeded.","WITNESS":"source-parse"},"health":"ok","id":"tri/gates","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/gates.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_gates","name":{"en":"tri gates"},"qualifiedId":"gHashTag/t27:tri/gates","repo":"gHashTag/t27","schema":2,"searchText":"tri/gates tri gates find workflows that have never once succeeded. find workflows that have never once succeeded. warnings classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it. sweep run every gate script and its negative control; name the ones with none. mutate break each gate's failure path and demand its control notices. prs open pull requests whose path-filtered ci never ran. preview what the tree says is required, against what the ruleset requires. shell which interpreter each gate step is handed to, and who says so. quiet gate steps whose pass is reachable with the thing they check absent. fetches every bounded github fetch in this crate, and whether it can tell a page from a total. empty run every gate ci runs, in an empty tree, and report what still passes. required dead list active workflows whose lifetime success count is zero. tests workflows with no recent run on the default branch: their green is about frequency, not health. unmeasured","sha256":"de8489f65be8b1db66b2c9bf3abe96643c580d39e4b856cd6a9a3511e404975d","skills":[],"source":"cli/tri/src/gates.rs","specPath":"specs/tools/tri/gates.t27","summary":{"en":"Find workflows that have never once succeeded.","ru":"Находит воркфлоу, которые ни разу не завершались успешно."},"typecheckOk":true,"variant":"Commands::Gates","whenToUse":"Find workflows that have never once succeeded.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_gen description (cli/tri-mcp/src/main.rs); handler cmd_gen runs t27c gen-verilog, gen-c, gen-rust (cli/tri/src/main.rs:862)","actions":[],"agents":[{"letter":"C","ok":true},{"letter":"T","ok":true}],"args":[{"about":"","name":""}],"command":"tri gen","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Generates backends from a .t27 spec file using t27c.","ABOUT_SOURCE":"tri-mcp tool tri_gen description (cli/tri-mcp/src/main.rs); handler cmd_gen runs t27c gen-verilog, gen-c, gen-rust (cli/tri/src/main.rs:862)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["C","T"],"AGENTS_NOTE":".claude/agents/agent-c-compiler.md:40 (tri gen -- Generate code from specs; trigger On tri gen command, line 7); .claude/agents/trinity.md:68 (5. Gen - Run tri gen).","ARGS":[""],"COMMAND":"tri gen","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/gen","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/gen","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Gen","WHEN_TO_USE":"Generates backends from a .t27 spec file using t27c.","WITNESS":"source-parse"},"health":"ok","id":"tri/gen","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_gen","name":{"en":"tri gen"},"qualifiedId":"gHashTag/t27:tri/gen","repo":"gHashTag/t27","schema":2,"searchText":"tri/gen tri gen generates backends from a .t27 spec file using t27c. generates backends from a .t27 spec file using t27c. c t","sha256":"8739f5a9100f6f989b3558fa5c49af008fb134e3c640c67a0ca946e2880e42bb","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/gen.t27","summary":{"en":"Generates backends from a .t27 spec file using t27c.","ru":"Генерирует бэкенды из файла спецификации .t27 через t27c."},"typecheckOk":true,"variant":"Commands::Gen","whenToUse":"Generates backends from a .t27 spec file using t27c.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Harness (cli/tri/src/main.rs)","actions":[{"about":"Test binaries whose tests share one scratch directory.","name":"scratch"}],"agents":[],"args":[],"command":"tri harness","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","ABOUT_SOURCE":"clap /// doc on Commands::Harness (cli/tri/src/main.rs)","ACTIONS":["scratch"],"ACTIONS_ABOUT":["Test binaries whose tests share one scratch directory."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri harness","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/harness","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/harness","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Harness","WHEN_TO_USE":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","WITNESS":"source-parse"},"health":"ok","id":"tri/harness","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_harness","name":{"en":"tri harness"},"qualifiedId":"gHashTag/t27:tri/harness","repo":"gHashTag/t27","schema":2,"searchText":"tri/harness tri harness source files no crate root reaches, and so nothing compiles. test-harness hygiene. source files no crate root reaches, and so nothing compiles. test-harness hygiene. scratch test binaries whose tests share one scratch directory.","sha256":"67c635dcb96730ead658e8233879cc6f2b3cb56d9c6e85259629d10b9a536b9c","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/harness.t27","summary":{"en":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","ru":"Исходные файлы, до которых не доходит ни один корень крейта, и потому ничего не компилируется. Гигиена тестового харнесса."},"typecheckOk":true,"variant":"Commands::Harness","whenToUse":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_health description (cli/tri-mcp/src/main.rs); handler cmd_health reads .trinity/state/queen-health.json (cli/tri/src/main.rs:969)","actions":[],"agents":[],"args":[{"about":"","name":""}],"command":"tri health","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Returns queen and swarm health status from .trinity state.","ABOUT_SOURCE":"tri-mcp tool tri_health description (cli/tri-mcp/src/main.rs); handler cmd_health reads .trinity/state/queen-health.json (cli/tri/src/main.rs:969)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[""],"COMMAND":"tri health","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/health","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/health","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Health","WHEN_TO_USE":"Returns queen and swarm health status from .trinity state.","WITNESS":"source-parse"},"health":"ok","id":"tri/health","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_health","name":{"en":"tri health"},"qualifiedId":"gHashTag/t27:tri/health","repo":"gHashTag/t27","schema":2,"searchText":"tri/health tri health returns queen and swarm health status from .trinity state. returns queen and swarm health status from .trinity state.","sha256":"678ece919f8363e769be5541575ec25163565cf04481f776448b81c3fbac94c9","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/health.t27","summary":{"en":"Returns queen and swarm health status from .trinity state.","ru":"Показывает состояние здоровья королевы и роя из состояния .trinity."},"typecheckOk":true,"variant":"Commands::Health","whenToUse":"Returns queen and swarm health status from .trinity state.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Hooks (cli/tri/src/main.rs; module cli/tri/src/hooks.rs)","actions":[{"about":"Run every migrated commit-time gate in sequence (l1-check + now-gate).","name":"pre-commit"},{"about":"A pull request whose title claims a compiler fix must carry a source file.","name":"fix-carries-source"},{"about":"Ask the required NOW gate's own script whether this push adds an entry.","name":"pre-push"},{"about":"L1 TRACEABILITY over the message BEING WRITTEN, from the commit-msg hook.","name":"commit-msg"},{"about":"L1 TRACEABILITY: last commit message must reference an issue (`Closes #N` / `Fixes #N` / `Resolves #N` / `Reference #N`).","name":"l1-check"},{"about":"Verify a fresh `docs/now/-.md` entry exists.","name":"now-gate"},{"about":"Session-start guard for the Claude Code harness. Emits a one-line status string to stdout; never blocks (the Bash gate is a soft telemetry hook).","name":"session-gate"},{"about":"Which hooks git will actually run, and whose installer output is dead.","name":"status"}],"agents":[],"args":[],"command":"tri hooks","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Pure-Rust ports of repository commit / push gates.","ABOUT_SOURCE":"clap /// doc on Commands::Hooks (cli/tri/src/main.rs; module cli/tri/src/hooks.rs)","ACTIONS":["pre-commit","fix-carries-source","pre-push","commit-msg","l1-check","now-gate","session-gate","status"],"ACTIONS_ABOUT":["Run every migrated commit-time gate in sequence (l1-check + now-gate).","A pull request whose title claims a compiler fix must carry a source file.","Ask the required NOW gate's own script whether this push adds an entry.","L1 TRACEABILITY over the message BEING WRITTEN, from the commit-msg hook.","L1 TRACEABILITY: last commit message must reference an issue (`Closes #N` / `Fixes #N` / `Resolves #N` / `Reference #N`).","Verify a fresh `docs/now/-.md` entry exists.","Session-start guard for the Claude Code harness. Emits a one-line status string to stdout; never blocks (the Bash gate is a soft telemetry hook).","Which hooks git will actually run, and whose installer output is dead."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri hooks","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/hooks","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/hooks","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/hooks.rs","VARIANT":"Commands::Hooks","WHEN_TO_USE":"Pure-Rust ports of repository commit / push gates.","WITNESS":"source-parse"},"health":"ok","id":"tri/hooks","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/hooks.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_hooks","name":{"en":"tri hooks"},"qualifiedId":"gHashTag/t27:tri/hooks","repo":"gHashTag/t27","schema":2,"searchText":"tri/hooks tri hooks pure-rust ports of repository commit / push gates. pure-rust ports of repository commit / push gates. pre-commit run every migrated commit-time gate in sequence (l1-check + now-gate). fix-carries-source a pull request whose title claims a compiler fix must carry a source file. pre-push ask the required now gate's own script whether this push adds an entry. commit-msg l1 traceability over the message being written, from the commit-msg hook. l1-check l1 traceability: last commit message must reference an issue (`closes #n` / `fixes #n` / `resolves #n` / `reference #n`). now-gate verify a fresh `docs/now/-.md` entry exists. session-gate session-start guard for the claude code harness. emits a one-line status string to stdout; never blocks (the bash gate is a soft telemetry hook). status which hooks git will actually run, and whose installer output is dead.","sha256":"533eeb860d6bc3f69d612c3d2630965bf50b8533f50c4f4900b25ab42e838db2","skills":[],"source":"cli/tri/src/hooks.rs","specPath":"specs/tools/tri/hooks.t27","summary":{"en":"Pure-Rust ports of repository commit / push gates.","ru":"Порты гейтов коммита/пуша репозитория на чистом Rust."},"typecheckOk":true,"variant":"Commands::Hooks","whenToUse":"Pure-Rust ports of repository commit / push gates.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Issues (cli/tri/src/main.rs; module cli/tri/src/issues.rs)","actions":[{"about":"Open issues whose title calls a workflow red, and what it does today.","name":"stale"},{"about":"Open issues that state a COUNT in the title, and a reproducible sample.","name":"numbers"},{"about":"Open issues whose figure is ANCHORED, so re-measuring it proves nothing.","name":"dated"}],"agents":[],"args":[],"command":"tri issues","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","ABOUT_SOURCE":"clap /// doc on Commands::Issues (cli/tri/src/main.rs; module cli/tri/src/issues.rs)","ACTIONS":["stale","numbers","dated"],"ACTIONS_ABOUT":["Open issues whose title calls a workflow red, and what it does today.","Open issues that state a COUNT in the title, and a reproducible sample.","Open issues whose figure is ANCHORED, so re-measuring it proves nothing."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri issues","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/issues","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/issues","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/issues.rs","VARIANT":"Commands::Issues","WHEN_TO_USE":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","WITNESS":"source-parse"},"health":"ok","id":"tri/issues","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/issues.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_issues","name":{"en":"tri issues"},"qualifiedId":"gHashTag/t27:tri/issues","repo":"gHashTag/t27","schema":2,"searchText":"tri/issues tri issues open issues whose headline calls a workflow red, against what that workflow concludes on master today. open issues whose headline calls a workflow red, against what that workflow concludes on master today. stale open issues whose title calls a workflow red, and what it does today. numbers open issues that state a count in the title, and a reproducible sample. dated open issues whose figure is anchored, so re-measuring it proves nothing.","sha256":"e7b50b366482d2b8d45d2ac34d8c26df07c1834693fb3cce83c043be0509d75c","skills":[],"source":"cli/tri/src/issues.rs","specPath":"specs/tools/tri/issues.t27","summary":{"en":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","ru":"Открытые issue, чей заголовок называет воркфлоу красным, против того, к чему этот воркфлоу приходит на master сегодня."},"typecheckOk":true,"variant":"Commands::Issues","whenToUse":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Jumps (cli/tri/src/main.rs; module cli/tri/src/jumps.rs)","actions":[{"about":"Name every `break`/`continue` site in the generated Verilog and say what it lowered to.","name":"census"}],"agents":[],"args":[],"command":"tri jumps","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What happened to every `break` and `continue` the Verilog emitter had to lower?","ABOUT_SOURCE":"clap /// doc on Commands::Jumps (cli/tri/src/main.rs; module cli/tri/src/jumps.rs)","ACTIONS":["census"],"ACTIONS_ABOUT":["Name every `break`/`continue` site in the generated Verilog and say what it lowered to."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri jumps","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/jumps","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/jumps","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/jumps.rs","VARIANT":"Commands::Jumps","WHEN_TO_USE":"What happened to every `break` and `continue` the Verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. Both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output PARSES said yes for as long as the emitter has existed. See #2988.","WITNESS":"source-parse"},"health":"ok","id":"tri/jumps","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/jumps.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_jumps","name":{"en":"tri jumps"},"qualifiedId":"gHashTag/t27:tri/jumps","repo":"gHashTag/t27","schema":2,"searchText":"tri/jumps tri jumps what happened to every `break` and `continue` the verilog emitter had to lower? what happened to every `break` and `continue` the verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output parses said yes for as long as the emitter has existed. see #2988. census name every `break`/`continue` site in the generated verilog and say what it lowered to.","sha256":"905308ea72644feb0e72d64a5d6c6edaed7e0d8e7182e7d52d8157f9951e756a","skills":[],"source":"cli/tri/src/jumps.rs","specPath":"specs/tools/tri/jumps.t27","summary":{"en":"What happened to every `break` and `continue` the Verilog emitter had to lower?","ru":"Что случилось с каждым `break` и `continue`, которые эмиттеру Verilog пришлось опустить?"},"typecheckOk":true,"variant":"Commands::Jumps","whenToUse":"What happened to every `break` and `continue` the Verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. Both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output PARSES said yes for as long as the emitter has existed. See #2988.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Kinds (cli/tri/src/main.rs; module cli/tri/src/kinddrift.rs)","actions":[{"about":"Match arms whose comment names a construct the pattern does not cover.","name":"drift"}],"agents":[],"args":[],"command":"tri kinds","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Match arms whose own comment names a case the pattern omits.","ABOUT_SOURCE":"clap /// doc on Commands::Kinds (cli/tri/src/main.rs; module cli/tri/src/kinddrift.rs)","ACTIONS":["drift"],"ACTIONS_ABOUT":["Match arms whose comment names a construct the pattern does not cover."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri kinds","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/kinds","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/kinds","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/kinddrift.rs","VARIANT":"Commands::Kinds","WHEN_TO_USE":"Match arms whose own comment names a case the pattern omits.","WITNESS":"source-parse"},"health":"ok","id":"tri/kinds","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/kinddrift.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_kinds","name":{"en":"tri kinds"},"qualifiedId":"gHashTag/t27:tri/kinds","repo":"gHashTag/t27","schema":2,"searchText":"tri/kinds tri kinds match arms whose own comment names a case the pattern omits. match arms whose own comment names a case the pattern omits. drift match arms whose comment names a construct the pattern does not cover.","sha256":"76affd22763395ddb1ff3639130a93df72fdd0c7491275d4ef3f1cd0bc5c9377","skills":[],"source":"cli/tri/src/kinddrift.rs","specPath":"specs/tools/tri/kinds.t27","summary":{"en":"Match arms whose own comment names a case the pattern omits.","ru":"Ветви match, чей собственный комментарий называет случай, который паттерн пропускает."},"typecheckOk":true,"variant":"Commands::Kinds","whenToUse":"Match arms whose own comment names a case the pattern omits.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Lean (cli/tri/src/main.rs; module cli/tri/src/leanvac.rs)","actions":[{"about":"Completeness theorems whose model has no functions.","name":"vacuous"},{"about":"Proof files the build root does not reach, and so nothing compiles.","name":"reach"}],"agents":[],"args":[],"command":"tri lean","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Completeness theorems whose Lean model is empty.","ABOUT_SOURCE":"clap /// doc on Commands::Lean (cli/tri/src/main.rs; module cli/tri/src/leanvac.rs)","ACTIONS":["vacuous","reach"],"ACTIONS_ABOUT":["Completeness theorems whose model has no functions.","Proof files the build root does not reach, and so nothing compiles."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri lean","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/lean","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/lean","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/leanvac.rs","VARIANT":"Commands::Lean","WHEN_TO_USE":"Completeness theorems whose Lean model is empty.","WITNESS":"source-parse"},"health":"ok","id":"tri/lean","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/leanvac.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_lean","name":{"en":"tri lean"},"qualifiedId":"gHashTag/t27:tri/lean","repo":"gHashTag/t27","schema":2,"searchText":"tri/lean tri lean completeness theorems whose lean model is empty. completeness theorems whose lean model is empty. vacuous completeness theorems whose model has no functions. reach proof files the build root does not reach, and so nothing compiles.","sha256":"9e8b0319877e064acbadfcf4e2611da323f38382cee7f318b4f552e01d560898","skills":[],"source":"cli/tri/src/leanvac.rs","specPath":"specs/tools/tri/lean.t27","summary":{"en":"Completeness theorems whose Lean model is empty.","ru":"Теоремы полноты, у которых модель Lean пуста."},"typecheckOk":true,"variant":"Commands::Lean","whenToUse":"Completeness theorems whose Lean model is empty.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Ledgers (cli/tri/src/main.rs; module cli/tri/src/ledgers.rs)","actions":[{"about":"Plant a stale entry in each ledger and demand its gate fail.","name":"audit"}],"agents":[],"args":[],"command":"tri ledgers","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Does each ledger's gate notice when one of its entries stops being true?","ABOUT_SOURCE":"clap /// doc on Commands::Ledgers (cli/tri/src/main.rs; module cli/tri/src/ledgers.rs)","ACTIONS":["audit"],"ACTIONS_ABOUT":["Plant a stale entry in each ledger and demand its gate fail."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri ledgers","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/ledgers","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/ledgers","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/ledgers.rs","VARIANT":"Commands::Ledgers","WHEN_TO_USE":"Does each ledger's gate notice when one of its entries stops being true?","WITNESS":"source-parse"},"health":"ok","id":"tri/ledgers","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/ledgers.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_ledgers","name":{"en":"tri ledgers"},"qualifiedId":"gHashTag/t27:tri/ledgers","repo":"gHashTag/t27","schema":2,"searchText":"tri/ledgers tri ledgers does each ledger's gate notice when one of its entries stops being true? does each ledger's gate notice when one of its entries stops being true? audit plant a stale entry in each ledger and demand its gate fail.","sha256":"98f0c29164ca0fcd92e851d96e061e6f442a80fccab59e71f5d617f364afd7dc","skills":[],"source":"cli/tri/src/ledgers.rs","specPath":"specs/tools/tri/ledgers.t27","summary":{"en":"Does each ledger's gate notice when one of its entries stops being true?","ru":"Замечает ли гейт каждого леджера, когда одна из его записей перестаёт быть истинной?"},"typecheckOk":true,"variant":"Commands::Ledgers","whenToUse":"Does each ledger's gate notice when one of its entries stops being true?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Loop (cli/tri/src/main.rs; module cli/tri/src/loopclaim.rs)","actions":[{"about":"Take the named claim, or say who already holds it.","name":"claim"}],"agents":[],"args":[],"command":"tri loop","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","ABOUT_SOURCE":"clap /// doc on Commands::Loop (cli/tri/src/main.rs; module cli/tri/src/loopclaim.rs)","ACTIONS":["claim"],"ACTIONS_ABOUT":["Take the named claim, or say who already holds it."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri loop","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/loop","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/loop","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/loopclaim.rs","VARIANT":"Commands::Loop","WHEN_TO_USE":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","WITNESS":"source-parse"},"health":"ok","id":"tri/loop","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/loopclaim.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_loop","name":{"en":"tri loop"},"qualifiedId":"gHashTag/t27:tri/loop","repo":"gHashTag/t27","schema":2,"searchText":"tri/loop tri loop what is failing on the default branch right now, and since when. take a named claim so two sessions of the loop cannot pick the same task. what is failing on the default branch right now, and since when. take a named claim so two sessions of the loop cannot pick the same task. claim take the named claim, or say who already holds it.","sha256":"a204edbc1869df4b6d5953432ed6597eb23b9ba0b67d766a13c999d97499f45c","skills":[],"source":"cli/tri/src/loopclaim.rs","specPath":"specs/tools/tri/loop.t27","summary":{"en":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","ru":"Что падает на ветке по умолчанию прямо сейчас и с какого момента. Берёт именованную заявку, чтобы две сессии лупа не взяли одну задачу."},"typecheckOk":true,"variant":"Commands::Loop","whenToUse":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Merging (cli/tri/src/main.rs; module cli/tri/src/inflight.rs)","actions":[],"agents":[],"args":[{"about":"The base this branch is supposed to carry. A ref, not a URL.","name":"--base"},{"about":"Also check the commits behind HEAD, not only HEAD itself.","name":"--depth"}],"command":"tri merging","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is a merge in flight here, and does this branch carry the base?","ABOUT_SOURCE":"clap /// doc on Commands::Merging (cli/tri/src/main.rs; module cli/tri/src/inflight.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--base: The base this branch is supposed to carry. A ref, not a URL.","--depth: Also check the commits behind HEAD, not only HEAD itself."],"COMMAND":"tri merging","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/merging","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/merging","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/inflight.rs","VARIANT":"Commands::Merging","WHEN_TO_USE":"Is a merge in flight here, and does this branch carry the base?","WITNESS":"source-parse"},"health":"ok","id":"tri/merging","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/inflight.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_merging","name":{"en":"tri merging"},"qualifiedId":"gHashTag/t27:tri/merging","repo":"gHashTag/t27","schema":2,"searchText":"tri/merging tri merging is a merge in flight here, and does this branch carry the base? is a merge in flight here, and does this branch carry the base?","sha256":"bb4167b8b988820e63e2e42cc9b3f1eeaea9a9caf00e15d8c3f3e0b5cd9d0cb5","skills":[],"source":"cli/tri/src/inflight.rs","specPath":"specs/tools/tri/merging.t27","summary":{"en":"Is a merge in flight here, and does this branch carry the base?","ru":"Идёт ли здесь мерж, и несёт ли эта ветка базу?"},"typecheckOk":true,"variant":"Commands::Merging","whenToUse":"Is a merge in flight here, and does this branch carry the base?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Misread (cli/tri/src/main.rs; module cli/tri/src/misread.rs)","actions":[],"agents":[],"args":[{"about":"Root of the spec tree.","name":"--specs-dir"},{"about":"Name every spec under each shape rather than only counting.","name":"--list"}],"command":"tri misread","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The specs the compiler reads WRONGLY. Every gate is green on them.","ABOUT_SOURCE":"clap /// doc on Commands::Misread (cli/tri/src/main.rs; module cli/tri/src/misread.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--specs-dir: Root of the spec tree.","--list: Name every spec under each shape rather than only counting."],"COMMAND":"tri misread","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/misread","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/misread","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/misread.rs","VARIANT":"Commands::Misread","WHEN_TO_USE":"The specs the compiler reads WRONGLY. Every gate is green on them.","WITNESS":"source-parse"},"health":"ok","id":"tri/misread","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/misread.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_misread","name":{"en":"tri misread"},"qualifiedId":"gHashTag/t27:tri/misread","repo":"gHashTag/t27","schema":2,"searchText":"tri/misread tri misread the specs the compiler reads wrongly. every gate is green on them. the specs the compiler reads wrongly. every gate is green on them.","sha256":"4c27da6a18f488afac5ac4be903b614994749278742678c74490e1a74ff991a7","skills":[],"source":"cli/tri/src/misread.rs","specPath":"specs/tools/tri/misread.t27","summary":{"en":"The specs the compiler reads WRONGLY. Every gate is green on them.","ru":"Спеки, которые компилятор читает НЕВЕРНО. Все гейты на них зелёные."},"typecheckOk":true,"variant":"Commands::Misread","whenToUse":"The specs the compiler reads WRONGLY. Every gate is green on them.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/modreach.rs:1 (Commands::Mods dispatches to modreach, cli/tri/src/main.rs:1085)","actions":[{"about":"List them.","name":"orphan"}],"agents":[],"args":[],"command":"tri mods","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri mods orphan` -- `.rs` files no crate root reaches.","ABOUT_SOURCE":"//! module doc, cli/tri/src/modreach.rs:1 (Commands::Mods dispatches to modreach, cli/tri/src/main.rs:1085)","ACTIONS":["orphan"],"ACTIONS_ABOUT":["List them."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri mods","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/mods","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/mods","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Mods","WHEN_TO_USE":"`tri mods orphan` -- `.rs` files no crate root reaches.","WITNESS":"source-parse"},"health":"ok","id":"tri/mods","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_mods","name":{"en":"tri mods"},"qualifiedId":"gHashTag/t27:tri/mods","repo":"gHashTag/t27","schema":2,"searchText":"tri/mods tri mods `tri mods orphan` -- `.rs` files no crate root reaches. `tri mods orphan` -- `.rs` files no crate root reaches. orphan list them.","sha256":"45754d036ee4eced4776bb6c2d85addf2cf176e7c70098f78b3fdb4db7df17c1","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/mods.t27","summary":{"en":"`tri mods orphan` -- `.rs` files no crate root reaches.","ru":"`tri mods orphan` -- файлы `.rs`, до которых не доходит ни один корень крейта."},"typecheckOk":true,"variant":"Commands::Mods","whenToUse":"`tri mods orphan` -- `.rs` files no crate root reaches.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Mutate (cli/tri/src/main.rs; module cli/tri/src/mutate.rs)","actions":[{"about":"Perturb each numeric literal in a file and report which ones the checker does not notice.","name":"run"}],"agents":[],"args":[],"command":"tri mutate","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Find the constants in a checker that nothing actually checks.","ABOUT_SOURCE":"clap /// doc on Commands::Mutate (cli/tri/src/main.rs; module cli/tri/src/mutate.rs)","ACTIONS":["run"],"ACTIONS_ABOUT":["Perturb each numeric literal in a file and report which ones the checker does not notice."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri mutate","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/mutate","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/mutate","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/mutate.rs","VARIANT":"Commands::Mutate","WHEN_TO_USE":"Find the constants in a checker that nothing actually checks.","WITNESS":"source-parse"},"health":"ok","id":"tri/mutate","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/mutate.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_mutate","name":{"en":"tri mutate"},"qualifiedId":"gHashTag/t27:tri/mutate","repo":"gHashTag/t27","schema":2,"searchText":"tri/mutate tri mutate find the constants in a checker that nothing actually checks. find the constants in a checker that nothing actually checks. run perturb each numeric literal in a file and report which ones the checker does not notice.","sha256":"163456bf9900804666e0f1f53bb7ca1bc76faa89f27e30bf34ca869f8388ea98","skills":[],"source":"cli/tri/src/mutate.rs","specPath":"specs/tools/tri/mutate.t27","summary":{"en":"Find the constants in a checker that nothing actually checks.","ru":"Находит в чекере константы, которые на деле ничем не проверяются."},"typecheckOk":true,"variant":"Commands::Mutate","whenToUse":"Find the constants in a checker that nothing actually checks.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Now (cli/tri/src/main.rs; module cli/tri/src/nownote.rs)","actions":[{"about":"Write a docs/now/ entry: title, bullets, optional issue ref.","name":"add"},{"about":"Ask the REQUIRED `check` gate its own question, before pushing.","name":"check"}],"agents":[],"args":[],"command":"tri now","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Write a docs/now/ entry without hand-writing the frame.","ABOUT_SOURCE":"clap /// doc on Commands::Now (cli/tri/src/main.rs; module cli/tri/src/nownote.rs)","ACTIONS":["add","check"],"ACTIONS_ABOUT":["Write a docs/now/ entry: title, bullets, optional issue ref.","Ask the REQUIRED `check` gate its own question, before pushing."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri now","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/now","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/now","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/nownote.rs","VARIANT":"Commands::Now","WHEN_TO_USE":"Write a docs/now/ entry without hand-writing the frame.","WITNESS":"source-parse"},"health":"ok","id":"tri/now","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/nownote.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_now","name":{"en":"tri now"},"qualifiedId":"gHashTag/t27:tri/now","repo":"gHashTag/t27","schema":2,"searchText":"tri/now tri now write a docs/now/ entry without hand-writing the frame. write a docs/now/ entry without hand-writing the frame. add write a docs/now/ entry: title, bullets, optional issue ref. check ask the required `check` gate its own question, before pushing.","sha256":"e151864300830e0cdde07121285099fdc47c1de925ec4a5e78bba71a29e6a94a","skills":[],"source":"cli/tri/src/nownote.rs","specPath":"specs/tools/tri/now.t27","summary":{"en":"Write a docs/now/ entry without hand-writing the frame.","ru":"Пишет запись docs/now/ без ручного набора рамки."},"typecheckOk":true,"variant":"Commands::Now","whenToUse":"Write a docs/now/ entry without hand-writing the frame.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::OneAway (cli/tri/src/main.rs; module cli/tri/src/oneaway.rs)","actions":[],"agents":[],"args":[{"about":"Also list every spec, not only the class tally.","name":"--names"},{"about":"Report specs with exactly this many errors. The default, 1, is the only bucket a single repair can move; `--errors 2` is the next wave.","name":"--errors"},{"about":"Stop after this many specs. Prints what was dropped -- a silent cap reads as coverage.","name":"--limit"},{"about":"Run the controls and report, changing nothing.","name":"--self-check"}],"command":"tri one-away","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Failing specs one defect from compiling, and what that defect is","ABOUT_SOURCE":"clap /// doc on Commands::OneAway (cli/tri/src/main.rs; module cli/tri/src/oneaway.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--names: Also list every spec, not only the class tally.","--errors: Report specs with exactly this many errors. The default, 1, is the only bucket a single repair can move; `--errors 2` is the next wave.","--limit: Stop after this many specs. Prints what was dropped -- a silent cap reads as coverage.","--self-check: Run the controls and report, changing nothing."],"COMMAND":"tri one-away","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/one-away","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/one-away","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/oneaway.rs","VARIANT":"Commands::OneAway","WHEN_TO_USE":"Failing specs one defect from compiling, and what that defect is","WITNESS":"source-parse"},"health":"ok","id":"tri/one-away","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/oneaway.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_one_away","name":{"en":"tri one-away"},"qualifiedId":"gHashTag/t27:tri/one-away","repo":"gHashTag/t27","schema":2,"searchText":"tri/one-away tri one-away failing specs one defect from compiling, and what that defect is failing specs one defect from compiling, and what that defect is","sha256":"f823bbea9d121e61a27e9c8d899004d2f3712876eab334ed3982a62908fd8ab2","skills":[],"source":"cli/tri/src/oneaway.rs","specPath":"specs/tools/tri/one-away.t27","summary":{"en":"Failing specs one defect from compiling, and what that defect is","ru":"Падающие спеки, которым до компиляции один дефект, и какой именно."},"typecheckOk":true,"variant":"Commands::OneAway","whenToUse":"Failing specs one defect from compiling, and what that defect is","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Orphaned (cli/tri/src/main.rs; module cli/tri/src/orphaned.rs)","actions":[{"about":"List gate and tool sources that name an input which is not in the tree.","name":"list"}],"agents":[],"args":[],"command":"tri orphaned","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Checks whose input is not in the tree.","ABOUT_SOURCE":"clap /// doc on Commands::Orphaned (cli/tri/src/main.rs; module cli/tri/src/orphaned.rs)","ACTIONS":["list"],"ACTIONS_ABOUT":["List gate and tool sources that name an input which is not in the tree."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri orphaned","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/orphaned","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/orphaned","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/orphaned.rs","VARIANT":"Commands::Orphaned","WHEN_TO_USE":"Checks whose input is not in the tree.","WITNESS":"source-parse"},"health":"ok","id":"tri/orphaned","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/orphaned.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_orphaned","name":{"en":"tri orphaned"},"qualifiedId":"gHashTag/t27:tri/orphaned","repo":"gHashTag/t27","schema":2,"searchText":"tri/orphaned tri orphaned checks whose input is not in the tree. checks whose input is not in the tree. list list gate and tool sources that name an input which is not in the tree.","sha256":"f9808d318e75aa5ea4ea3e5b3bf33f0a667aab6a00c7c5aa91f2cc77e3e846bd","skills":[],"source":"cli/tri/src/orphaned.rs","specPath":"specs/tools/tri/orphaned.t27","summary":{"en":"Checks whose input is not in the tree.","ru":"Проверки, чей вход отсутствует в дереве."},"typecheckOk":true,"variant":"Commands::Orphaned","whenToUse":"Checks whose input is not in the tree.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Pr (cli/tri/src/main.rs; module cli/tri/src/prcheck.rs)","actions":[{"about":"Classify every failing check and say plainly whether it is safe to merge. Did this pull request's content actually reach the default branch?","name":"landed"},{"about":"","name":"ready"}],"agents":[],"args":[],"command":"tri pr","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is this pull request actually safe to merge?","ABOUT_SOURCE":"clap /// doc on Commands::Pr (cli/tri/src/main.rs; module cli/tri/src/prcheck.rs)","ACTIONS":["landed","ready"],"ACTIONS_ABOUT":["Classify every failing check and say plainly whether it is safe to merge. Did this pull request's content actually reach the default branch?",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri pr","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/pr","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/pr","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/prcheck.rs","VARIANT":"Commands::Pr","WHEN_TO_USE":"Is this pull request actually safe to merge?","WITNESS":"source-parse"},"health":"ok","id":"tri/pr","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/prcheck.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_pr","name":{"en":"tri pr"},"qualifiedId":"gHashTag/t27:tri/pr","repo":"gHashTag/t27","schema":2,"searchText":"tri/pr tri pr is this pull request actually safe to merge? is this pull request actually safe to merge? landed classify every failing check and say plainly whether it is safe to merge. did this pull request's content actually reach the default branch? ready","sha256":"4909a13b33ff6128bf308132850effbdfcfc1b44bb8ccedf1c7bacc288dea720","skills":[],"source":"cli/tri/src/prcheck.rs","specPath":"specs/tools/tri/pr.t27","summary":{"en":"Is this pull request actually safe to merge?","ru":"Действительно ли этот pull request безопасно мержить?"},"typecheckOk":true,"variant":"Commands::Pr","whenToUse":"Is this pull request actually safe to merge?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Prose (cli/tri/src/main.rs; module cli/tri/src/prose.rs)","actions":[{"about":"Which specs are blocked only by prose, and how many lines that is.","name":"report"}],"agents":[],"args":[],"command":"tri prose","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs a literate author left prose in, and how far that prose is from code.","ABOUT_SOURCE":"clap /// doc on Commands::Prose (cli/tri/src/main.rs; module cli/tri/src/prose.rs)","ACTIONS":["report"],"ACTIONS_ABOUT":["Which specs are blocked only by prose, and how many lines that is."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri prose","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/prose","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/prose","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/prose.rs","VARIANT":"Commands::Prose","WHEN_TO_USE":"Specs a literate author left prose in, and how far that prose is from code.","WITNESS":"source-parse"},"health":"ok","id":"tri/prose","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/prose.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_prose","name":{"en":"tri prose"},"qualifiedId":"gHashTag/t27:tri/prose","repo":"gHashTag/t27","schema":2,"searchText":"tri/prose tri prose specs a literate author left prose in, and how far that prose is from code. specs a literate author left prose in, and how far that prose is from code. report which specs are blocked only by prose, and how many lines that is.","sha256":"8689a47ee97a2588da26a7492f8c6f543dd25702b9962cbdd25ce16070129d38","skills":[],"source":"cli/tri/src/prose.rs","specPath":"specs/tools/tri/prose.t27","summary":{"en":"Specs a literate author left prose in, and how far that prose is from code.","ru":"Спеки, в которых литературный автор оставил прозу, и насколько эта проза далека от кода."},"typecheckOk":true,"variant":"Commands::Prose","whenToUse":"Specs a literate author left prose in, and how far that prose is from code.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Quantifiers (cli/tri/src/main.rs; module cli/tri/src/quant.rs)","actions":[{"about":"Every quantified clause, its binders, and the size of its domain.","name":"report"},{"about":"Every line carrying a quantifier keyword, and whether the census read it.","name":"audit"}],"agents":[],"args":[],"command":"tri quantifiers","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Every quantified clause, its binders, and the size of its domain.","ABOUT_SOURCE":"clap /// doc on Commands::Quantifiers (cli/tri/src/main.rs; module cli/tri/src/quant.rs)","ACTIONS":["report","audit"],"ACTIONS_ABOUT":["Every quantified clause, its binders, and the size of its domain.","Every line carrying a quantifier keyword, and whether the census read it."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri quantifiers","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/quantifiers","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/quantifiers","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/quant.rs","VARIANT":"Commands::Quantifiers","WHEN_TO_USE":"Every quantified clause, its binders, and the size of its domain.","WITNESS":"source-parse"},"health":"ok","id":"tri/quantifiers","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/quant.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_quantifiers","name":{"en":"tri quantifiers"},"qualifiedId":"gHashTag/t27:tri/quantifiers","repo":"gHashTag/t27","schema":2,"searchText":"tri/quantifiers tri quantifiers every quantified clause, its binders, and the size of its domain. every quantified clause, its binders, and the size of its domain. report every quantified clause, its binders, and the size of its domain. audit every line carrying a quantifier keyword, and whether the census read it.","sha256":"f6500ab3e4a78e54e2e83ed1aa6eb389ec0da64ebb735841849c788efc0e1a44","skills":[],"source":"cli/tri/src/quant.rs","specPath":"specs/tools/tri/quantifiers.t27","summary":{"en":"Every quantified clause, its binders, and the size of its domain.","ru":"Каждая квантифицированная клауза, её связанные переменные и размер её домена."},"typecheckOk":true,"variant":"Commands::Quantifiers","whenToUse":"Every quantified clause, its binders, and the size of its domain.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/red.rs:1","actions":[{"about":"Show workflows whose most recent run on the default branch failed.","name":"now"},{"about":"Which STEP each recent failure of one workflow died at, oldest first.","name":"why"}],"agents":[],"args":[],"command":"tri red","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri red` -- what is failing on main right now, and since when.","ABOUT_SOURCE":"//! module doc, cli/tri/src/red.rs:1","ACTIONS":["now","why"],"ACTIONS_ABOUT":["Show workflows whose most recent run on the default branch failed.","Which STEP each recent failure of one workflow died at, oldest first."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri red","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/red","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/red","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/red.rs","VARIANT":"Commands::Red","WHEN_TO_USE":"`tri red` -- what is failing on main right now, and since when.","WITNESS":"source-parse"},"health":"ok","id":"tri/red","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/red.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_red","name":{"en":"tri red"},"qualifiedId":"gHashTag/t27:tri/red","repo":"gHashTag/t27","schema":2,"searchText":"tri/red tri red `tri red` -- what is failing on main right now, and since when. `tri red` -- what is failing on main right now, and since when. now show workflows whose most recent run on the default branch failed. why which step each recent failure of one workflow died at, oldest first.","sha256":"dbc09d850d87e9623513a9eedf77764f4b84cb299f4175c068eee278a0748a71","skills":[],"source":"cli/tri/src/red.rs","specPath":"specs/tools/tri/red.t27","summary":{"en":"`tri red` -- what is failing on main right now, and since when.","ru":"`tri red` -- что падает на main прямо сейчас и с какого момента."},"typecheckOk":true,"variant":"Commands::Red","whenToUse":"`tri red` -- what is failing on main right now, and since when.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Reseal (cli/tri/src/main.rs; module cli/tri/src/reseal.rs)","actions":[{"about":"Rewrite FROZEN_HASH from the current bytes of the sealed file.","name":"write"},{"about":"Report whether the seal matches, and exit non-zero if it does not.","name":"check"}],"agents":[],"args":[],"command":"tri reseal","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Recompute the FROZEN_HASH seal from the file it seals.","ABOUT_SOURCE":"clap /// doc on Commands::Reseal (cli/tri/src/main.rs; module cli/tri/src/reseal.rs)","ACTIONS":["write","check"],"ACTIONS_ABOUT":["Rewrite FROZEN_HASH from the current bytes of the sealed file.","Report whether the seal matches, and exit non-zero if it does not."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri reseal","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/reseal","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/reseal","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/reseal.rs","VARIANT":"Commands::Reseal","WHEN_TO_USE":"Recompute the FROZEN_HASH seal from the file it seals.","WITNESS":"source-parse"},"health":"ok","id":"tri/reseal","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/reseal.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_reseal","name":{"en":"tri reseal"},"qualifiedId":"gHashTag/t27:tri/reseal","repo":"gHashTag/t27","schema":2,"searchText":"tri/reseal tri reseal recompute the frozen_hash seal from the file it seals. recompute the frozen_hash seal from the file it seals. write rewrite frozen_hash from the current bytes of the sealed file. check report whether the seal matches, and exit non-zero if it does not.","sha256":"f4b1478122c02d2e4c50a5bb589e03e97212875c368fad659824f5f532e824d8","skills":[],"source":"cli/tri/src/reseal.rs","specPath":"specs/tools/tri/reseal.t27","summary":{"en":"Recompute the FROZEN_HASH seal from the file it seals.","ru":"Пересчитывает печать FROZEN_HASH по файлу, который она запечатывает."},"typecheckOk":true,"variant":"Commands::Reseal","whenToUse":"Recompute the FROZEN_HASH seal from the file it seals.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Rtl (cli/tri/src/main.rs; module cli/tri/src/rtl.rs)","actions":[{"about":"Run the five structural checks on a design directory.","name":"check"}],"agents":[],"args":[],"command":"tri rtl","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","ABOUT_SOURCE":"clap /// doc on Commands::Rtl (cli/tri/src/main.rs; module cli/tri/src/rtl.rs)","ACTIONS":["check"],"ACTIONS_ABOUT":["Run the five structural checks on a design directory."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri rtl","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/rtl","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/rtl","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/rtl.rs","VARIANT":"Commands::Rtl","WHEN_TO_USE":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","WITNESS":"source-parse"},"health":"ok","id":"tri/rtl","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/rtl.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_rtl","name":{"en":"tri rtl"},"qualifiedId":"gHashTag/t27:tri/rtl","repo":"gHashTag/t27","schema":2,"searchText":"tri/rtl tri rtl the structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness. the structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness. check run the five structural checks on a design directory.","sha256":"656a55d5c53935a47b6bfb87528cb7eadd93b56ea60bc246f720ace506be7109","skills":[],"source":"cli/tri/src/rtl.rs","specPath":"specs/tools/tri/rtl.t27","summary":{"en":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","ru":"Структурная проверка, которую предлагает t27.ai, локально: пять вердиктов, версия yosys рядом с числами и никаких заявлений о корректности."},"typecheckOk":true,"variant":"Commands::Rtl","whenToUse":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Seals (cli/tri/src/main.rs; module cli/tri/src/seals.rs)","actions":[{"about":"Is the built compiler newer than the source the seals are checked against?","name":"fresh"},{"about":"Seals whose claims no longer match what the compiler produces, and the one command that repairs them.","name":"drift"},{"about":"Specs that carry more than one seal, and which of those pairs disagree.","name":"twins"},{"about":"Copy the NEWEST seal's claims onto its twins, after a re-seal.","name":"sync-twins"},{"about":"Seals that record `gen_hash=none` -- a spec that produced no output, sealed.","name":"hollow"}],"agents":[],"args":[],"command":"tri seals","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What `.trinity/seals` says about a spec, when it says it twice.","ABOUT_SOURCE":"clap /// doc on Commands::Seals (cli/tri/src/main.rs; module cli/tri/src/seals.rs)","ACTIONS":["fresh","drift","twins","sync-twins","hollow"],"ACTIONS_ABOUT":["Is the built compiler newer than the source the seals are checked against?","Seals whose claims no longer match what the compiler produces, and the one command that repairs them.","Specs that carry more than one seal, and which of those pairs disagree.","Copy the NEWEST seal's claims onto its twins, after a re-seal.","Seals that record `gen_hash=none` -- a spec that produced no output, sealed."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri seals","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/seals","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/seals","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/seals.rs","VARIANT":"Commands::Seals","WHEN_TO_USE":"What `.trinity/seals` says about a spec, when it says it twice.","WITNESS":"source-parse"},"health":"ok","id":"tri/seals","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/seals.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_seals","name":{"en":"tri seals"},"qualifiedId":"gHashTag/t27:tri/seals","repo":"gHashTag/t27","schema":2,"searchText":"tri/seals tri seals what `.trinity/seals` says about a spec, when it says it twice. what `.trinity/seals` says about a spec, when it says it twice. fresh is the built compiler newer than the source the seals are checked against? drift seals whose claims no longer match what the compiler produces, and the one command that repairs them. twins specs that carry more than one seal, and which of those pairs disagree. sync-twins copy the newest seal's claims onto its twins, after a re-seal. hollow seals that record `gen_hash=none` -- a spec that produced no output, sealed.","sha256":"e0932fe334d920e6591445980b99b8b9bebb845756394199bd209c13e13d0d15","skills":[],"source":"cli/tri/src/seals.rs","specPath":"specs/tools/tri/seals.t27","summary":{"en":"What `.trinity/seals` says about a spec, when it says it twice.","ru":"Что `.trinity/seals` говорит о спеке, когда говорит это дважды."},"typecheckOk":true,"variant":"Commands::Seals","whenToUse":"What `.trinity/seals` says about a spec, when it says it twice.","witness":"source-parse"},{"aboutSource":"handler cmd_serve routes and banner string (cli/tri/src/main.rs:1121)","actions":[],"agents":[],"args":[{"about":"","name":"--addr"}],"command":"tri serve","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","ABOUT_SOURCE":"handler cmd_serve routes and banner string (cli/tri/src/main.rs:1121)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--addr"],"COMMAND":"tri serve","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/serve","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/serve","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Serve","WHEN_TO_USE":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","WITNESS":"source-parse"},"health":"ok","id":"tri/serve","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_serve","name":{"en":"tri serve"},"qualifiedId":"gHashTag/t27:tri/serve","repo":"gHashTag/t27","schema":2,"searchText":"tri/serve tri serve serve the trinity depin http api over axum: post /prove, get /epoch-challenge, get /health; prints trinity depin v0.1.0 -- listening on . serve the trinity depin http api over axum: post /prove, get /epoch-challenge, get /health; prints trinity depin v0.1.0 -- listening on .","sha256":"0aa1373204ff6f8fd41fd8d19428f3d0754fc124578e3f1fbcc2f55c9ff55f4a","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/serve.t27","summary":{"en":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","ru":"Поднимает HTTP API trinity depin на axum: POST /prove, GET /epoch-challenge, GET /health; печатает «trinity depin v0.1.0 -- listening on »."},"typecheckOk":true,"variant":"Commands::Serve","whenToUse":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","witness":"source-parse"},{"aboutSource":"tri-mcp tools tri_skill_begin and tri_skill_end descriptions (cli/tri-mcp/src/main.rs); SkillAction enum cli/tri/src/main.rs:349","actions":[{"about":"Write a new lesson to the spool, unnumbered.","name":"add"},{"about":"Fold every spooled lesson into SKILL.md, numbering them on the way in.","name":"fold"},{"about":"Check every SKILL.md's section numbering for collisions.","name":"check"},{"about":"Sections whose body was cut short at some point in the file's history.","name":"lost"},{"about":"Every cross-reference in the skills, and whether it resolves.","name":"refs"},{"about":"Sections that state a FIGURE, and which of those a reader can re-take.","name":"claims"},{"about":"Move sections you appended to the numbers the base branch left free.","name":"renumber"},{"about":"","name":"begin"},{"about":"","name":"end"}],"agents":[],"args":[],"command":"tri skill","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","ABOUT_SOURCE":"tri-mcp tools tri_skill_begin and tri_skill_end descriptions (cli/tri-mcp/src/main.rs); SkillAction enum cli/tri/src/main.rs:349","ACTIONS":["add","fold","check","lost","refs","claims","renumber","begin","end"],"ACTIONS_ABOUT":["Write a new lesson to the spool, unnumbered.","Fold every spooled lesson into SKILL.md, numbering them on the way in.","Check every SKILL.md's section numbering for collisions.","Sections whose body was cut short at some point in the file's history.","Every cross-reference in the skills, and whether it resolves.","Sections that state a FIGURE, and which of those a reader can re-take.","Move sections you appended to the numbers the base branch left free.","",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri skill","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/skill","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/skill","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Skill","WHEN_TO_USE":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","WITNESS":"source-parse"},"health":"ok","id":"tri/skill","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_skill","name":{"en":"tri skill"},"qualifiedId":"gHashTag/t27:tri/skill","repo":"gHashTag/t27","schema":2,"searchText":"tri/skill tri skill begins a new phi loop skill session bound to an issue. ends the active phi loop skill session. the add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (skill.md lesson spool). begins a new phi loop skill session bound to an issue. ends the active phi loop skill session. the add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (skill.md lesson spool). add write a new lesson to the spool, unnumbered. fold fold every spooled lesson into skill.md, numbering them on the way in. check check every skill.md's section numbering for collisions. lost sections whose body was cut short at some point in the file's history. refs every cross-reference in the skills, and whether it resolves. claims sections that state a figure, and which of those a reader can re-take. renumber move sections you appended to the numbers the base branch left free. begin end","sha256":"4e19baf0ea4267dbbd23f71b8d324779c85427672378205a64726118c36a8e68","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/skill.t27","summary":{"en":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","ru":"Начинает новую сессию скилла PHI LOOP, привязанную к issue; завершает активную сессию. Действия add/fold/check/lost/refs/claims/renumber ведут спул уроков SKILL.md и описаны в своих clap-доках."},"typecheckOk":true,"variant":"Commands::Skill","whenToUse":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_status description (cli/tri-mcp/src/main.rs); handler cmd_status prints === PHI LOOP STATUS === (cli/tri/src/main.rs:613)","actions":[],"agents":[],"args":[],"command":"tri status","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","ABOUT_SOURCE":"tri-mcp tool tri_status description (cli/tri-mcp/src/main.rs); handler cmd_status prints === PHI LOOP STATUS === (cli/tri/src/main.rs:613)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri status","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/status","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/status","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Status","WHEN_TO_USE":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","WITNESS":"source-parse"},"health":"ok","id":"tri/status","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_status","name":{"en":"tri status"},"qualifiedId":"gHashTag/t27:tri/status","repo":"gHashTag/t27","schema":2,"searchText":"tri/status tri status returns phi loop status including active skill, cell, issue binding, and uncommitted changes. returns phi loop status including active skill, cell, issue binding, and uncommitted changes.","sha256":"bacc3fad069505febf375adbbfea9a861e4dc884a6c3d98d723bc5cd22365290","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/status.t27","summary":{"en":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","ru":"Показывает статус PHI LOOP: активный скилл, ячейку, привязку к issue и незакоммиченные изменения."},"typecheckOk":true,"variant":"Commands::Status","whenToUse":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Sweep (cli/tri/src/main.rs; module cli/tri/src/sweep.rs)","actions":[{"about":"Synthesise a top across values of one parameter and report the trend.","name":"area"}],"agents":[],"args":[],"command":"tri sweep","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Synthesise across a parameter and check the area actually moves.","ABOUT_SOURCE":"clap /// doc on Commands::Sweep (cli/tri/src/main.rs; module cli/tri/src/sweep.rs)","ACTIONS":["area"],"ACTIONS_ABOUT":["Synthesise a top across values of one parameter and report the trend."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri sweep","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/sweep","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/sweep","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/sweep.rs","VARIANT":"Commands::Sweep","WHEN_TO_USE":"Synthesise across a parameter and check the area actually moves.","WITNESS":"source-parse"},"health":"ok","id":"tri/sweep","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/sweep.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_sweep","name":{"en":"tri sweep"},"qualifiedId":"gHashTag/t27:tri/sweep","repo":"gHashTag/t27","schema":2,"searchText":"tri/sweep tri sweep synthesise across a parameter and check the area actually moves. synthesise across a parameter and check the area actually moves. area synthesise a top across values of one parameter and report the trend.","sha256":"7b032422cdd86d854023351e841cf5c6f6f43327cab5504b6afd61ac889614e1","skills":[],"source":"cli/tri/src/sweep.rs","specPath":"specs/tools/tri/sweep.t27","summary":{"en":"Synthesise across a parameter and check the area actually moves.","ru":"Синтез по параметру с проверкой, что площадь действительно меняется."},"typecheckOk":true,"variant":"Commands::Sweep","whenToUse":"Synthesise across a parameter and check the area actually moves.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Synth (cli/tri/src/main.rs; module cli/tri/src/synth.rs)","actions":[{"about":"Synthesise a top module and report LUT/DSP/FF/CARRY4 counts.","name":"area"}],"agents":[],"args":[],"command":"tri synth","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Synthesise a top module and report area, with the instrument named.","ABOUT_SOURCE":"clap /// doc on Commands::Synth (cli/tri/src/main.rs; module cli/tri/src/synth.rs)","ACTIONS":["area"],"ACTIONS_ABOUT":["Synthesise a top module and report LUT/DSP/FF/CARRY4 counts."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri synth","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/synth","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/synth","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/synth.rs","VARIANT":"Commands::Synth","WHEN_TO_USE":"Synthesise a top module and report area, with the instrument named.","WITNESS":"source-parse"},"health":"ok","id":"tri/synth","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/synth.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_synth","name":{"en":"tri synth"},"qualifiedId":"gHashTag/t27:tri/synth","repo":"gHashTag/t27","schema":2,"searchText":"tri/synth tri synth synthesise a top module and report area, with the instrument named. synthesise a top module and report area, with the instrument named. area synthesise a top module and report lut/dsp/ff/carry4 counts.","sha256":"51a2f2cad1da2385b6c7b16ab1e4721df80fe98918a60a3410c88fe14da4d743","skills":[],"source":"cli/tri/src/synth.rs","specPath":"specs/tools/tri/synth.t27","summary":{"en":"Synthesise a top module and report area, with the instrument named.","ru":"Синтезирует top-модуль и сообщает площадь с указанием инструмента."},"typecheckOk":true,"variant":"Commands::Synth","whenToUse":"Synthesise a top module and report area, with the instrument named.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_test description (cli/tri-mcp/src/main.rs); handler cmd_test runs t27c test (cli/tri/src/main.rs:870)","actions":[],"agents":[{"letter":"T","ok":true},{"letter":"V","ok":true}],"args":[{"about":"","name":""}],"command":"tri test","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Runs tests for a .t27 spec file using t27c.","ABOUT_SOURCE":"tri-mcp tool tri_test description (cli/tri-mcp/src/main.rs); handler cmd_test runs t27c test (cli/tri/src/main.rs:870)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["T","V"],"AGENTS_NOTE":".claude/agents/agent-v-verify.md:47 (tri test -- Run conformance tests); .claude/agents/trinity.md:70 (7. Verify - Run tri test).","ARGS":[""],"COMMAND":"tri test","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/test","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/test","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Test","WHEN_TO_USE":"Runs tests for a .t27 spec file using t27c.","WITNESS":"source-parse"},"health":"ok","id":"tri/test","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_test","name":{"en":"tri test"},"qualifiedId":"gHashTag/t27:tri/test","repo":"gHashTag/t27","schema":2,"searchText":"tri/test tri test runs tests for a .t27 spec file using t27c. runs tests for a .t27 spec file using t27c. t v","sha256":"a960b7f1a9936d59ccf97203a7031161075c78d1ba6a0f7c78b65084d3a910a7","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/test.t27","summary":{"en":"Runs tests for a .t27 spec file using t27c.","ru":"Запускает тесты для файла спецификации .t27 через t27c."},"typecheckOk":true,"variant":"Commands::Test","whenToUse":"Runs tests for a .t27 spec file using t27c.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Topic (cli/tri/src/main.rs)","actions":[],"agents":[],"args":[{"about":"Words to look for. A row matches on any; rows carrying more come first.","name":""},{"about":"How many recent commits on the base branch to read.","name":"--commits"}],"command":"tri topic","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Has anyone already done this, or are they doing it now?","ABOUT_SOURCE":"clap /// doc on Commands::Topic (cli/tri/src/main.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[": Words to look for. A row matches on any; rows carrying more come first.","--commits: How many recent commits on the base branch to read."],"COMMAND":"tri topic","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/topic","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/topic","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Topic","WHEN_TO_USE":"Has anyone already done this, or are they doing it now?","WITNESS":"source-parse"},"health":"ok","id":"tri/topic","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_topic","name":{"en":"tri topic"},"qualifiedId":"gHashTag/t27:tri/topic","repo":"gHashTag/t27","schema":2,"searchText":"tri/topic tri topic has anyone already done this, or are they doing it now? has anyone already done this, or are they doing it now?","sha256":"0ca5ed85564d0231316703fb63605e962ea2cbf2fb37a273c7d9eac793a45cd5","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/topic.t27","summary":{"en":"Has anyone already done this, or are they doing it now?","ru":"Кто-нибудь уже делал это или делает сейчас?"},"typecheckOk":true,"variant":"Commands::Topic","whenToUse":"Has anyone already done this, or are they doing it now?","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/types_dup.rs:1","actions":[{"about":"Type names with more than one definition in the spec tree.","name":"dup"},{"about":"Hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away.","name":"ratchet"},{"about":"Cross-check the written classification against what the tree says today.","name":"classified"},{"about":"Names defined more than once INSIDE ONE FILE.","name":"redef"}],"agents":[],"args":[],"command":"tri types","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"One type name, more than one definition.","ABOUT_SOURCE":"//! module doc, cli/tri/src/types_dup.rs:1","ACTIONS":["dup","ratchet","classified","redef"],"ACTIONS_ABOUT":["Type names with more than one definition in the spec tree.","Hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away.","Cross-check the written classification against what the tree says today.","Names defined more than once INSIDE ONE FILE."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri types","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/types","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/types","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/types_dup.rs","VARIANT":"Commands::Types","WHEN_TO_USE":"One type name, more than one definition.","WITNESS":"source-parse"},"health":"ok","id":"tri/types","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/types_dup.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_types","name":{"en":"tri types"},"qualifiedId":"gHashTag/t27:tri/types","repo":"gHashTag/t27","schema":2,"searchText":"tri/types tri types one type name, more than one definition. one type name, more than one definition. dup type names with more than one definition in the spec tree. ratchet hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away. classified cross-check the written classification against what the tree says today. redef names defined more than once inside one file.","sha256":"16ea516e67cf93e24863ebb8aabc61ac3bc67fed76d94a228f947258b5296f55","skills":[],"source":"cli/tri/src/types_dup.rs","specPath":"specs/tools/tri/types.t27","summary":{"en":"One type name, more than one definition.","ru":"Одно имя типа, больше одного определения."},"typecheckOk":true,"variant":"Commands::Types","whenToUse":"One type name, more than one definition.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/unparsed.rs:1","actions":[{"about":"Rank the constructs that stop the compiler, most specs first.","name":"report"},{"about":"For each unreadable spec, the ITEM whose presence causes the failure.","name":"locate"},{"about":"Cross-check the census against an INDEPENDENTLY built population.","name":"agree"},{"about":"Run every construct's minimal source and say which the compiler rejects.","name":"probe"}],"agents":[],"args":[],"command":"tri unparsed","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","ABOUT_SOURCE":"//! module doc, cli/tri/src/unparsed.rs:1","ACTIONS":["report","locate","agree","probe"],"ACTIONS_ABOUT":["Rank the constructs that stop the compiler, most specs first.","For each unreadable spec, the ITEM whose presence causes the failure.","Cross-check the census against an INDEPENDENTLY built population.","Run every construct's minimal source and say which the compiler rejects."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri unparsed","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/unparsed","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/unparsed","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/unparsed.rs","VARIANT":"Commands::Unparsed","WHEN_TO_USE":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","WITNESS":"source-parse"},"health":"ok","id":"tri/unparsed","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/unparsed.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_unparsed","name":{"en":"tri unparsed"},"qualifiedId":"gHashTag/t27:tri/unparsed","repo":"gHashTag/t27","schema":2,"searchText":"tri/unparsed tri unparsed specs the compiler cannot read, ranked by the construct that stops it -- and every construct backed by a live probe. specs the compiler cannot read, ranked by the construct that stops it -- and every construct backed by a live probe. report rank the constructs that stop the compiler, most specs first. locate for each unreadable spec, the item whose presence causes the failure. agree cross-check the census against an independently built population. probe run every construct's minimal source and say which the compiler rejects.","sha256":"6aaf39d92a0b7c5443faa32b97cd7fd74b251a8258aee8390b6965d5fee2e660","skills":[],"source":"cli/tri/src/unparsed.rs","specPath":"specs/tools/tri/unparsed.t27","summary":{"en":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","ru":"Спеки, которые компилятор не может прочитать, ранжированные по КОНСТРУКЦИИ, которая его останавливает, -- и каждая конструкция, подтверждённая живой пробой."},"typecheckOk":true,"variant":"Commands::Unparsed","whenToUse":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Vectors (cli/tri/src/main.rs; module cli/tri/src/vectors.rs)","actions":[{"about":"Generate a module's Verilog and execute its registered vectors.","name":"run"},{"about":"Inventory every vector file: executed, debt, or aspirational.","name":"debt"}],"agents":[],"args":[],"command":"tri vectors","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","ABOUT_SOURCE":"clap /// doc on Commands::Vectors (cli/tri/src/main.rs; module cli/tri/src/vectors.rs)","ACTIONS":["run","debt"],"ACTIONS_ABOUT":["Generate a module's Verilog and execute its registered vectors.","Inventory every vector file: executed, debt, or aspirational."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri vectors","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/vectors","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/vectors","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/vectors.rs","VARIANT":"Commands::Vectors","WHEN_TO_USE":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","WITNESS":"source-parse"},"health":"ok","id":"tri/vectors","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/vectors.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_vectors","name":{"en":"tri vectors"},"qualifiedId":"gHashTag/t27:tri/vectors","repo":"gHashTag/t27","schema":2,"searchText":"tri/vectors tri vectors the executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed. the executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed. run generate a module's verilog and execute its registered vectors. debt inventory every vector file: executed, debt, or aspirational.","sha256":"7babf01001cd4e86adfad3f717ccf6cf0772dd38e143ab71d782bd66bc455b82","skills":[],"source":"cli/tri/src/vectors.rs","specPath":"specs/tools/tri/vectors.t27","summary":{"en":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","ru":"Реестр исполняемых векторов: запустить векторы модуля или проинвентаризировать, какие файлы исполняются, а какие только показываются."},"typecheckOk":true,"variant":"Commands::Vectors","whenToUse":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_verdict description (cli/tri-mcp/src/main.rs); handler cmd_verdict runs t27c validate-seals, validate-phi-identity and, with --toxic, validate-toxicity (cli/tri/src/main.rs:876)","actions":[],"agents":[{"letter":"V","ok":true}],"args":[{"about":"","name":"--toxic"}],"command":"tri verdict","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Checks for toxic regressions by analyzing swarm health metrics.","ABOUT_SOURCE":"tri-mcp tool tri_verdict description (cli/tri-mcp/src/main.rs); handler cmd_verdict runs t27c validate-seals, validate-phi-identity and, with --toxic, validate-toxicity (cli/tri/src/main.rs:876)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["V"],"AGENTS_NOTE":".claude/agents/agent-v-verify.md:49 (tri verdict -- Generate pass/fail report); docs/agents/AGENTS_ALPHABET.md:80, PHASE 5 VERDICT: V analyzes metrics, tri verdict --toxic.","ARGS":["--toxic"],"COMMAND":"tri verdict","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/verdict","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/verdict","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Verdict","WHEN_TO_USE":"Checks for toxic regressions by analyzing swarm health metrics.","WITNESS":"source-parse"},"health":"ok","id":"tri/verdict","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_verdict","name":{"en":"tri verdict"},"qualifiedId":"gHashTag/t27:tri/verdict","repo":"gHashTag/t27","schema":2,"searchText":"tri/verdict tri verdict checks for toxic regressions by analyzing swarm health metrics. checks for toxic regressions by analyzing swarm health metrics. v","sha256":"8afa0e665be25d336bdca685cd2369546a767678133bc86c9994d7c94da6a5c7","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/verdict.t27","summary":{"en":"Checks for toxic regressions by analyzing swarm health metrics.","ru":"Проверяет токсичные регрессии, анализируя метрики здоровья роя."},"typecheckOk":true,"variant":"Commands::Verdict","whenToUse":"Checks for toxic regressions by analyzing swarm health metrics.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Vsim (cli/tri/src/main.rs; module cli/tri/src/vsim.rs)","actions":[{"about":"Walk the corpus through `t27c icarus-simulate` and print the funnel.","name":"funnel"}],"agents":[],"args":[],"command":"tri vsim","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"How far each spec gets when its generated Verilog is actually RUN.","ABOUT_SOURCE":"clap /// doc on Commands::Vsim (cli/tri/src/main.rs; module cli/tri/src/vsim.rs)","ACTIONS":["funnel"],"ACTIONS_ABOUT":["Walk the corpus through `t27c icarus-simulate` and print the funnel."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri vsim","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/vsim","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/vsim","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/vsim.rs","VARIANT":"Commands::Vsim","WHEN_TO_USE":"How far each spec gets when its generated Verilog is actually RUN. The one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987.","WITNESS":"source-parse"},"health":"ok","id":"tri/vsim","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/vsim.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_vsim","name":{"en":"tri vsim"},"qualifiedId":"gHashTag/t27:tri/vsim","repo":"gHashTag/t27","schema":2,"searchText":"tri/vsim tri vsim how far each spec gets when its generated verilog is actually run. how far each spec gets when its generated verilog is actually run. the one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987. funnel walk the corpus through `t27c icarus-simulate` and print the funnel.","sha256":"b33711b2a50bd614b706e77c813e7c31e71cd7f547489bf073c0de59c17de2fb","skills":[],"source":"cli/tri/src/vsim.rs","specPath":"specs/tools/tri/vsim.t27","summary":{"en":"How far each spec gets when its generated Verilog is actually RUN.","ru":"Как далеко доходит каждая спека, когда её сгенерированный Verilog действительно ЗАПУСКАЮТ."},"typecheckOk":true,"variant":"Commands::Vsim","whenToUse":"How far each spec gets when its generated Verilog is actually RUN. The one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Window (cli/tri/src/main.rs; module cli/tri/src/window.rs)","actions":[],"agents":[],"args":[{"about":"Record `origin/master` as the base of a measurement starting now.","name":"--start"},{"about":"Report whether the recorded base is still the tip, and refuse if it is not.","name":"--check"},{"about":"The ref the measurement is against. Defaults to `origin/master`.","name":"--base"},{"about":"Run the controls and report, changing nothing.","name":"--self-check"}],"command":"tri window","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Was the base you measured against still the tip when you reported?","ABOUT_SOURCE":"clap /// doc on Commands::Window (cli/tri/src/main.rs; module cli/tri/src/window.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--start: Record `origin/master` as the base of a measurement starting now.","--check: Report whether the recorded base is still the tip, and refuse if it is not.","--base: The ref the measurement is against. Defaults to `origin/master`.","--self-check: Run the controls and report, changing nothing."],"COMMAND":"tri window","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/window","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/window","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/window.rs","VARIANT":"Commands::Window","WHEN_TO_USE":"Was the base you measured against still the tip when you reported?","WITNESS":"source-parse"},"health":"ok","id":"tri/window","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/window.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_window","name":{"en":"tri window"},"qualifiedId":"gHashTag/t27:tri/window","repo":"gHashTag/t27","schema":2,"searchText":"tri/window tri window was the base you measured against still the tip when you reported? was the base you measured against still the tip when you reported?","sha256":"43202aabe15b2c06b1e0709f8e0ae6fc1cb13b2cb7e5a5adee77340a1bf03ff4","skills":[],"source":"cli/tri/src/window.rs","specPath":"specs/tools/tri/window.t27","summary":{"en":"Was the base you measured against still the tip when you reported?","ru":"Была ли база, относительно которой вы мерили, всё ещё вершиной, когда вы отчитывались?"},"typecheckOk":true,"variant":"Commands::Window","whenToUse":"Was the base you measured against still the tip when you reported?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Worktrees (cli/tri/src/main.rs; module cli/tri/src/trees.rs)","actions":[],"agents":[],"args":[{"about":"Also measure disk usage. Off by default: `du` over 120 checkouts is slow, and the holdings answer is the one that decides anything.","name":"--size"},{"about":"Print every tree, not only those holding work or unreadable.","name":"--all"}],"command":"tri worktrees","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What the checkouts on this disk are holding. Deletes nothing.","ABOUT_SOURCE":"clap /// doc on Commands::Worktrees (cli/tri/src/main.rs; module cli/tri/src/trees.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--size: Also measure disk usage. Off by default: `du` over 120 checkouts is slow, and the holdings answer is the one that decides anything.","--all: Print every tree, not only those holding work or unreadable."],"COMMAND":"tri worktrees","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/worktrees","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/worktrees","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/trees.rs","VARIANT":"Commands::Worktrees","WHEN_TO_USE":"What the checkouts on this disk are holding. Deletes nothing.","WITNESS":"source-parse"},"health":"ok","id":"tri/worktrees","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/trees.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_worktrees","name":{"en":"tri worktrees"},"qualifiedId":"gHashTag/t27:tri/worktrees","repo":"gHashTag/t27","schema":2,"searchText":"tri/worktrees tri worktrees what the checkouts on this disk are holding. deletes nothing. what the checkouts on this disk are holding. deletes nothing.","sha256":"1a01df4f397fe76552d278be19fd778995522fe45e9971a0ad8a017b723ca446","skills":[],"source":"cli/tri/src/trees.rs","specPath":"specs/tools/tri/worktrees.t27","summary":{"en":"What the checkouts on this disk are holding. Deletes nothing.","ru":"Что держат чекауты на этом диске. Ничего не удаляет."},"typecheckOk":true,"variant":"Commands::Worktrees","whenToUse":"What the checkouts on this disk are holding. Deletes nothing.","witness":"source-parse"}],"version":1} +{"collisions":[{"name":"fpga","t27":"gHashTag/t27:tri/fpga","trinity":"gHashTag/trinity:tri/fpga"},{"name":"test","t27":"gHashTag/t27:tri/test","trinity":"gHashTag/trinity:tri/test"}],"compilerWasmSha256":"4d9c0447b5ca288790ab03d3dffc2dda629ed47af9d6731a105fc923aea0aee4","contentSha256":"e02bcfa277591e13e90cea8cc0f274d6b15f53c0f46d834a3cb9dd13e5701c21","counts":{"byRepo":{"gHashTag/t27":58,"gHashTag/trinity":34},"byWitness":{"help-output":1,"registry-export":29,"runtime":0,"source-parse":62},"collisions":2,"enabled":92,"mcp":11,"mcpExternal":6,"mcpTools":255,"mcpWithTools":6,"schema2":92,"specs":92,"tri":81,"triActions":124,"triWithActions":38,"trinityTri":29,"typecheckOk":92,"withAgents":6,"withSkills":5},"generatedAt":"2026-09-13T03:52:07.716Z","groups":{"mcpByRepo":{"gHashTag/t27":["mcp/gitbutler","mcp/inngest-dev","mcp/notebooklm","mcp/t27-traceability","mcp/tri-mcp","mcp/tri-ssot"],"gHashTag/trinity":["mcp/needle","mcp/neon","mcp/railway-mcp-server","mcp/trinity","mcp/zig-docs"]},"triByAgent":{"-":["gHashTag/trinity:tri/bench","gHashTag/trinity:tri/bio","gHashTag/trinity:tri/blindspots","gHashTag/trinity:tri/conscious","gHashTag/trinity:tri/constants","gHashTag/trinity:tri/cosmos","gHashTag/trinity:tri/dashboard","gHashTag/trinity:tri/fib","gHashTag/trinity:tri/fpga","gHashTag/trinity:tri/gematria","gHashTag/trinity:tri/govern","gHashTag/trinity:tri/hardware","gHashTag/trinity:tri/identity","gHashTag/trinity:tri/lucas","gHashTag/trinity:tri/mesh","gHashTag/trinity:tri/needle","gHashTag/trinity:tri/needle-check","gHashTag/trinity:tri/needle-search","gHashTag/trinity:tri/omega","gHashTag/trinity:tri/particles","gHashTag/trinity:tri/phi","gHashTag/trinity:tri/quantum","gHashTag/trinity:tri/reputation","gHashTag/trinity:tri/sacred-const","gHashTag/trinity:tri/spiral","gHashTag/trinity:tri/swarm","gHashTag/trinity:tri/test","gHashTag/trinity:tri/vsa","gHashTag/trinity:tri/wallet","tri/abandoned","tri/census","tri/ci","tri/competitors","tri/discard","tri/doctor","tri/elab","tri/emit","tri/fleet","tri/fmt","tri/fpga","tri/gates","tri/harness","tri/health","tri/hooks","tri/issues","tri/jumps","tri/kinds","tri/lean","tri/ledgers","tri/loop","tri/merging","tri/misread","tri/mods","tri/mutate","tri/now","tri/one-away","tri/orphaned","tri/pr","tri/prose","tri/quantifiers","tri/red","tri/reseal","tri/rtl","tri/seals","tri/serve","tri/skill","tri/status","tri/sweep","tri/synth","tri/topic","tri/types","tri/unparsed","tri/vectors","tri/vsim","tri/window","tri/worktrees"],"C":["tri/gen"],"E":["tri/experience"],"T":["tri/gen","tri/test"],"V":["tri/test","tri/verdict"],"W":["tri/cell"]},"triByRepo":{"gHashTag/t27":["tri/abandoned","tri/cell","tri/census","tri/ci","tri/competitors","tri/discard","tri/doctor","tri/elab","tri/emit","tri/experience","tri/fleet","tri/fmt","tri/fpga","tri/gates","tri/gen","tri/harness","tri/health","tri/hooks","tri/issues","tri/jumps","tri/kinds","tri/lean","tri/ledgers","tri/loop","tri/merging","tri/misread","tri/mods","tri/mutate","tri/now","tri/one-away","tri/orphaned","tri/pr","tri/prose","tri/quantifiers","tri/red","tri/reseal","tri/rtl","tri/seals","tri/serve","tri/skill","tri/status","tri/sweep","tri/synth","tri/test","tri/topic","tri/types","tri/unparsed","tri/vectors","tri/verdict","tri/vsim","tri/window","tri/worktrees"],"gHashTag/trinity":["gHashTag/trinity:tri/bench","gHashTag/trinity:tri/bio","gHashTag/trinity:tri/blindspots","gHashTag/trinity:tri/conscious","gHashTag/trinity:tri/constants","gHashTag/trinity:tri/cosmos","gHashTag/trinity:tri/dashboard","gHashTag/trinity:tri/fib","gHashTag/trinity:tri/fpga","gHashTag/trinity:tri/gematria","gHashTag/trinity:tri/govern","gHashTag/trinity:tri/hardware","gHashTag/trinity:tri/identity","gHashTag/trinity:tri/lucas","gHashTag/trinity:tri/mesh","gHashTag/trinity:tri/needle","gHashTag/trinity:tri/needle-check","gHashTag/trinity:tri/needle-search","gHashTag/trinity:tri/omega","gHashTag/trinity:tri/particles","gHashTag/trinity:tri/phi","gHashTag/trinity:tri/quantum","gHashTag/trinity:tri/reputation","gHashTag/trinity:tri/sacred-const","gHashTag/trinity:tri/spiral","gHashTag/trinity:tri/swarm","gHashTag/trinity:tri/test","gHashTag/trinity:tri/vsa","gHashTag/trinity:tri/wallet"]}},"i18n":[{"bundle":"apps/website/i18n/agents.ru.json","coverage":{"n":92,"total":92},"enabled":true,"fields":["SUMMARY","NAME"],"locale":"ru","missing":[],"scope":["specs/skills","specs/crons","specs/agents","specs/functions","specs/tools"],"sha256":"c8871fb4ccdef8fc3cc2937af5db0e307ab0b62f6a03ece9f4512851ffd64f04","spec":"specs/i18n/agents-ru.t27"}],"ladder":{"agents":27,"crons":33,"functions":28,"skills":26,"specs":856,"tools":92},"legacy":{"mcp/gitbutler":"gHashTag/t27:mcp/gitbutler","mcp/inngest-dev":"gHashTag/t27:mcp/inngest-dev","mcp/needle":"gHashTag/trinity:mcp/needle","mcp/neon":"gHashTag/trinity:mcp/neon","mcp/notebooklm":"gHashTag/t27:mcp/notebooklm","mcp/railway-mcp-server":"gHashTag/trinity:mcp/railway-mcp-server","mcp/t27-traceability":"gHashTag/t27:mcp/t27-traceability","mcp/tri-mcp":"gHashTag/t27:mcp/tri-mcp","mcp/tri-ssot":"gHashTag/t27:mcp/tri-ssot","mcp/trinity":"gHashTag/trinity:mcp/trinity","mcp/zig-docs":"gHashTag/trinity:mcp/zig-docs","tri/abandoned":"gHashTag/t27:tri/abandoned","tri/cell":"gHashTag/t27:tri/cell","tri/census":"gHashTag/t27:tri/census","tri/ci":"gHashTag/t27:tri/ci","tri/competitors":"gHashTag/t27:tri/competitors","tri/discard":"gHashTag/t27:tri/discard","tri/doctor":"gHashTag/t27:tri/doctor","tri/elab":"gHashTag/t27:tri/elab","tri/emit":"gHashTag/t27:tri/emit","tri/experience":"gHashTag/t27:tri/experience","tri/fleet":"gHashTag/t27:tri/fleet","tri/fmt":"gHashTag/t27:tri/fmt","tri/fpga":"gHashTag/t27:tri/fpga","tri/gates":"gHashTag/t27:tri/gates","tri/gen":"gHashTag/t27:tri/gen","tri/harness":"gHashTag/t27:tri/harness","tri/health":"gHashTag/t27:tri/health","tri/hooks":"gHashTag/t27:tri/hooks","tri/issues":"gHashTag/t27:tri/issues","tri/jumps":"gHashTag/t27:tri/jumps","tri/kinds":"gHashTag/t27:tri/kinds","tri/lean":"gHashTag/t27:tri/lean","tri/ledgers":"gHashTag/t27:tri/ledgers","tri/loop":"gHashTag/t27:tri/loop","tri/merging":"gHashTag/t27:tri/merging","tri/misread":"gHashTag/t27:tri/misread","tri/mods":"gHashTag/t27:tri/mods","tri/mutate":"gHashTag/t27:tri/mutate","tri/now":"gHashTag/t27:tri/now","tri/one-away":"gHashTag/t27:tri/one-away","tri/orphaned":"gHashTag/t27:tri/orphaned","tri/pr":"gHashTag/t27:tri/pr","tri/prose":"gHashTag/t27:tri/prose","tri/quantifiers":"gHashTag/t27:tri/quantifiers","tri/red":"gHashTag/t27:tri/red","tri/reseal":"gHashTag/t27:tri/reseal","tri/rtl":"gHashTag/t27:tri/rtl","tri/seals":"gHashTag/t27:tri/seals","tri/serve":"gHashTag/t27:tri/serve","tri/skill":"gHashTag/t27:tri/skill","tri/status":"gHashTag/t27:tri/status","tri/sweep":"gHashTag/t27:tri/sweep","tri/synth":"gHashTag/t27:tri/synth","tri/test":"gHashTag/t27:tri/test","tri/topic":"gHashTag/t27:tri/topic","tri/types":"gHashTag/t27:tri/types","tri/unparsed":"gHashTag/t27:tri/unparsed","tri/vectors":"gHashTag/t27:tri/vectors","tri/verdict":"gHashTag/t27:tri/verdict","tri/vsim":"gHashTag/t27:tri/vsim","tri/window":"gHashTag/t27:tri/window","tri/worktrees":"gHashTag/t27:tri/worktrees"},"pin":{"ref":"93727f733e23baf032d54505095777f16676d70b","source":"public/agents/experience.json sources[t27].commit"},"schema":2,"tools":[{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Filter benchmarks by pattern","name":""},{"about":"string, optional; Output report file","name":""},{"about":"integer, optional; Number of iterations (default: 1000)","name":""}],"collidesWith":null,"command":"tri bench","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Run performance benchmarks","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["benchmark"],"ARGS":[": string, optional; Filter benchmarks by pattern",": string, optional; Output report file",": integer, optional; Number of iterations (default: 1000)"],"CAPABILITIES":["filesystem"],"CATEGORY":"benchmark","COLLIDES_WITH":"","COMMAND":"tri bench","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri bench","tri bench --filter vsa","tri bench --output report.json"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/bench","JOB_TIMEOUT":600,"KIND":"tool","MCP_DISPLAY_NAME":"Performance Benchmarks","MCP_ENABLED":true,"MCP_NAME":"tri_bench","MODE":"job","NAMESPACE":"dev","QUALIFIED_ID":"gHashTag/trinity:tri/bench","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command bench (cli_namespace dev)","WHEN_TO_USE":"Run performance benchmarks","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/bench","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_bench","name":{"en":"tri bench"},"qualifiedId":"gHashTag/trinity:tri/bench","registry":{"aliases":["benchmark"],"capabilities":["filesystem"],"category":"benchmark","examples":["tri bench","tri bench --filter vsa","tri bench --output report.json"],"jobTimeout":600,"mcpDisplayName":"Performance Benchmarks","mcpEnabled":true,"mcpName":"tri_bench","mode":"job","namespace":"dev","sideEffects":["filesystem"],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/bench tri bench run performance benchmarks run performance benchmarks","sha256":"1abd9bd8ba36e27afc61193b4da5cee668fce6a890cc6b7b0c4d44bbe13be5a9","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/bench.t27","summary":{"en":"Run performance benchmarks","ru":"Бенчмарки Trinity."},"typecheckOk":true,"variant":"registry command bench (cli_namespace dev)","whenToUse":"Run performance benchmarks","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; DNA/RNA/Protein sequence","name":""}],"collidesWith":null,"command":"tri bio","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["biology"],"ARGS":[": string, required; DNA/RNA/Protein sequence"],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri bio","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri bio dna ATGCGT","tri bio rna AUGCCAUAA","tri bio protein MVHLTPEEK","tri bio codon ATG"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/bio","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"DNA Analysis","MCP_ENABLED":true,"MCP_NAME":"tri_bio_dna","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/bio","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command bio (cli_namespace core)","WHEN_TO_USE":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/bio","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_bio","name":{"en":"tri bio"},"qualifiedId":"gHashTag/trinity:tri/bio","registry":{"aliases":["biology"],"capabilities":[],"category":"science","examples":["tri bio dna ATGCGT","tri bio rna AUGCCAUAA","tri bio protein MVHLTPEEK","tri bio codon ATG"],"jobTimeout":300,"mcpDisplayName":"DNA Analysis","mcpEnabled":true,"mcpName":"tri_bio_dna","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/bio tri bio biology v14.0 \\u2014 dna/rna/protein sacred analysis biology v14.0 \\u2014 dna/rna/protein sacred analysis","sha256":"e9f0534647b2ff6479e0a03577eeb01d1c529f0973f585eb5c134ae4f819d29a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/bio.t27","summary":{"en":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","ru":"Биология v14.0 — сакральный анализ ДНК, РНК и белков."},"typecheckOk":true,"variant":"registry command bio (cli_namespace core)","whenToUse":"Biology v14.0 \\u2014 DNA/RNA/Protein sacred analysis","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri blindspots","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["blind-spot","blindspot","bs"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri blindspots","ENABLED":true,"ENTRY":"","EXAMPLES":["tri blindspots all","tri blindspots nuclear","tri blindspots atomic","tri blindspots plasma","tri blindspots optics","tri blindspots astro","tri blindspots quantum","tri blindspots condensed","tri blindspots biology-advanced","tri blindspots domains"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/blindspots","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Blind Spots (8 Domains)","MCP_ENABLED":true,"MCP_NAME":"tri_blindspots","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/blindspots","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri blindspots` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command blindspots (cli_namespace core)","WHEN_TO_USE":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/blindspots","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_blindspots","name":{"en":"tri blindspots"},"qualifiedId":"gHashTag/trinity:tri/blindspots","registry":{"aliases":["blind-spot","blindspot","bs"],"capabilities":[],"category":"science","examples":["tri blindspots all","tri blindspots nuclear","tri blindspots atomic","tri blindspots plasma","tri blindspots optics","tri blindspots astro","tri blindspots quantum","tri blindspots condensed","tri blindspots biology-advanced","tri blindspots domains"],"jobTimeout":300,"mcpDisplayName":"Blind Spots (8 Domains)","mcpEnabled":true,"mcpName":"tri_blindspots","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri blindspots` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/blindspots tri blindspots blind spots v1.0 \\u2014 90+ new formulas across 8 domains blind spots v1.0 \\u2014 90+ new formulas across 8 domains","sha256":"ae78ffaeec23f0c29f7aece98aa361e30ae30e923624aba2aad40b23b4a9ef7f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/blindspots.t27","summary":{"en":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","ru":"Слепые пятна: поиск областей, где сакральная формула ещё не проверена."},"typecheckOk":true,"variant":"registry command blindspots (cli_namespace core)","whenToUse":"Blind Spots v1.0 \\u2014 90+ new formulas across 8 domains","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri conscious","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["consciousness"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri conscious","ENABLED":true,"ENTRY":"","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/conscious","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Consciousness Simulator","MCP_ENABLED":true,"MCP_NAME":"tri_consciousness","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/conscious","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri conscious` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command conscious (cli_namespace core)","WHEN_TO_USE":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/conscious","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_conscious","name":{"en":"tri conscious"},"qualifiedId":"gHashTag/trinity:tri/conscious","registry":{"aliases":["consciousness"],"capabilities":[],"category":"science","examples":[],"jobTimeout":300,"mcpDisplayName":"Consciousness Simulator","mcpEnabled":true,"mcpName":"tri_consciousness","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri conscious` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/conscious tri conscious consciousness awakening simulator (iit+gwt+orchor+qutrit+activeinf) consciousness awakening simulator (iit+gwt+orchor+qutrit+activeinf)","sha256":"94a9c3f27d49d51c2cb60355eaaaa9a9f296515a6974afb7c629d7ff00681f54","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/conscious.t27","summary":{"en":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","ru":"Метрики сознания Trinity."},"typecheckOk":true,"variant":"registry command conscious (cli_namespace core)","whenToUse":"Consciousness awakening simulator (IIT+GWT+OrchOR+Qutrit+ActiveInf)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri constants","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["const","c"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri constants","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri constants"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/constants","JOB_TIMEOUT":0,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Constants","MCP_ENABLED":true,"MCP_NAME":"tri_constants","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/constants","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command constants (cli_namespace core)","WHEN_TO_USE":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/constants","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_constants","name":{"en":"tri constants"},"qualifiedId":"gHashTag/trinity:tri/constants","registry":{"aliases":["const","c"],"capabilities":[],"category":"math","examples":["tri constants"],"jobTimeout":0,"mcpDisplayName":"Sacred Constants","mcpEnabled":true,"mcpName":"tri_constants","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/constants tri constants display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5) display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","sha256":"2ab994adcd287776d83e4432dfd098a89121d8d3f8395b9ef2f15dd8cc6fea04","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/constants.t27","summary":{"en":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","ru":"Сакральные константы (phi, pi, e и их соотношения)."},"typecheckOk":true,"variant":"registry command constants (cli_namespace core)","whenToUse":"Display sacred constants (\\u03c6, \\u03c0, e, \\u03bc, \\u03c7, \\u03c3, \\u03b5)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri cosmos","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Cosmology v15.0 \\u2014 Universe through \\u03c6","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["cosmology"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri cosmos","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri cosmos hubble","tri cosmos dark","tri cosmos w-z","tri cosmos lambda-z","tri cosmos phantom","tri cosmos consciousness-de"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/cosmos","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Hubble Tension","MCP_ENABLED":true,"MCP_NAME":"tri_cosmos_hubble","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/cosmos","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command cosmos (cli_namespace core)","WHEN_TO_USE":"Cosmology v15.0 \\u2014 Universe through \\u03c6","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/cosmos","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_cosmos","name":{"en":"tri cosmos"},"qualifiedId":"gHashTag/trinity:tri/cosmos","registry":{"aliases":["cosmology"],"capabilities":[],"category":"science","examples":["tri cosmos hubble","tri cosmos dark","tri cosmos w-z","tri cosmos lambda-z","tri cosmos phantom","tri cosmos consciousness-de"],"jobTimeout":300,"mcpDisplayName":"Hubble Tension","mcpEnabled":true,"mcpName":"tri_cosmos_hubble","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/cosmos tri cosmos cosmology v15.0 \\u2014 universe through \\u03c6 cosmology v15.0 \\u2014 universe through \\u03c6","sha256":"42bf0f894738516bde89899aa41ed960072949d0409958942954da09f598e5bd","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/cosmos.t27","summary":{"en":"Cosmology v15.0 \\u2014 Universe through \\u03c6","ru":"Космология v15.0 — постоянная Хаббла и сакральные космологические константы."},"typecheckOk":true,"variant":"registry command cosmos (cli_namespace core)","whenToUse":"Cosmology v15.0 \\u2014 Universe through \\u03c6","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, optional; Dashboard port","name":""}],"collidesWith":null,"command":"tri dashboard","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred dashboard","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, optional; Dashboard port"],"CAPABILITIES":[],"CATEGORY":"system","COLLIDES_WITH":"","COMMAND":"tri dashboard","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/dashboard","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Dashboard Server","MCP_ENABLED":true,"MCP_NAME":"tri_dashboard_serve","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/dashboard","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command dashboard (cli_namespace core)","WHEN_TO_USE":"Sacred dashboard","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/dashboard","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_dashboard","name":{"en":"tri dashboard"},"qualifiedId":"gHashTag/trinity:tri/dashboard","registry":{"aliases":[],"capabilities":[],"category":"system","examples":[],"jobTimeout":300,"mcpDisplayName":"Dashboard Server","mcpEnabled":true,"mcpName":"tri_dashboard_serve","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/dashboard tri dashboard sacred dashboard sacred dashboard","sha256":"3e84d5413e6db52ac25368c67f1585b67c5c0401f80c30df20c96c626c3b345d","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/dashboard.t27","summary":{"en":"Sacred dashboard","ru":"Панель состояния Trinity."},"typecheckOk":true,"variant":"registry command dashboard (cli_namespace core)","whenToUse":"Sacred dashboard","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Fibonacci index","name":""}],"collidesWith":null,"command":"tri fib","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Fibonacci numbers with BigInt","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["fibonacci"],"ARGS":[": integer, required; Fibonacci index"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri fib","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri fib 10","tri fib 100"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/fib","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Fibonacci","MCP_ENABLED":true,"MCP_NAME":"tri_fib","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/fib","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command fib (cli_namespace core)","WHEN_TO_USE":"Fibonacci numbers with BigInt","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/fib","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_fib","name":{"en":"tri fib"},"qualifiedId":"gHashTag/trinity:tri/fib","registry":{"aliases":["fibonacci"],"capabilities":[],"category":"math","examples":["tri fib 10","tri fib 100"],"jobTimeout":300,"mcpDisplayName":"Fibonacci","mcpEnabled":true,"mcpName":"tri_fib","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/fib tri fib fibonacci numbers with bigint fibonacci numbers with bigint","sha256":"a7a393454d6c7633bfbf3ce21e91dcb7e2232921c6492192b7db580242981ed0","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/fib.t27","summary":{"en":"Fibonacci numbers with BigInt","ru":"Числа Фибоначчи."},"typecheckOk":true,"variant":"registry command fib (cli_namespace core)","whenToUse":"Fibonacci numbers with BigInt","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":"gHashTag/t27:tri/fpga","command":"tri fpga","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"FPGA toolchain via FORGE v2.0 (native Zig)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["forge"],"ARGS":[],"CAPABILITIES":["hardware","filesystem"],"CATEGORY":"dev","COLLIDES_WITH":"gHashTag/t27:tri/fpga","COMMAND":"tri fpga","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri fpga bench","tri fpga verdict","tri fpga run design.json","tri fpga flash design.bit"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/fpga","JOB_TIMEOUT":1800,"KIND":"tool","MCP_DISPLAY_NAME":"FPGA Toolchain","MCP_ENABLED":true,"MCP_NAME":"tri_fpga","MODE":"job","NAMESPACE":"forge","QUALIFIED_ID":"gHashTag/trinity:tri/fpga","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["hardware","filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"experimental","VARIANT":"registry command fpga (cli_namespace forge)","WHEN_TO_USE":"FPGA toolchain via FORGE v2.0 (native Zig)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/fpga","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_fpga","name":{"en":"tri fpga"},"qualifiedId":"gHashTag/trinity:tri/fpga","registry":{"aliases":["forge"],"capabilities":["hardware","filesystem"],"category":"dev","examples":["tri fpga bench","tri fpga verdict","tri fpga run design.json","tri fpga flash design.bit"],"jobTimeout":1800,"mcpDisplayName":"FPGA Toolchain","mcpEnabled":true,"mcpName":"tri_fpga","mode":"job","namespace":"forge","sideEffects":["hardware","filesystem"],"stability":"experimental"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/fpga tri fpga fpga toolchain via forge v2.0 (native zig) fpga toolchain via forge v2.0 (native zig)","sha256":"cd2e83756f6d11ed08e29c26a1c145b8384e56b7b3dd9c2e39e815b739c7190a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/fpga.t27","summary":{"en":"FPGA toolchain via FORGE v2.0 (native Zig)","ru":"FPGA: синтез, прошивка и проверка."},"typecheckOk":true,"variant":"registry command fpga (cli_namespace forge)","whenToUse":"FPGA toolchain via FORGE v2.0 (native Zig)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Text to analyze","name":""},{"about":"string, optional; Language system","name":""}],"collidesWith":null,"command":"tri gematria","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Gematria word value calculator","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, required; Text to analyze",": string, optional; Language system"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri gematria","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri gematria hello"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/gematria","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Gematria","MCP_ENABLED":true,"MCP_NAME":"tri_gematria","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/gematria","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command gematria (cli_namespace core)","WHEN_TO_USE":"Gematria word value calculator","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/gematria","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_gematria","name":{"en":"tri gematria"},"qualifiedId":"gHashTag/trinity:tri/gematria","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri gematria hello"],"jobTimeout":300,"mcpDisplayName":"Gematria","mcpEnabled":true,"mcpName":"tri_gematria","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/gematria tri gematria gematria word value calculator gematria word value calculator","sha256":"ef97c85a18e66c8236579ad970aa519e61b85deb9c2094b7ae5dad85e7d1a767","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/gematria.t27","summary":{"en":"Gematria word value calculator","ru":"Гематрия: числовое значение текста."},"typecheckOk":true,"variant":"registry command gematria (cli_namespace core)","whenToUse":"Gematria word value calculator","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; proposals, vote, treasury, rewards","name":""}],"collidesWith":null,"command":"tri govern","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred governance","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; proposals, vote, treasury, rewards"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri govern","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/govern","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Governance System","MCP_ENABLED":true,"MCP_NAME":"tri_govern","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/govern","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command govern (cli_namespace core)","WHEN_TO_USE":"Sacred governance","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/govern","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_govern","name":{"en":"tri govern"},"qualifiedId":"gHashTag/trinity:tri/govern","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Governance System","mcpEnabled":true,"mcpName":"tri_govern","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/govern tri govern sacred governance sacred governance","sha256":"b354d78a042da1a057338c5bd4bd2e9426ab6540e4b0b24c959782d3793e1538","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/govern.t27","summary":{"en":"Sacred governance","ru":"Управление роем."},"typecheckOk":true,"variant":"registry command govern (cli_namespace core)","whenToUse":"Sacred governance","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri hardware","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Hardware deployment \\u2014 deploy, status, stop nodes","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri hardware","ENABLED":true,"ENTRY":"","EXAMPLES":["tri hardware deploy","tri hardware status"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/hardware","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Hardware Info","MCP_ENABLED":true,"MCP_NAME":"tri_hardware_info","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/hardware","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri hardware` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command hardware (cli_namespace core)","WHEN_TO_USE":"Hardware deployment \\u2014 deploy, status, stop nodes","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/hardware","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_hardware","name":{"en":"tri hardware"},"qualifiedId":"gHashTag/trinity:tri/hardware","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri hardware deploy","tri hardware status"],"jobTimeout":300,"mcpDisplayName":"Hardware Info","mcpEnabled":true,"mcpName":"tri_hardware_info","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri hardware` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/hardware tri hardware hardware deployment \\u2014 deploy, status, stop nodes hardware deployment \\u2014 deploy, status, stop nodes","sha256":"1badc358e7b3bedcded55bfc6aba9c2ff976edde0c930e130560db5de6677787","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/hardware.t27","summary":{"en":"Hardware deployment \\u2014 deploy, status, stop nodes","ru":"Сведения об оборудовании."},"typecheckOk":true,"variant":"registry command hardware (cli_namespace core)","whenToUse":"Hardware deployment \\u2014 deploy, status, stop nodes","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; node, generate, verify, reputation","name":""}],"collidesWith":null,"command":"tri identity","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred identity","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; node, generate, verify, reputation"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri identity","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/identity","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Identity","MCP_ENABLED":true,"MCP_NAME":"tri_identity","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/identity","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command identity (cli_namespace core)","WHEN_TO_USE":"Sacred identity","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/identity","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_identity","name":{"en":"tri identity"},"qualifiedId":"gHashTag/trinity:tri/identity","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Sacred Identity","mcpEnabled":true,"mcpName":"tri_identity","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/identity tri identity sacred identity sacred identity","sha256":"f9fa2056b186e23ed82410422f87a164d198a5d89ff00738b77659b99da9399e","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/identity.t27","summary":{"en":"Sacred identity","ru":"Сакральное тождество phi^2 + 1/phi^2 = 3."},"typecheckOk":true,"variant":"registry command identity (cli_namespace core)","whenToUse":"Sacred identity","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Lucas index","name":""}],"collidesWith":null,"command":"tri lucas","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Lucas numbers (L(2)=3=TRINITY)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Lucas index"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri lucas","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri lucas 10","tri lucas 20"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/lucas","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Lucas Numbers","MCP_ENABLED":true,"MCP_NAME":"tri_lucas","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/lucas","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command lucas (cli_namespace core)","WHEN_TO_USE":"Lucas numbers (L(2)=3=TRINITY)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/lucas","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_lucas","name":{"en":"tri lucas"},"qualifiedId":"gHashTag/trinity:tri/lucas","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri lucas 10","tri lucas 20"],"jobTimeout":300,"mcpDisplayName":"Lucas Numbers","mcpEnabled":true,"mcpName":"tri_lucas","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/lucas tri lucas lucas numbers (l(2)=3=trinity) lucas numbers (l(2)=3=trinity)","sha256":"21a656adb73fbc5fa02c0ae82807e24666fe20c954806a21203ed54b742bb9e6","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/lucas.t27","summary":{"en":"Lucas numbers (L(2)=3=TRINITY)","ru":"Числа Люка."},"typecheckOk":true,"variant":"registry command lucas (cli_namespace core)","whenToUse":"Lucas numbers (L(2)=3=TRINITY)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri mesh","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Global mesh management \\u2014 status, topology, discovery","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri mesh","ENABLED":true,"ENTRY":"","EXAMPLES":["tri mesh status","tri mesh topology","tri mesh discover"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/mesh","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Mesh Status","MCP_ENABLED":true,"MCP_NAME":"tri_mesh_status","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/mesh","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri mesh` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command mesh (cli_namespace core)","WHEN_TO_USE":"Global mesh management \\u2014 status, topology, discovery","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/mesh","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_mesh","name":{"en":"tri mesh"},"qualifiedId":"gHashTag/trinity:tri/mesh","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri mesh status","tri mesh topology","tri mesh discover"],"jobTimeout":300,"mcpDisplayName":"Mesh Status","mcpEnabled":true,"mcpName":"tri_mesh_status","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri mesh` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/mesh tri mesh global mesh management \\u2014 status, topology, discovery global mesh management \\u2014 status, topology, discovery","sha256":"8a2aeb36832b43ec2112a770f943529481e4a7f3ccd52f7b4fdc62e7452978ed","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/mesh.t27","summary":{"en":"Global mesh management \\u2014 status, topology, discovery","ru":"Состояние mesh-сети."},"typecheckOk":true,"variant":"registry command mesh (cli_namespace core)","whenToUse":"Global mesh management \\u2014 status, topology, discovery","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; File to edit","name":""},{"about":"string, optional; Edit query","name":""}],"collidesWith":null,"command":"tri needle","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Structural editor core","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; File to edit",": string, optional; Edit query"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Editor","MCP_ENABLED":true,"MCP_NAME":"tri_needle","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle (cli_namespace core)","WHEN_TO_USE":"Structural editor core","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle","name":{"en":"tri needle"},"qualifiedId":"gHashTag/trinity:tri/needle","registry":{"aliases":[],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Editor","mcpEnabled":true,"mcpName":"tri_needle","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle tri needle structural editor core structural editor core","sha256":"3058e555568a46d707c7eb6bde87b2611b7b3b35d0bc44cf39e69b7105c96836","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle.t27","summary":{"en":"Structural editor core","ru":"Needle: AST-редактирование кода."},"typecheckOk":true,"variant":"registry command needle (cli_namespace core)","whenToUse":"Structural editor core","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; File to check","name":""}],"collidesWith":null,"command":"tri needle-check","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Needle check","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["needle_check"],"ARGS":[": string, optional; File to check"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle-check","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle-check","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Check","MCP_ENABLED":true,"MCP_NAME":"tri_needle_check","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle-check","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle-check (cli_namespace core)","WHEN_TO_USE":"Needle check","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle-check","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle_check","name":{"en":"tri needle-check"},"qualifiedId":"gHashTag/trinity:tri/needle-check","registry":{"aliases":["needle_check"],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Check","mcpEnabled":true,"mcpName":"tri_needle_check","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle-check tri needle-check needle check needle check","sha256":"689a89b90876fa9967656508d3791f3de1a47afe358cbf4d7ccf023fce1c32d5","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle-check.t27","summary":{"en":"Needle check","ru":"Needle: проверка качества кода."},"typecheckOk":true,"variant":"registry command needle-check (cli_namespace core)","whenToUse":"Needle check","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Search pattern","name":""}],"collidesWith":null,"command":"tri needle-search","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Needle search","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["needle_search"],"ARGS":[": string, required; Search pattern"],"CAPABILITIES":[],"CATEGORY":"dev","COLLIDES_WITH":"","COMMAND":"tri needle-search","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/needle-search","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Needle Search","MCP_ENABLED":true,"MCP_NAME":"tri_needle_search","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/needle-search","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command needle-search (cli_namespace core)","WHEN_TO_USE":"Needle search","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/needle-search","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_needle_search","name":{"en":"tri needle-search"},"qualifiedId":"gHashTag/trinity:tri/needle-search","registry":{"aliases":["needle_search"],"capabilities":[],"category":"dev","examples":[],"jobTimeout":300,"mcpDisplayName":"Needle Search","mcpEnabled":true,"mcpName":"tri_needle_search","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/needle-search tri needle-search needle search needle search","sha256":"d596ee91ec23d39cb905e0ddc7dffc504c532952a2fb0fe7ed64438db707779c","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/needle-search.t27","summary":{"en":"Needle search","ru":"Needle: поиск по шаблону в коде."},"typecheckOk":true,"variant":"registry command needle-search (cli_namespace core)","whenToUse":"Needle search","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri omega","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Omega phase","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri omega","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/omega","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Omega Status","MCP_ENABLED":true,"MCP_NAME":"tri_omega_status","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/omega","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command omega (cli_namespace core)","WHEN_TO_USE":"Omega phase","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/omega","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_omega","name":{"en":"tri omega"},"qualifiedId":"gHashTag/trinity:tri/omega","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Omega Status","mcpEnabled":true,"mcpName":"tri_omega_status","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/omega tri omega omega phase omega phase","sha256":"e03bddbb9708c94b3c44f5a3b2aef4ac440d53c9328c75ae8b6c37fb9a21959f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/omega.t27","summary":{"en":"Omega phase","ru":"Состояние Omega."},"typecheckOk":true,"variant":"registry command omega (cli_namespace core)","whenToUse":"Omega phase","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri particles","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Particle physics sacred formulas (49 constants from \\u03c6)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["particle","pdg"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri particles","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri particles","tri particles all","tri particles tier1","tri particles search alpha_s"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/particles","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Particle Physics Sacred","MCP_ENABLED":true,"MCP_NAME":"tri_particles","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/particles","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command particles (cli_namespace core)","WHEN_TO_USE":"Particle physics sacred formulas (49 constants from \\u03c6)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/particles","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_particles","name":{"en":"tri particles"},"qualifiedId":"gHashTag/trinity:tri/particles","registry":{"aliases":["particle","pdg"],"capabilities":[],"category":"science","examples":["tri particles","tri particles all","tri particles tier1","tri particles search alpha_s"],"jobTimeout":300,"mcpDisplayName":"Particle Physics Sacred","mcpEnabled":true,"mcpName":"tri_particles","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/particles tri particles particle physics sacred formulas (49 constants from \\u03c6) particle physics sacred formulas (49 constants from \\u03c6)","sha256":"de48a64950df41b2344a8bed9ad969eb6776456406b9c68c469cba8c13b3ac7e","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/particles.t27","summary":{"en":"Particle physics sacred formulas (49 constants from \\u03c6)","ru":"Физика частиц: константы и массы."},"typecheckOk":true,"variant":"registry command particles (cli_namespace core)","whenToUse":"Particle physics sacred formulas (49 constants from \\u03c6)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Power of phi","name":""}],"collidesWith":null,"command":"tri phi","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Compute \\u03c6\\u207f (golden ratio power)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Power of phi"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri phi","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri phi 10","tri phi 100"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/phi","JOB_TIMEOUT":0,"KIND":"tool","MCP_DISPLAY_NAME":"Phi Power","MCP_ENABLED":true,"MCP_NAME":"tri_phi","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/phi","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command phi (cli_namespace core)","WHEN_TO_USE":"Compute \\u03c6\\u207f (golden ratio power)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/phi","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_phi","name":{"en":"tri phi"},"qualifiedId":"gHashTag/trinity:tri/phi","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri phi 10","tri phi 100"],"jobTimeout":0,"mcpDisplayName":"Phi Power","mcpEnabled":true,"mcpName":"tri_phi","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/phi tri phi compute \\u03c6\\u207f (golden ratio power) compute \\u03c6\\u207f (golden ratio power)","sha256":"293d2f0f3dd1ad97dcc7e6485a9285d91ba36deb71ec7520b80523877a2c8405","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/phi.t27","summary":{"en":"Compute \\u03c6\\u207f (golden ratio power)","ru":"Золотое сечение phi и его степени."},"typecheckOk":true,"variant":"registry command phi (cli_namespace core)","whenToUse":"Compute \\u03c6\\u207f (golden ratio power)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri quantum","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Quantum Trinity","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri quantum","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/quantum","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Quantum Constants","MCP_ENABLED":true,"MCP_NAME":"tri_quantum_constants","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/quantum","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command quantum (cli_namespace core)","WHEN_TO_USE":"Quantum Trinity","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/quantum","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_quantum","name":{"en":"tri quantum"},"qualifiedId":"gHashTag/trinity:tri/quantum","registry":{"aliases":[],"capabilities":[],"category":"science","examples":[],"jobTimeout":300,"mcpDisplayName":"Quantum Constants","mcpEnabled":true,"mcpName":"tri_quantum_constants","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/quantum tri quantum quantum trinity quantum trinity","sha256":"8d982321638e3fbde1a0a9ac40ad051614868d399025685f5b4d580ec86a1656","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/quantum.t27","summary":{"en":"Quantum Trinity","ru":"Квантовые константы."},"typecheckOk":true,"variant":"registry command quantum (cli_namespace core)","whenToUse":"Quantum Trinity","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri reputation","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Reputation system \\u2014 show node reputation, leaderboard","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["rep"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri reputation","ENABLED":true,"ENTRY":"","EXAMPLES":["tri reputation show","tri reputation leaderboard"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/reputation","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Reputation Leaderboard","MCP_ENABLED":true,"MCP_NAME":"tri_omega_reputation","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/reputation","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri reputation` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command reputation (cli_namespace core)","WHEN_TO_USE":"Reputation system \\u2014 show node reputation, leaderboard","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/reputation","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_reputation","name":{"en":"tri reputation"},"qualifiedId":"gHashTag/trinity:tri/reputation","registry":{"aliases":["rep"],"capabilities":[],"category":"depin","examples":["tri reputation show","tri reputation leaderboard"],"jobTimeout":300,"mcpDisplayName":"Reputation Leaderboard","mcpEnabled":true,"mcpName":"tri_omega_reputation","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri reputation` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/reputation tri reputation reputation system \\u2014 show node reputation, leaderboard reputation system \\u2014 show node reputation, leaderboard","sha256":"ce0352d36e43b44480a79b3333031e61f637feda0bd474b8af6b239364a030cb","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/reputation.t27","summary":{"en":"Reputation system \\u2014 show node reputation, leaderboard","ru":"Репутация узла Omega."},"typecheckOk":true,"variant":"registry command reputation (cli_namespace core)","whenToUse":"Reputation system \\u2014 show node reputation, leaderboard","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Target constant (phi2_pi2, e_pi, etc.)","name":""},{"about":"integer, optional; Number of CORDIC stages","name":""},{"about":"integer, optional; Data width in bits","name":""},{"about":"string, optional; Output Verilog file","name":""}],"collidesWith":null,"command":"tri sacred-const","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred constants FPGA synthesis (0 DSP48)","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["sacred_constants","sacred-fpga"],"ARGS":[": string, optional; Target constant (phi2_pi2, e_pi, etc.)",": integer, optional; Number of CORDIC stages",": integer, optional; Data width in bits",": string, optional; Output Verilog file"],"CAPABILITIES":["filesystem"],"CATEGORY":"advanced","COLLIDES_WITH":"","COMMAND":"tri sacred-const","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri sacred-const phi-arith","tri sacred-const cordic-sacred","tri sacred-const const-rom"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/sacred-const","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Sacred Constants FPGA","MCP_ENABLED":true,"MCP_NAME":"tri_sacred_const_fpga","MODE":"job","NAMESPACE":"forge","QUALIFIED_ID":"gHashTag/trinity:tri/sacred-const","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"experimental","VARIANT":"registry command sacred-const (cli_namespace forge)","WHEN_TO_USE":"Sacred constants FPGA synthesis (0 DSP48)","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/sacred-const","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_sacred_const","name":{"en":"tri sacred-const"},"qualifiedId":"gHashTag/trinity:tri/sacred-const","registry":{"aliases":["sacred_constants","sacred-fpga"],"capabilities":["filesystem"],"category":"advanced","examples":["tri sacred-const phi-arith","tri sacred-const cordic-sacred","tri sacred-const const-rom"],"jobTimeout":300,"mcpDisplayName":"Sacred Constants FPGA","mcpEnabled":true,"mcpName":"tri_sacred_const_fpga","mode":"job","namespace":"forge","sideEffects":["filesystem"],"stability":"experimental"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/sacred-const tri sacred-const sacred constants fpga synthesis (0 dsp48) sacred constants fpga synthesis (0 dsp48)","sha256":"6adddc181a2303061a5805b40022f137ec1c1e53b8356733092a3e97182e4a3c","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/sacred-const.t27","summary":{"en":"Sacred constants FPGA synthesis (0 DSP48)","ru":"Сакральные константы для FPGA."},"typecheckOk":true,"variant":"registry command sacred-const (cli_namespace forge)","whenToUse":"Sacred constants FPGA synthesis (0 DSP48)","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"integer, required; Number of spiral points","name":""}],"collidesWith":null,"command":"tri spiral","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"\\u03c6-spiral coordinates","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": integer, required; Number of spiral points"],"CAPABILITIES":[],"CATEGORY":"math","COLLIDES_WITH":"","COMMAND":"tri spiral","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri spiral 10"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/spiral","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Phi Spiral","MCP_ENABLED":true,"MCP_NAME":"tri_spiral","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/spiral","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command spiral (cli_namespace core)","WHEN_TO_USE":"\\u03c6-spiral coordinates","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/spiral","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_spiral","name":{"en":"tri spiral"},"qualifiedId":"gHashTag/trinity:tri/spiral","registry":{"aliases":[],"capabilities":[],"category":"math","examples":["tri spiral 10"],"jobTimeout":300,"mcpDisplayName":"Phi Spiral","mcpEnabled":true,"mcpName":"tri_spiral","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/spiral tri spiral \\u03c6-spiral coordinates \\u03c6-spiral coordinates","sha256":"d470286a2fffe65a4db790f6a3e2f869df079c8b225669a283becb0236677386","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/spiral.t27","summary":{"en":"\\u03c6-spiral coordinates","ru":"Золотая спираль: координаты точек."},"typecheckOk":true,"variant":"registry command spiral (cli_namespace core)","whenToUse":"\\u03c6-spiral coordinates","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; status, coordinator, agents, tasks, converge","name":""}],"collidesWith":null,"command":"tri swarm","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Sacred swarm intelligence","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, optional; status, coordinator, agents, tasks, converge"],"CAPABILITIES":[],"CATEGORY":"sacred","COLLIDES_WITH":"","COMMAND":"tri swarm","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":[],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/swarm","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Swarm Intelligence","MCP_ENABLED":true,"MCP_NAME":"tri_swarm","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/swarm","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command swarm (cli_namespace core)","WHEN_TO_USE":"Sacred swarm intelligence","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/swarm","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_swarm","name":{"en":"tri swarm"},"qualifiedId":"gHashTag/trinity:tri/swarm","registry":{"aliases":[],"capabilities":[],"category":"sacred","examples":[],"jobTimeout":300,"mcpDisplayName":"Swarm Intelligence","mcpEnabled":true,"mcpName":"tri_swarm","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/swarm tri swarm sacred swarm intelligence sacred swarm intelligence","sha256":"7b4d45dc89ac177958625f180a55cc0564880cab1f2acb52e6123802096a272f","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/swarm.t27","summary":{"en":"Sacred swarm intelligence","ru":"Состояние роя агентов."},"typecheckOk":true,"variant":"registry command swarm (cli_namespace core)","whenToUse":"Sacred swarm intelligence","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, required; Path to file to test","name":""},{"about":"string, optional; Output test file path","name":""},{"about":"boolean, optional; Include coverage markers","name":""}],"collidesWith":"gHashTag/t27:tri/test","command":"tri test","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Generate comprehensive test suites","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":[": string, required; Path to file to test",": string, optional; Output test file path",": boolean, optional; Include coverage markers"],"CAPABILITIES":["filesystem"],"CATEGORY":"dev","COLLIDES_WITH":"gHashTag/t27:tri/test","COMMAND":"tri test","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri test src/vsa.zig","tri test src/math/commands.zig --output tests/math_test.zig","tri test src/crypto.zig --coverage"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/test","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Test Generator","MCP_ENABLED":true,"MCP_NAME":"tri_test","MODE":"job","NAMESPACE":"dev","QUALIFIED_ID":"gHashTag/trinity:tri/test","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"parse_command","ROUTE_NOTE":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","SCHEMA":2,"SIDE_EFFECTS":["filesystem"],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command test (cli_namespace dev)","WHEN_TO_USE":"Generate comprehensive test suites","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/test","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_test","name":{"en":"tri test"},"qualifiedId":"gHashTag/trinity:tri/test","registry":{"aliases":[],"capabilities":["filesystem"],"category":"dev","examples":["tri test src/vsa.zig","tri test src/math/commands.zig --output tests/math_test.zig","tri test src/crypto.zig --coverage"],"jobTimeout":300,"mcpDisplayName":"Test Generator","mcpEnabled":true,"mcpName":"tri_test","mode":"job","namespace":"dev","sideEffects":["filesystem"],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"parse_command","note":"named by parseCommand of src/tri/tri_utils.zig only; whether its arm executes or prints not-implemented is not measured","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/test tri test generate comprehensive test suites generate comprehensive test suites","sha256":"ac05a41e5d3f54a99466f848a89d6c13c12f300b3ff31994677cc9b4c429be34","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/test.t27","summary":{"en":"Generate comprehensive test suites","ru":"Запуск тестов Trinity."},"typecheckOk":true,"variant":"registry command test (cli_namespace dev)","whenToUse":"Generate comprehensive test suites","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[],"collidesWith":null,"command":"tri vsa","discarded":0,"entry":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Vector Symbolic Architecture operations","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":["vector-symbolic"],"ARGS":[],"CAPABILITIES":[],"CATEGORY":"science","COLLIDES_WITH":"","COMMAND":"tri vsa","ENABLED":true,"ENTRY":"src/tri/tri_register.zig execute_map, reached through src/tri/main.zig","EXAMPLES":["tri vsa bind alice bob","tri vsa similarity cat dog","tri vsa memory show stats"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/vsa","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"VSA Operations","MCP_ENABLED":true,"MCP_NAME":"tri_vsa_bind","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/vsa","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":true,"ROUTE_KIND":"execute_map","ROUTE_NOTE":"named by a live execute_map entry of src/tri/tri_register.zig","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command vsa (cli_namespace core)","WHEN_TO_USE":"Vector Symbolic Architecture operations","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/vsa","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_vsa","name":{"en":"tri vsa"},"qualifiedId":"gHashTag/trinity:tri/vsa","registry":{"aliases":["vector-symbolic"],"capabilities":[],"category":"science","examples":["tri vsa bind alice bob","tri vsa similarity cat dog","tri vsa memory show stats"],"jobTimeout":300,"mcpDisplayName":"VSA Operations","mcpEnabled":true,"mcpName":"tri_vsa_bind","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"execute_map","note":"named by a live execute_map entry of src/tri/tri_register.zig","routed":true},"schema":2,"searchText":"ghashtag/trinity:tri/vsa tri vsa vector symbolic architecture operations vector symbolic architecture operations","sha256":"90a98d73cbabf43baef032e5a8522a1e6aaf22c3ad5e89bcb4a1f4389d9698d3","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/vsa.t27","summary":{"en":"Vector Symbolic Architecture operations","ru":"VSA: связывание векторов."},"typecheckOk":true,"variant":"registry command vsa (cli_namespace core)","whenToUse":"Vector Symbolic Architecture operations","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".trinity/registry.json description (exported by src/registry/export_cli.zig)","actions":[],"agents":[],"args":[{"about":"string, optional; Wallet address","name":"
"}],"collidesWith":null,"command":"tri wallet","discarded":0,"entry":"","exitCodes":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"family":"tri-cli","fields":{"ABOUT":"Wallet management \\u2014 connect, balance, claim rewards","ABOUT_SOURCE":".trinity/registry.json description (exported by src/registry/export_cli.zig)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md and .claude/agents/*.md of gHashTag/t27 name the t27 tri, not this binary.","ALIASES":[],"ARGS":["
: string, optional; Wallet address"],"CAPABILITIES":[],"CATEGORY":"depin","COLLIDES_WITH":"","COMMAND":"tri wallet","ENABLED":true,"ENTRY":"","EXAMPLES":["tri wallet connect metamask","tri wallet balance","tri wallet claim 50.0"],"EXIT_CODES":["0: every path that returns to main, including UnifiedOutput status failure or denied","1: only where a handler calls std.process.exit (not-implemented arms, cell dispatch failures)"],"FAMILY":"tri-cli","ID":"gHashTag/trinity:tri/wallet","JOB_TIMEOUT":300,"KIND":"tool","MCP_DISPLAY_NAME":"Wallet Balance","MCP_ENABLED":true,"MCP_NAME":"tri_wallet_balance","MODE":"sync","NAMESPACE":"core","QUALIFIED_ID":"gHashTag/trinity:tri/wallet","REPO":"gHashTag/trinity","RESULT":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","ROUTED":false,"ROUTE_KIND":"none","ROUTE_NOTE":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri wallet` reaches no handler and its MCP tool has no CLI behind it","SCHEMA":2,"SIDE_EFFECTS":[],"SOURCE":"src/registry/command_table.zig","STABILITY":"stable","VARIANT":"registry command wallet (cli_namespace core)","WHEN_TO_USE":"Wallet management \\u2014 connect, balance, claim rewards","WITNESS":"registry-export","WITNESS_SOURCE":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},"health":"ok","id":"gHashTag/trinity:tri/wallet","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/src/registry/command_table.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_trinity_tri_wallet","name":{"en":"tri wallet"},"qualifiedId":"gHashTag/trinity:tri/wallet","registry":{"aliases":[],"capabilities":[],"category":"depin","examples":["tri wallet connect metamask","tri wallet balance","tri wallet claim 50.0"],"jobTimeout":300,"mcpDisplayName":"Wallet Balance","mcpEnabled":true,"mcpName":"tri_wallet_balance","mode":"sync","namespace":"core","sideEffects":[],"stability":"stable"},"repo":"gHashTag/trinity","result":"UnifiedOutput (text or --json) with status success|failure|partial|canceled|denied|timeout; UNKNOWN_COMMAND is reported as status denied with exit 0; the sysexits mapping of src/tri/observability.zig is dead code","routing":{"kind":"none","note":"not named by any dispatcher at the pin: its execute_map entry is commented out or absent, so `tri wallet` reaches no handler and its MCP tool has no CLI behind it","routed":false},"schema":2,"searchText":"ghashtag/trinity:tri/wallet tri wallet wallet management \\u2014 connect, balance, claim rewards wallet management \\u2014 connect, balance, claim rewards","sha256":"eb15c59465bc42b003a394b15261ba2da9101faba2459665e7ad9b3a8ca51f6a","skills":[],"source":"src/registry/command_table.zig","specPath":"specs/tools/trinity/tri/wallet.t27","summary":{"en":"Wallet management \\u2014 connect, balance, claim rewards","ru":"Баланс кошелька DePIN."},"typecheckOk":true,"variant":"registry command wallet (cli_namespace core)","whenToUse":"Wallet management \\u2014 connect, balance, claim rewards","witness":"registry-export","witnessSource":".trinity/registry.json at 976df5174 (version 1.0.0, generated_at 1773041968), exported by `zig build export-registry` and held to the binary by .github/workflows/ci.yml"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":["GITBUTLER_REPO"],"external":true,"family":"mcp","fields":{"ABOUT":"External GitButler MCP server launched as `but mcp`; the repository only registers it in .mcp.json.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["GITBUTLER_REPO"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/gitbutler","KIND":"tool","LAUNCH":"but mcp","QUALIFIED_ID":"gHashTag/t27:mcp/gitbutler","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"gitbutler","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external `but` binary, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/gitbutler","inSpecCorpus":false,"launch":"but mcp","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_gitbutler","name":{"en":"gitbutler"},"qualifiedId":"gHashTag/t27:mcp/gitbutler","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/gitbutler gitbutler external gitbutler mcp server launched as `but mcp`; the repository only registers it in .mcp.json.","server":"gitbutler","serverVersion":"","sha256":"488ff443b895b38f10748ab28238d7a9348819df4e53af1fa7adcc4bbacf3992","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/gitbutler.t27","summary":{"en":"External GitButler MCP server launched as `but mcp`; the repository only registers it in .mcp.json.","ru":"Внешний MCP-сервер GitButler, запускаемый как `but mcp`; репозиторий лишь регистрирует его в .mcp.json."},"tools":[],"toolsNote":"Tool list lives in the external `but` binary, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"serverInfo.title of the initialize answer plus specs/automation/inngest-queen-scheduler.t27","agents":[{"letter":"T","ok":true}],"config":"","discarded":0,"env":["INNGEST_SIGNING_KEY"],"external":true,"family":"mcp","fields":{"ABOUT":"MCP face of the self-hosted Inngest server (Railway project 999) that runs the Queen's crons and skills as functions of the app t27-queen; lists apps and functions, reads runs and traces, invokes, reruns and cancels.","ABOUT_SOURCE":"serverInfo.title of the initialize answer plus specs/automation/inngest-queen-scheduler.t27","AGENTS":["T"],"AGENTS_NOTE":"specs/agents/t.t27 TOOLS names mcp/inngest-dev: the Queen (Tau) holds the scheduler; a bee reaches it through the Queen's brief, not by its own registration.","CONFIG":"","ENABLED":true,"ENV":["INNGEST_SIGNING_KEY"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/inngest-dev","KIND":"tool","LAUNCH":"claude mcp add --transport http inngest-dev https://inngestinngest-production-c468.up.railway.app/mcp","QUALIFIED_ID":"gHashTag/t27:mcp/inngest-dev","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"inngest-dev","SERVER_VERSION":"1.0.0","SOURCE":"tools/list of https://inngestinngest-production-c468.up.railway.app/mcp (2026-09-13)","TOOLS":["cancel_run","get_app","get_apps","get_event_runs","get_function","get_run","get_run_status","get_run_trace","grep_docs","health","invoke_function","invoke_function_sync","list_docs","list_function_runs","list_functions","list_runs","poll_run_status","read_doc","rerun","send_event"],"TOOLS_ABOUT":["Cancels an in-progress function run","Fetches details for a single app, including sync metadata and function count","Lists active apps in the authenticated environment. Set archived to true to list archived apps instead.","Lists function runs triggered by a specific event","Fetches function configuration and status details for a function within an app","Fetches the canonical run summary for a single function run","Deprecated compatibility tool retained for existing dev server integrations. Use get_run and get_run_trace for new integrations. Parameters:","Fetches the trace tree for a single function run","Search documentation using exact string matching (grep). Useful for finding specific API names, error codes, or identifiers. Parameters: pat","Returns the health status of the API service","Invokes a function, executing the function either asynchronously or synchronously based on the mode parameter in the request body","Deprecated compatibility tool retained for existing dev server integrations. Use invoke_function for the shared asynchronous Cloud and dev s","List all available documentation categories and their document counts. No parameters required.","Lists runs for one function in the authenticated environment","Lists function configuration and status details for an app","Lists runs in the authenticated environment, optionally filtered by app and function IDs","Deprecated compatibility tool retained for existing dev server integrations. Use get_run for new integrations. Poll multiple function runs u","Read the full content of a specific documentation file. Parameters: path (required string - the doc file path relative to docs directory)","Creates a new run using the original run's triggering event data","Deprecated compatibility tool retained for existing dev server integrations. Send an event to the Inngest dev server and return the event ID"],"TOOLS_INPUTS":["runId","appId","archived,cursor,limit","cursor,eventId,includeOutput,limit","appId,functionId","includeOutput,runId","runId","includeOutput,runId","pattern,limit","","appId,data,functionId,idempotencyKey","functionId,data,user,timeout","","appId,cursor,from,functionId,includeOutput,isDeferred,limit,order,status,timeField,until","appId,cursor,limit","appId,cursor,from,functionId,includeOutput,isDeferred,limit,order,status,timeField,until","runIds,timeout,pollInterval","path","fromStep,runId","name,data,user,eventIdSeed"],"TOOLS_NOTE":"Recorded from the live tools/list, not from source: the server is the upstream inngest binary, its source is not in this repository. Measured 2026-09-13 without a key: health, get_apps and list_runs answer REST API v2 returned HTTP 401: Authentication failed; list_docs and grep_docs answer (173 documents). The REST-backed tools need Authorization: Bearer on the MCP request.","TRANSPORT":"http","WITNESS":"help-output"},"health":"ok","id":"mcp/inngest-dev","inSpecCorpus":false,"launch":"claude mcp add --transport http inngest-dev https://inngestinngest-production-c468.up.railway.app/mcp","links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/tools/list of https://inngestinngest-production-c468.up.railway.app/mcp (2026-09-13)"},"messages":["external package: tool list not in the repository"],"moduleName":"tool_mcp_inngest_dev","name":{"en":"inngest-dev"},"qualifiedId":"gHashTag/t27:mcp/inngest-dev","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/inngest-dev inngest-dev mcp face of the self-hosted inngest server (railway project 999) that runs the queen's crons and skills as functions of the app t27-queen; lists apps and functions, reads runs and traces, invokes, reruns and cancels. cancel_run cancels an in-progress function run get_app fetches details for a single app, including sync metadata and function count get_apps lists active apps in the authenticated environment. set archived to true to list archived apps instead. get_event_runs lists function runs triggered by a specific event get_function fetches function configuration and status details for a function within an app get_run fetches the canonical run summary for a single function run get_run_status deprecated compatibility tool retained for existing dev server integrations. use get_run and get_run_trace for new integrations. parameters: get_run_trace fetches the trace tree for a single function run grep_docs search documentation using exact string matching (grep). useful for finding specific api names, error codes, or identifiers. parameters: pat health returns the health status of the api service invoke_function invokes a function, executing the function either asynchronously or synchronously based on the mode parameter in the request body invoke_function_sync deprecated compatibility tool retained for existing dev server integrations. use invoke_function for the shared asynchronous cloud and dev s list_docs list all available documentation categories and their document counts. no parameters required. list_function_runs lists runs for one function in the authenticated environment list_functions lists function configuration and status details for an app list_runs lists runs in the authenticated environment, optionally filtered by app and function ids poll_run_status deprecated compatibility tool retained for existing dev server integrations. use get_run for new integrations. poll multiple function runs u read_doc read the full content of a specific documentation file. parameters: path (required string - the doc file path relative to docs directory) rerun creates a new run using the original run's triggering event data send_event deprecated compatibility tool retained for existing dev server integrations. send an event to the inngest dev server and return the event id t","server":"inngest-dev","serverVersion":"1.0.0","sha256":"a0aad75ce804fcc056130bab7bd9b40af7145467cb0f0b93ed1147a2c6b89f8e","skills":[],"source":"tools/list of https://inngestinngest-production-c468.up.railway.app/mcp (2026-09-13)","specPath":"specs/tools/mcp/inngest-dev.t27","summary":{"en":"MCP face of the self-hosted Inngest server (Railway project 999) that runs the Queen's crons and skills as functions of the app t27-queen; lists apps and functions, reads runs and traces, invokes, reruns and cancels.","ru":"MCP-лицо самостоятельно размещённого сервера Inngest (проект Railway 999), который исполняет кроны и скиллы Королевы как функции приложения t27-queen; перечисляет приложения и функции, читает запуски и трассы, запускает, перезапускает и отменяет."},"tools":[{"about":"Cancels an in-progress function run","inputs":["runId"],"name":"cancel_run"},{"about":"Fetches details for a single app, including sync metadata and function count","inputs":["appId"],"name":"get_app"},{"about":"Lists active apps in the authenticated environment. Set archived to true to list archived apps instead.","inputs":["archived","cursor","limit"],"name":"get_apps"},{"about":"Lists function runs triggered by a specific event","inputs":["cursor","eventId","includeOutput","limit"],"name":"get_event_runs"},{"about":"Fetches function configuration and status details for a function within an app","inputs":["appId","functionId"],"name":"get_function"},{"about":"Fetches the canonical run summary for a single function run","inputs":["includeOutput","runId"],"name":"get_run"},{"about":"Deprecated compatibility tool retained for existing dev server integrations. Use get_run and get_run_trace for new integrations. Parameters:","inputs":["runId"],"name":"get_run_status"},{"about":"Fetches the trace tree for a single function run","inputs":["includeOutput","runId"],"name":"get_run_trace"},{"about":"Search documentation using exact string matching (grep). Useful for finding specific API names, error codes, or identifiers. Parameters: pat","inputs":["pattern","limit"],"name":"grep_docs"},{"about":"Returns the health status of the API service","inputs":[],"name":"health"},{"about":"Invokes a function, executing the function either asynchronously or synchronously based on the mode parameter in the request body","inputs":["appId","data","functionId","idempotencyKey"],"name":"invoke_function"},{"about":"Deprecated compatibility tool retained for existing dev server integrations. Use invoke_function for the shared asynchronous Cloud and dev s","inputs":["functionId","data","user","timeout"],"name":"invoke_function_sync"},{"about":"List all available documentation categories and their document counts. No parameters required.","inputs":[],"name":"list_docs"},{"about":"Lists runs for one function in the authenticated environment","inputs":["appId","cursor","from","functionId","includeOutput","isDeferred","limit","order","status","timeField","until"],"name":"list_function_runs"},{"about":"Lists function configuration and status details for an app","inputs":["appId","cursor","limit"],"name":"list_functions"},{"about":"Lists runs in the authenticated environment, optionally filtered by app and function IDs","inputs":["appId","cursor","from","functionId","includeOutput","isDeferred","limit","order","status","timeField","until"],"name":"list_runs"},{"about":"Deprecated compatibility tool retained for existing dev server integrations. Use get_run for new integrations. Poll multiple function runs u","inputs":["runIds","timeout","pollInterval"],"name":"poll_run_status"},{"about":"Read the full content of a specific documentation file. Parameters: path (required string - the doc file path relative to docs directory)","inputs":["path"],"name":"read_doc"},{"about":"Creates a new run using the original run's triggering event data","inputs":["fromStep","runId"],"name":"rerun"},{"about":"Deprecated compatibility tool retained for existing dev server integrations. Send an event to the Inngest dev server and return the event ID","inputs":["name","data","user","eventIdSeed"],"name":"send_event"}],"toolsNote":"Recorded from the live tools/list, not from source: the server is the upstream inngest binary, its source is not in this repository. Measured 2026-09-13 without a key: health, get_apps and list_runs answer REST API v2 returned HTTP 401: Authentication failed; list_docs and grep_docs answer (173 documents). The REST-backed tools need Authorization: Bearer on the MCP request.","transport":"http","typecheckOk":true,"witness":"help-output"},{"aboutSource":"derived from the tool descriptions in tools/mcp/needle_mcp/server.zig","agents":[],"config":".claude-plugin/.mcp.json","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"Zig MCP server for AST-aware code editing (needle): structural search and replace, quality gates, preview.","ABOUT_SOURCE":"derived from the tool descriptions in tools/mcp/needle_mcp/server.zig","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude-plugin/.mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/needle","KIND":"tool","LAUNCH":"/zig-out/bin/needle-mcp","QUALIFIED_ID":"gHashTag/trinity:mcp/needle","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"needle","SERVER_VERSION":"","SOURCE":"tools/mcp/needle_mcp/server.zig","TOOLS":["needle_structural_replace","needle_search","needle_quality_gates","needle_preview","needle_batch_edit","needle_autonomous_refactor"],"TOOLS_ABOUT":["Apply AST-aware code edit with Tier 0->1 fallback and safety gates","Search codebase for pattern matches with confidence scores","Run quality gates: parse check, AST analysis, violation detection","Preview edit diff without applying changes","Apply multiple edits in a single operation","Execute Ralph Loop: intent-aware refactoring using semantic search + HNSW + VSA validation"],"TOOLS_INPUTS":["","","","","",""],"TOOLS_NOTE":"Input schema keys were not extracted for this server (schemas are inline Zig literals); names and descriptions only. The .claude-plugin/.mcp.json command is an absolute path into a developer checkout; its home prefix is written as here (no home paths in specs).","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/needle","inSpecCorpus":false,"launch":"/zig-out/bin/needle-mcp","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.claude-plugin/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/tools/mcp/needle_mcp/server.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_needle","name":{"en":"needle"},"qualifiedId":"gHashTag/trinity:mcp/needle","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/needle needle zig mcp server for ast-aware code editing (needle): structural search and replace, quality gates, preview. needle_structural_replace apply ast-aware code edit with tier 0->1 fallback and safety gates needle_search search codebase for pattern matches with confidence scores needle_quality_gates run quality gates: parse check, ast analysis, violation detection needle_preview preview edit diff without applying changes needle_batch_edit apply multiple edits in a single operation needle_autonomous_refactor execute ralph loop: intent-aware refactoring using semantic search + hnsw + vsa validation","server":"needle","serverVersion":"","sha256":"e2bff492844bb71720dc0caa8615e6025c5bcbf68978e17da5e89ef661adb563","skills":[],"source":"tools/mcp/needle_mcp/server.zig","specPath":"specs/tools/mcp/needle.t27","summary":{"en":"Zig MCP server for AST-aware code editing (needle): structural search and replace, quality gates, preview.","ru":"MCP-сервер на Zig для AST-осознанного редактирования кода (needle): структурный поиск и замена, гейты качества, предпросмотр."},"tools":[{"about":"Apply AST-aware code edit with Tier 0->1 fallback and safety gates","inputs":[],"name":"needle_structural_replace"},{"about":"Search codebase for pattern matches with confidence scores","inputs":[],"name":"needle_search"},{"about":"Run quality gates: parse check, AST analysis, violation detection","inputs":[],"name":"needle_quality_gates"},{"about":"Preview edit diff without applying changes","inputs":[],"name":"needle_preview"},{"about":"Apply multiple edits in a single operation","inputs":[],"name":"needle_batch_edit"},{"about":"Execute Ralph Loop: intent-aware refactoring using semantic search + HNSW + VSA validation","inputs":[],"name":"needle_autonomous_refactor"}],"toolsNote":"Input schema keys were not extracted for this server (schemas are inline Zig literals); names and descriptions only. The .claude-plugin/.mcp.json command is an absolute path into a developer checkout; its home prefix is written as here (no home paths in specs).","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":["NEON_API_KEY"],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["NEON_API_KEY"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/neon","KIND":"tool","LAUNCH":"npx -y @neondatabase/mcp-server-neon start","QUALIFIED_ID":"gHashTag/trinity:mcp/neon","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"neon","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/neon","inSpecCorpus":false,"launch":"npx -y @neondatabase/mcp-server-neon start","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_neon","name":{"en":"neon"},"qualifiedId":"gHashTag/trinity:mcp/neon","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/neon neon external mcp server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","server":"neon","serverVersion":"","sha256":"7bf7cec4562d12aa0f4d9928b70cec5fd4db6ed6f35b52d2a9286f0f932eeb24","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/neon.t27","summary":{"en":"External MCP server `neon` registered in .mcp.json; launched as `npx -y @neondatabase/mcp-server-neon start`.","ru":"Внешний MCP-сервер `neon`, зарегистрированный в .mcp.json; запускается как `npx -y @neondatabase/mcp-server-neon start`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".claude/mcp.json entry; no tool list in this repository","agents":[],"config":".claude/mcp.json","discarded":0,"env":["NOTEBOOKLM_STORAGE_STATE"],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","ABOUT_SOURCE":".claude/mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude/mcp.json","ENABLED":true,"ENV":["NOTEBOOKLM_STORAGE_STATE"],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/notebooklm","KIND":"tool","LAUNCH":"notebooklm-mcp --notebook-id auto","QUALIFIED_ID":"gHashTag/t27:mcp/notebooklm","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"notebooklm","SERVER_VERSION":"","SOURCE":".claude/mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external package, not in this repository.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/notebooklm","inSpecCorpus":false,"launch":"notebooklm-mcp --notebook-id auto","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_notebooklm","name":{"en":"notebooklm"},"qualifiedId":"gHashTag/t27:mcp/notebooklm","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/notebooklm notebooklm external mcp server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","server":"notebooklm","serverVersion":"","sha256":"93548d18109d7be76e3c43ea298c9db0a335044e2bbb820d23606859c9939bdb","skills":[],"source":".claude/mcp.json","specPath":"specs/tools/mcp/notebooklm.t27","summary":{"en":"External MCP server `notebooklm` registered in .claude/mcp.json; launched as `notebooklm-mcp`.","ru":"Внешний MCP-сервер `notebooklm`, зарегистрированный в .claude/mcp.json; запускается как `notebooklm-mcp`."},"tools":[],"toolsNote":"Tool list lives in the external package, not in this repository.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":[],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/railway-mcp-server","KIND":"tool","LAUNCH":"npx -y @railway/mcp-server","QUALIFIED_ID":"gHashTag/trinity:mcp/railway-mcp-server","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"railway-mcp-server","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/railway-mcp-server","inSpecCorpus":false,"launch":"npx -y @railway/mcp-server","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_railway_mcp_server","name":{"en":"railway-mcp-server"},"qualifiedId":"gHashTag/trinity:mcp/railway-mcp-server","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/railway-mcp-server railway-mcp-server external mcp server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","server":"railway-mcp-server","serverVersion":"","sha256":"e0af68eb26c5b4f8f5ac5e45aa859a28337cce715e90122020fed881b81a9afd","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/railway-mcp-server.t27","summary":{"en":"External MCP server `railway-mcp-server` registered in .mcp.json; launched as `npx -y @railway/mcp-server`.","ru":"Внешний MCP-сервер `railway-mcp-server`, зарегистрированный в .mcp.json; запускается как `npx -y @railway/mcp-server`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from the tool and resource descriptions in scripts/mcp-traceability-server.js","agents":[],"config":".mcp.json","discarded":0,"env":["PROJECT_ROOT","ENFORCE_L1"],"external":false,"family":"mcp","fields":{"ABOUT":"MCP server over stdio that checks L1 TRACEABILITY (Closes #N) in commit messages and PR descriptions, generates compliant commit messages, validates branch names and serves the PHI LOOP stacked-branch template; resources expose the constitution and the L1 audit.","ABOUT_SOURCE":"derived from the tool and resource descriptions in scripts/mcp-traceability-server.js","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["PROJECT_ROOT","ENFORCE_L1"],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/t27-traceability","KIND":"tool","LAUNCH":"node scripts/mcp-traceability-server.js","QUALIFIED_ID":"gHashTag/t27:mcp/t27-traceability","REPO":"gHashTag/t27","RESOURCES":["docs/T27-CONSTITUTION.md","docs/l1-traceability-audit.md"],"RESOURCES_ABOUT":["Constitutional laws including L1 TRACEABILITY","Audit report for L1 TRACEABILITY compliance"],"SCHEMA":2,"SERVER":"t27-traceability","SERVER_VERSION":"1.0.0","SOURCE":"scripts/mcp-traceability-server.js","TOOLS":["check_traceability","generate_commit_message","validate_branch_name","get_phi_loop_template"],"TOOLS_ABOUT":["Check if a commit message or PR description complies with L1 TRACEABILITY (Closes #N required)","Generate a compliant commit message for t27 including required L1 TRACEABILITY reference","Validate branch name follows t27 naming conventions","Get PHI LOOP stacked branch template for ring development"],"TOOLS_INPUTS":["message","type,scope,description,issueNumber,invariantLaws,body","branchName","ringNumber"],"TOOLS_NOTE":"","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/t27-traceability","inSpecCorpus":false,"launch":"node scripts/mcp-traceability-server.js","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.mcp.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/scripts/mcp-traceability-server.js"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_t27_traceability","name":{"en":"t27-traceability"},"qualifiedId":"gHashTag/t27:mcp/t27-traceability","repo":"gHashTag/t27","resources":[{"about":"Constitutional laws including L1 TRACEABILITY","path":"docs/T27-CONSTITUTION.md"},{"about":"Audit report for L1 TRACEABILITY compliance","path":"docs/l1-traceability-audit.md"}],"schema":2,"searchText":"mcp/t27-traceability t27-traceability mcp server over stdio that checks l1 traceability (closes #n) in commit messages and pr descriptions, generates compliant commit messages, validates branch names and serves the phi loop stacked-branch template; resources expose the constitution and the l1 audit. check_traceability check if a commit message or pr description complies with l1 traceability (closes #n required) generate_commit_message generate a compliant commit message for t27 including required l1 traceability reference validate_branch_name validate branch name follows t27 naming conventions get_phi_loop_template get phi loop stacked branch template for ring development","server":"t27-traceability","serverVersion":"1.0.0","sha256":"2496a572dc04d4f7e615f0d235fd6cda542d1a10caf6abc91ee4ef3a3e36da1e","skills":[],"source":"scripts/mcp-traceability-server.js","specPath":"specs/tools/mcp/t27-traceability.t27","summary":{"en":"MCP server over stdio that checks L1 TRACEABILITY (Closes #N) in commit messages and PR descriptions, generates compliant commit messages, validates branch names and serves the PHI LOOP stacked-branch template; resources expose the constitution and the L1 audit.","ru":"MCP-сервер по stdio, проверяющий L1 TRACEABILITY (Closes #N) в сообщениях коммитов и описаниях PR, генерирующий соответствующие сообщения коммитов, валидирующий имена веток и отдающий шаблон стековых веток PHI LOOP; ресурсы открывают конституцию и аудит L1."},"tools":[{"about":"Check if a commit message or PR description complies with L1 TRACEABILITY (Closes #N required)","inputs":["message"],"name":"check_traceability"},{"about":"Generate a compliant commit message for t27 including required L1 TRACEABILITY reference","inputs":["type","scope","description","issueNumber","invariantLaws","body"],"name":"generate_commit_message"},{"about":"Validate branch name follows t27 naming conventions","inputs":["branchName"],"name":"validate_branch_name"},{"about":"Get PHI LOOP stacked branch template for ring development","inputs":["ringNumber"],"name":"get_phi_loop_template"}],"toolsNote":"","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from the tool descriptions in cli/tri-mcp/src/main.rs build_tools_list","agents":[],"config":"","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"Rust MCP server exposing the PHI LOOP tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health.","ABOUT_SOURCE":"derived from the tool descriptions in cli/tri-mcp/src/main.rs build_tools_list","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":"","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/tri-mcp","KIND":"tool","LAUNCH":"cargo run -q -p tri-mcp (binary tri-mcp; JSON-RPC over stdio)","QUALIFIED_ID":"gHashTag/t27:mcp/tri-mcp","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"tri-mcp","SERVER_VERSION":"0.1.0","SOURCE":"cli/tri-mcp/src/main.rs","TOOLS":["tri_status","tri_skill_begin","tri_skill_end","tri_cell_checkpoint","tri_cell_seal","tri_gen","tri_test","tri_verdict","tri_experience_save","tri_health"],"TOOLS_ABOUT":["Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","Begins a new PHI LOOP skill session bound to an issue.","Ends the active PHI LOOP skill session.","Records a checkpoint step in the active cell.","Seals the active cell by computing a SHA-256 hash of its checkpoint history.","Generates backends from a .t27 spec file using t27c.","Runs tests for a .t27 spec file using t27c.","Checks for toxic regressions by analyzing swarm health metrics.","Saves an experience episode to the akashic log.","Returns queen and swarm health status from .trinity state."],"TOOLS_INPUTS":["","issue,description","","step","","spec_path","spec_path","","episode_type,summary,ring",""],"TOOLS_NOTE":"Not registered in .mcp.json at this commit; the server exists as the tri-mcp crate.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/tri-mcp","inSpecCorpus":false,"launch":"cargo run -q -p tri-mcp (binary tri-mcp; JSON-RPC over stdio)","links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri-mcp/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_tri_mcp","name":{"en":"tri-mcp"},"qualifiedId":"gHashTag/t27:mcp/tri-mcp","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/tri-mcp tri-mcp rust mcp server exposing the phi loop tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health. tri_status returns phi loop status including active skill, cell, issue binding, and uncommitted changes. tri_skill_begin begins a new phi loop skill session bound to an issue. tri_skill_end ends the active phi loop skill session. tri_cell_checkpoint records a checkpoint step in the active cell. tri_cell_seal seals the active cell by computing a sha-256 hash of its checkpoint history. tri_gen generates backends from a .t27 spec file using t27c. tri_test runs tests for a .t27 spec file using t27c. tri_verdict checks for toxic regressions by analyzing swarm health metrics. tri_experience_save saves an experience episode to the akashic log. tri_health returns queen and swarm health status from .trinity state.","server":"tri-mcp","serverVersion":"0.1.0","sha256":"ae32961a90fd40b66ecab5b4d20fea7d20293038c00c728d191d211a9576986e","skills":[],"source":"cli/tri-mcp/src/main.rs","specPath":"specs/tools/mcp/tri-mcp.t27","summary":{"en":"Rust MCP server exposing the PHI LOOP tri commands as tools: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health.","ru":"MCP-сервер на Rust, открывающий команды tri PHI LOOP как инструменты: status, skill begin/end, cell checkpoint/seal, gen, test, verdict, experience save, health."},"tools":[{"about":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","inputs":[],"name":"tri_status"},{"about":"Begins a new PHI LOOP skill session bound to an issue.","inputs":["issue","description"],"name":"tri_skill_begin"},{"about":"Ends the active PHI LOOP skill session.","inputs":[],"name":"tri_skill_end"},{"about":"Records a checkpoint step in the active cell.","inputs":["step"],"name":"tri_cell_checkpoint"},{"about":"Seals the active cell by computing a SHA-256 hash of its checkpoint history.","inputs":[],"name":"tri_cell_seal"},{"about":"Generates backends from a .t27 spec file using t27c.","inputs":["spec_path"],"name":"tri_gen"},{"about":"Runs tests for a .t27 spec file using t27c.","inputs":["spec_path"],"name":"tri_test"},{"about":"Checks for toxic regressions by analyzing swarm health metrics.","inputs":[],"name":"tri_verdict"},{"about":"Saves an experience episode to the akashic log.","inputs":["episode_type","summary","ring"],"name":"tri_experience_save"},{"about":"Returns queen and swarm health status from .trinity state.","inputs":[],"name":"tri_health"}],"toolsNote":"Not registered in .mcp.json at this commit; the server exists as the tri-mcp crate.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"manifest.json description","agents":[],"config":".claude/mcp/tri-ssot/manifest.json","discarded":0,"env":[],"external":false,"family":"mcp","fields":{"ABOUT":"SSOT Integration for t27: GitHub Issues + PRs + Documentation -> NotebookLM","ABOUT_SOURCE":"manifest.json description","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".claude/mcp/tri-ssot/manifest.json","ENABLED":true,"ENV":[],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/tri-ssot","KIND":"tool","LAUNCH":"python3 -m contrib.backend.github.mcp_server","QUALIFIED_ID":"gHashTag/t27:mcp/tri-ssot","REPO":"gHashTag/t27","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"tri-ssot","SERVER_VERSION":"1.0.0","SOURCE":".claude/mcp/tri-ssot/manifest.json","TOOLS":["tri_issue","tri_pr","tri_docs","tri_sync","tri_search"],"TOOLS_ABOUT":["GitHub Issue management: create, update, list, close","GitHub PR management: create, merge, close, get status","Documentation management: upload to NotebookLM, sync, query","Unified sync: sync all entities (issues, prs, docs) with NotebookLM","Unified search across GitHub Issues, PRs, NotebookLM docs"],"TOOLS_INPUTS":["action,title,body,labels,issue_id,state","action,title,body,pr_id,issue_id","action,file_path,title","scope","query"],"TOOLS_NOTE":"The manifest names python3 -m contrib.backend.github.mcp_server, but the t27 tree at this commit has no contrib/backend/github/mcp_server.py (git ls-tree); the tool list is taken from the manifest alone (declared, not executed).","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/tri-ssot","inSpecCorpus":false,"launch":"python3 -m contrib.backend.github.mcp_server","links":{"config":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp/tri-ssot/manifest.json","pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/.claude/mcp/tri-ssot/manifest.json"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_tri_ssot","name":{"en":"tri-ssot"},"qualifiedId":"gHashTag/t27:mcp/tri-ssot","repo":"gHashTag/t27","resources":[],"schema":2,"searchText":"mcp/tri-ssot tri-ssot ssot integration for t27: github issues + prs + documentation -> notebooklm tri_issue github issue management: create, update, list, close tri_pr github pr management: create, merge, close, get status tri_docs documentation management: upload to notebooklm, sync, query tri_sync unified sync: sync all entities (issues, prs, docs) with notebooklm tri_search unified search across github issues, prs, notebooklm docs","server":"tri-ssot","serverVersion":"1.0.0","sha256":"c5f2218c27d16037026e392844aee9dff023506272d7eb2ecae5c323be2994de","skills":[],"source":".claude/mcp/tri-ssot/manifest.json","specPath":"specs/tools/mcp/tri-ssot.t27","summary":{"en":"SSOT Integration for t27: GitHub Issues + PRs + Documentation -> NotebookLM","ru":"Интеграция SSOT для t27: GitHub Issues + PR + документация -> NotebookLM."},"tools":[{"about":"GitHub Issue management: create, update, list, close","inputs":["action","title","body","labels","issue_id","state"],"name":"tri_issue"},{"about":"GitHub PR management: create, merge, close, get status","inputs":["action","title","body","pr_id","issue_id"],"name":"tri_pr"},{"about":"Documentation management: upload to NotebookLM, sync, query","inputs":["action","file_path","title"],"name":"tri_docs"},{"about":"Unified sync: sync all entities (issues, prs, docs) with NotebookLM","inputs":["scope"],"name":"tri_sync"},{"about":"Unified search across GitHub Issues, PRs, NotebookLM docs","inputs":["query"],"name":"tri_search"}],"toolsNote":"The manifest names python3 -m contrib.backend.github.mcp_server, but the t27 tree at this commit has no contrib/backend/github/mcp_server.py (git ls-tree); the tool list is taken from the manifest alone (declared, not executed).","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"derived from tools/mcp/trinity_mcp/server.zig writeToolsList and .claude/rules/mcp-servers.md","agents":[],"config":".mcp.json","discarded":0,"env":["TRINITY_MCP_PORT"],"external":false,"family":"mcp","fields":{"ABOUT":"Zig MCP server (JSON-RPC over stdio, Content-Length framing) that exposes the tri pipeline, Golden Chain links, swarm, cloud/farm, FPGA, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writeToolsList plus cell-generated tools loaded at runtime.","ABOUT_SOURCE":"derived from tools/mcp/trinity_mcp/server.zig writeToolsList and .claude/rules/mcp-servers.md","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":["TRINITY_MCP_PORT"],"EXTERNAL":false,"FAMILY":"mcp","ID":"mcp/trinity","KIND":"tool","LAUNCH":"/data/trinity/zig-out/bin/trinity-mcp","QUALIFIED_ID":"gHashTag/trinity:mcp/trinity","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"trinity","SERVER_VERSION":"","SOURCE":"tools/mcp/trinity_mcp/server.zig","TOOLS":["tri_execute","tri_code","tri_gen","tri_spec_create","tri_decompose","tri_plan","tri_verify","tri_bench","tri_verdict","tri_test","tri_test_run","tri_fix","tri_explain","tri_refactor","tri_doc","tri_reason","tri_status","tri_diff","tri_log","tri_commit","needle_structural_replace","needle_search","needle_quality_gates","needle_preview","needle_batch_edit","needle_graph_build","needle_graph_refactor","needle_graph_extract","needle_graph_visualize","needle_graph_affected","needle_graph_vsa_search","needle_semantic_replace","needle_vsa_index","needle_safe_cross_refactor","needle_vsa_rule_apply","needle_cross_preview","needle_rollback_all","needle_omega_init","needle_omega_analyze","needle_omega_execute","needle_omega_detect","needle_omega_status","needle_safety_gates_run","needle_atomic_refactor","needle_parse_check","needle_compile_check","tri_constants","tri_phi","tri_fib","tri_lucas","tri_spiral","tri_chat","tri_loop_decision","tri_pipeline","tri_omega_awaken","tri_os_boot","tri_tvc_demo","tri_tvc_stats","tri_chem_periodic","tri_chem_element","tri_chem_mass","tri_chem_moles","tri_bio_dna","tri_bio_codon","tri_bio_protein","tri_quantum_constants","tri_quantum_states","tri_bell_states","tri_formula","swarm_status","swarm_agents","swarm_register","swarm_heartbeat","swarm_task_get","swarm_task_add","swarm_task_cancel","swarm_tasks","swarm_pause","swarm_resume","swarm_assign","swarm_github_sync","swarm_github_on_start","swarm_github_on_complete","swarm_github_on_fail","oracle_start","oracle_stop","oracle_status","tri_train_status","tri_train_diagnose","tri_train_loss_curve","tri_train_recommend","tri_train_checkpoint","cloud_spawn","cloud_kill","cloud_list","cloud_status","cloud_logs","cloud_spawn_all","cloud_cleanup","cloud_history","cloud_api_check","cloud_redeploy","cloud_diagnose","cloud_issue_create","cloud_farm","cloud_farm_sync","cloud_farm_capacity","cloud_farm_rebalance","farm_evolve_health","farm_evolve_notify","farm_evolve_watch","cloud_train","cloud_train_batch","chain_cache","chain_baseline","chain_metrics","chain_patterns","chain_tree","chain_check_spec","chain_spec","chain_codegen","chain_analyze","chain_test","chain_bench","chain_fix","chain_bench_ext","chain_bench_theory","chain_delta","chain_optimize","chain_docs","chain_verdict","chain_git","chain_loop","chain_deploy","chain_evolve","chain_self_ref","chain_fpga_test","chain_research","chain_lint_spec","chain_list","cloud_decompose","tri_notify","fpga_uart_scan","fpga_uart_ping","fpga_uart_send","doctor_status","doctor_scan","doctor_report","doctor_plan","doctor_heal","job_start","job_status","job_logs","job_list","job_cancel","job_artifacts","issue_list","issue_view","issue_create","issue_comment","issue_close","issue_assign","issue_decompose","deploy_status","deploy_logs","deploy_vars","deploy_start","deploy_stop","experience_save","experience_recall","experience_mistakes","patent_status","patent_analysis","depin_status","depin_nodes","depin_fitness","research_query","experiment_list","experiment_compare","chimera_run","ouroboros_status","ouroboros_run","self_test","self_health","context_info","context_load","faculty_status","mu_status","mu_patterns","zenodo_status","tri_analyze","tri_clean","tri_fmt","tri_stats","tri_lint","tri_search","tri_metrics","tri_trace","tri_eval","farm_status","farm_idle","farm_recycle","farm_fill","farm_accounts","farm_wave_spawn","fpga_synth","fpga_status","fpga_build","fpga_verify","fpga_flash"],"TOOLS_ABOUT":["Universal executor -- run ANY tri command with automatic needle check","Generate code with typing effect","Compile VIBEE spec to Zig/Verilog","Create new .tri specification template","Break task into sub-tasks (Golden Chain Link 4)","Generate implementation plan (Golden Chain Link 5)","Run tests + benchmarks (Links 7-11)","Run performance benchmarks","Generate toxic verdict (Link 14)","Generate tests for code","Run specific test suite","Detect and fix bugs","Explain code or concept","Suggest refactoring","Generate documentation","Chain-of-thought reasoning","Git status --short","Git diff","Git log --oneline","Git add -A && commit","AST-aware code edit with Tier 0->1 fallback","Search codebase for pattern matches","Run quality gates: parse check, AST analysis","Preview edit diff without applying","Apply multiple edits in one operation","Build complete call graph with VSA embeddings for project","Rename symbol across entire project with semantic awareness","Extract function/method from code block","Generate graph visualization (DOT/JSON) with VSA clustering","Find all files affected by symbol change (with semantic impact)","Search for semantically similar symbols by code or intent","Replace code by semantic meaning (not just pattern)","Build semantic VSA index for codebase","Safe cross-file semantic refactor with VSA rules and 100% rollback","Apply VSA rules to validate proposed refactor","Preview cross-file refactor impact with safety assessment","Rollback all changes from failed refactor","Initialize Omega autonomous agent for project","Omega analyzes codebase and suggests improvements","Execute refactor plan with full autonomy","Auto-detect code improvements and optimizations","Get Omega agent status and health","Run all safety gates on a file (Phase 1: parse/compile/test)","Apply atomic refactor with 100% rollback guarantee (Phase 1)","Parse check using Zig AST parser (Phase 1)","Compile check using zig build (Phase 1)","Show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...)","Compute phi^n (golden ratio power)","Fibonacci with BigInt","Lucas L(n) -- L(2)=3=TRINITY","phi-spiral coordinates","Interactive chat (vision + voice + tools)","Loop decision: CONTINUE/EXIT (Link 17)","Execute 26-link Golden Chain pipeline","Awaken Omega autonomous agent","Temporal Trinity OS boot","Run TVC chat demo","Show TVC corpus statistics","List periodic table elements by category","Look up element by symbol or atomic number","Calculate molar mass of chemical formula","Calculate moles, molecules, atoms from mass","Analyze DNA sequence (GC content, composition)","Look up RNA codon to amino acid","Analyze protein sequence (mass, composition)","Show quantum physics constants (h, hbar, alpha)","Show quantum basis states and phi-state","Show four Bell entangled states","Evaluate V = n * 3^k * pi^m * phi^p * e^q","Get Ralph Agent Swarm status summary (agents, tasks, counts)","List all registered swarm agents with status","Register a new agent in the swarm","Agent heartbeat with status, branch, task_id, commit_sha (circuit breaker)","Get next pending task for an agent (priority-ordered)","Add a new task to the swarm queue","Cancel and remove a task from the queue","List all tasks in the swarm queue","Pause all swarm agents (finish current tasks, no new assignments)","Resume all paused swarm agents","Create and assign a task to a specific agent","Convert GitHub issue to swarm task. Returns labels/actions for Go proxy.","Notify that agent started a GitHub-sourced task. Returns label swaps + comment.","Notify GitHub task completed. Returns labels, comment, close_issue.","Notify GitHub task failed. Returns labels + error comment.","Start Oracle Telegram watchdog thread (sends swarm status every N minutes)","Stop Oracle Telegram watchdog thread","Get Oracle watchdog status (running/stopped, messages sent, errors)","Get HSLM training status -- checkpoints, loss, anomalies, recommendation","Diagnose HSLM training anomalies (zero loss, phase transition, overfitting)","Get HSLM loss curve from checkpoint headers","Get phi-aware recommendation for next training action","List HSLM checkpoints with step, loss, PPL, size","Spawn a cloud agent container for a GitHub issue","Kill a cloud agent container","List all active cloud agent containers","Get cloud infrastructure status","Get cloud agent deployment logs","Spawn agents for all issues labeled agent:spawn","Remove inactive cloud agent entries","Get event history for a cloud agent","Test API key connectivity and model routing -- detects proxy returning wrong model","Reuse existing Railway service for a new issue number","Diagnose why an agent failed -- shows GitHub comments, JSONL events, PR status","Create a GitHub issue with agent:spawn label for auto-spawning","Railway multi-account farm dashboard -- shows all accounts with capacity and daily limits","Sync active service counts across all Railway accounts","Get farm capacity as JSON -- total slots, active services, daily remaining per account","Migrate services from overloaded to underloaded Railway accounts","Farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, ETA","Farm insight scan -- detect leader changes, plateaus, spikes, wave completion. Sends to Telegram unless dry-run","Single evolution sweep -- inject sacred children into free slots, auto-notify. Always --once","Spawn an HSLM training experiment on Railway farm","Spawn all 13 HSLM training experiments across Railway farm","Chain Link 0: TVC Gate -- search corpus, return cached or continue","Chain Link 1: Analyze previous version v(n-1)","Chain Link 2: Collect performance metrics","Chain Link 3: Research patterns and science (PAS)","Chain Link 4: Build technology dependency tree","Chain Link 5: VIBEE-first compliance check","Chain Link 6: Create .tri specifications","Chain Link 7: Generate Zig code from .tri specs","Chain Link 8: Sacred Intelligence code analysis","Chain Link 9: Run zig build test suite","Chain Link 10: CRITICAL -- Compare to baseline v(n-1)","Chain Link 11: SWE Agent error fixing","Chain Link 12: Compare to external tools (llama.cpp/vLLM)","Chain Link 13: Gap to theoretical maximum","Chain Link 14: Generate improvement delta report","Chain Link 15: Optimize if needed (optional)","Chain Link 16: Generate documentation with proofs","Chain Link 17: Critical self-assessment (toxic verdict)","Chain Link 18: Commit and push changes","Chain Link 19: Decide next iteration (continue/exit)","Chain Link 20: Auto-deploy to cloud","Chain Link 21: Pipeline analyzes itself (eternal self-evolution)","Chain Link 22: Pipeline improves itself (circular bootstrapping)","Chain Link 23: Camera-based LED verification for FPGA","Chain Link 24: Research-assisted error fixing via Perplexity","Chain Link 25: Validate .tri spec syntax before codegen","List all 26 Golden Chain links with roles and status","Decompose a GitHub issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator)","Send/edit/pin Telegram messages via tri CLI","Scan for USB-UART serial devices (CH340/FTDI) connected to FPGA","PING/PONG test -- send 0x03, expect 0x83 from FPGA","Send raw hex bytes to FPGA via UART and print response","Get doctor health status -- one-line summary","Scan and classify all .zig files","Health score dashboard with emoji grades","Create migration queue for manual files","Regenerate manual files through pipeline","Start a background job","Get job status by ID","Get job logs by ID","List all background jobs","Cancel a running job","Get job artifacts by ID","List open GitHub issues","View a specific GitHub issue","Create a new GitHub issue","Add a comment to a GitHub issue","Close a GitHub issue","Assign a user to a GitHub issue","Decompose a GitHub issue into sub-tasks","Get deployment status","Get deployment logs","Get deployment environment variables","Start deployment","Stop deployment","Save an experience entry (key-value learning)","Recall an experience entry by key","List all recorded mistakes/anti-patterns","Get patent portfolio status","Get patent analysis and claims","Get DePIN node protocol status","List DePIN network nodes","Get DePIN node fitness scores","Research a topic via Perplexity-assisted search","List all HSLM training experiments","Compare two experiments","Run a chimera fused command (farm-cycle, train-cycle, etc.)","Get ouroboros self-evolution status and score","Run ouroboros self-evolution cycle","Run self-test suite","Get self-health check results","Get current context info (tokens, files, window)","Load additional context from a file path","Get Faculty Board status dashboard","Get MU agent status","List MU learned patterns","Get Zenodo publication status","Analyze codebase quality and metrics","Clean build artifacts and temp files","Format all Zig source files","Show project statistics (LOC, files, tests)","Run linter on source code","Search codebase for a query string","Get project metrics dashboard","Get execution trace","Evaluate expression or code snippet","Get training farm status overview","List idle farm workers","Recycle underperforming farm workers","Fill empty farm slots with new experiments","List all 8 Railway farm accounts and their service counts","Spawn a wave of training workers on a specific account","Run FPGA synthesis pipeline","Get FPGA hardware and synthesis status","Build FPGA bitstream","Verify FPGA bitstream against RTL","Flash bitstream to FPGA board"],"TOOLS_INPUTS":["command,args,auto_needle","prompt","spec","name","task","task","","suite","","file","pattern","file","target","file","file","prompt","","","count","message","file_path,pattern_query,replacement,safety_level,edit_mode","query,file_path,confidence_threshold","file_path,check_level","file_path,pattern_query,replacement","edits","root_dir,enable_vsa","symbol,new_name,semantic_aware,similarity_threshold,scope,preview","file,start_line,end_line,function_name","format,focus,show_vsa","symbol,include_transitive,semantic_impact","query,top_k,min_similarity","intent,replacement_intent,file,preview","root_dir,embedding_dim","intent,new_intent,semantic_threshold,preview","transformation,rules_file","symbol,new_name,include_vsa","refactor_id","root_dir,autonomy_level","intent,auto_detect","plan_id,confirm","min_confidence,max_results","","file_path,gates","file_path,pattern_query,replacement,safety_gates","file_path","project_root","","n","n","n","n","message,stream","mode","task","mode","","","","category","element","formula","formula,mass","sequence","codon","sequence","","","","n,k,m,p,q","","","agent_id,hostname","agent_id,status,branch,task_id,commit_sha","agent_id","id,slug,description,priority","task_id","","","","agent_id,description","issue_number,title,labels","task_id,agent_id,branch","task_id,agent_id,result","task_id,agent_id,error","telegram_token,chat_id,interval_ms","","","","dir","dir","dir","dir","issue_number","issue_number","","","","","","issue_number","","service_id,issue_number","issue_number","title","","","","","","dry_run","sacred,dry_run","name","","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","task","","issue_number,template","text,chat_id,pin,edit_id","","device","device,hex_bytes","","","","","","command","id","id","","id","id","","number","title,body","number,body","number","number,user","number","","","","","","key,value","key","","","","","","","query","","a,b","name","","","","","","path","","","","","","","","","","query","","","","","","","","","account,count","","","","","bitstream"],"TOOLS_NOTE":"Static list parsed from writeToolsList (210 entries; 32 entries have an unbalanced trailing brace in the source literal and were parsed after adding or removing one). Cell-generated tools from data/cells/mcp_tools.json are appended at runtime and are not listed here. .trinity/mcp_schemas.json lists a different, shorter set (29 names) and is not used as the source.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/trinity","inSpecCorpus":false,"launch":"/data/trinity/zig-out/bin/trinity-mcp","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/tools/mcp/trinity_mcp/server.zig"},"messages":["no agent letter bound by a source"],"moduleName":"tool_mcp_trinity","name":{"en":"trinity"},"qualifiedId":"gHashTag/trinity:mcp/trinity","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/trinity trinity zig mcp server (json-rpc over stdio, content-length framing) that exposes the tri pipeline, golden chain links, swarm, cloud/farm, fpga, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writetoolslist plus cell-generated tools loaded at runtime. tri_execute universal executor -- run any tri command with automatic needle check tri_code generate code with typing effect tri_gen compile vibee spec to zig/verilog tri_spec_create create new .tri specification template tri_decompose break task into sub-tasks (golden chain link 4) tri_plan generate implementation plan (golden chain link 5) tri_verify run tests + benchmarks (links 7-11) tri_bench run performance benchmarks tri_verdict generate toxic verdict (link 14) tri_test generate tests for code tri_test_run run specific test suite tri_fix detect and fix bugs tri_explain explain code or concept tri_refactor suggest refactoring tri_doc generate documentation tri_reason chain-of-thought reasoning tri_status git status --short tri_diff git diff tri_log git log --oneline tri_commit git add -a && commit needle_structural_replace ast-aware code edit with tier 0->1 fallback needle_search search codebase for pattern matches needle_quality_gates run quality gates: parse check, ast analysis needle_preview preview edit diff without applying needle_batch_edit apply multiple edits in one operation needle_graph_build build complete call graph with vsa embeddings for project needle_graph_refactor rename symbol across entire project with semantic awareness needle_graph_extract extract function/method from code block needle_graph_visualize generate graph visualization (dot/json) with vsa clustering needle_graph_affected find all files affected by symbol change (with semantic impact) needle_graph_vsa_search search for semantically similar symbols by code or intent needle_semantic_replace replace code by semantic meaning (not just pattern) needle_vsa_index build semantic vsa index for codebase needle_safe_cross_refactor safe cross-file semantic refactor with vsa rules and 100% rollback needle_vsa_rule_apply apply vsa rules to validate proposed refactor needle_cross_preview preview cross-file refactor impact with safety assessment needle_rollback_all rollback all changes from failed refactor needle_omega_init initialize omega autonomous agent for project needle_omega_analyze omega analyzes codebase and suggests improvements needle_omega_execute execute refactor plan with full autonomy needle_omega_detect auto-detect code improvements and optimizations needle_omega_status get omega agent status and health needle_safety_gates_run run all safety gates on a file (phase 1: parse/compile/test) needle_atomic_refactor apply atomic refactor with 100% rollback guarantee (phase 1) needle_parse_check parse check using zig ast parser (phase 1) needle_compile_check compile check using zig build (phase 1) tri_constants show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...) tri_phi compute phi^n (golden ratio power) tri_fib fibonacci with bigint tri_lucas lucas l(n) -- l(2)=3=trinity tri_spiral phi-spiral coordinates tri_chat interactive chat (vision + voice + tools) tri_loop_decision loop decision: continue/exit (link 17) tri_pipeline execute 26-link golden chain pipeline tri_omega_awaken awaken omega autonomous agent tri_os_boot temporal trinity os boot tri_tvc_demo run tvc chat demo tri_tvc_stats show tvc corpus statistics tri_chem_periodic list periodic table elements by category tri_chem_element look up element by symbol or atomic number tri_chem_mass calculate molar mass of chemical formula tri_chem_moles calculate moles, molecules, atoms from mass tri_bio_dna analyze dna sequence (gc content, composition) tri_bio_codon look up rna codon to amino acid tri_bio_protein analyze protein sequence (mass, composition) tri_quantum_constants show quantum physics constants (h, hbar, alpha) tri_quantum_states show quantum basis states and phi-state tri_bell_states show four bell entangled states tri_formula evaluate v = n * 3^k * pi^m * phi^p * e^q swarm_status get ralph agent swarm status summary (agents, tasks, counts) swarm_agents list all registered swarm agents with status swarm_register register a new agent in the swarm swarm_heartbeat agent heartbeat with status, branch, task_id, commit_sha (circuit breaker) swarm_task_get get next pending task for an agent (priority-ordered) swarm_task_add add a new task to the swarm queue swarm_task_cancel cancel and remove a task from the queue swarm_tasks list all tasks in the swarm queue swarm_pause pause all swarm agents (finish current tasks, no new assignments) swarm_resume resume all paused swarm agents swarm_assign create and assign a task to a specific agent swarm_github_sync convert github issue to swarm task. returns labels/actions for go proxy. swarm_github_on_start notify that agent started a github-sourced task. returns label swaps + comment. swarm_github_on_complete notify github task completed. returns labels, comment, close_issue. swarm_github_on_fail notify github task failed. returns labels + error comment. oracle_start start oracle telegram watchdog thread (sends swarm status every n minutes) oracle_stop stop oracle telegram watchdog thread oracle_status get oracle watchdog status (running/stopped, messages sent, errors) tri_train_status get hslm training status -- checkpoints, loss, anomalies, recommendation tri_train_diagnose diagnose hslm training anomalies (zero loss, phase transition, overfitting) tri_train_loss_curve get hslm loss curve from checkpoint headers tri_train_recommend get phi-aware recommendation for next training action tri_train_checkpoint list hslm checkpoints with step, loss, ppl, size cloud_spawn spawn a cloud agent container for a github issue cloud_kill kill a cloud agent container cloud_list list all active cloud agent containers cloud_status get cloud infrastructure status cloud_logs get cloud agent deployment logs cloud_spawn_all spawn agents for all issues labeled agent:spawn cloud_cleanup remove inactive cloud agent entries cloud_history get event history for a cloud agent cloud_api_check test api key connectivity and model routing -- detects proxy returning wrong model cloud_redeploy reuse existing railway service for a new issue number cloud_diagnose diagnose why an agent failed -- shows github comments, jsonl events, pr status cloud_issue_create create a github issue with agent:spawn label for auto-spawning cloud_farm railway multi-account farm dashboard -- shows all accounts with capacity and daily limits cloud_farm_sync sync active service counts across all railway accounts cloud_farm_capacity get farm capacity as json -- total slots, active services, daily remaining per account cloud_farm_rebalance migrate services from overloaded to underloaded railway accounts farm_evolve_health farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, eta farm_evolve_notify farm insight scan -- detect leader changes, plateaus, spikes, wave completion. sends to telegram unless dry-run farm_evolve_watch single evolution sweep -- inject sacred children into free slots, auto-notify. always --once cloud_train spawn an hslm training experiment on railway farm cloud_train_batch spawn all 13 hslm training experiments across railway farm chain_cache chain link 0: tvc gate -- search corpus, return cached or continue chain_baseline chain link 1: analyze previous version v(n-1) chain_metrics chain link 2: collect performance metrics chain_patterns chain link 3: research patterns and science (pas) chain_tree chain link 4: build technology dependency tree chain_check_spec chain link 5: vibee-first compliance check chain_spec chain link 6: create .tri specifications chain_codegen chain link 7: generate zig code from .tri specs chain_analyze chain link 8: sacred intelligence code analysis chain_test chain link 9: run zig build test suite chain_bench chain link 10: critical -- compare to baseline v(n-1) chain_fix chain link 11: swe agent error fixing chain_bench_ext chain link 12: compare to external tools (llama.cpp/vllm) chain_bench_theory chain link 13: gap to theoretical maximum chain_delta chain link 14: generate improvement delta report chain_optimize chain link 15: optimize if needed (optional) chain_docs chain link 16: generate documentation with proofs chain_verdict chain link 17: critical self-assessment (toxic verdict) chain_git chain link 18: commit and push changes chain_loop chain link 19: decide next iteration (continue/exit) chain_deploy chain link 20: auto-deploy to cloud chain_evolve chain link 21: pipeline analyzes itself (eternal self-evolution) chain_self_ref chain link 22: pipeline improves itself (circular bootstrapping) chain_fpga_test chain link 23: camera-based led verification for fpga chain_research chain link 24: research-assisted error fixing via perplexity chain_lint_spec chain link 25: validate .tri spec syntax before codegen chain_list list all 26 golden chain links with roles and status cloud_decompose decompose a github issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator) tri_notify send/edit/pin telegram messages via tri cli fpga_uart_scan scan for usb-uart serial devices (ch340/ftdi) connected to fpga fpga_uart_ping ping/pong test -- send 0x03, expect 0x83 from fpga fpga_uart_send send raw hex bytes to fpga via uart and print response doctor_status get doctor health status -- one-line summary doctor_scan scan and classify all .zig files doctor_report health score dashboard with emoji grades doctor_plan create migration queue for manual files doctor_heal regenerate manual files through pipeline job_start start a background job job_status get job status by id job_logs get job logs by id job_list list all background jobs job_cancel cancel a running job job_artifacts get job artifacts by id issue_list list open github issues issue_view view a specific github issue issue_create create a new github issue issue_comment add a comment to a github issue issue_close close a github issue issue_assign assign a user to a github issue issue_decompose decompose a github issue into sub-tasks deploy_status get deployment status deploy_logs get deployment logs deploy_vars get deployment environment variables deploy_start start deployment deploy_stop stop deployment experience_save save an experience entry (key-value learning) experience_recall recall an experience entry by key experience_mistakes list all recorded mistakes/anti-patterns patent_status get patent portfolio status patent_analysis get patent analysis and claims depin_status get depin node protocol status depin_nodes list depin network nodes depin_fitness get depin node fitness scores research_query research a topic via perplexity-assisted search experiment_list list all hslm training experiments experiment_compare compare two experiments chimera_run run a chimera fused command (farm-cycle, train-cycle, etc.) ouroboros_status get ouroboros self-evolution status and score ouroboros_run run ouroboros self-evolution cycle self_test run self-test suite self_health get self-health check results context_info get current context info (tokens, files, window) context_load load additional context from a file path faculty_status get faculty board status dashboard mu_status get mu agent status mu_patterns list mu learned patterns zenodo_status get zenodo publication status tri_analyze analyze codebase quality and metrics tri_clean clean build artifacts and temp files tri_fmt format all zig source files tri_stats show project statistics (loc, files, tests) tri_lint run linter on source code tri_search search codebase for a query string tri_metrics get project metrics dashboard tri_trace get execution trace tri_eval evaluate expression or code snippet farm_status get training farm status overview farm_idle list idle farm workers farm_recycle recycle underperforming farm workers farm_fill fill empty farm slots with new experiments farm_accounts list all 8 railway farm accounts and their service counts farm_wave_spawn spawn a wave of training workers on a specific account fpga_synth run fpga synthesis pipeline fpga_status get fpga hardware and synthesis status fpga_build build fpga bitstream fpga_verify verify fpga bitstream against rtl fpga_flash flash bitstream to fpga board","server":"trinity","serverVersion":"","sha256":"6d12259c8f9ce6b5c139b041f23558ef50c0f6a3edb22569fb4e2559f4ca3b54","skills":[],"source":"tools/mcp/trinity_mcp/server.zig","specPath":"specs/tools/mcp/trinity.t27","summary":{"en":"Zig MCP server (JSON-RPC over stdio, Content-Length framing) that exposes the tri pipeline, Golden Chain links, swarm, cloud/farm, FPGA, doctor, job, issue, deploy, experience, oracle and needle tools; the static list in writeToolsList plus cell-generated tools loaded at runtime.","ru":"MCP-сервер на Zig (JSON-RPC по stdio, кадрирование Content-Length), открывающий инструменты конвейера tri, звеньев Golden Chain, роя, облака/фермы, FPGA, doctor, job, issue, deploy, experience, oracle и needle; статический список writeToolsList плюс инструменты ячеек, подгружаемые во время выполнения."},"tools":[{"about":"Universal executor -- run ANY tri command with automatic needle check","inputs":["command","args","auto_needle"],"name":"tri_execute"},{"about":"Generate code with typing effect","inputs":["prompt"],"name":"tri_code"},{"about":"Compile VIBEE spec to Zig/Verilog","inputs":["spec"],"name":"tri_gen"},{"about":"Create new .tri specification template","inputs":["name"],"name":"tri_spec_create"},{"about":"Break task into sub-tasks (Golden Chain Link 4)","inputs":["task"],"name":"tri_decompose"},{"about":"Generate implementation plan (Golden Chain Link 5)","inputs":["task"],"name":"tri_plan"},{"about":"Run tests + benchmarks (Links 7-11)","inputs":[],"name":"tri_verify"},{"about":"Run performance benchmarks","inputs":["suite"],"name":"tri_bench"},{"about":"Generate toxic verdict (Link 14)","inputs":[],"name":"tri_verdict"},{"about":"Generate tests for code","inputs":["file"],"name":"tri_test"},{"about":"Run specific test suite","inputs":["pattern"],"name":"tri_test_run"},{"about":"Detect and fix bugs","inputs":["file"],"name":"tri_fix"},{"about":"Explain code or concept","inputs":["target"],"name":"tri_explain"},{"about":"Suggest refactoring","inputs":["file"],"name":"tri_refactor"},{"about":"Generate documentation","inputs":["file"],"name":"tri_doc"},{"about":"Chain-of-thought reasoning","inputs":["prompt"],"name":"tri_reason"},{"about":"Git status --short","inputs":[],"name":"tri_status"},{"about":"Git diff","inputs":[],"name":"tri_diff"},{"about":"Git log --oneline","inputs":["count"],"name":"tri_log"},{"about":"Git add -A && commit","inputs":["message"],"name":"tri_commit"},{"about":"AST-aware code edit with Tier 0->1 fallback","inputs":["file_path","pattern_query","replacement","safety_level","edit_mode"],"name":"needle_structural_replace"},{"about":"Search codebase for pattern matches","inputs":["query","file_path","confidence_threshold"],"name":"needle_search"},{"about":"Run quality gates: parse check, AST analysis","inputs":["file_path","check_level"],"name":"needle_quality_gates"},{"about":"Preview edit diff without applying","inputs":["file_path","pattern_query","replacement"],"name":"needle_preview"},{"about":"Apply multiple edits in one operation","inputs":["edits"],"name":"needle_batch_edit"},{"about":"Build complete call graph with VSA embeddings for project","inputs":["root_dir","enable_vsa"],"name":"needle_graph_build"},{"about":"Rename symbol across entire project with semantic awareness","inputs":["symbol","new_name","semantic_aware","similarity_threshold","scope","preview"],"name":"needle_graph_refactor"},{"about":"Extract function/method from code block","inputs":["file","start_line","end_line","function_name"],"name":"needle_graph_extract"},{"about":"Generate graph visualization (DOT/JSON) with VSA clustering","inputs":["format","focus","show_vsa"],"name":"needle_graph_visualize"},{"about":"Find all files affected by symbol change (with semantic impact)","inputs":["symbol","include_transitive","semantic_impact"],"name":"needle_graph_affected"},{"about":"Search for semantically similar symbols by code or intent","inputs":["query","top_k","min_similarity"],"name":"needle_graph_vsa_search"},{"about":"Replace code by semantic meaning (not just pattern)","inputs":["intent","replacement_intent","file","preview"],"name":"needle_semantic_replace"},{"about":"Build semantic VSA index for codebase","inputs":["root_dir","embedding_dim"],"name":"needle_vsa_index"},{"about":"Safe cross-file semantic refactor with VSA rules and 100% rollback","inputs":["intent","new_intent","semantic_threshold","preview"],"name":"needle_safe_cross_refactor"},{"about":"Apply VSA rules to validate proposed refactor","inputs":["transformation","rules_file"],"name":"needle_vsa_rule_apply"},{"about":"Preview cross-file refactor impact with safety assessment","inputs":["symbol","new_name","include_vsa"],"name":"needle_cross_preview"},{"about":"Rollback all changes from failed refactor","inputs":["refactor_id"],"name":"needle_rollback_all"},{"about":"Initialize Omega autonomous agent for project","inputs":["root_dir","autonomy_level"],"name":"needle_omega_init"},{"about":"Omega analyzes codebase and suggests improvements","inputs":["intent","auto_detect"],"name":"needle_omega_analyze"},{"about":"Execute refactor plan with full autonomy","inputs":["plan_id","confirm"],"name":"needle_omega_execute"},{"about":"Auto-detect code improvements and optimizations","inputs":["min_confidence","max_results"],"name":"needle_omega_detect"},{"about":"Get Omega agent status and health","inputs":[],"name":"needle_omega_status"},{"about":"Run all safety gates on a file (Phase 1: parse/compile/test)","inputs":["file_path","gates"],"name":"needle_safety_gates_run"},{"about":"Apply atomic refactor with 100% rollback guarantee (Phase 1)","inputs":["file_path","pattern_query","replacement","safety_gates"],"name":"needle_atomic_refactor"},{"about":"Parse check using Zig AST parser (Phase 1)","inputs":["file_path"],"name":"needle_parse_check"},{"about":"Compile check using zig build (Phase 1)","inputs":["project_root"],"name":"needle_compile_check"},{"about":"Show sacred constants (phi, pi, e, mu, chi, sigma, epsilon...)","inputs":[],"name":"tri_constants"},{"about":"Compute phi^n (golden ratio power)","inputs":["n"],"name":"tri_phi"},{"about":"Fibonacci with BigInt","inputs":["n"],"name":"tri_fib"},{"about":"Lucas L(n) -- L(2)=3=TRINITY","inputs":["n"],"name":"tri_lucas"},{"about":"phi-spiral coordinates","inputs":["n"],"name":"tri_spiral"},{"about":"Interactive chat (vision + voice + tools)","inputs":["message","stream"],"name":"tri_chat"},{"about":"Loop decision: CONTINUE/EXIT (Link 17)","inputs":["mode"],"name":"tri_loop_decision"},{"about":"Execute 26-link Golden Chain pipeline","inputs":["task"],"name":"tri_pipeline"},{"about":"Awaken Omega autonomous agent","inputs":["mode"],"name":"tri_omega_awaken"},{"about":"Temporal Trinity OS boot","inputs":[],"name":"tri_os_boot"},{"about":"Run TVC chat demo","inputs":[],"name":"tri_tvc_demo"},{"about":"Show TVC corpus statistics","inputs":[],"name":"tri_tvc_stats"},{"about":"List periodic table elements by category","inputs":["category"],"name":"tri_chem_periodic"},{"about":"Look up element by symbol or atomic number","inputs":["element"],"name":"tri_chem_element"},{"about":"Calculate molar mass of chemical formula","inputs":["formula"],"name":"tri_chem_mass"},{"about":"Calculate moles, molecules, atoms from mass","inputs":["formula","mass"],"name":"tri_chem_moles"},{"about":"Analyze DNA sequence (GC content, composition)","inputs":["sequence"],"name":"tri_bio_dna"},{"about":"Look up RNA codon to amino acid","inputs":["codon"],"name":"tri_bio_codon"},{"about":"Analyze protein sequence (mass, composition)","inputs":["sequence"],"name":"tri_bio_protein"},{"about":"Show quantum physics constants (h, hbar, alpha)","inputs":[],"name":"tri_quantum_constants"},{"about":"Show quantum basis states and phi-state","inputs":[],"name":"tri_quantum_states"},{"about":"Show four Bell entangled states","inputs":[],"name":"tri_bell_states"},{"about":"Evaluate V = n * 3^k * pi^m * phi^p * e^q","inputs":["n","k","m","p","q"],"name":"tri_formula"},{"about":"Get Ralph Agent Swarm status summary (agents, tasks, counts)","inputs":[],"name":"swarm_status"},{"about":"List all registered swarm agents with status","inputs":[],"name":"swarm_agents"},{"about":"Register a new agent in the swarm","inputs":["agent_id","hostname"],"name":"swarm_register"},{"about":"Agent heartbeat with status, branch, task_id, commit_sha (circuit breaker)","inputs":["agent_id","status","branch","task_id","commit_sha"],"name":"swarm_heartbeat"},{"about":"Get next pending task for an agent (priority-ordered)","inputs":["agent_id"],"name":"swarm_task_get"},{"about":"Add a new task to the swarm queue","inputs":["id","slug","description","priority"],"name":"swarm_task_add"},{"about":"Cancel and remove a task from the queue","inputs":["task_id"],"name":"swarm_task_cancel"},{"about":"List all tasks in the swarm queue","inputs":[],"name":"swarm_tasks"},{"about":"Pause all swarm agents (finish current tasks, no new assignments)","inputs":[],"name":"swarm_pause"},{"about":"Resume all paused swarm agents","inputs":[],"name":"swarm_resume"},{"about":"Create and assign a task to a specific agent","inputs":["agent_id","description"],"name":"swarm_assign"},{"about":"Convert GitHub issue to swarm task. Returns labels/actions for Go proxy.","inputs":["issue_number","title","labels"],"name":"swarm_github_sync"},{"about":"Notify that agent started a GitHub-sourced task. Returns label swaps + comment.","inputs":["task_id","agent_id","branch"],"name":"swarm_github_on_start"},{"about":"Notify GitHub task completed. Returns labels, comment, close_issue.","inputs":["task_id","agent_id","result"],"name":"swarm_github_on_complete"},{"about":"Notify GitHub task failed. Returns labels + error comment.","inputs":["task_id","agent_id","error"],"name":"swarm_github_on_fail"},{"about":"Start Oracle Telegram watchdog thread (sends swarm status every N minutes)","inputs":["telegram_token","chat_id","interval_ms"],"name":"oracle_start"},{"about":"Stop Oracle Telegram watchdog thread","inputs":[],"name":"oracle_stop"},{"about":"Get Oracle watchdog status (running/stopped, messages sent, errors)","inputs":[],"name":"oracle_status"},{"about":"Get HSLM training status -- checkpoints, loss, anomalies, recommendation","inputs":[],"name":"tri_train_status"},{"about":"Diagnose HSLM training anomalies (zero loss, phase transition, overfitting)","inputs":["dir"],"name":"tri_train_diagnose"},{"about":"Get HSLM loss curve from checkpoint headers","inputs":["dir"],"name":"tri_train_loss_curve"},{"about":"Get phi-aware recommendation for next training action","inputs":["dir"],"name":"tri_train_recommend"},{"about":"List HSLM checkpoints with step, loss, PPL, size","inputs":["dir"],"name":"tri_train_checkpoint"},{"about":"Spawn a cloud agent container for a GitHub issue","inputs":["issue_number"],"name":"cloud_spawn"},{"about":"Kill a cloud agent container","inputs":["issue_number"],"name":"cloud_kill"},{"about":"List all active cloud agent containers","inputs":[],"name":"cloud_list"},{"about":"Get cloud infrastructure status","inputs":[],"name":"cloud_status"},{"about":"Get cloud agent deployment logs","inputs":[],"name":"cloud_logs"},{"about":"Spawn agents for all issues labeled agent:spawn","inputs":[],"name":"cloud_spawn_all"},{"about":"Remove inactive cloud agent entries","inputs":[],"name":"cloud_cleanup"},{"about":"Get event history for a cloud agent","inputs":["issue_number"],"name":"cloud_history"},{"about":"Test API key connectivity and model routing -- detects proxy returning wrong model","inputs":[],"name":"cloud_api_check"},{"about":"Reuse existing Railway service for a new issue number","inputs":["service_id","issue_number"],"name":"cloud_redeploy"},{"about":"Diagnose why an agent failed -- shows GitHub comments, JSONL events, PR status","inputs":["issue_number"],"name":"cloud_diagnose"},{"about":"Create a GitHub issue with agent:spawn label for auto-spawning","inputs":["title"],"name":"cloud_issue_create"},{"about":"Railway multi-account farm dashboard -- shows all accounts with capacity and daily limits","inputs":[],"name":"cloud_farm"},{"about":"Sync active service counts across all Railway accounts","inputs":[],"name":"cloud_farm_sync"},{"about":"Get farm capacity as JSON -- total slots, active services, daily remaining per account","inputs":[],"name":"cloud_farm_capacity"},{"about":"Migrate services from overloaded to underloaded Railway accounts","inputs":[],"name":"cloud_farm_rebalance"},{"about":"Farm evolution health dashboard -- leaderboard, health_score 0-100, stagnation, ETA","inputs":[],"name":"farm_evolve_health"},{"about":"Farm insight scan -- detect leader changes, plateaus, spikes, wave completion. Sends to Telegram unless dry-run","inputs":["dry_run"],"name":"farm_evolve_notify"},{"about":"Single evolution sweep -- inject sacred children into free slots, auto-notify. Always --once","inputs":["sacred","dry_run"],"name":"farm_evolve_watch"},{"about":"Spawn an HSLM training experiment on Railway farm","inputs":["name"],"name":"cloud_train"},{"about":"Spawn all 13 HSLM training experiments across Railway farm","inputs":[],"name":"cloud_train_batch"},{"about":"Chain Link 0: TVC Gate -- search corpus, return cached or continue","inputs":["task"],"name":"chain_cache"},{"about":"Chain Link 1: Analyze previous version v(n-1)","inputs":["task"],"name":"chain_baseline"},{"about":"Chain Link 2: Collect performance metrics","inputs":["task"],"name":"chain_metrics"},{"about":"Chain Link 3: Research patterns and science (PAS)","inputs":["task"],"name":"chain_patterns"},{"about":"Chain Link 4: Build technology dependency tree","inputs":["task"],"name":"chain_tree"},{"about":"Chain Link 5: VIBEE-first compliance check","inputs":["task"],"name":"chain_check_spec"},{"about":"Chain Link 6: Create .tri specifications","inputs":["task"],"name":"chain_spec"},{"about":"Chain Link 7: Generate Zig code from .tri specs","inputs":["task"],"name":"chain_codegen"},{"about":"Chain Link 8: Sacred Intelligence code analysis","inputs":["task"],"name":"chain_analyze"},{"about":"Chain Link 9: Run zig build test suite","inputs":["task"],"name":"chain_test"},{"about":"Chain Link 10: CRITICAL -- Compare to baseline v(n-1)","inputs":["task"],"name":"chain_bench"},{"about":"Chain Link 11: SWE Agent error fixing","inputs":["task"],"name":"chain_fix"},{"about":"Chain Link 12: Compare to external tools (llama.cpp/vLLM)","inputs":["task"],"name":"chain_bench_ext"},{"about":"Chain Link 13: Gap to theoretical maximum","inputs":["task"],"name":"chain_bench_theory"},{"about":"Chain Link 14: Generate improvement delta report","inputs":["task"],"name":"chain_delta"},{"about":"Chain Link 15: Optimize if needed (optional)","inputs":["task"],"name":"chain_optimize"},{"about":"Chain Link 16: Generate documentation with proofs","inputs":["task"],"name":"chain_docs"},{"about":"Chain Link 17: Critical self-assessment (toxic verdict)","inputs":["task"],"name":"chain_verdict"},{"about":"Chain Link 18: Commit and push changes","inputs":["task"],"name":"chain_git"},{"about":"Chain Link 19: Decide next iteration (continue/exit)","inputs":["task"],"name":"chain_loop"},{"about":"Chain Link 20: Auto-deploy to cloud","inputs":["task"],"name":"chain_deploy"},{"about":"Chain Link 21: Pipeline analyzes itself (eternal self-evolution)","inputs":["task"],"name":"chain_evolve"},{"about":"Chain Link 22: Pipeline improves itself (circular bootstrapping)","inputs":["task"],"name":"chain_self_ref"},{"about":"Chain Link 23: Camera-based LED verification for FPGA","inputs":["task"],"name":"chain_fpga_test"},{"about":"Chain Link 24: Research-assisted error fixing via Perplexity","inputs":["task"],"name":"chain_research"},{"about":"Chain Link 25: Validate .tri spec syntax before codegen","inputs":["task"],"name":"chain_lint_spec"},{"about":"List all 26 Golden Chain links with roles and status","inputs":[],"name":"chain_list"},{"about":"Decompose a GitHub issue into 5 role-based sub-issues (planner/coder/reviewer/tester/integrator)","inputs":["issue_number","template"],"name":"cloud_decompose"},{"about":"Send/edit/pin Telegram messages via tri CLI","inputs":["text","chat_id","pin","edit_id"],"name":"tri_notify"},{"about":"Scan for USB-UART serial devices (CH340/FTDI) connected to FPGA","inputs":[],"name":"fpga_uart_scan"},{"about":"PING/PONG test -- send 0x03, expect 0x83 from FPGA","inputs":["device"],"name":"fpga_uart_ping"},{"about":"Send raw hex bytes to FPGA via UART and print response","inputs":["device","hex_bytes"],"name":"fpga_uart_send"},{"about":"Get doctor health status -- one-line summary","inputs":[],"name":"doctor_status"},{"about":"Scan and classify all .zig files","inputs":[],"name":"doctor_scan"},{"about":"Health score dashboard with emoji grades","inputs":[],"name":"doctor_report"},{"about":"Create migration queue for manual files","inputs":[],"name":"doctor_plan"},{"about":"Regenerate manual files through pipeline","inputs":[],"name":"doctor_heal"},{"about":"Start a background job","inputs":["command"],"name":"job_start"},{"about":"Get job status by ID","inputs":["id"],"name":"job_status"},{"about":"Get job logs by ID","inputs":["id"],"name":"job_logs"},{"about":"List all background jobs","inputs":[],"name":"job_list"},{"about":"Cancel a running job","inputs":["id"],"name":"job_cancel"},{"about":"Get job artifacts by ID","inputs":["id"],"name":"job_artifacts"},{"about":"List open GitHub issues","inputs":[],"name":"issue_list"},{"about":"View a specific GitHub issue","inputs":["number"],"name":"issue_view"},{"about":"Create a new GitHub issue","inputs":["title","body"],"name":"issue_create"},{"about":"Add a comment to a GitHub issue","inputs":["number","body"],"name":"issue_comment"},{"about":"Close a GitHub issue","inputs":["number"],"name":"issue_close"},{"about":"Assign a user to a GitHub issue","inputs":["number","user"],"name":"issue_assign"},{"about":"Decompose a GitHub issue into sub-tasks","inputs":["number"],"name":"issue_decompose"},{"about":"Get deployment status","inputs":[],"name":"deploy_status"},{"about":"Get deployment logs","inputs":[],"name":"deploy_logs"},{"about":"Get deployment environment variables","inputs":[],"name":"deploy_vars"},{"about":"Start deployment","inputs":[],"name":"deploy_start"},{"about":"Stop deployment","inputs":[],"name":"deploy_stop"},{"about":"Save an experience entry (key-value learning)","inputs":["key","value"],"name":"experience_save"},{"about":"Recall an experience entry by key","inputs":["key"],"name":"experience_recall"},{"about":"List all recorded mistakes/anti-patterns","inputs":[],"name":"experience_mistakes"},{"about":"Get patent portfolio status","inputs":[],"name":"patent_status"},{"about":"Get patent analysis and claims","inputs":[],"name":"patent_analysis"},{"about":"Get DePIN node protocol status","inputs":[],"name":"depin_status"},{"about":"List DePIN network nodes","inputs":[],"name":"depin_nodes"},{"about":"Get DePIN node fitness scores","inputs":[],"name":"depin_fitness"},{"about":"Research a topic via Perplexity-assisted search","inputs":["query"],"name":"research_query"},{"about":"List all HSLM training experiments","inputs":[],"name":"experiment_list"},{"about":"Compare two experiments","inputs":["a","b"],"name":"experiment_compare"},{"about":"Run a chimera fused command (farm-cycle, train-cycle, etc.)","inputs":["name"],"name":"chimera_run"},{"about":"Get ouroboros self-evolution status and score","inputs":[],"name":"ouroboros_status"},{"about":"Run ouroboros self-evolution cycle","inputs":[],"name":"ouroboros_run"},{"about":"Run self-test suite","inputs":[],"name":"self_test"},{"about":"Get self-health check results","inputs":[],"name":"self_health"},{"about":"Get current context info (tokens, files, window)","inputs":[],"name":"context_info"},{"about":"Load additional context from a file path","inputs":["path"],"name":"context_load"},{"about":"Get Faculty Board status dashboard","inputs":[],"name":"faculty_status"},{"about":"Get MU agent status","inputs":[],"name":"mu_status"},{"about":"List MU learned patterns","inputs":[],"name":"mu_patterns"},{"about":"Get Zenodo publication status","inputs":[],"name":"zenodo_status"},{"about":"Analyze codebase quality and metrics","inputs":[],"name":"tri_analyze"},{"about":"Clean build artifacts and temp files","inputs":[],"name":"tri_clean"},{"about":"Format all Zig source files","inputs":[],"name":"tri_fmt"},{"about":"Show project statistics (LOC, files, tests)","inputs":[],"name":"tri_stats"},{"about":"Run linter on source code","inputs":[],"name":"tri_lint"},{"about":"Search codebase for a query string","inputs":["query"],"name":"tri_search"},{"about":"Get project metrics dashboard","inputs":[],"name":"tri_metrics"},{"about":"Get execution trace","inputs":[],"name":"tri_trace"},{"about":"Evaluate expression or code snippet","inputs":[],"name":"tri_eval"},{"about":"Get training farm status overview","inputs":[],"name":"farm_status"},{"about":"List idle farm workers","inputs":[],"name":"farm_idle"},{"about":"Recycle underperforming farm workers","inputs":[],"name":"farm_recycle"},{"about":"Fill empty farm slots with new experiments","inputs":[],"name":"farm_fill"},{"about":"List all 8 Railway farm accounts and their service counts","inputs":[],"name":"farm_accounts"},{"about":"Spawn a wave of training workers on a specific account","inputs":["account","count"],"name":"farm_wave_spawn"},{"about":"Run FPGA synthesis pipeline","inputs":[],"name":"fpga_synth"},{"about":"Get FPGA hardware and synthesis status","inputs":[],"name":"fpga_status"},{"about":"Build FPGA bitstream","inputs":[],"name":"fpga_build"},{"about":"Verify FPGA bitstream against RTL","inputs":[],"name":"fpga_verify"},{"about":"Flash bitstream to FPGA board","inputs":["bitstream"],"name":"fpga_flash"}],"toolsNote":"Static list parsed from writeToolsList (210 entries; 32 entries have an unbalanced trailing brace in the source literal and were parsed after adding or removing one). Cell-generated tools from data/cells/mcp_tools.json are appended at runtime and are not listed here. .trinity/mcp_schemas.json lists a different, shorter set (29 names) and is not used as the source.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":".mcp.json entry; no tool list in this repository","agents":[],"config":".mcp.json","discarded":0,"env":[],"external":true,"family":"mcp","fields":{"ABOUT":"External MCP server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","ABOUT_SOURCE":".mcp.json entry; no tool list in this repository","AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this server: docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md do not name it.","CONFIG":".mcp.json","ENABLED":true,"ENV":[],"EXTERNAL":true,"FAMILY":"mcp","ID":"mcp/zig-docs","KIND":"tool","LAUNCH":"npx -y @nichochar/zig-mcp@latest","QUALIFIED_ID":"gHashTag/trinity:mcp/zig-docs","REPO":"gHashTag/trinity","RESOURCES":[],"RESOURCES_ABOUT":[],"SCHEMA":2,"SERVER":"zig-docs","SERVER_VERSION":"","SOURCE":".mcp.json","TOOLS":[],"TOOLS_ABOUT":[],"TOOLS_INPUTS":[],"TOOLS_NOTE":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","TRANSPORT":"stdio","WITNESS":"source-parse"},"health":"ok","id":"mcp/zig-docs","inSpecCorpus":false,"launch":"npx -y @nichochar/zig-mcp@latest","links":{"config":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json","pinnedAt":"ddceafb50cd0e620387161228fa2c9ae134047de","source":"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/gHashTag/trinity/blob/ddceafb50cd0e620387161228fa2c9ae134047de/.mcp.json"},"messages":["no agent letter bound by a source","external package: tool list not in the repository"],"moduleName":"tool_mcp_zig_docs","name":{"en":"zig-docs"},"qualifiedId":"gHashTag/trinity:mcp/zig-docs","repo":"gHashTag/trinity","resources":[],"schema":2,"searchText":"mcp/zig-docs zig-docs external mcp server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","server":"zig-docs","serverVersion":"","sha256":"baaff4d44a3595acd0cf596f2f070219c08df87bb2a997092e0b3e4792f06903","skills":[],"source":".mcp.json","specPath":"specs/tools/mcp/zig-docs.t27","summary":{"en":"External MCP server `zig-docs` registered in .mcp.json; launched as `npx -y @nichochar/zig-mcp@latest`.","ru":"Внешний MCP-сервер `zig-docs`, зарегистрированный в .mcp.json; запускается как `npx -y @nichochar/zig-mcp@latest`."},"tools":[],"toolsNote":"Tool list lives in the external npm package, not in this repository; nothing is listed rather than guessed.","transport":"stdio","typecheckOk":true,"witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Abandoned (cli/tri/src/main.rs; module cli/tri/src/abandoned.rs)","actions":[{"about":"List recovery sites whose preceding comment names a concrete construct.","name":"list"}],"agents":[],"args":[],"command":"tri abandoned","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Recovery sites whose own comment names the construct they discard.","ABOUT_SOURCE":"clap /// doc on Commands::Abandoned (cli/tri/src/main.rs; module cli/tri/src/abandoned.rs)","ACTIONS":["list"],"ACTIONS_ABOUT":["List recovery sites whose preceding comment names a concrete construct."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri abandoned","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/abandoned","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/abandoned","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/abandoned.rs","VARIANT":"Commands::Abandoned","WHEN_TO_USE":"Recovery sites whose own comment names the construct they discard.","WITNESS":"source-parse"},"health":"ok","id":"tri/abandoned","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/abandoned.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_abandoned","name":{"en":"tri abandoned"},"qualifiedId":"gHashTag/t27:tri/abandoned","repo":"gHashTag/t27","schema":2,"searchText":"tri/abandoned tri abandoned recovery sites whose own comment names the construct they discard. recovery sites whose own comment names the construct they discard. list list recovery sites whose preceding comment names a concrete construct.","sha256":"b3105d48a28faff92bc02e393c146c4e95cba6c68277eb54f27ec5abc3b77bb4","skills":[],"source":"cli/tri/src/abandoned.rs","specPath":"specs/tools/tri/abandoned.t27","summary":{"en":"Recovery sites whose own comment names the construct they discard.","ru":"Точки восстановления, чей собственный комментарий называет отбрасываемую конструкцию."},"typecheckOk":true,"variant":"Commands::Abandoned","whenToUse":"Recovery sites whose own comment names the construct they discard.","witness":"source-parse"},{"aboutSource":"tri-mcp tools tri_cell_checkpoint and tri_cell_seal descriptions (cli/tri-mcp/src/main.rs); CellAction enum cli/tri/src/main.rs:448","actions":[{"about":"","name":"checkpoint"},{"about":"","name":"seal"}],"agents":[{"letter":"W","ok":true}],"args":[],"command":"tri cell","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","ABOUT_SOURCE":"tri-mcp tools tri_cell_checkpoint and tri_cell_seal descriptions (cli/tri-mcp/src/main.rs); CellAction enum cli/tri/src/main.rs:448","ACTIONS":["checkpoint","seal"],"ACTIONS_ABOUT":["",""],"AGENTS":["W"],"AGENTS_NOTE":"docs/agents/AGENTS_ALPHABET.md:144, agent W domain Workflow / tri cell, key file src/tri/cell.zig; PHASE 6 EVOLVE: W seals tri-cell commit (hash seal).","ARGS":[],"COMMAND":"tri cell","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/cell","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/cell","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Cell","WHEN_TO_USE":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","WITNESS":"source-parse"},"health":"ok","id":"tri/cell","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_cell","name":{"en":"tri cell"},"qualifiedId":"gHashTag/t27:tri/cell","repo":"gHashTag/t27","schema":2,"searchText":"tri/cell tri cell records a checkpoint step in the active cell. seals the active cell by computing a sha-256 hash of its checkpoint history. records a checkpoint step in the active cell. seals the active cell by computing a sha-256 hash of its checkpoint history. checkpoint seal w","sha256":"36ed34dfc7beb24c2fdd5b7dc5f7fe3375b42f357ffde7befd19f7cfbc22cdca","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/cell.t27","summary":{"en":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","ru":"Записывает шаг-контрольную точку в активной ячейке; запечатывает активную ячейку, вычисляя SHA-256 истории её контрольных точек."},"typecheckOk":true,"variant":"Commands::Cell","whenToUse":"Records a checkpoint step in the active cell. Seals the active cell by computing a SHA-256 hash of its checkpoint history.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Census (cli/tri/src/main.rs; module cli/tri/src/census.rs)","actions":[{"about":"Every census's printed population, against one counted another way.","name":"audit"},{"about":"Pin each pure census's output, so a change that moves one has to say so.","name":"pin"}],"agents":[],"args":[],"command":"tri census","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","ABOUT_SOURCE":"clap /// doc on Commands::Census (cli/tri/src/main.rs; module cli/tri/src/census.rs)","ACTIONS":["audit","pin"],"ACTIONS_ABOUT":["Every census's printed population, against one counted another way.","Pin each pure census's output, so a change that moves one has to say so."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri census","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/census","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/census","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/census.rs","VARIANT":"Commands::Census","WHEN_TO_USE":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","WITNESS":"source-parse"},"health":"ok","id":"tri/census","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/census.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_census","name":{"en":"tri census"},"qualifiedId":"gHashTag/t27:tri/census","repo":"gHashTag/t27","schema":2,"searchText":"tri/census tri census specs the compiler cannot read, ranked by the construct that stops it. every census's printed population, against one counted another way. specs the compiler cannot read, ranked by the construct that stops it. every census's printed population, against one counted another way. audit every census's printed population, against one counted another way. pin pin each pure census's output, so a change that moves one has to say so.","sha256":"d78bef53542ec408f004c9a1e1650cd9fd125ef0e7da3d4172f5ed9a203961af","skills":[],"source":"cli/tri/src/census.rs","specPath":"specs/tools/tri/census.t27","summary":{"en":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","ru":"Спеки, которые компилятор не может прочитать, ранжированные по конструкции, которая его останавливает. Напечатанная популяция каждой переписи против одной, посчитанной иначе."},"typecheckOk":true,"variant":"Commands::Census","whenToUse":"Specs the compiler cannot read, ranked by the construct that stops it. Every census's printed population, against one counted another way.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Ci (cli/tri/src/main.rs; module cli/tri/src/cibase.rs)","actions":[{"about":"List PR gates that have never run on the default branch.","name":"baseline"}],"agents":[],"args":[],"command":"tri ci","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","ABOUT_SOURCE":"clap /// doc on Commands::Ci (cli/tri/src/main.rs; module cli/tri/src/cibase.rs)","ACTIONS":["baseline"],"ACTIONS_ABOUT":["List PR gates that have never run on the default branch."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri ci","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/ci","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/ci","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/cibase.rs","VARIANT":"Commands::Ci","WHEN_TO_USE":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","WITNESS":"source-parse"},"health":"ok","id":"tri/ci","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/cibase.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_ci","name":{"en":"tri ci"},"qualifiedId":"gHashTag/t27:tri/ci","repo":"gHashTag/t27","schema":2,"searchText":"tri/ci tri ci is the hardware this plan assumes actually attached? ci questions about the repository's own gates. is the hardware this plan assumes actually attached? ci questions about the repository's own gates. baseline list pr gates that have never run on the default branch.","sha256":"589b4502973beca006108ffedabec587effb8778bfd21be45399b23bcae398f3","skills":[],"source":"cli/tri/src/cibase.rs","specPath":"specs/tools/tri/ci.t27","summary":{"en":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","ru":"Действительно ли подключено оборудование, которое предполагает этот план? Вопросы CI о собственных гейтах репозитория."},"typecheckOk":true,"variant":"Commands::Ci","whenToUse":"Is the hardware this plan assumes actually attached? CI questions about the repository's own gates.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Competitors (cli/tri/src/main.rs; module cli/tri/src/competitors.rs)","actions":[{"about":"Count the records, the double-entered papers and the unpublished zeros.","name":"audit"},{"about":"When the survey behind this table last read a paper, by the month its citations encode.","name":"freshness"}],"agents":[],"args":[],"command":"tri competitors","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","ABOUT_SOURCE":"clap /// doc on Commands::Competitors (cli/tri/src/main.rs; module cli/tri/src/competitors.rs)","ACTIONS":["audit","freshness"],"ACTIONS_ABOUT":["Count the records, the double-entered papers and the unpublished zeros.","When the survey behind this table last read a paper, by the month its citations encode."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri competitors","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/competitors","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/competitors","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/competitors.rs","VARIANT":"Commands::Competitors","WHEN_TO_USE":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","WITNESS":"source-parse"},"health":"ok","id":"tri/competitors","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/competitors.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_competitors","name":{"en":"tri competitors"},"qualifiedId":"gHashTag/t27:tri/competitors","repo":"gHashTag/t27","schema":2,"searchText":"tri/competitors tri competitors the competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice. the competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice. audit count the records, the double-entered papers and the unpublished zeros. freshness when the survey behind this table last read a paper, by the month its citations encode.","sha256":"43fb47d6699c50e81d6ecd71f0f0791c5e0c46ba0fd69a2f066d60825d8f6706","skills":[],"source":"cli/tri/src/competitors.rs","specPath":"specs/tools/tri/competitors.t27","summary":{"en":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","ru":"Таблица конкурентов против собственного контракта: сколько её опубликованных оценок никогда не публиковались и сколько статей она считает дважды."},"typecheckOk":true,"variant":"Commands::Competitors","whenToUse":"The competitor table against its own contract: how many of its published scores were never published, and how many papers it counts twice.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Discard (cli/tri/src/main.rs; module cli/tri/src/discard.rs)","actions":[{"about":"Rank the discarding specs, largest first, against the pinned volume.","name":"top"},{"about":"Group the discard by which recovery threw it away, and what it stopped on.","name":"classify"}],"agents":[],"args":[],"command":"tri discard","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What the parser reads and throws away, ranked against its pinned bound.","ABOUT_SOURCE":"clap /// doc on Commands::Discard (cli/tri/src/main.rs; module cli/tri/src/discard.rs)","ACTIONS":["top","classify"],"ACTIONS_ABOUT":["Rank the discarding specs, largest first, against the pinned volume.","Group the discard by which recovery threw it away, and what it stopped on."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri discard","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/discard","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/discard","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/discard.rs","VARIANT":"Commands::Discard","WHEN_TO_USE":"What the parser reads and throws away, ranked against its pinned bound.","WITNESS":"source-parse"},"health":"ok","id":"tri/discard","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/discard.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_discard","name":{"en":"tri discard"},"qualifiedId":"gHashTag/t27:tri/discard","repo":"gHashTag/t27","schema":2,"searchText":"tri/discard tri discard what the parser reads and throws away, ranked against its pinned bound. what the parser reads and throws away, ranked against its pinned bound. top rank the discarding specs, largest first, against the pinned volume. classify group the discard by which recovery threw it away, and what it stopped on.","sha256":"601efe186f5a97dbfd2e82e397ac53f32210ccedb4fadf1c2ffd0c0ee62e4530","skills":[],"source":"cli/tri/src/discard.rs","specPath":"specs/tools/tri/discard.t27","summary":{"en":"What the parser reads and throws away, ranked against its pinned bound.","ru":"Что парсер читает и выбрасывает, в сравнении с закреплённой границей."},"typecheckOk":true,"variant":"Commands::Discard","whenToUse":"What the parser reads and throws away, ranked against its pinned bound.","witness":"source-parse"},{"aboutSource":"handler cmd_doctor match arms start/stop/status and its error text unknown doctor action (start|stop|status) (cli/tri/src/main.rs:934)","actions":[],"agents":[],"args":[{"about":"","name":""}],"command":"tri doctor","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","ABOUT_SOURCE":"handler cmd_doctor match arms start/stop/status and its error text unknown doctor action (start|stop|status) (cli/tri/src/main.rs:934)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[""],"COMMAND":"tri doctor","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/doctor","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/doctor","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Doctor","WHEN_TO_USE":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","WITNESS":"source-parse"},"health":"ok","id":"tri/doctor","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_doctor","name":{"en":"tri doctor"},"qualifiedId":"gHashTag/t27:tri/doctor","repo":"gHashTag/t27","schema":2,"searchText":"tri/doctor tri doctor start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status). start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","sha256":"be3ed8d97c7404a17400311d3432bec040d027f0a76ce264a459326204780fd9","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/doctor.t27","summary":{"en":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","ru":"Запускает, останавливает или показывает состояние doctor, хранимое в .trinity/state/doctor.json (действия: start | stop | status)."},"typecheckOk":true,"variant":"Commands::Doctor","whenToUse":"Start, stop or show the doctor state kept in .trinity/state/doctor.json (actions: start | stop | status).","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Elab (cli/tri/src/main.rs; module cli/tri/src/elab.rs)","actions":[{"about":"Distribution of elaboration diagnostics by message shape.","name":"classify"},{"about":"How many diagnostics are secondary -- same source line as one above.","name":"secondary"}],"agents":[],"args":[],"command":"tri elab","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Classify a compiler's error output before quoting a number from it.","ABOUT_SOURCE":"clap /// doc on Commands::Elab (cli/tri/src/main.rs; module cli/tri/src/elab.rs)","ACTIONS":["classify","secondary"],"ACTIONS_ABOUT":["Distribution of elaboration diagnostics by message shape.","How many diagnostics are secondary -- same source line as one above."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri elab","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/elab","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/elab","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/elab.rs","VARIANT":"Commands::Elab","WHEN_TO_USE":"Classify a compiler's error output before quoting a number from it.","WITNESS":"source-parse"},"health":"ok","id":"tri/elab","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/elab.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_elab","name":{"en":"tri elab"},"qualifiedId":"gHashTag/t27:tri/elab","repo":"gHashTag/t27","schema":2,"searchText":"tri/elab tri elab classify a compiler's error output before quoting a number from it. classify a compiler's error output before quoting a number from it. classify distribution of elaboration diagnostics by message shape. secondary how many diagnostics are secondary -- same source line as one above.","sha256":"e1ee4634ec3f0bb75b6c2f870fda5b9ba40f1c1329ad5ed38ce03a9351065791","skills":[],"source":"cli/tri/src/elab.rs","specPath":"specs/tools/tri/elab.t27","summary":{"en":"Classify a compiler's error output before quoting a number from it.","ru":"Классифицирует вывод ошибок компилятора прежде, чем цитировать из него число."},"typecheckOk":true,"variant":"Commands::Elab","whenToUse":"Classify a compiler's error output before quoting a number from it.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Emit (cli/tri/src/main.rs; module cli/tri/src/gendet.rs)","actions":[{"about":"Generate the corpus twice with the same binary and name what differs.","name":"determinism"}],"agents":[],"args":[],"command":"tri emit","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Does the same binary produce the same generated code twice?","ABOUT_SOURCE":"clap /// doc on Commands::Emit (cli/tri/src/main.rs; module cli/tri/src/gendet.rs)","ACTIONS":["determinism"],"ACTIONS_ABOUT":["Generate the corpus twice with the same binary and name what differs."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri emit","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/emit","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/emit","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/gendet.rs","VARIANT":"Commands::Emit","WHEN_TO_USE":"Does the same binary produce the same generated code twice? Every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. Three of the four emitters do not; see #3006. (`Gen` is taken by the single-spec emitter, so this is `Emit`.)","WITNESS":"source-parse"},"health":"ok","id":"tri/emit","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/gendet.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_emit","name":{"en":"tri emit"},"qualifiedId":"gHashTag/t27:tri/emit","repo":"gHashTag/t27","schema":2,"searchText":"tri/emit tri emit does the same binary produce the same generated code twice? does the same binary produce the same generated code twice? every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. three of the four emitters do not; see #3006. (`gen` is taken by the single-spec emitter, so this is `emit`.) determinism generate the corpus twice with the same binary and name what differs.","sha256":"c4d32975e53fc1cf71a345333d73454c185b745057a215af3113981eedc68517","skills":[],"source":"cli/tri/src/gendet.rs","specPath":"specs/tools/tri/emit.t27","summary":{"en":"Does the same binary produce the same generated code twice?","ru":"Даёт ли один и тот же бинарник один и тот же сгенерированный код дважды?"},"typecheckOk":true,"variant":"Commands::Emit","whenToUse":"Does the same binary produce the same generated code twice? Every byte-comparison over emitted output -- seals, emit-bitexact, `corpus --per-spec` diffing -- assumes it does. Three of the four emitters do not; see #3006. (`Gen` is taken by the single-spec emitter, so this is `Emit`.)","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_experience_save description (cli/tri-mcp/src/main.rs); ExperienceAction enum cli/tri/src/main.rs:457","actions":[{"about":"","name":"save"}],"agents":[{"letter":"E","ok":true}],"args":[],"command":"tri experience","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Saves an experience episode to the akashic log.","ABOUT_SOURCE":"tri-mcp tool tri_experience_save description (cli/tri-mcp/src/main.rs); ExperienceAction enum cli/tri/src/main.rs:457","ACTIONS":["save"],"ACTIONS_ABOUT":[""],"AGENTS":["E"],"AGENTS_NOTE":".claude/agents/agent-e-experience.md:64 (tri experience save -- Save episode to experience log). Lines 65-66 name tri experience query and tri notebook, which the CLI does not have at this commit.","ARGS":[],"COMMAND":"tri experience","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/experience","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/experience","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Experience","WHEN_TO_USE":"Saves an experience episode to the akashic log.","WITNESS":"source-parse"},"health":"ok","id":"tri/experience","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_experience","name":{"en":"tri experience"},"qualifiedId":"gHashTag/t27:tri/experience","repo":"gHashTag/t27","schema":2,"searchText":"tri/experience tri experience saves an experience episode to the akashic log. saves an experience episode to the akashic log. save e","sha256":"08a7874c72e53ac1054c02ddb4a7649a6c4efb3c27ab9da7f4e148f6b9d05024","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/experience.t27","summary":{"en":"Saves an experience episode to the akashic log.","ru":"Сохраняет эпизод опыта в акашический журнал."},"typecheckOk":true,"variant":"Commands::Experience","whenToUse":"Saves an experience episode to the akashic log.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/fleet.rs:1","actions":[{"about":"Scan the USB bus and say plainly what hardware is present.","name":"scan"},{"about":"Check the environments a claim depends on before repeating the claim.","name":"asof"}],"agents":[],"args":[],"command":"tri fleet","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri fleet` -- is the hardware this plan assumes actually attached?","ABOUT_SOURCE":"//! module doc, cli/tri/src/fleet.rs:1","ACTIONS":["scan","asof"],"ACTIONS_ABOUT":["Scan the USB bus and say plainly what hardware is present.","Check the environments a claim depends on before repeating the claim."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri fleet","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fleet","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fleet","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/fleet.rs","VARIANT":"Commands::Fleet","WHEN_TO_USE":"`tri fleet` -- is the hardware this plan assumes actually attached?","WITNESS":"source-parse"},"health":"ok","id":"tri/fleet","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/fleet.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fleet","name":{"en":"tri fleet"},"qualifiedId":"gHashTag/t27:tri/fleet","repo":"gHashTag/t27","schema":2,"searchText":"tri/fleet tri fleet `tri fleet` -- is the hardware this plan assumes actually attached? `tri fleet` -- is the hardware this plan assumes actually attached? scan scan the usb bus and say plainly what hardware is present. asof check the environments a claim depends on before repeating the claim.","sha256":"13c773d8e575a6f617dbcb4c86415a09bf50217b58f257efc4ea0ebc1ab90a8b","skills":[],"source":"cli/tri/src/fleet.rs","specPath":"specs/tools/tri/fleet.t27","summary":{"en":"`tri fleet` -- is the hardware this plan assumes actually attached?","ru":"`tri fleet` -- действительно ли подключено оборудование, которое предполагает этот план?"},"typecheckOk":true,"variant":"Commands::Fleet","whenToUse":"`tri fleet` -- is the hardware this plan assumes actually attached?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Fmt (cli/tri/src/main.rs)","actions":[],"agents":[],"args":[{"about":"One package instead of the whole workspace.","name":"--package"},{"about":"Report what is dirty and whether a workflow formats, and stop.","name":"--dry-run"}],"command":"tri fmt","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","ABOUT_SOURCE":"clap /// doc on Commands::Fmt (cli/tri/src/main.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--package: One package instead of the whole workspace.","--dry-run: Report what is dirty and whether a workflow formats, and stop."],"COMMAND":"tri fmt","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fmt","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fmt","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Fmt","WHEN_TO_USE":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","WITNESS":"source-parse"},"health":"ok","id":"tri/fmt","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fmt","name":{"en":"tri fmt"},"qualifiedId":"gHashTag/t27:tri/fmt","repo":"gHashTag/t27","schema":2,"searchText":"tri/fmt tri fmt type names with more than one definition in the spec tree. run the formatter and restore every file it rewrote that you had not touched. type names with more than one definition in the spec tree. run the formatter and restore every file it rewrote that you had not touched.","sha256":"83e694d0156e30877c9a0d898b194667571fbc64181ff7c99dc0f7647a6f3452","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/fmt.t27","summary":{"en":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","ru":"Имена типов с более чем одним определением в дереве спеков. Запускает форматтер и восстанавливает каждый переписанный им файл, которого вы не трогали."},"typecheckOk":true,"variant":"Commands::Fmt","whenToUse":"Type names with more than one definition in the spec tree. Run the formatter and restore every file it rewrote that you had not touched.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Fpga (cli/tri/src/main.rs; module cli/tri/src/fpga.rs)","actions":[{"about":"Read and print the JTAG IDCODE of the attached DLC10 cable target.","name":"idcode"},{"about":"Read the configuration IDCODE register via the Type-1 CFG_IN/CFG_OUT protocol. On a healthy XC7A100T this must return 0x13631093 (same as the JTAG IDCODE). If 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken.","name":"idcode-cfg"},{"about":"Program FPGA SRAM (volatile -- lost on power-cycle).","name":"sram"},{"about":"Program the on-board SPI flash (non-volatile / persistent).","name":"program"},{"about":"Read the SPI flash JEDEC ID via the JTAG-to-SPI bridge.","name":"flash-id"},{"about":"Read the raw CFG_OUT status register.","name":"status"},{"about":"Decode 7-series configuration registers for DONE=LOW diagnosis.","name":"debug"},{"about":"Load a bitstream into FPGA SRAM using openFPGALoader with a Digilent FTDI cable. This is the canonical path for the QMTech Wukong V1 / XC7A200T board because the in-tree `dlc10` driver only supports Xilinx DLC10 cables (VID=0x03FD), not the attached Digilent cable (VID=0x0403:0x6014).","name":"load-sram"},{"about":"Read and decode the FPGA STAT register via openFPGALoader.","name":"stat"},{"about":"Read the FPGA XADC sensors (temperature, VCCINT, VCCAUX) via openFPGALoader and print a JSON object. The board must be powered and connected through a supported cable such as `digilent_hs2`.","name":"read-xadc"},{"about":"Synthesize the GF16 4x4 matrix design through the openXC7 toolchain. Output is written to `/gf16_matmul4x4_top.bit`.","name":"synth-gf16"},{"about":"Program the on-board SPI flash (non-volatile) using openFPGALoader's JTAG-to-SPI bridge. Requires a matching `spiOverJtag` bitstream for the exact FPGA package; the XC7A200T-FGG676 bridge is present in recent openFPGALoader distributions but flash boot may still depend on board mode pins (see docs/reports/FPGA_LOOP_EVIDENCE_2026-07-04.md).","name":"program-flash"},{"about":"Dump SPI flash contents to a file via openFPGALoader's JTAG-to-SPI bridge.","name":"dump-flash"},{"about":"Parse the .bit header and print the configuration registers that affect Master SPI boot (COR0, COR1, WBSTAR, TIMER, CTL0, CTL1, IDCODE, BSPI).","name":"bit-config"},{"about":"Program the given .bit to SPI flash, dump the same region back, and compare the dumped bytes against the bitstream payload. This verifies the openFPGALoader write path is bit-perfect for the raw bitstream.","name":"round-trip-verify"},{"about":"Guided cold-POR boot experiment. Programs flash, asks the user to physically power-cycle the board, then captures STAT without a JTAG reset and prints a decision-tree diagnosis.","name":"boot-log"},{"about":"Deterministic cold-POR boot experiment with optional relay control. With `--relay-port MOCK` the command writes a deterministic, clearly labeled mock boot log so CI can exercise the cold-POR JSON path without touching hardware. Real relay ports are reserved for Variant A/B.","name":"cold-por"},{"about":"Board-less smoke gate for the FPGA path. Runs `tri fpga bit-config` on the GF16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo Verilog. Requires no physical board.","name":"smoke-gate"},{"about":"Print or interactively confirm the cold-POR boot protocol. This is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle.","name":"boot-protocol"},{"about":"Patch the raw OSCFSEL field (COR0[22:17]) of a 7-series .bit file.","name":"patch-cor0"},{"about":"Generate a set of OSCFSEL variants from a single input .bit file. Outputs one file per requested value to the given directory.","name":"cclk-variants"},{"about":"Automated cold-POR CCLK sweep. Generates OSCFSEL variants, programs each to flash, prompts for the physical power-cycle, captures STAT, and writes JSON logs. The only manual step is disconnecting/reconnecting the cable and power-cycling the board.","name":"cclk-sweep"},{"about":"Read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working CCLK variant.","name":"sweep-report"},{"about":"Print DSLogic / oscilloscope instructions for measuring the FPGA CCLK output during Master SPI configuration. Optionally parse a DSView CSV export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the Digilent FTDI cable as `ftdi-la`).","name":"measure-cclk"},{"about":"Read the SPI flash status register via openFPGALoader's JTAG-to-SPI bridge. Decodes WIP, WEL, and QE bits to help diagnose boot-from-flash failures.","name":"flash-status"},{"about":"Diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into FPGA SRAM, report STAT, leave TAP in RTI. Does NOT touch SPI flash. Useful for verifying the bridge actually reaches DONE=HIGH before debugging SPI semantics.","name":"proxy-load"},{"about":"Diagnostic: read IDCODE + STAT *without* touching the FPGA. Run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. Also confirms IR=USER1 select is accepted.","name":"proxy-status"},{"about":"Diagnostic: shift raw hex bytes through the USER1 BSCAN as a single SPI transaction. Reads `--rx N` MISO bytes after the TX stream. Requires the proxy bridge to be already loaded (`tri fpga proxy-load` first).","name":"spi-raw"},{"about":"Diagnostic: probe the IR capture pattern after selecting an IR. A healthy 7-series TAP always captures `0b000001` into the IR shift register. Anything else means the JTAG chain is broken or the cable is mis-driving TMS.","name":"ir-probe"},{"about":"Diagnostic: drive the full JEDEC-read flow end-to-end with maximum instrumentation, **including** the 0xAB Release-Power-down and 0x66+0x99 software-reset recovery attempts. Equivalent to `flash-id --verbose` plus auto-recovery.","name":"flash-id-debug"},{"about":"Build the QMTech XC7A100T-FGG676 JTAG-to-SPI proxy bitstream via the openXC7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). Requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on PATH. With `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `BSCAN_SPI_XC7A100T` constant picks it up on the next rebuild.","name":"build-proxy"},{"about":"Clone the openXC7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`.","name":"setup-openxc7-chipdb"},{"about":"Generate a Lean 4 theorem from a `tri fpga measure-cclk --json` output. The theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. Useful for turning a real capture into a machine-checked proof without manual copy-paste.","name":"measured-to-lean"},{"about":"Print the PVT-derated N25Q128_3V SCK low/high bound for a supplied operating context. Also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope.","name":"pvt-envelope"},{"about":"Build the QMTech XC7A100T-FGG676 proxy bitstream via a Docker container running Xilinx Vivado. Clones our `openFPGALoader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spiOverJtag/`. On Apple Silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. With `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its SHA256 is printed.","name":"build-proxy-docker"}],"agents":[],"args":[],"command":"tri fpga","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"FPGA programming via the in-tree DLC10 driver (pure Rust).","ABOUT_SOURCE":"clap /// doc on Commands::Fpga (cli/tri/src/main.rs; module cli/tri/src/fpga.rs)","ACTIONS":["idcode","idcode-cfg","sram","program","flash-id","status","debug","load-sram","stat","read-xadc","synth-gf16","program-flash","dump-flash","bit-config","round-trip-verify","boot-log","cold-por","smoke-gate","boot-protocol","patch-cor0","cclk-variants","cclk-sweep","sweep-report","measure-cclk","flash-status","proxy-load","proxy-status","spi-raw","ir-probe","flash-id-debug","build-proxy","setup-openxc7-chipdb","measured-to-lean","pvt-envelope","build-proxy-docker"],"ACTIONS_ABOUT":["Read and print the JTAG IDCODE of the attached DLC10 cable target.","Read the configuration IDCODE register via the Type-1 CFG_IN/CFG_OUT protocol. On a healthy XC7A100T this must return 0x13631093 (same as the JTAG IDCODE). If 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken.","Program FPGA SRAM (volatile -- lost on power-cycle).","Program the on-board SPI flash (non-volatile / persistent).","Read the SPI flash JEDEC ID via the JTAG-to-SPI bridge.","Read the raw CFG_OUT status register.","Decode 7-series configuration registers for DONE=LOW diagnosis.","Load a bitstream into FPGA SRAM using openFPGALoader with a Digilent FTDI cable. This is the canonical path for the QMTech Wukong V1 / XC7A200T board because the in-tree `dlc10` driver only supports Xilinx DLC10 cables (VID=0x03FD), not the attached Digilent cable (VID=0x0403:0x6014).","Read and decode the FPGA STAT register via openFPGALoader.","Read the FPGA XADC sensors (temperature, VCCINT, VCCAUX) via openFPGALoader and print a JSON object. The board must be powered and connected through a supported cable such as `digilent_hs2`.","Synthesize the GF16 4x4 matrix design through the openXC7 toolchain. Output is written to `/gf16_matmul4x4_top.bit`.","Program the on-board SPI flash (non-volatile) using openFPGALoader's JTAG-to-SPI bridge. Requires a matching `spiOverJtag` bitstream for the exact FPGA package; the XC7A200T-FGG676 bridge is present in recent openFPGALoader distributions but flash boot may still depend on board mode pins (see docs/reports/FPGA_LOOP_EVIDENCE_2026-07-04.md).","Dump SPI flash contents to a file via openFPGALoader's JTAG-to-SPI bridge.","Parse the .bit header and print the configuration registers that affect Master SPI boot (COR0, COR1, WBSTAR, TIMER, CTL0, CTL1, IDCODE, BSPI).","Program the given .bit to SPI flash, dump the same region back, and compare the dumped bytes against the bitstream payload. This verifies the openFPGALoader write path is bit-perfect for the raw bitstream.","Guided cold-POR boot experiment. Programs flash, asks the user to physically power-cycle the board, then captures STAT without a JTAG reset and prints a decision-tree diagnosis.","Deterministic cold-POR boot experiment with optional relay control. With `--relay-port MOCK` the command writes a deterministic, clearly labeled mock boot log so CI can exercise the cold-POR JSON path without touching hardware. Real relay ports are reserved for Variant A/B.","Board-less smoke gate for the FPGA path. Runs `tri fpga bit-config` on the GF16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo Verilog. Requires no physical board.","Print or interactively confirm the cold-POR boot protocol. This is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle.","Patch the raw OSCFSEL field (COR0[22:17]) of a 7-series .bit file.","Generate a set of OSCFSEL variants from a single input .bit file. Outputs one file per requested value to the given directory.","Automated cold-POR CCLK sweep. Generates OSCFSEL variants, programs each to flash, prompts for the physical power-cycle, captures STAT, and writes JSON logs. The only manual step is disconnecting/reconnecting the cable and power-cycling the board.","Read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working CCLK variant.","Print DSLogic / oscilloscope instructions for measuring the FPGA CCLK output during Master SPI configuration. Optionally parse a DSView CSV export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the Digilent FTDI cable as `ftdi-la`).","Read the SPI flash status register via openFPGALoader's JTAG-to-SPI bridge. Decodes WIP, WEL, and QE bits to help diagnose boot-from-flash failures.","Diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into FPGA SRAM, report STAT, leave TAP in RTI. Does NOT touch SPI flash. Useful for verifying the bridge actually reaches DONE=HIGH before debugging SPI semantics.","Diagnostic: read IDCODE + STAT *without* touching the FPGA. Run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. Also confirms IR=USER1 select is accepted.","Diagnostic: shift raw hex bytes through the USER1 BSCAN as a single SPI transaction. Reads `--rx N` MISO bytes after the TX stream. Requires the proxy bridge to be already loaded (`tri fpga proxy-load` first).","Diagnostic: probe the IR capture pattern after selecting an IR. A healthy 7-series TAP always captures `0b000001` into the IR shift register. Anything else means the JTAG chain is broken or the cable is mis-driving TMS.","Diagnostic: drive the full JEDEC-read flow end-to-end with maximum instrumentation, **including** the 0xAB Release-Power-down and 0x66+0x99 software-reset recovery attempts. Equivalent to `flash-id --verbose` plus auto-recovery.","Build the QMTech XC7A100T-FGG676 JTAG-to-SPI proxy bitstream via the openXC7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). Requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on PATH. With `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `BSCAN_SPI_XC7A100T` constant picks it up on the next rebuild.","Clone the openXC7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`.","Generate a Lean 4 theorem from a `tri fpga measure-cclk --json` output. The theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. Useful for turning a real capture into a machine-checked proof without manual copy-paste.","Print the PVT-derated N25Q128_3V SCK low/high bound for a supplied operating context. Also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope.","Build the QMTech XC7A100T-FGG676 proxy bitstream via a Docker container running Xilinx Vivado. Clones our `openFPGALoader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spiOverJtag/`. On Apple Silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. With `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its SHA256 is printed."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri fpga","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/fpga","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/fpga","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/fpga.rs","VARIANT":"Commands::Fpga","WHEN_TO_USE":"FPGA programming via the in-tree DLC10 driver (pure Rust).","WITNESS":"source-parse"},"health":"ok","id":"tri/fpga","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/fpga.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_fpga","name":{"en":"tri fpga"},"qualifiedId":"gHashTag/t27:tri/fpga","repo":"gHashTag/t27","schema":2,"searchText":"tri/fpga tri fpga fpga programming via the in-tree dlc10 driver (pure rust). fpga programming via the in-tree dlc10 driver (pure rust). idcode read and print the jtag idcode of the attached dlc10 cable target. idcode-cfg read the configuration idcode register via the type-1 cfg_in/cfg_out protocol. on a healthy xc7a100t this must return 0x13631093 (same as the jtag idcode). if 0x00000000 is returned while `idcode` works, the read_cfg_reg implementation is broken. sram program fpga sram (volatile -- lost on power-cycle). program program the on-board spi flash (non-volatile / persistent). flash-id read the spi flash jedec id via the jtag-to-spi bridge. status read the raw cfg_out status register. debug decode 7-series configuration registers for done=low diagnosis. load-sram load a bitstream into fpga sram using openfpgaloader with a digilent ftdi cable. this is the canonical path for the qmtech wukong v1 / xc7a200t board because the in-tree `dlc10` driver only supports xilinx dlc10 cables (vid=0x03fd), not the attached digilent cable (vid=0x0403:0x6014). stat read and decode the fpga stat register via openfpgaloader. read-xadc read the fpga xadc sensors (temperature, vccint, vccaux) via openfpgaloader and print a json object. the board must be powered and connected through a supported cable such as `digilent_hs2`. synth-gf16 synthesize the gf16 4x4 matrix design through the openxc7 toolchain. output is written to `/gf16_matmul4x4_top.bit`. program-flash program the on-board spi flash (non-volatile) using openfpgaloader's jtag-to-spi bridge. requires a matching `spioverjtag` bitstream for the exact fpga package; the xc7a200t-fgg676 bridge is present in recent openfpgaloader distributions but flash boot may still depend on board mode pins (see docs/reports/fpga_loop_evidence_2026-07-04.md). dump-flash dump spi flash contents to a file via openfpgaloader's jtag-to-spi bridge. bit-config parse the .bit header and print the configuration registers that affect master spi boot (cor0, cor1, wbstar, timer, ctl0, ctl1, idcode, bspi). round-trip-verify program the given .bit to spi flash, dump the same region back, and compare the dumped bytes against the bitstream payload. this verifies the openfpgaloader write path is bit-perfect for the raw bitstream. boot-log guided cold-por boot experiment. programs flash, asks the user to physically power-cycle the board, then captures stat without a jtag reset and prints a decision-tree diagnosis. cold-por deterministic cold-por boot experiment with optional relay control. with `--relay-port mock` the command writes a deterministic, clearly labeled mock boot log so ci can exercise the cold-por json path without touching hardware. real relay ports are reserved for variant a/b. smoke-gate board-less smoke gate for the fpga path. runs `tri fpga bit-config` on the gf16 demo bitstream and, if yosys is available, a synthesis smoke check on the demo verilog. requires no physical board. boot-protocol print or interactively confirm the cold-por boot protocol. this is the standalone version of the instructions embedded in `boot-log` and `cclk-sweep`; use it to verify the operator steps before a physical power-cycle. patch-cor0 patch the raw oscfsel field (cor0[22:17]) of a 7-series .bit file. cclk-variants generate a set of oscfsel variants from a single input .bit file. outputs one file per requested value to the given directory. cclk-sweep automated cold-por cclk sweep. generates oscfsel variants, programs each to flash, prompts for the physical power-cycle, captures stat, and writes json logs. the only manual step is disconnecting/reconnecting the cable and power-cycling the board. sweep-report read all `build/fpga/boot-log-*.json` files and produce a sweep report identifying the first working cclk variant. measure-cclk print dslogic / oscilloscope instructions for measuring the fpga cclk output during master spi configuration. optionally parse a dsview csv export or run a live capture via `sigrok-cli` with a connected logic analyzer (e.g., the digilent ftdi cable as `ftdi-la`). flash-status read the spi flash status register via openfpgaloader's jtag-to-spi bridge. decodes wip, wel, and qe bits to help diagnose boot-from-flash failures. proxy-load diagnostic: load *only* the proxy bridge bitstream (or any other bitstream) into fpga sram, report stat, leave tap in rti. does not touch spi flash. useful for verifying the bridge actually reaches done=high before debugging spi semantics. proxy-status diagnostic: read idcode + stat *without* touching the fpga. run this immediately after `tri fpga proxy-load` to confirm the bridge is alive. also confirms ir=user1 select is accepted. spi-raw diagnostic: shift raw hex bytes through the user1 bscan as a single spi transaction. reads `--rx n` miso bytes after the tx stream. requires the proxy bridge to be already loaded (`tri fpga proxy-load` first). ir-probe diagnostic: probe the ir capture pattern after selecting an ir. a healthy 7-series tap always captures `0b000001` into the ir shift register. anything else means the jtag chain is broken or the cable is mis-driving tms. flash-id-debug diagnostic: drive the full jedec-read flow end-to-end with maximum instrumentation, **including** the 0xab release-power-down and 0x66+0x99 software-reset recovery attempts. equivalent to `flash-id --verbose` plus auto-recovery. build-proxy build the qmtech xc7a100t-fgg676 jtag-to-spi proxy bitstream via the openxc7 open-source toolchain (yosys + nextpnr-himbaechel + prjxray). requires `yosys`, `nextpnr-himbaechel`, `fasm2frames.py` and `xc7frames2bit` on path. with `--install`, the produced `.bit` is copied to `fpga/tools/bscan_spi_xc7a100t.bit` so the embedded `bscan_spi_xc7a100t` constant picks it up on the next rebuild. setup-openxc7-chipdb clone the openxc7 `nextpnr-xilinx` repo and build a chipdb (`.bba`) for the requested 7-series part, then install it into `~/.local/share/nextpnr/himbaechel-xilinx/`. measured-to-lean generate a lean 4 theorem from a `tri fpga measure-cclk --json` output. the theorem proves that the measured `(frequency, duty)` pair satisfies `measured_cclk_satisfies_flash_spec` and links it to `transaction_satisfies_flash_spec`. useful for turning a real capture into a machine-checked proof without manual copy-paste. pvt-envelope print the pvt-derated n25q128_3v sck low/high bound for a supplied operating context. also prints the margin over the nominal 6 ns bound and warns if the context is outside the documented operating envelope. build-proxy-docker build the qmtech xc7a100t-fgg676 proxy bitstream via a docker container running xilinx vivado. clones our `openfpgaloader` fork (`feat/qmtech-xc7a100t-board`) into `target/openfpgaloader-fork/` and runs `make` inside `spioverjtag/`. on apple silicon (arm64), the container runs under x86_64 emulation via `--platform linux/amd64`. with `--install`, the produced `bscan_spi_xc7a100tfgg676.bit.gz` is decompressed and copied to `fpga/tools/bscan_spi_xc7a100t.bit` and its sha256 is printed.","sha256":"aaf7d2d4ae26d149b68e8c50d010bcda79b6ba3bf30c782194ca37bd60f8c7b6","skills":[],"source":"cli/tri/src/fpga.rs","specPath":"specs/tools/tri/fpga.t27","summary":{"en":"FPGA programming via the in-tree DLC10 driver (pure Rust).","ru":"Программирование FPGA через встроенный драйвер DLC10 (чистый Rust)."},"typecheckOk":true,"variant":"Commands::Fpga","whenToUse":"FPGA programming via the in-tree DLC10 driver (pure Rust).","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Gates (cli/tri/src/main.rs; module cli/tri/src/gates.rs)","actions":[{"about":"Classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it.","name":"warnings"},{"about":"Run every gate script and its negative control; name the ones with none.","name":"sweep"},{"about":"Break each gate's failure path and demand its control notices.","name":"mutate"},{"about":"Open pull requests whose path-filtered CI never ran.","name":"prs"},{"about":"What the tree says is required, against what the ruleset requires.","name":"preview"},{"about":"Which interpreter each gate step is handed to, and who says so.","name":"shell"},{"about":"Gate steps whose PASS is reachable with the thing they check absent.","name":"quiet"},{"about":"Every bounded GitHub fetch in this crate, and whether it can tell a page from a total.","name":"fetches"},{"about":"Run every gate CI runs, in an EMPTY tree, and report what still passes.","name":"empty"},{"about":"","name":"required"},{"about":"List active workflows whose lifetime success count is zero.","name":"dead"},{"about":"Workflows with no recent run on the default branch: their green is about frequency, not health.","name":"tests"},{"about":"","name":"unmeasured"}],"agents":[],"args":[],"command":"tri gates","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Find workflows that have never once succeeded.","ABOUT_SOURCE":"clap /// doc on Commands::Gates (cli/tri/src/main.rs; module cli/tri/src/gates.rs)","ACTIONS":["warnings","sweep","mutate","prs","preview","shell","quiet","fetches","empty","required","dead","tests","unmeasured"],"ACTIONS_ABOUT":["Classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it.","Run every gate script and its negative control; name the ones with none.","Break each gate's failure path and demand its control notices.","Open pull requests whose path-filtered CI never ran.","What the tree says is required, against what the ruleset requires.","Which interpreter each gate step is handed to, and who says so.","Gate steps whose PASS is reachable with the thing they check absent.","Every bounded GitHub fetch in this crate, and whether it can tell a page from a total.","Run every gate CI runs, in an EMPTY tree, and report what still passes.","","List active workflows whose lifetime success count is zero.","Workflows with no recent run on the default branch: their green is about frequency, not health.",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri gates","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/gates","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/gates","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/gates.rs","VARIANT":"Commands::Gates","WHEN_TO_USE":"Find workflows that have never once succeeded.","WITNESS":"source-parse"},"health":"ok","id":"tri/gates","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/gates.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_gates","name":{"en":"tri gates"},"qualifiedId":"gHashTag/t27:tri/gates","repo":"gHashTag/t27","schema":2,"searchText":"tri/gates tri gates find workflows that have never once succeeded. find workflows that have never once succeeded. warnings classify the compiler's own warnings. `rustc` already answers \"is this value ever read\" and \"does anything call this\" for the whole crate; the answer only helps if somebody reads it. sweep run every gate script and its negative control; name the ones with none. mutate break each gate's failure path and demand its control notices. prs open pull requests whose path-filtered ci never ran. preview what the tree says is required, against what the ruleset requires. shell which interpreter each gate step is handed to, and who says so. quiet gate steps whose pass is reachable with the thing they check absent. fetches every bounded github fetch in this crate, and whether it can tell a page from a total. empty run every gate ci runs, in an empty tree, and report what still passes. required dead list active workflows whose lifetime success count is zero. tests workflows with no recent run on the default branch: their green is about frequency, not health. unmeasured","sha256":"de8489f65be8b1db66b2c9bf3abe96643c580d39e4b856cd6a9a3511e404975d","skills":[],"source":"cli/tri/src/gates.rs","specPath":"specs/tools/tri/gates.t27","summary":{"en":"Find workflows that have never once succeeded.","ru":"Находит воркфлоу, которые ни разу не завершались успешно."},"typecheckOk":true,"variant":"Commands::Gates","whenToUse":"Find workflows that have never once succeeded.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_gen description (cli/tri-mcp/src/main.rs); handler cmd_gen runs t27c gen-verilog, gen-c, gen-rust (cli/tri/src/main.rs:862)","actions":[],"agents":[{"letter":"C","ok":true},{"letter":"T","ok":true}],"args":[{"about":"","name":""}],"command":"tri gen","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Generates backends from a .t27 spec file using t27c.","ABOUT_SOURCE":"tri-mcp tool tri_gen description (cli/tri-mcp/src/main.rs); handler cmd_gen runs t27c gen-verilog, gen-c, gen-rust (cli/tri/src/main.rs:862)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["C","T"],"AGENTS_NOTE":".claude/agents/agent-c-compiler.md:40 (tri gen -- Generate code from specs; trigger On tri gen command, line 7); .claude/agents/trinity.md:68 (5. Gen - Run tri gen).","ARGS":[""],"COMMAND":"tri gen","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/gen","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/gen","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Gen","WHEN_TO_USE":"Generates backends from a .t27 spec file using t27c.","WITNESS":"source-parse"},"health":"ok","id":"tri/gen","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_gen","name":{"en":"tri gen"},"qualifiedId":"gHashTag/t27:tri/gen","repo":"gHashTag/t27","schema":2,"searchText":"tri/gen tri gen generates backends from a .t27 spec file using t27c. generates backends from a .t27 spec file using t27c. c t","sha256":"8739f5a9100f6f989b3558fa5c49af008fb134e3c640c67a0ca946e2880e42bb","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/gen.t27","summary":{"en":"Generates backends from a .t27 spec file using t27c.","ru":"Генерирует бэкенды из файла спецификации .t27 через t27c."},"typecheckOk":true,"variant":"Commands::Gen","whenToUse":"Generates backends from a .t27 spec file using t27c.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Harness (cli/tri/src/main.rs)","actions":[{"about":"Test binaries whose tests share one scratch directory.","name":"scratch"}],"agents":[],"args":[],"command":"tri harness","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","ABOUT_SOURCE":"clap /// doc on Commands::Harness (cli/tri/src/main.rs)","ACTIONS":["scratch"],"ACTIONS_ABOUT":["Test binaries whose tests share one scratch directory."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri harness","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/harness","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/harness","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Harness","WHEN_TO_USE":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","WITNESS":"source-parse"},"health":"ok","id":"tri/harness","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_harness","name":{"en":"tri harness"},"qualifiedId":"gHashTag/t27:tri/harness","repo":"gHashTag/t27","schema":2,"searchText":"tri/harness tri harness source files no crate root reaches, and so nothing compiles. test-harness hygiene. source files no crate root reaches, and so nothing compiles. test-harness hygiene. scratch test binaries whose tests share one scratch directory.","sha256":"67c635dcb96730ead658e8233879cc6f2b3cb56d9c6e85259629d10b9a536b9c","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/harness.t27","summary":{"en":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","ru":"Исходные файлы, до которых не доходит ни один корень крейта, и потому ничего не компилируется. Гигиена тестового харнесса."},"typecheckOk":true,"variant":"Commands::Harness","whenToUse":"Source files no crate root reaches, and so nothing compiles. Test-harness hygiene.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_health description (cli/tri-mcp/src/main.rs); handler cmd_health reads .trinity/state/queen-health.json (cli/tri/src/main.rs:969)","actions":[],"agents":[],"args":[{"about":"","name":""}],"command":"tri health","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Returns queen and swarm health status from .trinity state.","ABOUT_SOURCE":"tri-mcp tool tri_health description (cli/tri-mcp/src/main.rs); handler cmd_health reads .trinity/state/queen-health.json (cli/tri/src/main.rs:969)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[""],"COMMAND":"tri health","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/health","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/health","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Health","WHEN_TO_USE":"Returns queen and swarm health status from .trinity state.","WITNESS":"source-parse"},"health":"ok","id":"tri/health","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_health","name":{"en":"tri health"},"qualifiedId":"gHashTag/t27:tri/health","repo":"gHashTag/t27","schema":2,"searchText":"tri/health tri health returns queen and swarm health status from .trinity state. returns queen and swarm health status from .trinity state.","sha256":"678ece919f8363e769be5541575ec25163565cf04481f776448b81c3fbac94c9","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/health.t27","summary":{"en":"Returns queen and swarm health status from .trinity state.","ru":"Показывает состояние здоровья королевы и роя из состояния .trinity."},"typecheckOk":true,"variant":"Commands::Health","whenToUse":"Returns queen and swarm health status from .trinity state.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Hooks (cli/tri/src/main.rs; module cli/tri/src/hooks.rs)","actions":[{"about":"Run every migrated commit-time gate in sequence (l1-check + now-gate).","name":"pre-commit"},{"about":"A pull request whose title claims a compiler fix must carry a source file.","name":"fix-carries-source"},{"about":"Ask the required NOW gate's own script whether this push adds an entry.","name":"pre-push"},{"about":"L1 TRACEABILITY over the message BEING WRITTEN, from the commit-msg hook.","name":"commit-msg"},{"about":"L1 TRACEABILITY: last commit message must reference an issue (`Closes #N` / `Fixes #N` / `Resolves #N` / `Reference #N`).","name":"l1-check"},{"about":"Verify a fresh `docs/now/-.md` entry exists.","name":"now-gate"},{"about":"Session-start guard for the Claude Code harness. Emits a one-line status string to stdout; never blocks (the Bash gate is a soft telemetry hook).","name":"session-gate"},{"about":"Which hooks git will actually run, and whose installer output is dead.","name":"status"}],"agents":[],"args":[],"command":"tri hooks","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Pure-Rust ports of repository commit / push gates.","ABOUT_SOURCE":"clap /// doc on Commands::Hooks (cli/tri/src/main.rs; module cli/tri/src/hooks.rs)","ACTIONS":["pre-commit","fix-carries-source","pre-push","commit-msg","l1-check","now-gate","session-gate","status"],"ACTIONS_ABOUT":["Run every migrated commit-time gate in sequence (l1-check + now-gate).","A pull request whose title claims a compiler fix must carry a source file.","Ask the required NOW gate's own script whether this push adds an entry.","L1 TRACEABILITY over the message BEING WRITTEN, from the commit-msg hook.","L1 TRACEABILITY: last commit message must reference an issue (`Closes #N` / `Fixes #N` / `Resolves #N` / `Reference #N`).","Verify a fresh `docs/now/-.md` entry exists.","Session-start guard for the Claude Code harness. Emits a one-line status string to stdout; never blocks (the Bash gate is a soft telemetry hook).","Which hooks git will actually run, and whose installer output is dead."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri hooks","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/hooks","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/hooks","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/hooks.rs","VARIANT":"Commands::Hooks","WHEN_TO_USE":"Pure-Rust ports of repository commit / push gates.","WITNESS":"source-parse"},"health":"ok","id":"tri/hooks","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/hooks.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_hooks","name":{"en":"tri hooks"},"qualifiedId":"gHashTag/t27:tri/hooks","repo":"gHashTag/t27","schema":2,"searchText":"tri/hooks tri hooks pure-rust ports of repository commit / push gates. pure-rust ports of repository commit / push gates. pre-commit run every migrated commit-time gate in sequence (l1-check + now-gate). fix-carries-source a pull request whose title claims a compiler fix must carry a source file. pre-push ask the required now gate's own script whether this push adds an entry. commit-msg l1 traceability over the message being written, from the commit-msg hook. l1-check l1 traceability: last commit message must reference an issue (`closes #n` / `fixes #n` / `resolves #n` / `reference #n`). now-gate verify a fresh `docs/now/-.md` entry exists. session-gate session-start guard for the claude code harness. emits a one-line status string to stdout; never blocks (the bash gate is a soft telemetry hook). status which hooks git will actually run, and whose installer output is dead.","sha256":"533eeb860d6bc3f69d612c3d2630965bf50b8533f50c4f4900b25ab42e838db2","skills":[],"source":"cli/tri/src/hooks.rs","specPath":"specs/tools/tri/hooks.t27","summary":{"en":"Pure-Rust ports of repository commit / push gates.","ru":"Порты гейтов коммита/пуша репозитория на чистом Rust."},"typecheckOk":true,"variant":"Commands::Hooks","whenToUse":"Pure-Rust ports of repository commit / push gates.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Issues (cli/tri/src/main.rs; module cli/tri/src/issues.rs)","actions":[{"about":"Open issues whose title calls a workflow red, and what it does today.","name":"stale"},{"about":"Open issues that state a COUNT in the title, and a reproducible sample.","name":"numbers"},{"about":"Open issues whose figure is ANCHORED, so re-measuring it proves nothing.","name":"dated"}],"agents":[],"args":[],"command":"tri issues","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","ABOUT_SOURCE":"clap /// doc on Commands::Issues (cli/tri/src/main.rs; module cli/tri/src/issues.rs)","ACTIONS":["stale","numbers","dated"],"ACTIONS_ABOUT":["Open issues whose title calls a workflow red, and what it does today.","Open issues that state a COUNT in the title, and a reproducible sample.","Open issues whose figure is ANCHORED, so re-measuring it proves nothing."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri issues","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/issues","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/issues","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/issues.rs","VARIANT":"Commands::Issues","WHEN_TO_USE":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","WITNESS":"source-parse"},"health":"ok","id":"tri/issues","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/issues.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_issues","name":{"en":"tri issues"},"qualifiedId":"gHashTag/t27:tri/issues","repo":"gHashTag/t27","schema":2,"searchText":"tri/issues tri issues open issues whose headline calls a workflow red, against what that workflow concludes on master today. open issues whose headline calls a workflow red, against what that workflow concludes on master today. stale open issues whose title calls a workflow red, and what it does today. numbers open issues that state a count in the title, and a reproducible sample. dated open issues whose figure is anchored, so re-measuring it proves nothing.","sha256":"e7b50b366482d2b8d45d2ac34d8c26df07c1834693fb3cce83c043be0509d75c","skills":[],"source":"cli/tri/src/issues.rs","specPath":"specs/tools/tri/issues.t27","summary":{"en":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","ru":"Открытые issue, чей заголовок называет воркфлоу красным, против того, к чему этот воркфлоу приходит на master сегодня."},"typecheckOk":true,"variant":"Commands::Issues","whenToUse":"Open issues whose headline calls a workflow red, against what that workflow concludes on master today.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Jumps (cli/tri/src/main.rs; module cli/tri/src/jumps.rs)","actions":[{"about":"Name every `break`/`continue` site in the generated Verilog and say what it lowered to.","name":"census"}],"agents":[],"args":[],"command":"tri jumps","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What happened to every `break` and `continue` the Verilog emitter had to lower?","ABOUT_SOURCE":"clap /// doc on Commands::Jumps (cli/tri/src/main.rs; module cli/tri/src/jumps.rs)","ACTIONS":["census"],"ACTIONS_ABOUT":["Name every `break`/`continue` site in the generated Verilog and say what it lowered to."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri jumps","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/jumps","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/jumps","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/jumps.rs","VARIANT":"Commands::Jumps","WHEN_TO_USE":"What happened to every `break` and `continue` the Verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. Both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output PARSES said yes for as long as the emitter has existed. See #2988.","WITNESS":"source-parse"},"health":"ok","id":"tri/jumps","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/jumps.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_jumps","name":{"en":"tri jumps"},"qualifiedId":"gHashTag/t27:tri/jumps","repo":"gHashTag/t27","schema":2,"searchText":"tri/jumps tri jumps what happened to every `break` and `continue` the verilog emitter had to lower? what happened to every `break` and `continue` the verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output parses said yes for as long as the emitter has existed. see #2988. census name every `break`/`continue` site in the generated verilog and say what it lowered to.","sha256":"905308ea72644feb0e72d64a5d6c6edaed7e0d8e7182e7d52d8157f9951e756a","skills":[],"source":"cli/tri/src/jumps.rs","specPath":"specs/tools/tri/jumps.t27","summary":{"en":"What happened to every `break` and `continue` the Verilog emitter had to lower?","ru":"Что случилось с каждым `break` и `continue`, которые эмиттеру Verilog пришлось опустить?"},"typecheckOk":true,"variant":"Commands::Jumps","whenToUse":"What happened to every `break` and `continue` the Verilog emitter had to lower? `break` was `disable fork;` and `continue` was `/* continue */;`. Both parse, both synthesise, both are no-ops -- so every instrument that asks whether the output PARSES said yes for as long as the emitter has existed. See #2988.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Kinds (cli/tri/src/main.rs; module cli/tri/src/kinddrift.rs)","actions":[{"about":"Match arms whose comment names a construct the pattern does not cover.","name":"drift"}],"agents":[],"args":[],"command":"tri kinds","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Match arms whose own comment names a case the pattern omits.","ABOUT_SOURCE":"clap /// doc on Commands::Kinds (cli/tri/src/main.rs; module cli/tri/src/kinddrift.rs)","ACTIONS":["drift"],"ACTIONS_ABOUT":["Match arms whose comment names a construct the pattern does not cover."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri kinds","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/kinds","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/kinds","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/kinddrift.rs","VARIANT":"Commands::Kinds","WHEN_TO_USE":"Match arms whose own comment names a case the pattern omits.","WITNESS":"source-parse"},"health":"ok","id":"tri/kinds","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/kinddrift.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_kinds","name":{"en":"tri kinds"},"qualifiedId":"gHashTag/t27:tri/kinds","repo":"gHashTag/t27","schema":2,"searchText":"tri/kinds tri kinds match arms whose own comment names a case the pattern omits. match arms whose own comment names a case the pattern omits. drift match arms whose comment names a construct the pattern does not cover.","sha256":"76affd22763395ddb1ff3639130a93df72fdd0c7491275d4ef3f1cd0bc5c9377","skills":[],"source":"cli/tri/src/kinddrift.rs","specPath":"specs/tools/tri/kinds.t27","summary":{"en":"Match arms whose own comment names a case the pattern omits.","ru":"Ветви match, чей собственный комментарий называет случай, который паттерн пропускает."},"typecheckOk":true,"variant":"Commands::Kinds","whenToUse":"Match arms whose own comment names a case the pattern omits.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Lean (cli/tri/src/main.rs; module cli/tri/src/leanvac.rs)","actions":[{"about":"Completeness theorems whose model has no functions.","name":"vacuous"},{"about":"Proof files the build root does not reach, and so nothing compiles.","name":"reach"}],"agents":[],"args":[],"command":"tri lean","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Completeness theorems whose Lean model is empty.","ABOUT_SOURCE":"clap /// doc on Commands::Lean (cli/tri/src/main.rs; module cli/tri/src/leanvac.rs)","ACTIONS":["vacuous","reach"],"ACTIONS_ABOUT":["Completeness theorems whose model has no functions.","Proof files the build root does not reach, and so nothing compiles."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri lean","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/lean","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/lean","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/leanvac.rs","VARIANT":"Commands::Lean","WHEN_TO_USE":"Completeness theorems whose Lean model is empty.","WITNESS":"source-parse"},"health":"ok","id":"tri/lean","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/leanvac.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_lean","name":{"en":"tri lean"},"qualifiedId":"gHashTag/t27:tri/lean","repo":"gHashTag/t27","schema":2,"searchText":"tri/lean tri lean completeness theorems whose lean model is empty. completeness theorems whose lean model is empty. vacuous completeness theorems whose model has no functions. reach proof files the build root does not reach, and so nothing compiles.","sha256":"9e8b0319877e064acbadfcf4e2611da323f38382cee7f318b4f552e01d560898","skills":[],"source":"cli/tri/src/leanvac.rs","specPath":"specs/tools/tri/lean.t27","summary":{"en":"Completeness theorems whose Lean model is empty.","ru":"Теоремы полноты, у которых модель Lean пуста."},"typecheckOk":true,"variant":"Commands::Lean","whenToUse":"Completeness theorems whose Lean model is empty.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Ledgers (cli/tri/src/main.rs; module cli/tri/src/ledgers.rs)","actions":[{"about":"Plant a stale entry in each ledger and demand its gate fail.","name":"audit"}],"agents":[],"args":[],"command":"tri ledgers","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Does each ledger's gate notice when one of its entries stops being true?","ABOUT_SOURCE":"clap /// doc on Commands::Ledgers (cli/tri/src/main.rs; module cli/tri/src/ledgers.rs)","ACTIONS":["audit"],"ACTIONS_ABOUT":["Plant a stale entry in each ledger and demand its gate fail."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri ledgers","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/ledgers","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/ledgers","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/ledgers.rs","VARIANT":"Commands::Ledgers","WHEN_TO_USE":"Does each ledger's gate notice when one of its entries stops being true?","WITNESS":"source-parse"},"health":"ok","id":"tri/ledgers","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/ledgers.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_ledgers","name":{"en":"tri ledgers"},"qualifiedId":"gHashTag/t27:tri/ledgers","repo":"gHashTag/t27","schema":2,"searchText":"tri/ledgers tri ledgers does each ledger's gate notice when one of its entries stops being true? does each ledger's gate notice when one of its entries stops being true? audit plant a stale entry in each ledger and demand its gate fail.","sha256":"98f0c29164ca0fcd92e851d96e061e6f442a80fccab59e71f5d617f364afd7dc","skills":[],"source":"cli/tri/src/ledgers.rs","specPath":"specs/tools/tri/ledgers.t27","summary":{"en":"Does each ledger's gate notice when one of its entries stops being true?","ru":"Замечает ли гейт каждого леджера, когда одна из его записей перестаёт быть истинной?"},"typecheckOk":true,"variant":"Commands::Ledgers","whenToUse":"Does each ledger's gate notice when one of its entries stops being true?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Loop (cli/tri/src/main.rs; module cli/tri/src/loopclaim.rs)","actions":[{"about":"Take the named claim, or say who already holds it.","name":"claim"}],"agents":[],"args":[],"command":"tri loop","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","ABOUT_SOURCE":"clap /// doc on Commands::Loop (cli/tri/src/main.rs; module cli/tri/src/loopclaim.rs)","ACTIONS":["claim"],"ACTIONS_ABOUT":["Take the named claim, or say who already holds it."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri loop","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/loop","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/loop","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/loopclaim.rs","VARIANT":"Commands::Loop","WHEN_TO_USE":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","WITNESS":"source-parse"},"health":"ok","id":"tri/loop","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/loopclaim.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_loop","name":{"en":"tri loop"},"qualifiedId":"gHashTag/t27:tri/loop","repo":"gHashTag/t27","schema":2,"searchText":"tri/loop tri loop what is failing on the default branch right now, and since when. take a named claim so two sessions of the loop cannot pick the same task. what is failing on the default branch right now, and since when. take a named claim so two sessions of the loop cannot pick the same task. claim take the named claim, or say who already holds it.","sha256":"a204edbc1869df4b6d5953432ed6597eb23b9ba0b67d766a13c999d97499f45c","skills":[],"source":"cli/tri/src/loopclaim.rs","specPath":"specs/tools/tri/loop.t27","summary":{"en":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","ru":"Что падает на ветке по умолчанию прямо сейчас и с какого момента. Берёт именованную заявку, чтобы две сессии лупа не взяли одну задачу."},"typecheckOk":true,"variant":"Commands::Loop","whenToUse":"What is failing on the default branch right now, and since when. Take a named claim so two sessions of the loop cannot pick the same task.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Merging (cli/tri/src/main.rs; module cli/tri/src/inflight.rs)","actions":[],"agents":[],"args":[{"about":"The base this branch is supposed to carry. A ref, not a URL.","name":"--base"},{"about":"Also check the commits behind HEAD, not only HEAD itself.","name":"--depth"}],"command":"tri merging","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is a merge in flight here, and does this branch carry the base?","ABOUT_SOURCE":"clap /// doc on Commands::Merging (cli/tri/src/main.rs; module cli/tri/src/inflight.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--base: The base this branch is supposed to carry. A ref, not a URL.","--depth: Also check the commits behind HEAD, not only HEAD itself."],"COMMAND":"tri merging","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/merging","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/merging","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/inflight.rs","VARIANT":"Commands::Merging","WHEN_TO_USE":"Is a merge in flight here, and does this branch carry the base?","WITNESS":"source-parse"},"health":"ok","id":"tri/merging","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/inflight.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_merging","name":{"en":"tri merging"},"qualifiedId":"gHashTag/t27:tri/merging","repo":"gHashTag/t27","schema":2,"searchText":"tri/merging tri merging is a merge in flight here, and does this branch carry the base? is a merge in flight here, and does this branch carry the base?","sha256":"bb4167b8b988820e63e2e42cc9b3f1eeaea9a9caf00e15d8c3f3e0b5cd9d0cb5","skills":[],"source":"cli/tri/src/inflight.rs","specPath":"specs/tools/tri/merging.t27","summary":{"en":"Is a merge in flight here, and does this branch carry the base?","ru":"Идёт ли здесь мерж, и несёт ли эта ветка базу?"},"typecheckOk":true,"variant":"Commands::Merging","whenToUse":"Is a merge in flight here, and does this branch carry the base?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Misread (cli/tri/src/main.rs; module cli/tri/src/misread.rs)","actions":[],"agents":[],"args":[{"about":"Root of the spec tree.","name":"--specs-dir"},{"about":"Name every spec under each shape rather than only counting.","name":"--list"}],"command":"tri misread","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The specs the compiler reads WRONGLY. Every gate is green on them.","ABOUT_SOURCE":"clap /// doc on Commands::Misread (cli/tri/src/main.rs; module cli/tri/src/misread.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--specs-dir: Root of the spec tree.","--list: Name every spec under each shape rather than only counting."],"COMMAND":"tri misread","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/misread","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/misread","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/misread.rs","VARIANT":"Commands::Misread","WHEN_TO_USE":"The specs the compiler reads WRONGLY. Every gate is green on them.","WITNESS":"source-parse"},"health":"ok","id":"tri/misread","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/misread.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_misread","name":{"en":"tri misread"},"qualifiedId":"gHashTag/t27:tri/misread","repo":"gHashTag/t27","schema":2,"searchText":"tri/misread tri misread the specs the compiler reads wrongly. every gate is green on them. the specs the compiler reads wrongly. every gate is green on them.","sha256":"4c27da6a18f488afac5ac4be903b614994749278742678c74490e1a74ff991a7","skills":[],"source":"cli/tri/src/misread.rs","specPath":"specs/tools/tri/misread.t27","summary":{"en":"The specs the compiler reads WRONGLY. Every gate is green on them.","ru":"Спеки, которые компилятор читает НЕВЕРНО. Все гейты на них зелёные."},"typecheckOk":true,"variant":"Commands::Misread","whenToUse":"The specs the compiler reads WRONGLY. Every gate is green on them.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/modreach.rs:1 (Commands::Mods dispatches to modreach, cli/tri/src/main.rs:1085)","actions":[{"about":"List them.","name":"orphan"}],"agents":[],"args":[],"command":"tri mods","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri mods orphan` -- `.rs` files no crate root reaches.","ABOUT_SOURCE":"//! module doc, cli/tri/src/modreach.rs:1 (Commands::Mods dispatches to modreach, cli/tri/src/main.rs:1085)","ACTIONS":["orphan"],"ACTIONS_ABOUT":["List them."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri mods","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/mods","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/mods","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Mods","WHEN_TO_USE":"`tri mods orphan` -- `.rs` files no crate root reaches.","WITNESS":"source-parse"},"health":"ok","id":"tri/mods","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_mods","name":{"en":"tri mods"},"qualifiedId":"gHashTag/t27:tri/mods","repo":"gHashTag/t27","schema":2,"searchText":"tri/mods tri mods `tri mods orphan` -- `.rs` files no crate root reaches. `tri mods orphan` -- `.rs` files no crate root reaches. orphan list them.","sha256":"45754d036ee4eced4776bb6c2d85addf2cf176e7c70098f78b3fdb4db7df17c1","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/mods.t27","summary":{"en":"`tri mods orphan` -- `.rs` files no crate root reaches.","ru":"`tri mods orphan` -- файлы `.rs`, до которых не доходит ни один корень крейта."},"typecheckOk":true,"variant":"Commands::Mods","whenToUse":"`tri mods orphan` -- `.rs` files no crate root reaches.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Mutate (cli/tri/src/main.rs; module cli/tri/src/mutate.rs)","actions":[{"about":"Perturb each numeric literal in a file and report which ones the checker does not notice.","name":"run"}],"agents":[],"args":[],"command":"tri mutate","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Find the constants in a checker that nothing actually checks.","ABOUT_SOURCE":"clap /// doc on Commands::Mutate (cli/tri/src/main.rs; module cli/tri/src/mutate.rs)","ACTIONS":["run"],"ACTIONS_ABOUT":["Perturb each numeric literal in a file and report which ones the checker does not notice."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri mutate","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/mutate","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/mutate","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/mutate.rs","VARIANT":"Commands::Mutate","WHEN_TO_USE":"Find the constants in a checker that nothing actually checks.","WITNESS":"source-parse"},"health":"ok","id":"tri/mutate","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/mutate.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_mutate","name":{"en":"tri mutate"},"qualifiedId":"gHashTag/t27:tri/mutate","repo":"gHashTag/t27","schema":2,"searchText":"tri/mutate tri mutate find the constants in a checker that nothing actually checks. find the constants in a checker that nothing actually checks. run perturb each numeric literal in a file and report which ones the checker does not notice.","sha256":"163456bf9900804666e0f1f53bb7ca1bc76faa89f27e30bf34ca869f8388ea98","skills":[],"source":"cli/tri/src/mutate.rs","specPath":"specs/tools/tri/mutate.t27","summary":{"en":"Find the constants in a checker that nothing actually checks.","ru":"Находит в чекере константы, которые на деле ничем не проверяются."},"typecheckOk":true,"variant":"Commands::Mutate","whenToUse":"Find the constants in a checker that nothing actually checks.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Now (cli/tri/src/main.rs; module cli/tri/src/nownote.rs)","actions":[{"about":"Write a docs/now/ entry: title, bullets, optional issue ref.","name":"add"},{"about":"Ask the REQUIRED `check` gate its own question, before pushing.","name":"check"}],"agents":[],"args":[],"command":"tri now","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Write a docs/now/ entry without hand-writing the frame.","ABOUT_SOURCE":"clap /// doc on Commands::Now (cli/tri/src/main.rs; module cli/tri/src/nownote.rs)","ACTIONS":["add","check"],"ACTIONS_ABOUT":["Write a docs/now/ entry: title, bullets, optional issue ref.","Ask the REQUIRED `check` gate its own question, before pushing."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri now","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/now","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/now","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/nownote.rs","VARIANT":"Commands::Now","WHEN_TO_USE":"Write a docs/now/ entry without hand-writing the frame.","WITNESS":"source-parse"},"health":"ok","id":"tri/now","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/nownote.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_now","name":{"en":"tri now"},"qualifiedId":"gHashTag/t27:tri/now","repo":"gHashTag/t27","schema":2,"searchText":"tri/now tri now write a docs/now/ entry without hand-writing the frame. write a docs/now/ entry without hand-writing the frame. add write a docs/now/ entry: title, bullets, optional issue ref. check ask the required `check` gate its own question, before pushing.","sha256":"e151864300830e0cdde07121285099fdc47c1de925ec4a5e78bba71a29e6a94a","skills":[],"source":"cli/tri/src/nownote.rs","specPath":"specs/tools/tri/now.t27","summary":{"en":"Write a docs/now/ entry without hand-writing the frame.","ru":"Пишет запись docs/now/ без ручного набора рамки."},"typecheckOk":true,"variant":"Commands::Now","whenToUse":"Write a docs/now/ entry without hand-writing the frame.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::OneAway (cli/tri/src/main.rs; module cli/tri/src/oneaway.rs)","actions":[],"agents":[],"args":[{"about":"Also list every spec, not only the class tally.","name":"--names"},{"about":"Report specs with exactly this many errors. The default, 1, is the only bucket a single repair can move; `--errors 2` is the next wave.","name":"--errors"},{"about":"Stop after this many specs. Prints what was dropped -- a silent cap reads as coverage.","name":"--limit"},{"about":"Run the controls and report, changing nothing.","name":"--self-check"}],"command":"tri one-away","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Failing specs one defect from compiling, and what that defect is","ABOUT_SOURCE":"clap /// doc on Commands::OneAway (cli/tri/src/main.rs; module cli/tri/src/oneaway.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--names: Also list every spec, not only the class tally.","--errors: Report specs with exactly this many errors. The default, 1, is the only bucket a single repair can move; `--errors 2` is the next wave.","--limit: Stop after this many specs. Prints what was dropped -- a silent cap reads as coverage.","--self-check: Run the controls and report, changing nothing."],"COMMAND":"tri one-away","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/one-away","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/one-away","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/oneaway.rs","VARIANT":"Commands::OneAway","WHEN_TO_USE":"Failing specs one defect from compiling, and what that defect is","WITNESS":"source-parse"},"health":"ok","id":"tri/one-away","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/oneaway.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_one_away","name":{"en":"tri one-away"},"qualifiedId":"gHashTag/t27:tri/one-away","repo":"gHashTag/t27","schema":2,"searchText":"tri/one-away tri one-away failing specs one defect from compiling, and what that defect is failing specs one defect from compiling, and what that defect is","sha256":"f823bbea9d121e61a27e9c8d899004d2f3712876eab334ed3982a62908fd8ab2","skills":[],"source":"cli/tri/src/oneaway.rs","specPath":"specs/tools/tri/one-away.t27","summary":{"en":"Failing specs one defect from compiling, and what that defect is","ru":"Падающие спеки, которым до компиляции один дефект, и какой именно."},"typecheckOk":true,"variant":"Commands::OneAway","whenToUse":"Failing specs one defect from compiling, and what that defect is","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Orphaned (cli/tri/src/main.rs; module cli/tri/src/orphaned.rs)","actions":[{"about":"List gate and tool sources that name an input which is not in the tree.","name":"list"}],"agents":[],"args":[],"command":"tri orphaned","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Checks whose input is not in the tree.","ABOUT_SOURCE":"clap /// doc on Commands::Orphaned (cli/tri/src/main.rs; module cli/tri/src/orphaned.rs)","ACTIONS":["list"],"ACTIONS_ABOUT":["List gate and tool sources that name an input which is not in the tree."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri orphaned","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/orphaned","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/orphaned","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/orphaned.rs","VARIANT":"Commands::Orphaned","WHEN_TO_USE":"Checks whose input is not in the tree.","WITNESS":"source-parse"},"health":"ok","id":"tri/orphaned","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/orphaned.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_orphaned","name":{"en":"tri orphaned"},"qualifiedId":"gHashTag/t27:tri/orphaned","repo":"gHashTag/t27","schema":2,"searchText":"tri/orphaned tri orphaned checks whose input is not in the tree. checks whose input is not in the tree. list list gate and tool sources that name an input which is not in the tree.","sha256":"f9808d318e75aa5ea4ea3e5b3bf33f0a667aab6a00c7c5aa91f2cc77e3e846bd","skills":[],"source":"cli/tri/src/orphaned.rs","specPath":"specs/tools/tri/orphaned.t27","summary":{"en":"Checks whose input is not in the tree.","ru":"Проверки, чей вход отсутствует в дереве."},"typecheckOk":true,"variant":"Commands::Orphaned","whenToUse":"Checks whose input is not in the tree.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Pr (cli/tri/src/main.rs; module cli/tri/src/prcheck.rs)","actions":[{"about":"Classify every failing check and say plainly whether it is safe to merge. Did this pull request's content actually reach the default branch?","name":"landed"},{"about":"","name":"ready"}],"agents":[],"args":[],"command":"tri pr","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Is this pull request actually safe to merge?","ABOUT_SOURCE":"clap /// doc on Commands::Pr (cli/tri/src/main.rs; module cli/tri/src/prcheck.rs)","ACTIONS":["landed","ready"],"ACTIONS_ABOUT":["Classify every failing check and say plainly whether it is safe to merge. Did this pull request's content actually reach the default branch?",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri pr","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/pr","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/pr","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/prcheck.rs","VARIANT":"Commands::Pr","WHEN_TO_USE":"Is this pull request actually safe to merge?","WITNESS":"source-parse"},"health":"ok","id":"tri/pr","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/prcheck.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_pr","name":{"en":"tri pr"},"qualifiedId":"gHashTag/t27:tri/pr","repo":"gHashTag/t27","schema":2,"searchText":"tri/pr tri pr is this pull request actually safe to merge? is this pull request actually safe to merge? landed classify every failing check and say plainly whether it is safe to merge. did this pull request's content actually reach the default branch? ready","sha256":"4909a13b33ff6128bf308132850effbdfcfc1b44bb8ccedf1c7bacc288dea720","skills":[],"source":"cli/tri/src/prcheck.rs","specPath":"specs/tools/tri/pr.t27","summary":{"en":"Is this pull request actually safe to merge?","ru":"Действительно ли этот pull request безопасно мержить?"},"typecheckOk":true,"variant":"Commands::Pr","whenToUse":"Is this pull request actually safe to merge?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Prose (cli/tri/src/main.rs; module cli/tri/src/prose.rs)","actions":[{"about":"Which specs are blocked only by prose, and how many lines that is.","name":"report"}],"agents":[],"args":[],"command":"tri prose","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs a literate author left prose in, and how far that prose is from code.","ABOUT_SOURCE":"clap /// doc on Commands::Prose (cli/tri/src/main.rs; module cli/tri/src/prose.rs)","ACTIONS":["report"],"ACTIONS_ABOUT":["Which specs are blocked only by prose, and how many lines that is."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri prose","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/prose","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/prose","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/prose.rs","VARIANT":"Commands::Prose","WHEN_TO_USE":"Specs a literate author left prose in, and how far that prose is from code.","WITNESS":"source-parse"},"health":"ok","id":"tri/prose","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/prose.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_prose","name":{"en":"tri prose"},"qualifiedId":"gHashTag/t27:tri/prose","repo":"gHashTag/t27","schema":2,"searchText":"tri/prose tri prose specs a literate author left prose in, and how far that prose is from code. specs a literate author left prose in, and how far that prose is from code. report which specs are blocked only by prose, and how many lines that is.","sha256":"8689a47ee97a2588da26a7492f8c6f543dd25702b9962cbdd25ce16070129d38","skills":[],"source":"cli/tri/src/prose.rs","specPath":"specs/tools/tri/prose.t27","summary":{"en":"Specs a literate author left prose in, and how far that prose is from code.","ru":"Спеки, в которых литературный автор оставил прозу, и насколько эта проза далека от кода."},"typecheckOk":true,"variant":"Commands::Prose","whenToUse":"Specs a literate author left prose in, and how far that prose is from code.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Quantifiers (cli/tri/src/main.rs; module cli/tri/src/quant.rs)","actions":[{"about":"Every quantified clause, its binders, and the size of its domain.","name":"report"},{"about":"Every line carrying a quantifier keyword, and whether the census read it.","name":"audit"}],"agents":[],"args":[],"command":"tri quantifiers","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Every quantified clause, its binders, and the size of its domain.","ABOUT_SOURCE":"clap /// doc on Commands::Quantifiers (cli/tri/src/main.rs; module cli/tri/src/quant.rs)","ACTIONS":["report","audit"],"ACTIONS_ABOUT":["Every quantified clause, its binders, and the size of its domain.","Every line carrying a quantifier keyword, and whether the census read it."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri quantifiers","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/quantifiers","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/quantifiers","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/quant.rs","VARIANT":"Commands::Quantifiers","WHEN_TO_USE":"Every quantified clause, its binders, and the size of its domain.","WITNESS":"source-parse"},"health":"ok","id":"tri/quantifiers","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/quant.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_quantifiers","name":{"en":"tri quantifiers"},"qualifiedId":"gHashTag/t27:tri/quantifiers","repo":"gHashTag/t27","schema":2,"searchText":"tri/quantifiers tri quantifiers every quantified clause, its binders, and the size of its domain. every quantified clause, its binders, and the size of its domain. report every quantified clause, its binders, and the size of its domain. audit every line carrying a quantifier keyword, and whether the census read it.","sha256":"f6500ab3e4a78e54e2e83ed1aa6eb389ec0da64ebb735841849c788efc0e1a44","skills":[],"source":"cli/tri/src/quant.rs","specPath":"specs/tools/tri/quantifiers.t27","summary":{"en":"Every quantified clause, its binders, and the size of its domain.","ru":"Каждая квантифицированная клауза, её связанные переменные и размер её домена."},"typecheckOk":true,"variant":"Commands::Quantifiers","whenToUse":"Every quantified clause, its binders, and the size of its domain.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/red.rs:1","actions":[{"about":"Show workflows whose most recent run on the default branch failed.","name":"now"},{"about":"Which STEP each recent failure of one workflow died at, oldest first.","name":"why"}],"agents":[],"args":[],"command":"tri red","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"`tri red` -- what is failing on main right now, and since when.","ABOUT_SOURCE":"//! module doc, cli/tri/src/red.rs:1","ACTIONS":["now","why"],"ACTIONS_ABOUT":["Show workflows whose most recent run on the default branch failed.","Which STEP each recent failure of one workflow died at, oldest first."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri red","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/red","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/red","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/red.rs","VARIANT":"Commands::Red","WHEN_TO_USE":"`tri red` -- what is failing on main right now, and since when.","WITNESS":"source-parse"},"health":"ok","id":"tri/red","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/red.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_red","name":{"en":"tri red"},"qualifiedId":"gHashTag/t27:tri/red","repo":"gHashTag/t27","schema":2,"searchText":"tri/red tri red `tri red` -- what is failing on main right now, and since when. `tri red` -- what is failing on main right now, and since when. now show workflows whose most recent run on the default branch failed. why which step each recent failure of one workflow died at, oldest first.","sha256":"dbc09d850d87e9623513a9eedf77764f4b84cb299f4175c068eee278a0748a71","skills":[],"source":"cli/tri/src/red.rs","specPath":"specs/tools/tri/red.t27","summary":{"en":"`tri red` -- what is failing on main right now, and since when.","ru":"`tri red` -- что падает на main прямо сейчас и с какого момента."},"typecheckOk":true,"variant":"Commands::Red","whenToUse":"`tri red` -- what is failing on main right now, and since when.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Reseal (cli/tri/src/main.rs; module cli/tri/src/reseal.rs)","actions":[{"about":"Rewrite FROZEN_HASH from the current bytes of the sealed file.","name":"write"},{"about":"Report whether the seal matches, and exit non-zero if it does not.","name":"check"}],"agents":[],"args":[],"command":"tri reseal","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Recompute the FROZEN_HASH seal from the file it seals.","ABOUT_SOURCE":"clap /// doc on Commands::Reseal (cli/tri/src/main.rs; module cli/tri/src/reseal.rs)","ACTIONS":["write","check"],"ACTIONS_ABOUT":["Rewrite FROZEN_HASH from the current bytes of the sealed file.","Report whether the seal matches, and exit non-zero if it does not."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri reseal","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/reseal","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/reseal","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/reseal.rs","VARIANT":"Commands::Reseal","WHEN_TO_USE":"Recompute the FROZEN_HASH seal from the file it seals.","WITNESS":"source-parse"},"health":"ok","id":"tri/reseal","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/reseal.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_reseal","name":{"en":"tri reseal"},"qualifiedId":"gHashTag/t27:tri/reseal","repo":"gHashTag/t27","schema":2,"searchText":"tri/reseal tri reseal recompute the frozen_hash seal from the file it seals. recompute the frozen_hash seal from the file it seals. write rewrite frozen_hash from the current bytes of the sealed file. check report whether the seal matches, and exit non-zero if it does not.","sha256":"f4b1478122c02d2e4c50a5bb589e03e97212875c368fad659824f5f532e824d8","skills":[],"source":"cli/tri/src/reseal.rs","specPath":"specs/tools/tri/reseal.t27","summary":{"en":"Recompute the FROZEN_HASH seal from the file it seals.","ru":"Пересчитывает печать FROZEN_HASH по файлу, который она запечатывает."},"typecheckOk":true,"variant":"Commands::Reseal","whenToUse":"Recompute the FROZEN_HASH seal from the file it seals.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Rtl (cli/tri/src/main.rs; module cli/tri/src/rtl.rs)","actions":[{"about":"Run the five structural checks on a design directory.","name":"check"}],"agents":[],"args":[],"command":"tri rtl","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","ABOUT_SOURCE":"clap /// doc on Commands::Rtl (cli/tri/src/main.rs; module cli/tri/src/rtl.rs)","ACTIONS":["check"],"ACTIONS_ABOUT":["Run the five structural checks on a design directory."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri rtl","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/rtl","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/rtl","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/rtl.rs","VARIANT":"Commands::Rtl","WHEN_TO_USE":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","WITNESS":"source-parse"},"health":"ok","id":"tri/rtl","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/rtl.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_rtl","name":{"en":"tri rtl"},"qualifiedId":"gHashTag/t27:tri/rtl","repo":"gHashTag/t27","schema":2,"searchText":"tri/rtl tri rtl the structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness. the structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness. check run the five structural checks on a design directory.","sha256":"656a55d5c53935a47b6bfb87528cb7eadd93b56ea60bc246f720ace506be7109","skills":[],"source":"cli/tri/src/rtl.rs","specPath":"specs/tools/tri/rtl.t27","summary":{"en":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","ru":"Структурная проверка, которую предлагает t27.ai, локально: пять вердиктов, версия yosys рядом с числами и никаких заявлений о корректности."},"typecheckOk":true,"variant":"Commands::Rtl","whenToUse":"The structural check t27.ai offers, run locally: five verdicts, the yosys version beside the numbers, and no claim about correctness.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Seals (cli/tri/src/main.rs; module cli/tri/src/seals.rs)","actions":[{"about":"Is the built compiler newer than the source the seals are checked against?","name":"fresh"},{"about":"Seals whose claims no longer match what the compiler produces, and the one command that repairs them.","name":"drift"},{"about":"Specs that carry more than one seal, and which of those pairs disagree.","name":"twins"},{"about":"Copy the NEWEST seal's claims onto its twins, after a re-seal.","name":"sync-twins"},{"about":"Seals that record `gen_hash=none` -- a spec that produced no output, sealed.","name":"hollow"}],"agents":[],"args":[],"command":"tri seals","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What `.trinity/seals` says about a spec, when it says it twice.","ABOUT_SOURCE":"clap /// doc on Commands::Seals (cli/tri/src/main.rs; module cli/tri/src/seals.rs)","ACTIONS":["fresh","drift","twins","sync-twins","hollow"],"ACTIONS_ABOUT":["Is the built compiler newer than the source the seals are checked against?","Seals whose claims no longer match what the compiler produces, and the one command that repairs them.","Specs that carry more than one seal, and which of those pairs disagree.","Copy the NEWEST seal's claims onto its twins, after a re-seal.","Seals that record `gen_hash=none` -- a spec that produced no output, sealed."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri seals","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/seals","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/seals","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/seals.rs","VARIANT":"Commands::Seals","WHEN_TO_USE":"What `.trinity/seals` says about a spec, when it says it twice.","WITNESS":"source-parse"},"health":"ok","id":"tri/seals","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/seals.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_seals","name":{"en":"tri seals"},"qualifiedId":"gHashTag/t27:tri/seals","repo":"gHashTag/t27","schema":2,"searchText":"tri/seals tri seals what `.trinity/seals` says about a spec, when it says it twice. what `.trinity/seals` says about a spec, when it says it twice. fresh is the built compiler newer than the source the seals are checked against? drift seals whose claims no longer match what the compiler produces, and the one command that repairs them. twins specs that carry more than one seal, and which of those pairs disagree. sync-twins copy the newest seal's claims onto its twins, after a re-seal. hollow seals that record `gen_hash=none` -- a spec that produced no output, sealed.","sha256":"e0932fe334d920e6591445980b99b8b9bebb845756394199bd209c13e13d0d15","skills":[],"source":"cli/tri/src/seals.rs","specPath":"specs/tools/tri/seals.t27","summary":{"en":"What `.trinity/seals` says about a spec, when it says it twice.","ru":"Что `.trinity/seals` говорит о спеке, когда говорит это дважды."},"typecheckOk":true,"variant":"Commands::Seals","whenToUse":"What `.trinity/seals` says about a spec, when it says it twice.","witness":"source-parse"},{"aboutSource":"handler cmd_serve routes and banner string (cli/tri/src/main.rs:1121)","actions":[],"agents":[],"args":[{"about":"","name":"--addr"}],"command":"tri serve","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","ABOUT_SOURCE":"handler cmd_serve routes and banner string (cli/tri/src/main.rs:1121)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--addr"],"COMMAND":"tri serve","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/serve","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/serve","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Serve","WHEN_TO_USE":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","WITNESS":"source-parse"},"health":"ok","id":"tri/serve","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_serve","name":{"en":"tri serve"},"qualifiedId":"gHashTag/t27:tri/serve","repo":"gHashTag/t27","schema":2,"searchText":"tri/serve tri serve serve the trinity depin http api over axum: post /prove, get /epoch-challenge, get /health; prints trinity depin v0.1.0 -- listening on . serve the trinity depin http api over axum: post /prove, get /epoch-challenge, get /health; prints trinity depin v0.1.0 -- listening on .","sha256":"0aa1373204ff6f8fd41fd8d19428f3d0754fc124578e3f1fbcc2f55c9ff55f4a","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/serve.t27","summary":{"en":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","ru":"Поднимает HTTP API trinity depin на axum: POST /prove, GET /epoch-challenge, GET /health; печатает «trinity depin v0.1.0 -- listening on »."},"typecheckOk":true,"variant":"Commands::Serve","whenToUse":"Serve the trinity depin HTTP API over axum: POST /prove, GET /epoch-challenge, GET /health; prints trinity depin v0.1.0 -- listening on .","witness":"source-parse"},{"aboutSource":"tri-mcp tools tri_skill_begin and tri_skill_end descriptions (cli/tri-mcp/src/main.rs); SkillAction enum cli/tri/src/main.rs:349","actions":[{"about":"Write a new lesson to the spool, unnumbered.","name":"add"},{"about":"Fold every spooled lesson into SKILL.md, numbering them on the way in.","name":"fold"},{"about":"Check every SKILL.md's section numbering for collisions.","name":"check"},{"about":"Sections whose body was cut short at some point in the file's history.","name":"lost"},{"about":"Every cross-reference in the skills, and whether it resolves.","name":"refs"},{"about":"Sections that state a FIGURE, and which of those a reader can re-take.","name":"claims"},{"about":"Move sections you appended to the numbers the base branch left free.","name":"renumber"},{"about":"","name":"begin"},{"about":"","name":"end"}],"agents":[],"args":[],"command":"tri skill","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","ABOUT_SOURCE":"tri-mcp tools tri_skill_begin and tri_skill_end descriptions (cli/tri-mcp/src/main.rs); SkillAction enum cli/tri/src/main.rs:349","ACTIONS":["add","fold","check","lost","refs","claims","renumber","begin","end"],"ACTIONS_ABOUT":["Write a new lesson to the spool, unnumbered.","Fold every spooled lesson into SKILL.md, numbering them on the way in.","Check every SKILL.md's section numbering for collisions.","Sections whose body was cut short at some point in the file's history.","Every cross-reference in the skills, and whether it resolves.","Sections that state a FIGURE, and which of those a reader can re-take.","Move sections you appended to the numbers the base branch left free.","",""],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri skill","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/skill","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/skill","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Skill","WHEN_TO_USE":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","WITNESS":"source-parse"},"health":"ok","id":"tri/skill","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_skill","name":{"en":"tri skill"},"qualifiedId":"gHashTag/t27:tri/skill","repo":"gHashTag/t27","schema":2,"searchText":"tri/skill tri skill begins a new phi loop skill session bound to an issue. ends the active phi loop skill session. the add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (skill.md lesson spool). begins a new phi loop skill session bound to an issue. ends the active phi loop skill session. the add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (skill.md lesson spool). add write a new lesson to the spool, unnumbered. fold fold every spooled lesson into skill.md, numbering them on the way in. check check every skill.md's section numbering for collisions. lost sections whose body was cut short at some point in the file's history. refs every cross-reference in the skills, and whether it resolves. claims sections that state a figure, and which of those a reader can re-take. renumber move sections you appended to the numbers the base branch left free. begin end","sha256":"4e19baf0ea4267dbbd23f71b8d324779c85427672378205a64726118c36a8e68","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/skill.t27","summary":{"en":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","ru":"Начинает новую сессию скилла PHI LOOP, привязанную к issue; завершает активную сессию. Действия add/fold/check/lost/refs/claims/renumber ведут спул уроков SKILL.md и описаны в своих clap-доках."},"typecheckOk":true,"variant":"Commands::Skill","whenToUse":"Begins a new PHI LOOP skill session bound to an issue. Ends the active PHI LOOP skill session. The add/fold/check/lost/refs/claims/renumber actions carry their own clap docs (SKILL.md lesson spool).","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_status description (cli/tri-mcp/src/main.rs); handler cmd_status prints === PHI LOOP STATUS === (cli/tri/src/main.rs:613)","actions":[],"agents":[],"args":[],"command":"tri status","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","ABOUT_SOURCE":"tri-mcp tool tri_status description (cli/tri-mcp/src/main.rs); handler cmd_status prints === PHI LOOP STATUS === (cli/tri/src/main.rs:613)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri status","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/status","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/status","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Status","WHEN_TO_USE":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","WITNESS":"source-parse"},"health":"ok","id":"tri/status","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_status","name":{"en":"tri status"},"qualifiedId":"gHashTag/t27:tri/status","repo":"gHashTag/t27","schema":2,"searchText":"tri/status tri status returns phi loop status including active skill, cell, issue binding, and uncommitted changes. returns phi loop status including active skill, cell, issue binding, and uncommitted changes.","sha256":"bacc3fad069505febf375adbbfea9a861e4dc884a6c3d98d723bc5cd22365290","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/status.t27","summary":{"en":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","ru":"Показывает статус PHI LOOP: активный скилл, ячейку, привязку к issue и незакоммиченные изменения."},"typecheckOk":true,"variant":"Commands::Status","whenToUse":"Returns PHI LOOP status including active skill, cell, issue binding, and uncommitted changes.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Sweep (cli/tri/src/main.rs; module cli/tri/src/sweep.rs)","actions":[{"about":"Synthesise a top across values of one parameter and report the trend.","name":"area"}],"agents":[],"args":[],"command":"tri sweep","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Synthesise across a parameter and check the area actually moves.","ABOUT_SOURCE":"clap /// doc on Commands::Sweep (cli/tri/src/main.rs; module cli/tri/src/sweep.rs)","ACTIONS":["area"],"ACTIONS_ABOUT":["Synthesise a top across values of one parameter and report the trend."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri sweep","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/sweep","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/sweep","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/sweep.rs","VARIANT":"Commands::Sweep","WHEN_TO_USE":"Synthesise across a parameter and check the area actually moves.","WITNESS":"source-parse"},"health":"ok","id":"tri/sweep","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/sweep.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_sweep","name":{"en":"tri sweep"},"qualifiedId":"gHashTag/t27:tri/sweep","repo":"gHashTag/t27","schema":2,"searchText":"tri/sweep tri sweep synthesise across a parameter and check the area actually moves. synthesise across a parameter and check the area actually moves. area synthesise a top across values of one parameter and report the trend.","sha256":"7b032422cdd86d854023351e841cf5c6f6f43327cab5504b6afd61ac889614e1","skills":[],"source":"cli/tri/src/sweep.rs","specPath":"specs/tools/tri/sweep.t27","summary":{"en":"Synthesise across a parameter and check the area actually moves.","ru":"Синтез по параметру с проверкой, что площадь действительно меняется."},"typecheckOk":true,"variant":"Commands::Sweep","whenToUse":"Synthesise across a parameter and check the area actually moves.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Synth (cli/tri/src/main.rs; module cli/tri/src/synth.rs)","actions":[{"about":"Synthesise a top module and report LUT/DSP/FF/CARRY4 counts.","name":"area"}],"agents":[],"args":[],"command":"tri synth","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Synthesise a top module and report area, with the instrument named.","ABOUT_SOURCE":"clap /// doc on Commands::Synth (cli/tri/src/main.rs; module cli/tri/src/synth.rs)","ACTIONS":["area"],"ACTIONS_ABOUT":["Synthesise a top module and report LUT/DSP/FF/CARRY4 counts."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri synth","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/synth","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/synth","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/synth.rs","VARIANT":"Commands::Synth","WHEN_TO_USE":"Synthesise a top module and report area, with the instrument named.","WITNESS":"source-parse"},"health":"ok","id":"tri/synth","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/synth.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_synth","name":{"en":"tri synth"},"qualifiedId":"gHashTag/t27:tri/synth","repo":"gHashTag/t27","schema":2,"searchText":"tri/synth tri synth synthesise a top module and report area, with the instrument named. synthesise a top module and report area, with the instrument named. area synthesise a top module and report lut/dsp/ff/carry4 counts.","sha256":"51a2f2cad1da2385b6c7b16ab1e4721df80fe98918a60a3410c88fe14da4d743","skills":[],"source":"cli/tri/src/synth.rs","specPath":"specs/tools/tri/synth.t27","summary":{"en":"Synthesise a top module and report area, with the instrument named.","ru":"Синтезирует top-модуль и сообщает площадь с указанием инструмента."},"typecheckOk":true,"variant":"Commands::Synth","whenToUse":"Synthesise a top module and report area, with the instrument named.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_test description (cli/tri-mcp/src/main.rs); handler cmd_test runs t27c test (cli/tri/src/main.rs:870)","actions":[],"agents":[{"letter":"T","ok":true},{"letter":"V","ok":true}],"args":[{"about":"","name":""}],"command":"tri test","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Runs tests for a .t27 spec file using t27c.","ABOUT_SOURCE":"tri-mcp tool tri_test description (cli/tri-mcp/src/main.rs); handler cmd_test runs t27c test (cli/tri/src/main.rs:870)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["T","V"],"AGENTS_NOTE":".claude/agents/agent-v-verify.md:47 (tri test -- Run conformance tests); .claude/agents/trinity.md:70 (7. Verify - Run tri test).","ARGS":[""],"COMMAND":"tri test","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/test","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/test","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Test","WHEN_TO_USE":"Runs tests for a .t27 spec file using t27c.","WITNESS":"source-parse"},"health":"ok","id":"tri/test","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_test","name":{"en":"tri test"},"qualifiedId":"gHashTag/t27:tri/test","repo":"gHashTag/t27","schema":2,"searchText":"tri/test tri test runs tests for a .t27 spec file using t27c. runs tests for a .t27 spec file using t27c. t v","sha256":"a960b7f1a9936d59ccf97203a7031161075c78d1ba6a0f7c78b65084d3a910a7","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/test.t27","summary":{"en":"Runs tests for a .t27 spec file using t27c.","ru":"Запускает тесты для файла спецификации .t27 через t27c."},"typecheckOk":true,"variant":"Commands::Test","whenToUse":"Runs tests for a .t27 spec file using t27c.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Topic (cli/tri/src/main.rs)","actions":[],"agents":[],"args":[{"about":"Words to look for. A row matches on any; rows carrying more come first.","name":""},{"about":"How many recent commits on the base branch to read.","name":"--commits"}],"command":"tri topic","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Has anyone already done this, or are they doing it now?","ABOUT_SOURCE":"clap /// doc on Commands::Topic (cli/tri/src/main.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[": Words to look for. A row matches on any; rows carrying more come first.","--commits: How many recent commits on the base branch to read."],"COMMAND":"tri topic","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/topic","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/topic","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Topic","WHEN_TO_USE":"Has anyone already done this, or are they doing it now?","WITNESS":"source-parse"},"health":"ok","id":"tri/topic","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_topic","name":{"en":"tri topic"},"qualifiedId":"gHashTag/t27:tri/topic","repo":"gHashTag/t27","schema":2,"searchText":"tri/topic tri topic has anyone already done this, or are they doing it now? has anyone already done this, or are they doing it now?","sha256":"0ca5ed85564d0231316703fb63605e962ea2cbf2fb37a273c7d9eac793a45cd5","skills":[],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/topic.t27","summary":{"en":"Has anyone already done this, or are they doing it now?","ru":"Кто-нибудь уже делал это или делает сейчас?"},"typecheckOk":true,"variant":"Commands::Topic","whenToUse":"Has anyone already done this, or are they doing it now?","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/types_dup.rs:1","actions":[{"about":"Type names with more than one definition in the spec tree.","name":"dup"},{"about":"Hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away.","name":"ratchet"},{"about":"Cross-check the written classification against what the tree says today.","name":"classified"},{"about":"Names defined more than once INSIDE ONE FILE.","name":"redef"}],"agents":[],"args":[],"command":"tri types","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"One type name, more than one definition.","ABOUT_SOURCE":"//! module doc, cli/tri/src/types_dup.rs:1","ACTIONS":["dup","ratchet","classified","redef"],"ACTIONS_ABOUT":["Type names with more than one definition in the spec tree.","Hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away.","Cross-check the written classification against what the tree says today.","Names defined more than once INSIDE ONE FILE."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri types","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/types","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/types","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/types_dup.rs","VARIANT":"Commands::Types","WHEN_TO_USE":"One type name, more than one definition.","WITNESS":"source-parse"},"health":"ok","id":"tri/types","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/types_dup.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_types","name":{"en":"tri types"},"qualifiedId":"gHashTag/t27:tri/types","repo":"gHashTag/t27","schema":2,"searchText":"tri/types tri types one type name, more than one definition. one type name, more than one definition. dup type names with more than one definition in the spec tree. ratchet hold the conflicted set: a new conflict fails, and a resolved one fails until it is blessed away. classified cross-check the written classification against what the tree says today. redef names defined more than once inside one file.","sha256":"16ea516e67cf93e24863ebb8aabc61ac3bc67fed76d94a228f947258b5296f55","skills":[],"source":"cli/tri/src/types_dup.rs","specPath":"specs/tools/tri/types.t27","summary":{"en":"One type name, more than one definition.","ru":"Одно имя типа, больше одного определения."},"typecheckOk":true,"variant":"Commands::Types","whenToUse":"One type name, more than one definition.","witness":"source-parse"},{"aboutSource":"//! module doc, cli/tri/src/unparsed.rs:1","actions":[{"about":"Rank the constructs that stop the compiler, most specs first.","name":"report"},{"about":"For each unreadable spec, the ITEM whose presence causes the failure.","name":"locate"},{"about":"Cross-check the census against an INDEPENDENTLY built population.","name":"agree"},{"about":"Run every construct's minimal source and say which the compiler rejects.","name":"probe"}],"agents":[],"args":[],"command":"tri unparsed","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","ABOUT_SOURCE":"//! module doc, cli/tri/src/unparsed.rs:1","ACTIONS":["report","locate","agree","probe"],"ACTIONS_ABOUT":["Rank the constructs that stop the compiler, most specs first.","For each unreadable spec, the ITEM whose presence causes the failure.","Cross-check the census against an INDEPENDENTLY built population.","Run every construct's minimal source and say which the compiler rejects."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri unparsed","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/unparsed","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/unparsed","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/unparsed.rs","VARIANT":"Commands::Unparsed","WHEN_TO_USE":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","WITNESS":"source-parse"},"health":"ok","id":"tri/unparsed","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/unparsed.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_unparsed","name":{"en":"tri unparsed"},"qualifiedId":"gHashTag/t27:tri/unparsed","repo":"gHashTag/t27","schema":2,"searchText":"tri/unparsed tri unparsed specs the compiler cannot read, ranked by the construct that stops it -- and every construct backed by a live probe. specs the compiler cannot read, ranked by the construct that stops it -- and every construct backed by a live probe. report rank the constructs that stop the compiler, most specs first. locate for each unreadable spec, the item whose presence causes the failure. agree cross-check the census against an independently built population. probe run every construct's minimal source and say which the compiler rejects.","sha256":"6aaf39d92a0b7c5443faa32b97cd7fd74b251a8258aee8390b6965d5fee2e660","skills":[],"source":"cli/tri/src/unparsed.rs","specPath":"specs/tools/tri/unparsed.t27","summary":{"en":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","ru":"Спеки, которые компилятор не может прочитать, ранжированные по КОНСТРУКЦИИ, которая его останавливает, -- и каждая конструкция, подтверждённая живой пробой."},"typecheckOk":true,"variant":"Commands::Unparsed","whenToUse":"Specs the compiler cannot read, ranked by the CONSTRUCT that stops it -- and every construct backed by a live probe.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Vectors (cli/tri/src/main.rs; module cli/tri/src/vectors.rs)","actions":[{"about":"Generate a module's Verilog and execute its registered vectors.","name":"run"},{"about":"Inventory every vector file: executed, debt, or aspirational.","name":"debt"}],"agents":[],"args":[],"command":"tri vectors","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","ABOUT_SOURCE":"clap /// doc on Commands::Vectors (cli/tri/src/main.rs; module cli/tri/src/vectors.rs)","ACTIONS":["run","debt"],"ACTIONS_ABOUT":["Generate a module's Verilog and execute its registered vectors.","Inventory every vector file: executed, debt, or aspirational."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri vectors","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/vectors","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/vectors","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/vectors.rs","VARIANT":"Commands::Vectors","WHEN_TO_USE":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","WITNESS":"source-parse"},"health":"ok","id":"tri/vectors","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/vectors.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_vectors","name":{"en":"tri vectors"},"qualifiedId":"gHashTag/t27:tri/vectors","repo":"gHashTag/t27","schema":2,"searchText":"tri/vectors tri vectors the executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed. the executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed. run generate a module's verilog and execute its registered vectors. debt inventory every vector file: executed, debt, or aspirational.","sha256":"7babf01001cd4e86adfad3f717ccf6cf0772dd38e143ab71d782bd66bc455b82","skills":[],"source":"cli/tri/src/vectors.rs","specPath":"specs/tools/tri/vectors.t27","summary":{"en":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","ru":"Реестр исполняемых векторов: запустить векторы модуля или проинвентаризировать, какие файлы исполняются, а какие только показываются."},"typecheckOk":true,"variant":"Commands::Vectors","whenToUse":"The executed-vector registry: run a module's vectors, or inventory which files are executed and which are only displayed.","witness":"source-parse"},{"aboutSource":"tri-mcp tool tri_verdict description (cli/tri-mcp/src/main.rs); handler cmd_verdict runs t27c validate-seals, validate-phi-identity and, with --toxic, validate-toxicity (cli/tri/src/main.rs:876)","actions":[],"agents":[{"letter":"V","ok":true}],"args":[{"about":"","name":"--toxic"}],"command":"tri verdict","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Checks for toxic regressions by analyzing swarm health metrics.","ABOUT_SOURCE":"tri-mcp tool tri_verdict description (cli/tri-mcp/src/main.rs); handler cmd_verdict runs t27c validate-seals, validate-phi-identity and, with --toxic, validate-toxicity (cli/tri/src/main.rs:876)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":["V"],"AGENTS_NOTE":".claude/agents/agent-v-verify.md:49 (tri verdict -- Generate pass/fail report); docs/agents/AGENTS_ALPHABET.md:80, PHASE 5 VERDICT: V analyzes metrics, tri verdict --toxic.","ARGS":["--toxic"],"COMMAND":"tri verdict","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/verdict","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/verdict","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/main.rs","VARIANT":"Commands::Verdict","WHEN_TO_USE":"Checks for toxic regressions by analyzing swarm health metrics.","WITNESS":"source-parse"},"health":"ok","id":"tri/verdict","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/main.rs"},"messages":[],"moduleName":"tool_tri_verdict","name":{"en":"tri verdict"},"qualifiedId":"gHashTag/t27:tri/verdict","repo":"gHashTag/t27","schema":2,"searchText":"tri/verdict tri verdict checks for toxic regressions by analyzing swarm health metrics. checks for toxic regressions by analyzing swarm health metrics. v","sha256":"8afa0e665be25d336bdca685cd2369546a767678133bc86c9994d7c94da6a5c7","skills":[{"id":"t27/tri","via":["SUMMARY_EN"]}],"source":"cli/tri/src/main.rs","specPath":"specs/tools/tri/verdict.t27","summary":{"en":"Checks for toxic regressions by analyzing swarm health metrics.","ru":"Проверяет токсичные регрессии, анализируя метрики здоровья роя."},"typecheckOk":true,"variant":"Commands::Verdict","whenToUse":"Checks for toxic regressions by analyzing swarm health metrics.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Vsim (cli/tri/src/main.rs; module cli/tri/src/vsim.rs)","actions":[{"about":"Walk the corpus through `t27c icarus-simulate` and print the funnel.","name":"funnel"}],"agents":[],"args":[],"command":"tri vsim","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"How far each spec gets when its generated Verilog is actually RUN.","ABOUT_SOURCE":"clap /// doc on Commands::Vsim (cli/tri/src/main.rs; module cli/tri/src/vsim.rs)","ACTIONS":["funnel"],"ACTIONS_ABOUT":["Walk the corpus through `t27c icarus-simulate` and print the funnel."],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":[],"COMMAND":"tri vsim","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/vsim","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/vsim","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/vsim.rs","VARIANT":"Commands::Vsim","WHEN_TO_USE":"How far each spec gets when its generated Verilog is actually RUN. The one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987.","WITNESS":"source-parse"},"health":"ok","id":"tri/vsim","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/vsim.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_vsim","name":{"en":"tri vsim"},"qualifiedId":"gHashTag/t27:tri/vsim","repo":"gHashTag/t27","schema":2,"searchText":"tri/vsim tri vsim how far each spec gets when its generated verilog is actually run. how far each spec gets when its generated verilog is actually run. the one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987. funnel walk the corpus through `t27c icarus-simulate` and print the funnel.","sha256":"b33711b2a50bd614b706e77c813e7c31e71cd7f547489bf073c0de59c17de2fb","skills":[],"source":"cli/tri/src/vsim.rs","specPath":"specs/tools/tri/vsim.t27","summary":{"en":"How far each spec gets when its generated Verilog is actually RUN.","ru":"Как далеко доходит каждая спека, когда её сгенерированный Verilog действительно ЗАПУСКАЮТ."},"typecheckOk":true,"variant":"Commands::Vsim","whenToUse":"How far each spec gets when its generated Verilog is actually RUN. The one arm that can catch a defect whose nature is that it compiles, and the one arm whose gate has had no targets since #2283 -- see #2987.","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Window (cli/tri/src/main.rs; module cli/tri/src/window.rs)","actions":[],"agents":[],"args":[{"about":"Record `origin/master` as the base of a measurement starting now.","name":"--start"},{"about":"Report whether the recorded base is still the tip, and refuse if it is not.","name":"--check"},{"about":"The ref the measurement is against. Defaults to `origin/master`.","name":"--base"},{"about":"Run the controls and report, changing nothing.","name":"--self-check"}],"command":"tri window","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"Was the base you measured against still the tip when you reported?","ABOUT_SOURCE":"clap /// doc on Commands::Window (cli/tri/src/main.rs; module cli/tri/src/window.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--start: Record `origin/master` as the base of a measurement starting now.","--check: Report whether the recorded base is still the tip, and refuse if it is not.","--base: The ref the measurement is against. Defaults to `origin/master`.","--self-check: Run the controls and report, changing nothing."],"COMMAND":"tri window","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/window","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/window","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/window.rs","VARIANT":"Commands::Window","WHEN_TO_USE":"Was the base you measured against still the tip when you reported?","WITNESS":"source-parse"},"health":"ok","id":"tri/window","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/window.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_window","name":{"en":"tri window"},"qualifiedId":"gHashTag/t27:tri/window","repo":"gHashTag/t27","schema":2,"searchText":"tri/window tri window was the base you measured against still the tip when you reported? was the base you measured against still the tip when you reported?","sha256":"43202aabe15b2c06b1e0709f8e0ae6fc1cb13b2cb7e5a5adee77340a1bf03ff4","skills":[],"source":"cli/tri/src/window.rs","specPath":"specs/tools/tri/window.t27","summary":{"en":"Was the base you measured against still the tip when you reported?","ru":"Была ли база, относительно которой вы мерили, всё ещё вершиной, когда вы отчитывались?"},"typecheckOk":true,"variant":"Commands::Window","whenToUse":"Was the base you measured against still the tip when you reported?","witness":"source-parse"},{"aboutSource":"clap /// doc on Commands::Worktrees (cli/tri/src/main.rs; module cli/tri/src/trees.rs)","actions":[],"agents":[],"args":[{"about":"Also measure disk usage. Off by default: `du` over 120 checkouts is slow, and the holdings answer is the one that decides anything.","name":"--size"},{"about":"Print every tree, not only those holding work or unreadable.","name":"--all"}],"command":"tri worktrees","discarded":0,"entry":"cli/tri/src/main.rs","family":"tri-cli","fields":{"ABOUT":"What the checkouts on this disk are holding. Deletes nothing.","ABOUT_SOURCE":"clap /// doc on Commands::Worktrees (cli/tri/src/main.rs; module cli/tri/src/trees.rs)","ACTIONS":[],"ACTIONS_ABOUT":[],"AGENTS":[],"AGENTS_NOTE":"No source binds an agent letter to this command: docs/agents/AGENTS_ALPHABET.md (rows, key files, phase cycle), specs/OWNERS.md and .claude/agents/*.md do not name it. creator.md and verifier.md name tri gen/test/verify but are not letter agents.","ARGS":["--size: Also measure disk usage. Off by default: `du` over 120 checkouts is slow, and the holdings answer is the one that decides anything.","--all: Print every tree, not only those holding work or unreadable."],"COMMAND":"tri worktrees","ENABLED":true,"ENTRY":"cli/tri/src/main.rs","FAMILY":"tri-cli","ID":"tri/worktrees","KIND":"tool","QUALIFIED_ID":"gHashTag/t27:tri/worktrees","REPO":"gHashTag/t27","SCHEMA":2,"SOURCE":"cli/tri/src/trees.rs","VARIANT":"Commands::Worktrees","WHEN_TO_USE":"What the checkouts on this disk are holding. Deletes nothing.","WITNESS":"source-parse"},"health":"ok","id":"tri/worktrees","inSpecCorpus":false,"links":{"config":null,"pinnedAt":"93727f733e23baf032d54505095777f16676d70b","source":"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/gHashTag/t27/blob/93727f733e23baf032d54505095777f16676d70b/cli/tri/src/trees.rs"},"messages":["no agent letter bound by a source"],"moduleName":"tool_tri_worktrees","name":{"en":"tri worktrees"},"qualifiedId":"gHashTag/t27:tri/worktrees","repo":"gHashTag/t27","schema":2,"searchText":"tri/worktrees tri worktrees what the checkouts on this disk are holding. deletes nothing. what the checkouts on this disk are holding. deletes nothing.","sha256":"1a01df4f397fe76552d278be19fd778995522fe45e9971a0ad8a017b723ca446","skills":[],"source":"cli/tri/src/trees.rs","specPath":"specs/tools/tri/worktrees.t27","summary":{"en":"What the checkouts on this disk are holding. Deletes nothing.","ru":"Что держат чекауты на этом диске. Ничего не удаляет."},"typecheckOk":true,"variant":"Commands::Worktrees","whenToUse":"What the checkouts on this disk are holding. Deletes nothing.","witness":"source-parse"}],"version":1} From 5becfcb53c16d9089de5fb2c34c6232959c3fe1f Mon Sep 17 00:00:00 2001 From: gHashTag Date: Sun, 13 Sep 2026 03:53:17 +0000 Subject: [PATCH 2/2] test(website): tool catalog pin follows the eleventh mcp card (92 specs, 63 legacy, help-output 1, mcp/inngest-dev -> T) --- apps/website/scripts/agents-from-specs.test.mjs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/website/scripts/agents-from-specs.test.mjs b/apps/website/scripts/agents-from-specs.test.mjs index 3e9d7e677b..30616a0112 100644 --- a/apps/website/scripts/agents-from-specs.test.mjs +++ b/apps/website/scripts/agents-from-specs.test.mjs @@ -678,17 +678,20 @@ test('tool translations come through the same i18n contract once SCOPE names spe assert.equal(r.tools.i18n[0].coverage.n, 1) }) -test('the committed tool catalog: 91 specs in three directories at schema 2 (52 t27 tri, 29 Trinity tri, 10 mcp), a 62-entry legacy table, two collisions, every agent link resolved both ways, RU summaries for all', async () => { +test('the committed tool catalog: 92 specs in three directories at schema 2 (52 t27 tri, 29 Trinity tri, 11 mcp), a 63-entry legacy table, two collisions, every agent link resolved both ways, RU summaries for all', async () => { const { generate } = await import('./agents-from-specs.mjs') const r = await generate({ generatedAt: '2026-01-01T00:00:00.000Z' }) assert.deepEqual(r.problems, []) - assert.equal(r.tools.tools.length, 91) + assert.equal(r.tools.tools.length, 92) assert.equal(r.tools.counts.tri, 81) assert.equal(r.tools.counts.trinityTri, 29) - assert.equal(r.tools.counts.mcp, 10) - assert.equal(r.tools.counts.schema2, 91) + assert.equal(r.tools.counts.mcp, 11) + assert.equal(r.tools.counts.schema2, 92) assert.equal(r.tools.schema, 2) - assert.equal(Object.keys(r.tools.legacy).length, 62) + assert.equal(Object.keys(r.tools.legacy).length, 63) + // The eleventh mcp card is the Queen's scheduler; its witness is the only help-output one. + assert.equal(r.tools.counts.byWitness['help-output'], 1) + assert.equal(byIdOf(r).get('mcp/inngest-dev')?.agents.map((a) => a.letter).join(), 'T') assert.deepEqual(r.tools.collisions.map((c) => c.name), ['fpga', 'test']) assert.equal(r.tools.counts.byWitness['registry-export'], 29) for (const t of r.tools.tools) assert.equal(t.qualifiedId, `${t.repo}:${t.id.includes(':') ? t.id.split(':')[1] : t.id}`, `${t.id}: qualified id`) @@ -701,6 +704,8 @@ test('the committed tool catalog: 91 specs in three directories at schema 2 (52 for (const a of r.agents.agents) for (const t of a.tools) assert.ok(byId.get(t.id)?.agents.some((x) => x.letter === a.letter), `${a.id} -> ${t.id} is one-way`) }) +const byIdOf = (r) => new Map(r.tools.tools.map((t) => [t.id, t])) + test('agent translations come through the same i18n contract once SCOPE names specs/agents', () => { const spec = i18nFiles(i18nSrc({ scope: ['specs/skills', 'specs/crons', 'specs/agents'] })) const bundles = new Map([['apps/website/i18n/agents.ru.json', ruBundle({ 't27/A': { SUMMARY: 'Архитектура.' } })]])