fix: robustness and efficiency improvements #58
Merged
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
Address 6 of 7 non-security findings from code audit (issue #56). Finding 4 (O(n) URL check) deferred as acceptable at current scale.
Closes: #56
Changes
_find_paper_by_source_urlagainst missingPAPERS_DIR(finding 1)download_sourcetemp file intry/finallyfor guaranteed cleanup (finding 2)"skill"→"skills", remove nonexistent"prompts"(finding 6a)cli.py.backup, add*.backupto.gitignore(finding 6b)\includegraphicsrefs to same tar memberType of Change
Testing
make check(required)New tests:
TestDownloadSourceTempFileCleanup— verifies temp file cleanup on OSErrorTestSetupDebugLogging— handler dedup + stale handler replacementtest_deduplicates_repeated_includegraphics_refs— same figure ref'd 3× → extracted 1×test_handles_duplicate_figure_names_from_different_dirs— asserts 2 distinct filesChecklist