Observed
diffctx . --diff aebae3a..f176e10 on a commit range whose actual diff is 13 files / 637 lines (git diff aebae3a..f176e10 --stat) produced ~130 files / 8895 lines of fragments — including many files the range never touched (e.g. packages/core/, tools/vocab-tools/tests/, backend src, generated api-client) .
Expected
Output scoped to the files in the diff range (plus, at most, tight related context), not a near-full-tree dump.
Repro
diffctx . --diff <from>..<to> # where the range touches ~13 files
# → emits ~130 file fragments / ~8900 lines
git diff <from>..<to> --stat # ground truth: 13 files
Env
- diffctx 1.8.1
- monorepo (npm workspaces + python), range = a single feature commit + its parent
Impact
Over-dump (~88k tokens here) makes --diff unusable for focused review; consumers must fall back to git diff. Likely the range filter isn't applied to fragment selection.
Observed
diffctx . --diff aebae3a..f176e10on a commit range whose actual diff is 13 files / 637 lines (git diff aebae3a..f176e10 --stat) produced ~130 files / 8895 lines of fragments — including many files the range never touched (e.g. packages/core/, tools/vocab-tools/tests/, backend src, generated api-client) .Expected
Output scoped to the files in the diff range (plus, at most, tight related context), not a near-full-tree dump.
Repro
Env
Impact
Over-dump (~88k tokens here) makes
--diffunusable for focused review; consumers must fall back togit diff. Likely the range filter isn't applied to fragment selection.