Skip to content

fix: isolate malformed metadata source failures - #120

Merged
njzjz merged 3 commits into
njzjz:masterfrom
njzjz-bot:agent/fix-114-isolate-source-errors
Aug 16, 2026
Merged

fix: isolate malformed metadata source failures#120
njzjz merged 3 commits into
njzjz:masterfrom
njzjz-bot:agent/fix-114-isolate-source-errors

Conversation

@njzjz-bot

Copy link
Copy Markdown
Contributor

Summary

  • treat transport, parsing, and malformed-source-data failures as per-source misses
  • keep valid metadata returned by other concurrent DOI sources
  • preserve native visibility for unexpected programming errors such as RuntimeError
  • add sync and async regression tests

Root cause

The source wrappers only isolated transport errors on native Python. Common upstream payload failures such as missing keys, invalid JSON-derived values, and malformed XML could therefore propagate through future.result() / asyncio.gather() and discard otherwise usable results.

Validation

Added focused coverage in tests/test_source_error_isolation.py. Full repository CI should run on this PR.

Fixes #114

Agent: ChatGPT
Model: GPT-5.6 Sol

Treat transport, parsing, and malformed-source-data failures as per-source misses while leaving unexpected programming errors visible on native Python.

Agent: ChatGPT
Model: GPT-5.6 Sol
Verify malformed source payloads are isolated in sync and async DOI aggregation while programming errors still escape.

Agent: ChatGPT
Model: GPT-5.6 Sol
@codecov

codecov Bot commented Aug 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.21%. Comparing base (079b00e) to head (05ebbdd).
⚠️ Report is 6 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
- Coverage   94.41%   94.21%   -0.20%     
==========================================
  Files          15       15              
  Lines         949      951       +2     
==========================================
  Hits          896      896              
- Misses         53       55       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@njzjz
njzjz marked this pull request as ready for review August 16, 2026 12:32
Copilot AI lite review requested due to automatic review settings August 16, 2026 12:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@njzjz
njzjz merged commit 0741a32 into njzjz:master Aug 16, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

One feeder's API error can abort a concurrent DOI lookup with usable results

3 participants