Files
accounted/extensions
Jakob WennbergandClaude Fable 5 27ef398623 feat(mcp): briefing returns a recommended tool loadout per workflow (#1098) (#1109)
With deferred tool loading on the client side (Claude Code ToolSearch,
claude.ai connector search), an agent starting a bookkeeping session
burns 4-6 round-trips discovering tools cluster by cluster. The
briefing now returns recommended_tools: five per-workflow loadouts
(categorize_month, close_period, invoice_run, vat_declaration,
payroll_month), each with a stable key, one-line description, the
gnubok_load_skill slug for the full playbook, and the exact registry
tool names ordered by typical call sequence, so a batch-selection
harness loads a whole workflow cluster in ONE ToolSearch select call.

Drift protection: assertRecommendedLoadoutsValid() runs at module init
in server.ts right after the tools array is built, failing module load
(and every test importing the server) if a loadout names a tool absent
from the registry or a skill slug absent from workflowSkills; the
agent-briefing test suite pins the same checks.

The list is static per company: the briefing does not query workflow
state today, so gating inclusion would add reads to the bootstrap hot
path. tools/list payload ceiling bumped 57K to 57.5K with a documented
progression entry (schema prose trimmed to the floor first; headroom
before the change was ~15 tokens).

Fixes #1098

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 18:31:39 +02:00
..