Repository navigation
v2.1.0 — Efficient tool discovery, progressive skills, budgets
Efficient tool discovery, progressive skills, and per-run token budgets — plus the repeated-tool withhold fix.
Fixed
- Withhold a repeated tool instead of forcing text-only. A step made entirely of repeated tool calls now removes only those tools from the advertised set for the rest of the run; text-only is a fallback only if the model repeats again. Previously the first all-repeat step forced text-only, which also took away the tool the user asked for.
Added
- Schema-budgeted automatic tool discovery for sync, streaming, and async runs. Large catalogs start with a small resident set plus on-demand discovery; authorized tool schemas load only when needed.
DiscoveryPolicycontrols the initial count, schema budget, and reuse. Discovery grants no permission. - Reusable, fingerprinted discovery checkpoints across turns, revalidated against the current authorized catalog; corpus-weighted lexical search over
discovery_terms, exact names, and MCP metadata. - Progressive skills (opt-in
progressive_skills=True): advertise skill metadata and load instructions on demand, with fresh per-run state. max_task_tokenssoft per-run budget: budget stops retain completed tool evidence and mark work incomplete (not a hard spending cap).- Usage diagnostics separating estimated request content from reported usage;
ToolOutput.from_recordsfor bounded model views. - Live fixture evaluations, 100–500-tool discovery benchmarks, loopback MCP failure-isolation tests, and a custom-harness guide.
Validation
- Full test suite: 4,517 passed, 50 skipped, 0 failures.
- Efficiency benchmark (same 20 tool operations, +1 request): −56.7% request payload on a 100-tool catalog, −89.1% on 500 tools (4.5M → ~489K serialized chars). Offline payload measurement, not a billed-token or intelligence score. Gains are largest on big tool/MCP catalogs and negligible-cost on small ones.
Full changelog: CHANGELOG.md
What's Changed
- feat(guardrails): stream tokens under input/tool-only guardrails by @iamrraj in #30
- Efficient tool discovery, progressive skills, budgets + repeated-tool withhold fix (2.1.0) by @iamrraj in #31
Full Changelog: v2.0.7...v2.1.0