Skip to content

Wire up declarative toolset scoping via provider config #128

@VincentShipsIt

Description

@VincentShipsIt

Parent: #126

Problem

Toolset scoping is hardcoded in buildClaudeCommand per-phase. ProviderPhaseHints type has allowedTools and disallowedTools fields defined but they're dead — never read at runtime. Adding a new phase or changing tool access requires editing CLI provider internals.

Solution

  1. Define per-phase tool policies in a declarative config (map of phase → allowed/disallowed tools)
  2. Wire phaseHints.allowedTools / phaseHints.disallowedTools into buildClaudeCommand and buildCodexCommand
  3. Remove hardcoded tool lists from CLI provider
  4. Phase tool policies become data, not code

Files

  • packages/agents/src/providers/cli-provider.tsbuildClaudeCommand, buildCodexCommand
  • packages/agents/src/providers/types.tsProviderPhaseHints
  • packages/pipeline/src/pipeline/runtime.ts — pass hints from config

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions