[ENHANCEMENT] Skip binary/image/asset files and deprioritize tests in Overture PRojection#36
Conversation
… default Extends the default ignore-files list to exclude common binary and asset file types (images, SVGs, fonts, archives, minified bundles) that have no reviewable code logic. This preserves the diff budget for source files that actually matter. Fixes #35 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Overture PRojection ReviewThis PR enhances the Overture PRojection GitHub Action to skip binary/image/asset files and deprioritize test/fixture files when selecting files for code review, improving token budget utilization and review relevance. It also updates the test signal logic and improves workflow UX for model selection. ✅ Checks Passed
🚩 Flags
❓ Open Questions
No further action required. This is a solid enhancement that will improve review quality and efficiency. |
There was a problem hiding this comment.
Pull request overview
Extends the default ignore-files patterns for the .github/actions/overture-projection composite action so that common binary / asset file types (images, fonts, archives, media, minified assets) are excluded from the diff content sent to the review model, preserving diff/token budget for actual source files.
Changes:
- Expanded the default
ignore-filesblock inaction.ymlto include common image/font/archive/media/minified file patterns. - Keeps the existing override behavior intact (callers can set
ignore-files: ""to disable exclusions).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Revert to @main before merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Sort test files to the end of the file list before applyFileBudget so source files win the context window when budget is tight. Test files are still reviewed when budget allows — they are never ignored outright. Matches: __tests__/, *.test.*, *.spec.*, test_*.*, *_test.* Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Replaces freeform model/selection_model/model_provider strings with type:choice dropdowns for manual runs. Each option includes an inline comment describing context window / speed / cost tradeoffs. workflow_call inputs are unchanged (type:choice is unsupported there). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Adds claude-opus-4-6, claude-sonnet-4-5, claude-haiku-4-6 back to the model choice list with provider annotations. Description clarifies which options require model_provider=anthropic. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
GitHub announced GitHub Models retirement on 2026-06-16 (existing customers unaffected for now, timeline TBD). Documents the migration path (model-provider: anthropic + ANTHROPIC_API_KEY) where someone will naturally look when it becomes urgent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Ignore outright (no reviewable diff): *.geojson, *.parquet, *.geoparquet, *.pmtiles, *.mbtiles, *.csv Deprioritize (reviewed when budget allows, cut first when tight): fixtures/, testdata/, test-fixtures/, __fixtures__/ package.json, tools.json, tsconfig.json etc. are unaffected. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
When test files are deprioritized and dropped from the diff budget, the Tests: signal was showing ❌ none in diff even though tests exist in the PR — causing the model to falsely flag missing test coverage. Now checks budgetSkippedFiles as well as included files. Distinguishes three states: ✅ — tests reviewed in diff ✅ (not reviewed — budget-cut) — tests present but cut for context ❌ none in diff — no tests in the PR at all Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Francisco Jiménez (jjcfrancisco)
left a comment
There was a problem hiding this comment.
Lgtm. I don't know if AI finds unit tests useful, I do as a human!
Closes #35
Summary
Improves token budget utilization in Overture PRojection so meaningful source files aren't crowded out by assets, test files, and data that don't benefit from code review.
Changes
Ignore outright (no reviewable content)
Extended the default
ignore-fileslist to skip:*.png,*.jpg,*.jpeg,*.gif,*.ico,*.webp,*.bmp,*.tiff,*.svg*.woff,*.woff2,*.ttf,*.eot,*.otf*.zip,*.tar,*.gz,*.tgz,*.jar,*.war,*.class,*.pyc,*.pyo*.mp4,*.mp3,*.wav,*.pdf*.min.js,*.min.css*.geojson,*.parquet,*.geoparquet,*.pmtiles,*.mbtiles,*.csvDeprioritized (reviewed when budget allows, cut first when tight)
__tests__/,*.test.*,*.spec.*,test_*,*_test.*fixtures/,testdata/,test-fixtures/,__fixtures__/Config files (
package.json,tools.json,tsconfig.json, etc.) are unaffected.Tests: signal fix
When test files are deprioritized out of the diff budget, the model was incorrectly seeing
Tests: ❌ none in diff. Now checksbudgetSkippedFilestoo and shows one of:Tests: ✅— tests reviewed in diffTests: ✅ (not reviewed — budget-cut)— tests present in PR but cut for contextTests: ❌ none in diff— genuinely no tests in the PRworkflow_dispatch UX
model,selection_model,model_providerare nowtype: choicedropdowns with annotated optionsmodel_provider: anthropicGitHub Models sunset notice
GitHub announced GitHub Models retirement on 2026-06-16 (existing customers unaffected for now, timeline TBD). Noted in
README.mdanddefaults.jswith the migration path (model-provider: anthropic+ANTHROPIC_API_KEY).Tests
41 tests passing across
diff.jsandprompt.js(6 new tests added).