Commit Graph

7 Commits

Author SHA1 Message Date
b86174782f feat: add per-file +/− summary and noise-filtered scope to review prompts
Emit a ### Changed Files Markdown table (| File | +/− | Type | rows plus
total added/removed) ahead of the raw diff in both committed and
uncommitted review prompts, parsed from the diff via the shared
parseDiff engine. Add an ### Excluded Files (n) section listing filtered
noise (path, +/− counts, reason), and replace byte-truncation of oversized
diffs with a file-list + read instruction when the cleaned diff exceeds
50KB or touches more than 20 files.

Also: distinguish diff-computation failure from genuinely no changes in the
review loop (tri-state result, never treats a broken base ref as a clean
verified task), map critical→blocker in finding severity parsing, inject a
per-review custom focus/instructions section from config, and make the
noise-filter ignore rules project-configurable via review.extraIgnorePatterns
and review.ignorePaths. Add same-model retry before cycling to the next
model in task/follow-up/fix sessions.
2026-08-08 18:10:08 -04:00
88f6b4df93 feat: port noise-filtered diff parsing engine
Add src/diff.ts: a reusable unified-diff engine that parses diffs into
per-file +/− stats and filters noise (lockfiles, minified/generated
assets, source maps, snapshots, build output, node_modules/vendor,
binary/media) so review prompts feed only clean, review-relevant changes.
Exports DiffSummary/FileDiff shapes, EXCLUDED_PATTERNS, isExcluded,
parseDiff, plus filterNoise and configurable extra-pattern/ignore-path
overrides. Malformed diff chunks are skipped without crashing, and
excluded files are never double-counted into totals.

Add tests/diff.test.ts covering the included/excluded split, per-file
+/− counts, totals excluding noise, malformed-chunk guard, and the
noise-filter override rules.
2026-08-08 16:45:31 -04:00
b9a12931fe fix: resume selection under-reports task totals with multiple loops
The resume prompt counted total/completed from progress.tasks, which only
records TOUCHED tasks (started/completed/failed) — never-started tasks were
silently missing, and file-checkbox completions weren't counted unless
markCompleted had run. With e.g. 10 tasks where 3 completed and 5 untouched,
it showed 3/5 done instead of 3/10 done.

- add countPRDResumeStats (src/utils.ts): total from parseTaskFile of the
  PRD source; completed = progress completions ∪ PRD checkbox completions,
  deduped by task id; failed from progress. Falls back to touched-task
  counts when the source file is missing/unparseable.
- selectPRDToResume (index.ts) uses the helper instead of Object.keys().
- tests/resume-stats.test.ts: 4 regression tests.

Includes pre-existing uncommitted changes: index.ts tab-reformat (matches
src/ style) and package.json version bump 0.4.2 -> 0.4.3.
2026-08-03 16:31:09 -04:00
f9b57ec2ed fix flaky resume behavior 2026-08-02 23:36:35 -04:00
fe28718911 feat: support for letter padded tasks 2026-06-21 13:29:24 -04:00
db8859606f handles phased tasks 2026-06-09 13:59:38 -04:00
85123b7755 fixed regressed parsing, tool sanitation 2026-06-08 20:34:16 -04:00