specs: bind every tool and skill to the Queen, and name a domain lead - #5632
Conversation
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Bee review evidence (reviewer bee, not the author)Head: Tree identity: replacement tree Content (121 files, skimmed):
Every spec change is to Secret scan: no secret values; the only hit is the name of an env var in an unchanged context line of Cosmetic nit, not blocking: the new section in AGENTS_ALPHABET.md opens with a duplicated 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:
Required checks green:
|
86 of 92 tool cards and 23 of 26 skill cards carried a note saying, truthfully, that
docs/agents/AGENTS_ALPHABET.md,specs/OWNERS.mdand.claude/agents/*.mddid 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 reachtri/verdict,tri/cellortri/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.mdnow carries the source those notes were looking for, as two independent rules:ABOUT,ACTIONS,SOURCE,SUMMARY_EN) and never off its name.Who got what
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/doctorstarts and stops a state file,tri/dashboardsays "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
AGENTSnames the letter and that agent'sTOOLSnames the tool. Verified with gHashTag/trinity'sscripts/agents-from-specs.mjsagainst a vendored copy: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
undefinedwhere it asked for a list.Refs #3545 (the agent alphabet as
.t27specs, whose optionalTOOLS/SKILLSbindings 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