Skip to content

Commit 2877bed

Browse files
Josh Mabryclaude
andcommitted
fix: core binds 17 tools, not ~16, and pin the claim to the list
Operator-facing copy made a factual claim that was already wrong at v0.1.0. Numbers in prose drift silently, so the test now reads the count out of the manifest description and asserts it against len(CORE_TOOLS). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U69poCC3qyCbTnaJmRzBvi
1 parent 630eedb commit 2877bed

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

protoagent.plugin.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ settings:
6767
options: [core, full]
6868
group: "Computer use"
6969
description: >-
70-
“core” binds the documented loop (~16 tools). “full” binds all ~28 and
70+
“core” binds the documented loop (17 tools). “full” binds all ~28 and
7171
costs context on every turn.
7272
- key: extra_tools
7373
label: "Extra tools"

tests/test_manifest.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,17 @@ def test_extra_tools_hides_when_it_would_be_ignored(m):
9898
assert driver.tool_filter({"tool_surface": "full", "extra_tools": ["x"]}) is None
9999

100100

101+
def test_stated_tool_count_matches_the_code(m):
102+
"""Operator-facing copy makes a factual claim about how many tools `core`
103+
binds. Numbers in prose drift silently — pin it to the list."""
104+
import re
105+
106+
field = next(s for s in m["settings"] if s["key"] == "tool_surface")
107+
claimed = re.search(r"(\d+) tools", field["description"])
108+
assert claimed, "the tool_surface description should state how many tools 'core' binds"
109+
assert int(claimed.group(1)) == len(driver.CORE_TOOLS)
110+
111+
101112
def test_declares_no_secrets(m):
102113
"""Nothing to leak — the driver is a local binary, not an API."""
103114
assert not m.get("secrets")

0 commit comments

Comments
 (0)