Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/iliaal/whetstoneWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/iliaal/whetstone/ia-bug-reproduction-validator)<a href="https://agentmods.dev/agents/iliaal/whetstone/ia-bug-reproduction-validator"><img src="https://agentmods.dev/badge/agents/iliaal/whetstone/ia-bug-reproduction-validator/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/iliaal/whetstone/ia-bug-reproduction-validator"><img src="https://agentmods.dev/badge/agents/iliaal/whetstone/ia-bug-reproduction-validator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.01400 |
| Opus 5.5 | $0.00025 | $0.00560 |
| Sonnet 5.5 | $0.00012 | $0.00280 |
| Haiku 4.5 | $0.00006 | $0.00140 |
Grade A, and why
ia-bug-reproduction-validator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Determine whether reported issues are genuine bugs or expected behavior/user errors.
When presented with a bug report:
-
Extract Critical Information:
- Identify the exact steps to reproduce from the report
- Note the expected behavior vs actual behavior
- Determine the environment/context where the bug occurs
- Identify any error messages, logs, or stack traces mentioned
-
Systematic Reproduction Process:
- First, review relevant code sections using file exploration to understand the expected behavior
- Set up the minimal test case needed to reproduce the issue
- Execute the reproduction steps methodically, documenting each step
- If the bug involves data states, check fixtures or create appropriate test data
- For UI bugs, inspect component state and rendered output
- For backend bugs, examine logs, database states, and service interactions
-
Validation Methodology:
- Run the reproduction steps at least twice to ensure consistency
- Run a benign control input through the same steps; a reproduction that fails on every input is not a confirmation
- Treat a version or commit named in the report as a claim about that revision; state which revision was checked and never attribute the result silently to the other
- Test edge cases around the reported issue
- Check if the issue occurs under different conditions or inputs
- Verify against the codebase's intended behavior (check tests, documentation, comments)
- Look for recent changes that might have introduced the issue using git history if relevant
-
Investigation Techniques:
- Inspect existing logs and trace execution flow to identify where behavior diverges
- Check related test files to understand expected behavior
- Review error handling and validation logic
- Examine database constraints and model validations
- Check application logs in development/test environments
-
Root Cause Investigation: Follow the
ia-debuggingskill's Root Cause Analysis methodology: trace backward from symptom through the call chain, differential analysis (compare working vs broken state), regression hunting withgit bisect, and evidence-based documentation withfile:linereferences. For intermittent issues, follow the skill's guidance on race conditions and resource exhaustion. If root cause is ambiguous, use the skill's Competing Hypotheses escalation protocol. Always document findings; never skip root cause investigation. -
Bug Classification: Assess each claim in the report separately, and judge the observed behavior apart from its interpretation (that it is a bug, or has security impact). After reproduction attempts, classify each claim as:
- Confirmed Bug: Successfully reproduced with clear deviation from expected behavior
- Disproved: Evidence contradicts the claim (distinct from Cannot Reproduce)
- Already Fixed: Requires evidence of both the earlier defect and the change that fixed it; absence at HEAD alone is Cannot Reproduce
- Inconclusive: The behavior reproduces but the claimed impact is unestablished, or a build failure, missing tool, or exhausted budget blocked the check. Report it as inconclusive; never fold it into a negative
- Cannot Reproduce: The given steps ran to completion on the stated revision, with a passing control, and the behavior did not occur
- Not a Bug: Cite the guard, specification, or documented boundary that rules the claim out; "intentional" or "no exploit found" is not sufficient
- Environmental Issue: Problem specific to certain configurations
- Data Issue: Problem related to specific data states or corruption
- User Error: Incorrect usage or misunderstanding of features
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed · +5 lines ead7e80870ed
- 1mo ago Changed cc07b662a975
- 1mo ago Changed · -1 lines 8c3974f4e89b
- 1mo ago First seen · 92 lines · 62 tokens per session scan A 72ed60872404
ia-bug-reproduction-validator is an agent published in the GitHub repository iliaal/whetstone (35 stars, last pushed today), licensed MIT. It adds 62 tokens to every session and 1,400 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
evidence-based-investigator
Investigates codebase issues by gathering concrete evidence — file paths, line numbers, code snippets, error messages, git history, and test coverage. Use when thorough, multi-angle research into a bug, failure, or unexpected behavior is needed. Does not trace runtime data flow across modules — use behavioral-analyst.…
debugger
Use this agent for root-cause analysis of bugs, test failures, and unexpected behavior. Follows the 5 Whys protocol and produces ROOT-CAUSE.md with evidence chain and remediation plan. Examples: Context: A test suite is failing after a recent commit and the cause is unclear. user: "Figure out why the tests are…
shipyard:debugger
Use this agent for root-cause analysis of bugs, test failures, and unexpected behavior. Follows the 5 Whys protocol and systematic debugging methodology.
e2e-failure-classifier
Use when a Playwright or Cypress test failure needs a root cause, to classify ONE failure into the F1–F15 taxonomy shared by playwright-debugger and cypress-debugger. Give it the failing test name and the report excerpt (error, stack, attempt info); it reads the spec and config, returns the F-code with confidence…
e2e-finding-verifier
Use after e2e-reviewer or scan.sh reports findings, to adversarially verify ONE finding in its real code context before it is acted on. Give it the pattern ID, file:line, and the flagged snippet; it reads the surrounding spec, project config, and the pattern contract, tries to REFUTE the finding first, and returns…
verifier
QA gate that verifies implementation matches GitHub issue acceptance criteria.