Repository navigation
fix: repoint stale tools/ paths from the bughunter/ restructure (#175) - #180
Merged
Merged
Conversation
What: repointed 259 `tools/<file>` references to `bughunter/tools/<file>` across command/skill/agent docs, CLAUDE.md, AGENTS.md, README and the live docs; fixed the .gitignore lead-board anchor to match both layouts; added a CI job that fails on unresolvable command/skill tool paths; documented php_filter_chain_generator.py as the external synacktiv tool (not shipped here) Why: #175 — the tools/ -> bughunter/tools/ move (025367b / #148) did not update call sites, so agents hit "No such file or directory" and the test suite dirtied the working tree Update: 57 files (55 docs rewritten, .gitignore, .github/workflows/tests.yml); historical CHANGELOG / docs/phase* / TODOS / CAPABILITY-GAPS left as-is; no code under bughunter/ touched Test: every referenced bughunter/tools/* path exists; new guard PASSES on the fixed tree and CATCHES an injected stale path; git check-ignore matches memory/leads/ at both root and bughunter/ depth
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #175.
The
tools/→bughunter/tools/move (025367b / #148) updated the script locations but not the call sites, so command/skill docs pointedbash|python3 tools/*at paths that no longer exist. An agent told to runpython3 tools/hunt.pygotNo such file or directory; the stale.gitignoreanchor also left the test suite dirtying the tree.What's in here
tools/<file>→bughunter/tools/<file>acrosscommands/,skills/,bughunter/agents/,bughunter/tools/README.md,CLAUDE.md,AGENTS.md,README.md, and the live docs (TUTORIAL,auth-sessions,mcp-tools,research-learning-schema), plustests/benchmark/README.md. All flags and arguments preserved verbatim (e.g.--quick,--scan-only,--setup-wordlists)..gitignore:memory/leads/→**/memory/leads/so it matches both the repo-root layout andbughunter/memory/leads/where the lead board writes now. Verified withgit check-ignoreon both paths.tool-pathsjob intests.yml): fails if anybash|python3 <dir>/<file>.{py,sh}incommands//skills/doesn't resolve. Bare filenames (external tools) are skipped. This stops the regression recurring — including when older branches (e.g. feat(report-gate): enforce prove-or-suppress at report time (/report gate) [Verification Spine 3/3] #157) merge with stale paths.php_filter_chain_generator.py: documented as the external synacktiv tool (git clone …) rather than implying it ships here — it was broken independently of the restructure.Approach note
I kept the robust path form (
bughunter/tools/X) rather than routing everything through thebughunterCLI. Onlyreconandhunthave CLI subcommands, andhunt.py/recon_engine.shexpose flags the subcommands don't (--cve-hunt,--zero-day,--setup-wordlists, …), so mapping to the CLI would silently drop behavior. The CI guard is what keeps paths honest across future moves.Scope left out (deliberately)
Historical records untouched:
CHANGELOG.md,docs/phase*.md,docs/TODOS.md,docs/CAPABILITY-GAPS.md. No code underbughunter/changed.Test
bughunter/tools/*path exists (checked).tools/recon_engine.sh(mutation-checked).git check-ignorematchesmemory/leads/at both root andbughunter/depth..gitignore+ workflow; no Python/shell code touched, so the pytest matrix is unaffected.Credit to @spierenburg for the precise report and repro.