You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
exclude archived repositories from the org-wide documentation sync
keep the listing completeness check aligned with the active-repo filter
add a CI guard for case-insensitive duplicate paths under docs/
cover the collision detector with unit tests
Why
Archived repos can reintroduce stale hanthor/ references into generated pages. Case-only filename differences such as USER-GUIDE.md and user-guide.md break checkouts on case-insensitive filesystems and can produce duplicate routes.
Triage note — this PR is now half-landed, and the remaining half is still worth having.
Already on main, in a stronger form than this PR: the archived-repo guard. scripts/sync-org-docs.mjs now returns {names, archived} from the listing, filters archived repos out of what gets synced, and keeps the archived count so the truncation cross-check can still compare the full listing against org.public_repos (which counts archived public repos). The in-code comment records the motivating incident — 57 public repos becoming 37 active + 20 archived. That is a better design than this PR's approach of filtering inside both gh calls, which would have made the cross-check compare two differently-filtered numbers.
Not on main: the case-collision guard. There is no scripts/check-doc-collisions.mjs, no lint-workflow step, and no findCaseCollisions test.
I checked the live tree and there are currently no case-colliding paths under docs/ — docs/tacklebox/ has USER-GUIDE.md only, not the user-guide.md twin the test fixture references. So this is a preventive guard, not a fix for a live defect, which is why it is not urgent.
Suggested path: rebase and reduce this PR to just scripts/check-doc-collisions.mjs, its two tests, and the lint step, dropping the sync-org-docs.mjs changes that main has already solved differently. Leaving open as real work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/Why
Archived repos can reintroduce stale
hanthor/references into generated pages. Case-only filename differences such asUSER-GUIDE.mdanduser-guide.mdbreak checkouts on case-insensitive filesystems and can produce duplicate routes.Validation
node --check scripts/sync-org-docs.mjsnode --check scripts/check-doc-collisions.mjsnode scripts/__tests__/sync-org-docs.test.mjs(71 passed)node scripts/check-doc-collisions.mjsgit diff --checkNeed help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.