Repository navigation
Conversation
UPSTREAM and the upstream/ directory differ only by case, so a fresh clone on a case-insensitive filesystem (default macOS and Windows) cannot hold both: git reports UPSTREAM as deleted and build fails with IsADirectoryError. Rename the lock to UPSTREAM.lock (content unchanged) and update its readers. Add a test that fails when two tracked paths, including directory prefixes, differ only by case, and a macOS CI job that checks the checkout is complete. The macOS job also surfaced a temp-path comparison in test_runtime.py that failed on macOS before this change (/var is a symlink to /private/var); the test now resolves its temp root.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
On a case-insensitive filesystem (the default on macOS and Windows) a fresh clone cannot hold both the lock file
UPSTREAMand the vendored directoryupstream/. On macOS, right aftergit clone:This renames the lock to
UPSTREAM.lock(content unchanged) and updates its readers:LOCK_FILE, the module docstring, the README layout table and CONTRIBUTING.upstream/is untouched.To keep it from coming back:
tests/test_repository.pyfails when two tracked paths, counting directory prefixes, differ only by case. On the currentmainit reports[['UPSTREAM', 'upstream']]; after the rename it passes.macos-15job (Python 3.13) that runs the same steps and first checks that the checkout is complete.Running the suite on macOS also showed one existing failure on
main:test_explicit_catalog_override_wins_over_configcompares the unresolved temp path with the CLI's resolved one (/varis a symlink to/private/var). The fixture now resolves its temp root; no assertion changed.Verified on a fresh macOS clone of the branch:
python3 -m unittest discover -s tests -v(25 OK),python3 tools/pstack_opencodex.py build(46 skills), both licensecmpchecks,git diff --check, andgit diff --exit-code 2dd2800 -- upstream/. No live delegation is involved.The name
UPSTREAM.lockis only a suggestion; any name that is not a case variant ofupstreamworks, and I can change it.