Convert pipeline.py to async, add CLI tests, and document protobuf CVE #44
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
This PR completes the production readiness checklist by converting the remaining blocking network calls in
pipeline.pyto async, adding comprehensive CLI integration tests, and documenting a known transitive dependency vulnerability.Key Changes
Async Network Calls in pipeline.py: Converted
requests.get()calls in_fetch_from_arxiv()and_fetch_from_crossref()methods to useaiohttpwith proper async/await patterns, eliminating thread pool executorsCLI Integration Tests: Added 33 new CLI tests in
tests/test_cli.pyusing Click's CliRunner covering:CVE Documentation: Added Section 8 to
PRODUCTION_READINESS_REVIEW.mddocumenting:Implementation Details
aiohttp.ClientSessionwith 15-second timeoutsawait response.read(),await response.json())Testing
All new CLI tests pass with CliRunner and properly mock external dependencies. No breaking changes to existing functionality.