How to Reproduce
Purpose
Reproduce the tool scoping experiment results that support ADR 0022.
Requirements
| Requirement | Link |
|---|---|
| Claude CLI | https://docs.anthropic.com/en/docs/claude-code/overview |
| git | https://git-scm.com/downloads |
| Python 3 | https://www.python.org/downloads/ |
Claude CLI must be authenticated (claude --version should succeed). Python 3 is used to generate results/summary.yaml from raw JSON output.
Steps
Navigate to the experiment directory:
bashcd experiments/adr0022-tool-scopingRun all tests:
bash./run.shOr run a specific test group:
bash./run.sh frontmatter # tools/disallowedTools in --agent vs subagent ./run.sh deny # permissions.deny enforcement ./run.sh allow # permissions.allow with dontAsk ./run.sh bypass # bypassPermissions behaviorReview the summary:
bashcat results/summary.yamlFor full detail on a specific test, check its JSON file:
bashcat results/frontmatter-tools-bash-skip.json | python3 -m json.tool
Expected Output
results/directory contains one JSON file per test (12 total) plussummary.yamlsummary.yamlshows each test's result and permission denials in a scannable format- Tests matching the findings in README.md:
frontmatter-*tests:tools/disallowedToolshave no effect in--agentsessions (no denials), but work for subagentspermissions-deny:echo hellosucceeds,ls /tmpdeniedpermissions-allow:echo hellosucceeds,ls /tmpdeniedbypass-no-tools-write: Write denied (no permission_denials or Write in denials)bypass-allow-write: Write succeeds
- Expect ~30-60 seconds per test, ~10 minutes total
