Skip to content

specs: bind every tool and skill to the Queen, and name a domain lead - #5632

Merged
gHashTag merged 1 commit into
masterfrom
bee/replace-3833
Oct 2, 2026
Merged

gHashTag merged 1 commit into
masterfrom
bee/replace-3833

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 2, 2026

Copy link
Copy Markdown
Owner

86 of 92 tool cards and 23 of 26 skill cards carried a note saying, truthfully, that docs/agents/AGENTS_ALPHABET.md, specs/OWNERS.md and .claude/agents/*.md did not name them. Honest, and it left the ladder Specs → Skills → Crons → Agents → Tools with a rung nothing stood on: the Queen held 3 tools of 92, and could not reach tri/verdict, tri/cell or tri/experience — the VERIFY, EVOLVE and LEARN steps of her own nine-phase loop, bound to V, W and E and not to her.

AGENTS_ALPHABET.md now carries the source those notes were looking for, as two independent rules:

  1. The Queen holds the whole toolset. She orchestrates the loop, so every tool and every skill is hers to run.
  2. Every card also has a domain lead — the bee whose subject it is, read off what the card states it does (ABOUT, ACTIONS, SOURCE, SUMMARY_EN) and never off its name.

Who got what

Bee Domain Tools Bee Domain Tools
C compiler core 19 M metrics 4
B build / pipeline 13 O orchestration 3
P physics 9 Z docs / UX 2
V verdict 8 E experience 2
W workflow / cell 7 F conformance 2
K kernel / FPGA 7 L language 2
Y yield / DePIN 7 Q queue 1
N numeric 5 D de-zigification 1
J jobs / routing 4 TI reserve / security 1
S specs / standards 4

Skills went the same way — 26 cards to 19 bees, the Queen over all of them.

Six tool cards get no domain lead, and say why. Four are external MCP servers whose cards record only that they are registered in .mcp.json (mcp/gitbutler, mcp/neon, mcp/notebooklm, mcp/railway-mcp-server); two state a subject too thin to place — tri/doctor starts and stops a state file, tri/dashboard says "Sacred dashboard". They stay the Queen's alone until a card says what they are for. Nothing here invents a capability: every added line names who is responsible, not what a tool can do.

How it was checked

Each assignment was proposed from the card's own text and then re-read by a second pass whose job was to refute it; 17 of 91 tool assignments and 6 of 26 skill assignments were corrected that way — typically a letter guessed from a name ("R was inferred from the word VM, but R's KEY_FILES are the compiler runtime, which the card never names").

The bindings are written on both sides, as the generator requires: a tool's AGENTS names the letter and that agent's TOOLS names the tool. Verified with gHashTag/trinity's scripts/agents-from-specs.mjs against a vendored copy:

  • 0 problems, typecheck 27/27 agents and 92/92 tools
  • tools with an agent 92 (was 6), agents with tools 20 (was 5), agents with skills 20 (was 3)

One companion change is needed in gHashTag/trinity and is filed separately: its generator emitted the "unbound" group only while some command had no agent, so the day every command gained one the bucket vanished and its own contract read undefined where it asked for a list.

Refs #3545 (the agent alphabet as .t27 specs, whose optional TOOLS/SKILLS bindings this PR fills in).


Supersedes #3833. Same net diff, one commit with an issue reference so L1 TRACEABILITY passes.

Refs #3545

🤖 Generated with Claude Code

Supersedes #3833: same net diff as one commit carrying an issue reference.

Refs #3545

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-02 21:35:10 UTC

Summary

Status Count
Total Open PRs 34
PRs with Failing Checks 32
PRs with All Checks Green 2
READY 1
FAILING 32
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 32 + 0 + 0 = 33, and there are 34 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag gHashTag added the bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525) label Oct 2, 2026
@gHashTag

gHashTag commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

Bee review evidence (reviewer bee, not the author)

Head: 43bfb6659df14aa7ed2a2ac631128f18b7c8ef98, one commit on master 7079823. The commit message carries Refs #3545, the same issue the original #3833 referenced.

Tree identity: replacement tree 873c2648387820398ece208f1fab209e8a43776e == the tree of the original #3833 head f257b001d0635f0b51368bb5fe8ee734e3c15661. This was checked through the GitHub commits API and again in a local fetch, where git diff f257b001d0635f0b51368bb5fe8ee734e3c15661 43bfb6659df14aa7ed2a2ac631128f18b7c8ef98 is empty.

Content (121 files, skimmed):

  • 27 specs/agents/*.t27
  • 52 specs/tools/tri/*
  • 29 specs/tools/trinity/tri/*
  • 11 specs/tools/mcp/*
  • docs/agents/AGENTS_ALPHABET.md (a new section, "Who holds a tool, and who holds a skill")
  • the NOW entry

Every spec change is to AGENTS/AGENTS_NOTE on tool cards and to TOOLS/TOOLS_NOTE/SKILLS/SKILLS_NOTE on agent cards. Each one binds to the Queen (T) plus a domain lead. Nothing in it is unrelated to that.

Secret scan: no secret values; the only hit is the name of an env var in an unchanged context line of mcp/inngest-dev.t27. GitGuardian is green.

Cosmetic nit, not blocking: the new section in AGENTS_ALPHABET.md opens with a duplicated --- separator.

Mergeable: MERGEABLE (UNSTABLE only because of the red checks below). Re-read after #5630 and #5631 merged.

Red checks discounted, each confirmed red on master or on every PR:

  • spec-guards: fails at step "Does every seal still describe what the compiler emits" on this PR, and the same step fails on master 1cf5252 (job 111036327348).
  • emit-bitexact: fails at "GF-T primitives agree across C + Rust + Zig + model" with gft_sadd.sadd: Zig backend failed to build/run. The workflow has no master push trigger (last master run: a workflow_dispatch on 2026-08-28). The same step fails on unrelated PRs, for example feat/source-kind, payment-claim-spec and sweep-spec.
  • Master 1cf5252 is also red on untrusted-input (step "Every re-taken proposition is still anchored": "the corpus size is stated somewhere in the re-takes"), Scorecard and test-ratchet.

Required checks green: validate, check-linked-issue, parse-ratchet, Check L1 TRACEABILITY, L1 Traceability Summary, check-now-freshness, and GitGuardian.

  • untrusted-input is red on this PR at the same step and with the same message as on master 1cf5252 (job 111036324988).

@t27-bees t27-bees Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bee review: see evidence comment

@gHashTag
gHashTag merged commit 0d0bf44 into master Oct 2, 2026
32 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant