Repository navigation
Conversation
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.
When Python runs with
-PorPYTHONSAFEPATH=1, all 20 CLI scripts inpeer-review,hypothesis-generation, anduncertainty-and-unitsfail withModuleNotFoundError: _common, including for--help. Python omits the automatically prepended script directory in this mode, so sibling imports cannot resolve.Add the same explicit, resolved script-directory bootstrap already used by
paper-lookup, before importing any sibling helper. Bump the three skill versions. These standalone commands can now load their own helpers without aPYTHONPATHworkaround.Regression tests cover every CLI using both safe-path mechanisms, copied skill folders with spaces, an unrelated working directory, and a conflicting helper on an explicit import path. Representative inputs also preserve JSON output and exit status, including the peer-review intake refusal. The 16 new peer-review cases failed before the fix and pass afterward.
Validation on Python 3.14.0, with each skill suite run in its own process and dependencies installed only in a temporary virtual environment:
python -B -m pytest -q -p no:cacheprovider tests/peer-review: 46 passed, 7 subtests passed.python -B -m pytest -q -p no:cacheprovider tests/hypothesis-generation: 47 passed, 14 subtests passed.python -B -m pytest -q -p no:cacheprovider tests/uncertainty-and-units: 127 passed, 107 subtests passed, no skips; numeric packages matchtests/skill-requirements.toml.python -B -m pytest -q -p no:cacheprovider tests/_meta: 18 passed, 4224 subtests passed.skills-ref validatefor all three changed skills andgit diff --check: pass.The separate requirement to install
uncertaintiesfor numerical propagation is unchanged. Cross-skill imports into a shared Python process remain outside this standalone-CLI fix. No Python 3.11/3.12 run or local security-scanner run was performed; the bootstrap uses the existing upstream pattern and only standard-library APIs.Python behavior: https://docs.python.org/3/using/cmdline.html#cmdoption-P