Files
jason.woltjeandClaude Opus 5.5 e9f4431ec1 harness: web_search and web_fetch as broker-served tools, search-source plug-ins and the assistant's web grant (vikunja:19/295, row 145)
Jason-approved merge, rebased: git diff 07c12b51b..813671596 from
work/vikunja-19-295, its seven commits as one (9ede6935b through
813671596, which include task 296's searxng check). Business reviewer
verdict 51c71b46 approve on 813671596; Jason resolved merge decision
29ff6589 via the CLI.

Conflict resolution only. packages/harness/src/tools.mjs conflicted with
row 132 (0e947c216): both sides add a block after review_verdict. Kept
row 132's end_run and change_organization block, then 295's web_search and
web_fetch block, each with its own closing brace. Seven other paths that
refactor also changed merged without conflict. For each, the +/- lines on
the new base equal the source commit's. The other 20 paths are the
source blobs. Filbert reviews the rebased diff.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 17:50:59 -05:00

13 lines
587 B
JavaScript

// The "harness-builtin" search-source plug-in (REQ-PLUG-2, decision 0b81b0c5): web search is the
// harness's own, claude-code's WebSearch and WebFetch, switched on only for a role that holds the
// web grant. The broker serves no web verbs under it, so `search` refuses. The bundle reads the
// module's name (resolved.webSource) to switch the harness tools on.
import { WEB_REFUSAL, WebRefusal } from "../../../discord/src/web.mjs";
export const interfaceVersion = 1;
export const SERVED_BY = "harness";
export function search() {
throw new WebRefusal(WEB_REFUSAL.SEARCH_DOWN);
}