Repo hardening: fix install instructions, dead imports, hygiene#1
Open
cognis-digital wants to merge 5 commits into
Open
Repo hardening: fix install instructions, dead imports, hygiene#1cognis-digital wants to merge 5 commits into
cognis-digital wants to merge 5 commits into
Conversation
- fix 2 broken `pip install` line(s) in README (package is not on PyPI; use the working git+https install) - remove 4 unused import(s) (ruff F401/F811)
a6c0d19 to
e58cec6
Compare
…-06-13) - README install instructions point at the working git+https path - ran the actual audit: 12 tests passed, 0 parse errors, CLI C:\Python314\python.exe: No module named https - embedded results in README ## Verification and AUDIT.md
- Insert layman section in README.md for non-technical readers - Add comprehensive Install section covering pipx/uv/pip/source methods - Write install.sh (POSIX) and install.ps1 (Windows) one-liner scripts
- core.py: remove unused `body` variable (ruff F841); explicit isdir() guard in load_sequence raises IsADirectoryError on Windows; guard loads_sequence against empty/whitespace-only input with clear ValueError; _coerce_emails validates emails/sequence key is a list and each item is a dict, with index-aware error messages; lint_email guards non-dict input - cli.py: catch IsADirectoryError, PermissionError, and generic OSError in _read_input, each printing a clear message to stderr with exit code 2 - mcp_server.py: fix broken import of non-existent scan/to_json; re-wire serve() to use lint_sequence/loads_sequence/SequenceReport.to_dict and return a JSON error object on bad input rather than raising - tests/test_hardening.py: 18 new tests covering empty input, whitespace input, invalid JSON, non-list emails key, non-dict array items, null items, bare integer, missing file, directory path, malformed file, empty sequence, CLI missing-file/malformed/directory/empty-stdin/no- subcommand exits, and mcp_server importability
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.
This PR applies a few small, mechanically-verified hardening fixes found by an automated audit of the Cognis suite:
pip installline(s) in README (package is not on PyPI; use the working git+https install)Each change is deterministic; all touched Python files were confirmed to still compile (
py_compile) before this PR was opened.