Skip to content

refactor: Consolidate Actor tool presentation policies - #1586

Merged
jirispilka merged 5 commits into
fix/direct-actor-contractsfrom
refactor/actor-tool-policies
Oct 15, 2026
Merged

jirispilka merged 5 commits into
fix/direct-actor-contractsfrom
refactor/actor-tool-policies

Conversation

@jirispilka

Copy link
Copy Markdown
Collaborator

Why

Stacked on #1585 (fix/direct-actor-contracts). Merge #1585 first; this PR contains only the presentation-policy refactor.

RAG Web Browser and Web Fetch still have Actor-name branches in schema generation and description assembly. The existing policy registry can hold those rules.

What changed

Move RAG's exposed inputs, Web Fetch's URL description note, and both tools' extra descriptions into policy entries. Remove the isRag schema-builder argument and the Actor-name branches in those consumers.

Presentation rules retain their existing generic-call behavior. WCC defaults and denied inputs remain under a separate direct-only input policy. RAG's hidden inputs remain accepted, annotation checks still inspect the original properties, and description wording and session gating stay unchanged.

No public/internal exports, result shapes, or hosted-server integration changes.

Notes for reviewers (human-written)

Proof it works

  • Four characterization cases passed before and after the refactor. Final unit suite: 2,663 passed, 1 skipped. Type-check, lint, format, check:agents, and build passed.
  • mcpc tools-list results from the pre-refactor and post-refactor builds were identical for all 10 tools in the comparison configuration, including schemas, descriptions, and annotations.
  • An independent review found no actionable defects and independently ran 104 focused tests.

AI-assisted: Codex wrote the refactor, tests, documentation, and this description, ran verification, and used an independent review agent.

claude and others added 4 commits October 15, 2026 08:05
`exposedInputs` hides inputs but the validator still accepts them, while
`directInput.deniedInputs` hides and refuses them. The type now says so,
and that `directInput` applies to direct tools only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013pFh9qhBS7mGsFSnHd5nyF
The RAG Web Browser and Web Fetch description texts are used only by
the policy registry, so they move out of const.ts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@jirispilka
jirispilka marked this pull request as ready for review October 15, 2026 09:14
@jirispilka
jirispilka merged commit 76a61d9 into master Oct 15, 2026
18 checks passed
@jirispilka
jirispilka deleted the refactor/actor-tool-policies branch October 15, 2026 11:27
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.

3 participants