Skip to content

Honor .gitattributes linguist overrides; drop .sln phantom components#17

Merged
nielsbosma merged 1 commit into
mainfrom
yolo/gitattributes-and-phantom-components
Jun 23, 2026
Merged

Honor .gitattributes linguist overrides; drop .sln phantom components#17
nielsbosma merged 1 commit into
mainfrom
yolo/gitattributes-and-phantom-components

Conversation

@nielsbosma

Copy link
Copy Markdown
Contributor

Two report-credibility/robustness fixes from the review backlog (both hash-impact: none, but improve language-stat accuracy and component cleanliness). 128 tests pass (+2 new); no existing fixture detection changed.

  • .gitattributes linguist overridesFileSystemScanner now reads each directory's .gitattributes and honors linguist-vendored/-generated (excluded from language stats & components) and linguist-documentation (doc-flagged), reusing the gitignore glob engine. Repo-portable, mirrors github-linguist, and resolves the Apex/LaTeX .cls false positive (those files live under a tests/data/** path the repo marks vendored).
  • .sln phantom-component dropComponentDetector removes any non-root IsWorkspaceRoot component that owns no languages and no parsed manifests (a bare .sln/.slnx build dir is an artifact of a real root, not a component). Also closes a latent hash-pollution path.

Remaining backlog items were assessed and intentionally left (not worth it for the hash / risky / niche): C2 vendored lockfiles, C9 maturin, C10 import-scan, L4-rest Emscripten glue, L6 docs-scoping, example-demo. Tracked in src/.review/_PLAN.md.

Two report-credibility/robustness fixes from the review backlog. 128 tests
(+2 new); no existing fixture detection changed.

- .gitattributes support: FileSystemScanner reads each directory's
  .gitattributes and honors linguist-vendored / linguist-generated (excluded
  from language stats and components) and linguist-documentation (doc-flagged),
  reusing the gitignore glob engine. Repo-portable, mirrors github-linguist, and
  resolves the Apex/LaTeX .cls false positive (those files live under a
  tests/data/** path the repo marks vendored).
- Phantom component drop: ComponentDetector removes any non-root workspace-root
  component that owns no languages and no parsed manifests (a bare .sln/.slnx
  build dir is an artifact of a real root, not a component). Also closes a latent
  hash-pollution path.
@nielsbosma nielsbosma merged commit 21a0c73 into main Jun 23, 2026
@nielsbosma nielsbosma deleted the yolo/gitattributes-and-phantom-components branch June 23, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant