Skip to content

diffctx over-selection: PPR/edge relevance filter pulls in unrelated files (whole-tree over-dump + co-located k8s manifests) #65

Description

@nikolay-e

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions