You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+48-1Lines changed: 48 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [3.0.4] — 2026-03-11
11
+
12
+
### Added
13
+
-`run-bug-hunter.cjs phase` command for schema-validated Skeptic, Referee, and Fixer phase execution with retry support
14
+
- runner tests for invalid Skeptic, Referee, and Fixer artifacts plus Markdown companion rendering
15
+
16
+
### Changed
17
+
- preflight now checks all shipped structured-output schemas, not just findings
18
+
- structured-output migration now enforces orchestrated outbound validation beyond the local/manual path
19
+
20
+
## [3.0.3] — 2026-03-11
21
+
22
+
### Added
23
+
-`scripts/render-report.cjs` Markdown renderer for final report and coverage summaries from canonical JSON artifacts
24
+
-`scripts/tests/render-report.test.cjs` coverage for report and coverage rendering
25
+
-`coverage.json` / `coverage.md` output path in `run-bug-hunter.cjs`
26
+
27
+
### Changed
28
+
- Hunter, Skeptic, Referee, and Fixer prompts now describe JSON-first canonical artifacts
29
+
- loop, fix-loop, local-sequential, and major mode docs now point at `*.json` phase artifacts and `coverage.json`
30
+
- README, SKILL docs, evals, and the subagent wrapper now describe rendered Markdown as a companion to canonical JSON
31
+
- local/manual mode docs now validate findings, skeptic, and referee artifacts with `schema-validate.cjs`
32
+
33
+
## [3.0.2] — 2026-03-11
34
+
35
+
### Added
36
+
-`schemas/*.schema.json` versioned contracts for recon, findings, skeptic, referee, coverage, fix-report, plus shared definitions and example findings fixtures
37
+
-`scripts/schema-runtime.cjs` lightweight schema runtime and `scripts/schema-validate.cjs` CLI for local artifact checks
38
+
39
+
### Changed
40
+
-`payload-guard.cjs` now emits real schema refs instead of placeholder format/version objects
41
+
-`bug-hunter-state.cjs` now rejects malformed findings and stores canonical `confidenceScore`, `category`, `evidence`, `runtimeTrigger`, and `crossReferences`
42
+
-`run-bug-hunter.cjs` now treats missing or invalid `findings.json` as a retriable chunk failure and checks schema assets during preflight
43
+
- script tests now cover schema validation, malformed findings rejection, and retry-after-schema-failure
44
+
45
+
## [3.0.1] — 2026-03-11
46
+
47
+
### Changed
48
+
- Loop and fix-loop completion now require full queued source-file coverage, not just CRITICAL/HIGH coverage
49
+
- Autonomous runs now continue through remaining MEDIUM and LOW files after prioritized chunks finish unless the user interrupts
50
+
- Loop iteration guidance now scales `maxIterations` from queue size so large audits do not stop early
51
+
- Large-codebase mode now treats LOW domains as part of the default autonomous queue instead of optional skipped work
52
+
10
53
## [3.0.0] — 2026-03-10
11
54
12
55
### Added
@@ -136,7 +179,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
136
179
- Coverage enforcement — partial audits produce explicit warnings
137
180
- Large codebase strategy with domain-first tiered scanning
Copy file name to clipboardExpand all lines: README.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -280,7 +280,7 @@ Bug Hunter automatically selects the optimal scanning strategy based on your cod
280
280
|**120–180 files**| Scaled | State-driven chunks with resume capability |
281
281
|**180+ files**| Large-codebase | Domain-scoped pipelines + boundary audits (loop mode, on by default) |
282
282
283
-
Loop mode is **on by default** — the pipeline runs iteratively until every critical and high-risk file has been audited, with persistent state enabling stop-and-resume workflows. Use `--no-loop` for a single-pass scan.
283
+
Loop mode is **on by default** — the pipeline runs iteratively until every queued scannable source file has been audited and, in fix mode, every discovered fixable bug has been processed. The agent should keep descending through CRITICAL → HIGH → MEDIUM → LOW automatically unless the user interrupts. Use `--no-loop` for a single-pass scan.
284
284
285
285
---
286
286
@@ -523,12 +523,16 @@ Every run creates a `.bug-hunter/` directory (add to `.gitignore`) containing:
-**Service-aware partitioning (preferred)**: If Recon detected multiple service boundaries (monorepo), partition by service.
133
-
-**Risk-tier partitioning (fallback)**: process CRITICAL then HIGH then MEDIUM.
133
+
-**Risk-tier partitioning (fallback)**: process CRITICAL then HIGH then MEDIUM then LOW.
134
134
- Keep chunk size small (recommended 20-40 files) to avoid context compaction issues.
135
135
- Persist chunk progress in `.bug-hunter/state.json` so restarts do not re-scan done chunks.
136
136
- Test files (CONTEXT-ONLY) are included only when needed for intent.
@@ -296,7 +296,7 @@ Token estimate: ~[N] tokens for full pipeline
296
296
```
297
297
⚠️ This codebase has [N] source files (FILE_BUDGET: [B]).
298
298
Single-pass mode will only cover a subset. Remove `--no-loop` to enable iterative coverage.
299
-
Proceeding with partial scan — CRITICAL and HIGH domains only.
299
+
Proceeding with partial scan — highest-priority queued files only.
300
300
```
301
301
302
302
**Triage replaces Recon's FILE_BUDGET computation.** Recon still runs for tech stack identification and pattern-based analysis, but it no longer needs to count files or compute the context budget — triage already did that, for free.
When launching subagents, always pass `SKILL_DIR` explicitly in the task context so prompt commands like `node "$SKILL_DIR/scripts/doc-lookup.cjs"` resolve correctly. The `context7-api.cjs` script is kept as a fallback if `doc-lookup.cjs` fails.
@@ -491,30 +491,36 @@ In a collapsed `<details>` section (for transparency).
491
491
- Skeptic accuracy: X/Y correct challenges (Z%)
492
492
493
493
### 7. Coverage assessment
494
-
- If ALL CRITICAL/HIGH files scanned: "Full coverage achieved."
494
+
- If ALL queued scannable source files scanned: "Full queued coverage achieved."
495
495
- If any missed: list them with note about `--loop` mode.
496
496
497
497
### 7b. Coverage enforcement (mandatory)
498
498
499
-
If the coverage assessment shows ANY CRITICAL or HIGH files were not scanned, the pipeline is NOT complete:
499
+
If the coverage assessment shows ANY queued scannable source files were not scanned, the pipeline is NOT complete:
500
500
501
-
1. If `LOOP_MODE=true` (default): the ralph-loop will automatically continue to the next iteration covering missed files. Call `ralph_done` to proceed to the next iteration. Do NOT output `<promise>COMPLETE</promise>` until all CRITICAL/HIGH files show DONE.
501
+
1. If `LOOP_MODE=true` (default): the ralph-loop will automatically continue to the next iteration covering missed files. Call `ralph_done` to proceed to the next iteration. Do NOT output `<promise>COMPLETE</promise>` until all queued scannable source files show DONE.
502
502
503
503
2. If `LOOP_MODE=false` (`--no-loop` was specified) AND missed files exist:
504
504
- If total files ≤ FILE_BUDGET × 3: Output the report with a WARNING:
505
505
```
506
-
⚠️ PARTIAL COVERAGE: [N] CRITICAL/HIGH files were not scanned.
506
+
⚠️ PARTIAL COVERAGE: [N] queued source files were not scanned.
507
507
Run `/bug-hunter [path]` for complete coverage (loop is on by default).
508
508
Unscanned files: [list them]
509
509
```
510
510
- If total files > FILE_BUDGET × 3: The report MUST include:
511
511
```
512
512
🚨 LARGE CODEBASE: [N] source files (FILE_BUDGET: [B]).
513
-
Single-pass audit covered [X]% of CRITICAL/HIGH files.
513
+
Single-pass audit covered [X]% of queued source files.
514
514
Use `/bug-hunter [path]` for full coverage (loop is on by default).
515
515
```
516
516
517
-
3. Do NOT claim "audit complete" or "full coverage achieved" unless ALL CRITICAL and HIGH files have status DONE. A partial audit is still valuable — report what you found honestly.
517
+
3. Do NOT claim "audit complete" or "full coverage achieved" unless ALL queued scannable source files have status DONE. A partial audit is still valuable — report what you found honestly.
518
+
519
+
4. Autonomous runs must keep descending through the remaining priority queue after the current prioritized chunk is done:
520
+
- Finish current CRITICAL/HIGH work first.
521
+
- Immediately continue with remaining MEDIUM files.
522
+
- Then continue with remaining LOW files.
523
+
- Only stop when the queue is exhausted, the user interrupts, or a hard blocker prevents safe progress.
518
524
519
525
If zero bugs were confirmed, say so clearly — a clean report is a good result.
520
526
@@ -577,7 +583,12 @@ Rules for JSON output:
577
583
-`dependencies` array: populated only if `--deps` was used and `.bug-hunter/dep-findings.json` exists.
578
584
- This JSON enables CI/CD gating, dashboard ingestion, and downstream patch generation.
579
585
580
-
Also write the final markdown report to `.bug-hunter/report.md` as the canonical human-readable output (in addition to displaying it to the user).
586
+
Also write the final markdown report to `.bug-hunter/report.md` as the
587
+
canonical human-readable output. Generate it from the JSON artifacts with:
0 commit comments