diff --git a/CHANGELOG.md b/CHANGELOG.md index 530f0e7..0321b24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## 0.4.5 — 2026-03-16 +- **Review findings now actually get fixed, not just listed.** `/review` and `/ship` used to print informational findings (dead code, test gaps, N+1 queries) and then ignore them. Now every finding gets action: obvious mechanical fixes are applied automatically, and genuinely ambiguous issues are batched into a single question instead of 8 separate prompts. You see `[AUTO-FIXED] file:line Problem → what was done` for each auto-fix. +- **You control the line between "just fix it" and "ask me first."** Dead code, stale comments, N+1 queries get auto-fixed. Security issues, race conditions, design decisions get surfaced for your call. The classification lives in one place (`review/checklist.md`) so both `/review` and `/ship` stay in sync. + ### Fixed - **`$B js "const x = await fetch(...); return x.status"` now works.** The `js` command used to wrap everything as an expression — so `const`, semicolons, and multi-line code all broke. It now detects statements and uses a block wrapper, just like `eval` already did. @@ -10,6 +13,9 @@ ### For contributors +- Gate Classification → Severity Classification rename (severity determines presentation order, not whether you see a prompt). +- Fix-First Heuristic section added to `review/checklist.md` — the canonical AUTO-FIX vs ASK classification. +- New validation test: `Fix-First Heuristic exists in checklist and is referenced by review + ship`. - Extracted `needsBlockWrapper()` and `wrapForEvaluate()` helpers in `read-commands.ts` — shared by both `js` and `eval` commands (DRY). - Added `getRefRole()` to `BrowserManager` — exposes ARIA role for ref selectors without changing `resolveRef` return type. - Click handler auto-routes `[role=option]` refs to `selectOption()` via parent `