Skip to content

[FIX] Enable tool_arg_contract by default for native tools with safe schemas (#1487 child C) #1530

Description

@Lexus2016

Parent: #1487

Depends on: #1528 (audit), #1529 (type checking)

Task

After the audit (#1528) identifies which tools have safe schemas and the type-check extension (#1529) is in place, enable the tool_arg_contract check by default for native tools whose schemas are confirmed safe (i.e., have required declarations and won't break common agent behavior).

Approach

  1. Change tool_arg_contract_enabled() default from OFF to ON, but add a per-tool exclusion list for tools whose schemas are incomplete or that would break (identified by [FIX] Audit native tool schemas for contract-check compatibility (#1487 child A) #1528)
  2. Alternatively: add a tool_arg_contract.excluded_tools config key listing tools to skip
  3. Add a migration note: if any tool breaks, users can disable via config or add to exclusion list
  4. Update the test suite to verify the check fires by default for safe tools

Constraints

  • Must fit 200-line self-merge cap (config plumbing + default flip + exclusion list + tests)
  • Must be revertible via config (no hard-coded ON without escape hatch)
  • The REALIZED_RATE_LOW consolidation mode means this should be conservative: only enable for tools where the audit confirms zero risk of breakage

Effort

~0.4 (Easy-Medium, < 4 hours): config plumbing + default change + tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedAccepted by evolution — sent to a PR / implementedbugSomething isn't workingevolutionintrospectionFound by session introspection

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions