Skip to content

File triage: vendor/ missed in subdirs, missing modern lock files, whitespace detection fragile #72

@haasonsaas

Description

@haasonsaas

Found during deep code review of #29

1. vendor/ only detected at top level (files.rs:39)

path.starts_with("vendor/") misses monorepo paths like services/api/vendor/lib.go.

2. Missing modern lock files

Not detected: bun.lockb (Bun), uv.lock (Python uv), gradle.lockfile (Gradle), flake.lock (Nix).

3. Missing generated file patterns

Not detected: .pb.py, .pb.cc/.pb.h (protobuf C++), .pb.ts, _pb2.py/_pb2_grpc.py, .graphql.ts (GraphQL codegen), Pods/ (CocoaPods).

4. Whitespace detection order-dependent across hunks (changes.rs:17-38)

is_whitespace_only_change flattens all hunks then zips positionally. Multi-hunk diffs with different add/remove counts pair wrong lines.

5. Blank lines classified as comments (comments.rs:10)

A diff that only adds blank lines is classified as comment-only and skipped.

Acceptance

  • vendor/ works in subdirs (path.contains)
  • Modern lock files added
  • Protobuf/codegen patterns added
  • Hunk-aware whitespace pairing
  • Blank lines not treated as comments

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: review-pipelineReview pipeline, context, promptsbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions