Skip to content

docs: tool descriptions are activation contracts; deferred loading hides them (#4) - #31

Merged
lukemaj merged 1 commit into
mainfrom
docs/4-tool-descriptions
Sep 29, 2026
Merged

lukemaj merged 1 commit into
mainfrom
docs/4-tool-descriptions

Conversation

@lukemaj

@lukemaj lukemaj commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

What: Adds the case study, triggers section and anti-pattern entries for the lesson that MCP tool descriptions are activation contracts and deferred loading hides them.
Why: A Claude Code planner in T3 ran codex exec in the shell instead of spawn_thread because the tool was deferred and its description never named the shell route it replaces (toolboxmd/chromeria#66, fixed in #67).
So what: Luna max review of the exact head, then the user merges.

Closes #4
Refs #7

Changes

  • case-studies/2026-09-29-t3-delegation-tool-descriptions.md (new): the failure, its three causes (the planner's own account), the fix at chromeria f8a22e9 with the before and after spawn_thread descriptions, what alwaysLoad does (Claude Code docs plus a new debug log), the n=1 fresh-session result, and seven things the evidence does not prove.
  • docs/05-authoring/triggers.md: section "Tool descriptions are activation contracts too" (lead with when to use it; name the rationalized alternative; keep the few decision-point tools always loaded; trigger first under the 2,048-character truncation), with its claim boundary. Intro sentence and Sources updated.
  • docs/10-anti-patterns.md: "Shell recipe in memory outranking the host's routing" and "Decision-point tool deferred behind tool search".
  • GLOSSARY.md: Deferred tool, Decision-point tool.
  • docs.json, README.md, loader SKILL.md routing row ("Before writing or changing an MCP tool description, or choosing which tools load at session start"), public/llms.txt regenerated.
  • Candidate lesson 4 (alignment before mechanism) links 07-mechanism-vs-decoration.md "Measure, reword, mechanism last" instead of repeating it.

Evidence notes

Proof

Elon record

🤖 Generated with Claude Code

…des them (#4)

Case study of the T3 delegation failure (toolboxmd/chromeria#66) and fix
(#67), a triggers section, two anti-pattern entries, two glossary terms and
the loader route. The alwaysLoad debug-log figures are re-checked on #4.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@lukemaj

lukemaj commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

APPROVE

No findings. I reviewed exact head 4feaefb03a484f3e1ca6a02c22b62917ef7cbd95 against Issue #4 and the repository evidence contract. Claims and citations are traceable; description lengths and the 0/19 vs 0/20 interpretation are consistent with the cited evidence; the fresh-session result is bounded by its n=1 caveats; acceptance criteria, scope, links, and llms.txt conventions are satisfied. No em dashes or /Users paths found.

@lukemaj
lukemaj merged commit 0f5b996 into main Sep 29, 2026
3 checks passed
@lukemaj
lukemaj deleted the docs/4-tool-descriptions branch September 29, 2026 22:05
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.

Tool descriptions are activation contracts; deferred loading hides them

1 participant