Skip to content

feat(queen): TOOLS — layer five, the tri CLI and MCP servers as spec cards (key t) - #978

Merged
gHashTag merged 1 commit into
mainfrom
feat/queen-tools-layer5
Sep 9, 2026
Merged

gHashTag merged 1 commit into
mainfrom
feat/queen-tools-layer5

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Queen TOOLS -- layer five (key 0), Tool Explorer #/tools

Stacked on #976 (feat/queen-agents-layer4); retarget to main once #976 merges. Source specs: gHashTag/t27#3547 / t27 PR feat/specs-tools (vendored byte-identical at f726e2e4).

What

  • src/pages/ToolExplorer.tsx (route #/tools, ?embed=1, ?tool=<id>): library with two families (tri CLI / MCP servers) and a search over the generated full-text index (command, tool, about, actions, letters); filters owned / no owner; tags family/repo/owner/witness/external. Detail: spec panel first (AgentSpecPanel kind="tool"), then Synopsis (command, clap variant, args, actions with their about text) or Server (launch line, transport, version, env, config, tools table name / description / input-schema keys, resources), When to use, Who owns it (agent chips -> #/agents?agent=), Skills (via COMMAND / SUMMARY_EN), Source (file@sha, about source, witness, pinned commit). Controls: Edit in the spec, Open source, Open config. EN + RU.
  • Generator scripts/agents-from-specs.mjs -> public/tools/spec-tools.json: families, triByAgent / mcpByRepo groups, agent links checked in both directions (unknown letter / unknown tool / one-way binding fail the build), skill cross-links from the skill specs' own text, ladder {specs, skills, crons, agents, tools}. Agents' tools is now {id, ok}[].
  • QA: new qa/tools-spec-contract.mjs (npm run check:tools), qa/agents-spec-contract.mjs extended (Queen views 10 / modules 10 / keys 1234567890), qa/explorer-language-contract.mjs registers the page, qa/queen-viewport-contract.mjs counts ten commands. Generator tests +6 (36/36).
  • Queen: tenth module tools on key 0 (glyph ⟐, monochrome), directive + count strip (owned / no owner / typecheck), aria label; queenHud.ts HUD_VIEWS + tools; QueenAgents kind tools; ModulesBlock copy nine -> ten. Ladder header on Agent and Tool Explorer now five layers with live counts. Agent Explorer 'Tools' section links to #/tools?tool=.
  • scripts/sync-agents-experience.mjs: the published snapshot no longer records the checkout's absolute path (commit stays the witness).

Measured: tools 62 specs (tri 52, 124 actions; mcp 10, 235 tools, 5 external), typecheck ok 62/62, with agents 5, with skills 5, witness source-parse 62 / help-output 0; agents with tools 5 (C, E, T, V, W); ru 62/62; pinned at f726e2e.

Checks run: node scripts/agents-from-specs.mjs, node --test scripts/agents-from-specs.test.mjs (36/36), npm run check:tools, npm run check:agents, npm run prebuild, npm run build, npm run typecheck:ratchet (179/26 = baseline), npx eslint . (180 = baseline; new files clean), check:spec-catalog, check:skills-catalog, check:crons-catalog, check:explorer-languages (6 pages), check:queen-languages (270/270), check:shared-core, check:queen-* (pre-existing FAIL unchanged: honesty, cycle, factory, review; check:queen-viewport with CHROME_PATH reports the pre-existing undeclared-scroller / alerts-slot failures and no commands= count failure). Screenshots (local Chromium, RU): Queen ?tab=tools at 1280x600 / 700 / 900 -- rail fits ten items above «Свернуть»; #/tools?tool=tri/cell and ?tool=mcp/tri-mcp.

Boundaries: no regex over .t27; manifests not hand-edited; .tool_artifacts/ untouched; no secrets. Known infra reds on this repo (claude-review, pr-opened, Brain Health). Not merged -- review requested.

phi^2 + 1/phi^2 = 3 | TRINITY

Tool Explorer at #/tools over the vendored specs/tools/{tri,mcp}/*.t27
(62 specs: 52 tri commands with 124 actions, 10 MCP servers with 235 tools,
5 external), generated by scripts/agents-from-specs.mjs through the compiler
wasm into public/tools/spec-tools.json with families, tri-by-agent and
mcp-by-repo groups, a full-text index, agent links checked in both
directions and skill cross-links from the skill specs' own text. Detail:
spec panel first, then synopsis / server, when to use, who owns it, skills,
source (file @ pinned sha); controls open the source and the config.

Rebased onto main after #979 (FUNCTIONS on key 0, ten modules): TOOLS is the
eleventh module on key t -- the digits are spent, the rail hint says
"(key t)" / "(клавиша t)", HUD_KEYS ends ...0,t and the QA contracts hold
the key string 1234567890t. One generator carries both layers
(functionSpecs + toolSpecs, one specsById, one RU bundle: skills 26, crons
33, agents 27, functions 28, tools 62). The ladder is one object shared by
the agents, tools and functions catalogs -- Specs -> Skills -> Crons ->
Agents -> Tools -> Functions -- every count the length of a spec catalog
(functions from spec-functions.json), and all three explorers draw six
steps. ModulesBlock copy -> eleven; viewport contract counts eleven
commands. Agents C, E, T, V, W carry TOOLS from the t27 specs.

Recorded, not resolved: t27 specs/tools/README.md and specs/functions/README.md
both call themselves layer 5; the functions copy on the site says so.

check:tools (new), check:agents extended; generator tests 92/92;
typecheck ratchet 179/26 and eslint 180 unchanged. Vendored README.md of
specs/{skills,crons,agents,i18n,tools} refreshed to the t27 bytes.

Specs vendored byte-identical from gHashTag/t27 feat/specs-tools 95c9b61b
(PR #3554, issue #3547); pin 95c9b61.
@gHashTag gHashTag changed the title feat(queen): TOOLS -- layer five, the tri CLI and MCP servers as spec cards (key 0) feat(queen): TOOLS — layer five, the tri CLI and MCP servers as spec cards (key t) Sep 9, 2026
@gHashTag
gHashTag changed the base branch from feat/queen-agents-layer4 to main September 9, 2026 17:10
@gHashTag
gHashTag force-pushed the feat/queen-tools-layer5 branch from 7b8d160 to 4dd56a0 Compare September 9, 2026 17:10
@gHashTag
gHashTag merged commit ad307d1 into main Sep 9, 2026
22 of 27 checks passed
github-actions Bot added a commit that referenced this pull request Sep 9, 2026
feat(queen): TOOLS -- the tri CLI and MCP servers as spec cards (key t) (#978)

Tool Explorer at #/tools over the vendored specs/tools/{tri,mcp}/*.t27
(62 specs: 52 tri commands with 124 actions, 10 MCP servers with 235 tools,
5 external), generated by scripts/agents-from-specs.mjs through the compiler
wasm into public/tools/spec-tools.json with families, tri-by-agent and
mcp-by-repo groups, a full-text index, agent links checked in both
directions and skill cross-links from the skill specs' own text. Detail:
spec panel first, then synopsis / server, when to use, who owns it, skills,
source (file @ pinned sha); controls open the source and the config.

Rebased onto main after #979 (FUNCTIONS on key 0, ten modules): TOOLS is the
eleventh module on key t -- the digits are spent, the rail hint says
"(key t)" / "(клавиша t)", HUD_KEYS ends ...0,t and the QA contracts hold
the key string 1234567890t. One generator carries both layers
(functionSpecs + toolSpecs, one specsById, one RU bundle: skills 26, crons
33, agents 27, functions 28, tools 62). The ladder is one object shared by
the agents, tools and functions catalogs -- Specs -> Skills -> Crons ->
Agents -> Tools -> Functions -- every count the length of a spec catalog
(functions from spec-functions.json), and all three explorers draw six
steps. ModulesBlock copy -> eleven; viewport contract counts eleven
commands. Agents C, E, T, V, W carry TOOLS from the t27 specs.

Recorded, not resolved: t27 specs/tools/README.md and specs/functions/README.md
both call themselves layer 5; the functions copy on the site says so.

check:tools (new), check:agents extended; generator tests 92/92;
typecheck ratchet 179/26 and eslint 180 unchanged. Vendored README.md of
specs/{skills,crons,agents,i18n,tools} refreshed to the t27 bytes.

Specs vendored byte-identical from gHashTag/t27 feat/specs-tools 95c9b61b
(PR #3554, issue #3547); pin 95c9b61.

Co-authored-by: gHashTag <gHashTag@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant