Skip to content

feat(web): web/search + web/fetch native — the persona can forage the web - #2467

Merged
joelteply merged 4 commits into
canaryfrom
feat/web-native-tools
Aug 25, 2026
Merged

feat(web): web/search + web/fetch native — the persona can forage the web#2467
joelteply merged 4 commits into
canaryfrom
feat/web-native-tools

Conversation

@joelteply

Copy link
Copy Markdown
Contributor

Capability parity: I use web lookup constantly on exactly this kind of task, but a native-call model couldn't reach catalog-only web verbs. native:true puts foraging in her per-turn surface, budget-protected. Keyless backend works out of the box.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo

… like I do (score lever)

Joel (2026-08-25): 'think of the stuff you use and make sure we have it.' I
forage the web constantly — library APIs, error messages, docs — and on SWE/
terminal tasks that knowledge often isn't in the repo. But web/search and
web/fetch were catalog-only, and a NATIVE-tool-call model (Ornith) can ONLY
emit calls for tools in its offered specs (unlike a text model, it has no
reach-by-name affordance). So her hands literally could not touch the web
mid-task. Declaring native:true puts web foraging in her bounded per-turn
surface — offered in full, budget-protected by describe_tool_tokens like every
native tool. The backend already works keyless (duckduckgo) or with a
BRAVE_API_KEY. Direct capability parity with the agent she's replacing.

Battery: web:: + persona_tools + native surface + ratchets green (58 passed).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
@joelteply
joelteply enabled auto-merge (squash) August 25, 2026 15:31
joelteply and others added 2 commits August 25, 2026 11:29
…eiling (regression the ratchet caught)

The native-web change (#2467) grew the agentic surface 8623 → 9513 tokens, over
the 8650 ceiling — the #333 ratchet doing its job ('careful not to regress',
Joel). SHRUNK FIRST: trimmed both web DESCRIPTIONs to one line each (detail lives
in the param docs + commands/help) → 9350. The rest (+727) is the irreducible
param schemas of two real tools. Per the ratchet's own contract, re-pinned the
ceiling 8650 → 9400 with the addition stated plainly. Not a new overflow: the
surface already exceeded the 8192 tight-test window (the budget trims volatile
context to fit, specs reserved up front) — this raises the reserved floor.
Ornith serves at 166k where the ceiling is irrelevant; the tight-window LCD
persona pays with less recall room, a conscious trade for web foraging.

Battery: tool_surface + prompt_shaping + ratchets green (25 passed, EXIT=0).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
@github-actions github-actions Bot added size: S and removed size: XS labels Aug 25, 2026
The name_and_description test pinned the OLD verbose DESCRIPTION (brave/
duckduckgo/no-API-key) — but the surface-ceiling fix deliberately moved that
detail OUT of DESCRIPTION (which rides the token-budgeted native surface) INTO
the adapter param doc. Test now asserts the concise contract: DESCRIPTION says
what it does (search web) + points at web/fetch; the adapter/keyless guidance
is asserted on the WebSearchParams schema, its new home. A premise change from
the ceiling fix, stated as such — not a weakening.

Battery: web::search + web::fetch + ratchet green (4 passed).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
@github-actions github-actions Bot added size: M and removed size: S labels Aug 25, 2026
@joelteply
joelteply merged commit 147dd4d into canary Aug 25, 2026
5 checks passed
@joelteply
joelteply deleted the feat/web-native-tools branch August 25, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant