chore(repo): untrack result artifacts + path-lint CI + branch protection#101
Open
rsasaki0109 wants to merge 3 commits into
Open
chore(repo): untrack result artifacts + path-lint CI + branch protection#101rsasaki0109 wants to merge 3 commits into
rsasaki0109 wants to merge 3 commits into
Conversation
… length Untracks 982 data artifacts (csv/pos/npz/gz, ~226MB) under experiments/results that are regenerable via the CLIs recorded in plan.md. 16 of them had paths >180 chars (max 266), exceeding the Windows MAX_PATH 260 limit and breaking `git reset --hard` / clean clone on Windows (core.longpaths was only a band-aid). Media (png/mp4/gif/webm/html/kml), docs (md/txt), and paper_assets remain tracked. Longest path under experiments/results drops 266 -> 92 chars. History retains the files; this only removes them from the working tree index. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds tools/lint_repo_paths.py (caps tracked path length at 180 / basename at 96, forbids tracked generated artifacts under experiments/results) and wires it into CI on ubuntu + windows. The windows leg is a canary: an over-long tracked path fails at checkout before the lint runs, catching the 260-char breakage class. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds .githooks/pre-push (blocks direct push to main; refuses branches not based on origin/main) and a Git workflow section in CONTRIBUTING.md covering the per-clone config (pull.ff only, core.hooksPath, core.longpaths) and the GitHub branch-protection settings. Hardens against the 2026-06-17 unrelated-history + Windows MAX_PATH incident. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
481b1d6 to
687f8ab
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Hardens the repo against the 2026-06-17 incident (local
maindiverged into an unrelated history, thengit reset --hardfailed on Windows because tracked sweep filenames exceeded the 260-charMAX_PATHlimit).Changes
experiments/resultsfrom the index. 16 had paths >180 chars (max 266). Longest path drops 266 → 92 chars. Media, docs, andpaper_assetsstay tracked. History retains everything; this only untracks them.tools/lint_repo_paths.py(caps path length 180 / basename 96, forbids tracked generated artifacts underexperiments/results), wired into CI on ubuntu + windows. The windows leg is a canary: an over-long tracked path fails at checkout..githooks/pre-push(blocks direct push tomain; refuses branches not based onorigin/main) + a Git workflow section inCONTRIBUTING.mddocumenting per-clone config and the GitHub branch-protection settings to apply.🤖 Generated with Claude Code