Skip to content

chore(deps-dev): bump the python group with 2 updates#262

Open
dependabot[bot] wants to merge 2 commits into
developfrom
dependabot/pip/develop/python-4dbd8911e5
Open

chore(deps-dev): bump the python group with 2 updates#262
dependabot[bot] wants to merge 2 commits into
developfrom
dependabot/pip/develop/python-4dbd8911e5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on mkdocs-material and atheris to permit the latest version.
Updates mkdocs-material to 9.7.6

Release notes

Sourced from mkdocs-material's releases.

mkdocs-material-9.7.6

[!WARNING]

Material for MkDocs is in maintenance mode

Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.

Read the full announcement on our blog

Changes

  • Automatically disable MkDocs 2.0 warning for forks of MkDocs
Changelog

Sourced from mkdocs-material's changelog.

mkdocs-material-9.7.6 (2026-03-19)

  • Automatically disable MkDocs 2.0 warning for forks of MkDocs

mkdocs-material-9.7.5 (2026-03-10)

  • Limited version range of mkdocs to <2
  • Updated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)

mkdocs-material-9.7.4 (2026-03-03)

  • Hardened social cards plugin by switching to sandboxed environment
  • Updated MkDocs 2.0 incompatibility warning

mkdocs-material-9.7.3 (2026-02-24)

  • Fixed #8567: Print MkDocs 2.0 incompatibility warning to stderr

mkdocs-material-9.7.2 (2026-02-18)

  • Opened up version ranges of optional dependencies for forward-compatibility
  • Added warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility

mkdocs-material-9.7.1 (2025-12-18)

  • Updated requests to 2.30+ to mitigate CVE in urllib
  • Fixed privacy plugin not picking up protocol-relative URLs
  • Fixed #8542: false positives and negatives captured in privacy plugin

mkdocs-material-9.7.0 (2025-11-11)

⚠️ Material for MkDocs is now in maintenance mode

This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.

Read the full announcement on our blog: https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/

This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.

Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.

Changes:

... (truncated)

Commits
  • 6c52ed6 Prepare 9.7.6 release
  • 51d9b76 Automatically disable MkDocs 2.0 warning for forks of MkDocs
  • 6f9a48b Updated links
  • 00b9933 Prepare 9.7.5 release
  • 37683d1 Updated blog post on MkDocs 2.0
  • 199e315 Updated warning message to clarify relation to MkDocs
  • 1025833 Limited version range of mkdocs to <2
  • 1532f52 Added update log to blog post
  • d0c8b28 Updated dependencies to fix vulnerabilities
  • 71d4869 Updated blog post on MkDocs 2.0
  • Additional commits viewable in compare view

Updates atheris from 3.0.0 to 3.1.0

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Updates the requirements on [mkdocs-material](https://github.com/squidfunk/mkdocs-material) and [atheris](https://github.com/google/atheris) to permit the latest version.

Updates `mkdocs-material` to 9.7.6
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](squidfunk/mkdocs-material@9.6.0...9.7.6)

Updates `atheris` from 3.0.0 to 3.1.0
- [Commits](https://github.com/google/atheris/commits)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.6
  dependency-type: direct:development
  dependency-group: python
- dependency-name: atheris
  dependency-version: 3.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 1, 2026

@github-actions github-actions Bot 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.

Pull request overview

OpenCode reviewed the current-head bounded evidence and found source-backed failed-check findings that must be addressed before merge.

  • Result: REQUEST_CHANGES
  • Reason: failed current-head checks were mapped to line-specific findings below for 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec.
  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Workflow run: 28514190951
  • Workflow attempt: 1
Failed checks

Findings

1. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_docs_theme_range_stays_below_warning_release

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_docs_theme_range_stays_below_warning_release, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_docs_theme_range_stays_below_warning_release; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.

2. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.
Failed check evidence for line-specific fixes

Failed GitHub Check Evidence

  • PR: #262
  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Repository: ContextualWisdomLab/newsdom-api

Line-specific repair contract

  • Treat the check logs and annotations below as diagnostic evidence, not as a complete review.

  • For each actionable failed check, inspect the local source or diff and identify the exact file line that must change.

  • OpenCode REQUEST_CHANGES findings must include path, line, root_cause, fix_direction, regression_test_direction, and suggested_diff.

  • Do not request changes with only a GitHub Actions URL or a generic check name.

  • When Strix logs contain multiple Vulnerability Report or Model ... Vulnerabilities ... sections, include every model-reported vulnerability in the review evidence and findings, including model name, title, severity, endpoint, and Code Locations/path:line evidence when present.

  • Create one OpenCode finding per Strix model vulnerability report; do not satisfy two model reports with one combined finding, even when titles or locations match.

Failed check: quality-gate/quality-gate

Failed job steps

  • step 5: Install package (failure)

Check annotations

  • .github:19-19 [failure] Process completed with exit code 1.

Failed log signal summary

quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed log excerpt

quality-gate	Install package	2026-07-01T11:28:09.3887309Z ##[group]Run uv sync --locked --extra dev
quality-gate	Install package	2026-07-01T11:28:09.3887749Z ^[[36;1muv sync --locked --extra dev^[[0m
quality-gate	Install package	2026-07-01T11:28:09.4035316Z shell: /usr/bin/bash -e {0}
quality-gate	Install package	2026-07-01T11:28:09.4035662Z env:
quality-gate	Install package	2026-07-01T11:28:09.4035901Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
quality-gate	Install package	2026-07-01T11:28:09.4036275Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4036712Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
quality-gate	Install package	2026-07-01T11:28:09.4037146Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037548Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037976Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4038361Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
quality-gate	Install package	2026-07-01T11:28:09.4038772Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
quality-gate	Install package	2026-07-01T11:28:09.4039141Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
quality-gate	Install package	2026-07-01T11:28:09.4039509Z ##[endgroup]
quality-gate	Install package	2026-07-01T11:28:09.4518937Z Using CPython 3.10.20 interpreter at: /opt/hostedtoolcache/Python/3.10.20/x64/bin/python3
quality-gate	Install package	2026-07-01T11:28:09.8901926Z Creating virtual environment at: .venv
quality-gate	Install package	2026-07-01T11:28:09.8902386Z Resolved 67 packages in 434ms
quality-gate	Install package	2026-07-01T11:28:09.8914894Z The lockfile at `uv.lock` needs to be updated, but `--locked` was provided. To update the lockfile, run `uv lock`.
quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed check: tests/pytest

Failed job steps

  • step 6: Run tests with coverage (failure)

Check annotations

  • .github:112-112 [failure] Process completed with exit code 1.

Failed log signal summary

pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Failed log excerpt

pytest	Run tests with coverage	2026-07-01T11:28:11.6527422Z ##[group]Run uv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100
pytest	Run tests with coverage	2026-07-01T11:28:11.6528280Z ^[[36;1muv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100^[[0m
pytest	Run tests with coverage	2026-07-01T11:28:11.6561015Z shell: /usr/bin/bash -e {0}
pytest	Run tests with coverage	2026-07-01T11:28:11.6561276Z env:
pytest	Run tests with coverage	2026-07-01T11:28:11.6561495Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
pytest	Run tests with coverage	2026-07-01T11:28:11.6561853Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6562300Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
pytest	Run tests with coverage	2026-07-01T11:28:11.6562969Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563360Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563755Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6564137Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
pytest	Run tests with coverage	2026-07-01T11:28:11.6564534Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
pytest	Run tests with coverage	2026-07-01T11:28:11.6564947Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
pytest	Run tests with coverage	2026-07-01T11:28:11.6565268Z   PYTHONWARNINGS: error
pytest	Run tests with coverage	2026-07-01T11:28:11.6565489Z   PYTHONPATH: src
pytest	Run tests with coverage	2026-07-01T11:28:11.6565686Z ##[endgroup]
pytest	Run tests with coverage	2026-07-01T11:28:15.9277968Z ============================= test session starts ==============================
pytest	Run tests with coverage	2026-07-01T11:28:15.9278670Z platform linux -- Python 3.10.20, pytest-9.0.3, pluggy-1.6.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9279265Z rootdir: /home/runner/work/newsdom-api/newsdom-api
pytest	Run tests with coverage	2026-07-01T11:28:15.9279719Z configfile: pyproject.toml
pytest	Run tests with coverage	2026-07-01T11:28:15.9280057Z testpaths: tests
pytest	Run tests with coverage	2026-07-01T11:28:15.9280389Z plugins: anyio-4.13.0, cov-7.1.0, asyncio-1.3.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9281451Z asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
pytest	Run tests with coverage	2026-07-01T11:28:15.9282496Z collected 338 items
pytest	Run tests with coverage	2026-07-01T11:28:15.9283129Z 
pytest	Run tests with coverage	2026-07-01T11:28:15.9350002Z tests/test_adr_docs.py .                                                 [  0%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9651644Z tests/test_benchmark_ocr.py .....                                        [  1%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9702801Z tests/test_changelog.py ....                                             [  2%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9718295Z tests/test_circleci_config.py .                                          [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9760989Z tests/test_coderabbit_config.py ..                                       [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9776584Z tests/test_committed_fixture.py .                                        [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9882733Z tests/test_dependabot.py ..                                              [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4328214Z tests/test_derive_private_baseline.py ...........                        [  7%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4973070Z tests/test_docker_delivery.py ................                           [ 12%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5272655Z tests/test_docstrings.py .                                               [ 13%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5630004Z tests/test_dom_builder.py .............................                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5645256Z tests/test_dom_builder_missing_cov.py .                                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5785462Z tests/test_engineering_canonical_docs.py ...........                     [ 25%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5973130Z tests/test_equivalence.py .............                                  [ 28%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5999028Z tests/test_errors.py ..                                                  [ 29%]
pytest	Run tests with coverage	2026-07-01T11:28:16.8646050Z tests/test_fixture_equivalence.py .....                                  [ 31%]
pytest	Run tests with coverage	2026-07-01T11:28:17.0602312Z tests/test_fuzzing_integration.py ............                           [ 34%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1516802Z tests/test_health.py ....                                                [ 35%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1604293Z tests/test_manual_docs.py .......                                        [ 37%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1631967Z tests/test_markdownlint_policy.py ..                                     [ 38%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1714525Z tests/test_mineru_runner.py ...                                          [ 39%]
pytest	Run tests with coverage	2026-07-01T11:28:17.2459794Z tests/test_mineru_runner_paths.py ...............................        [ 48%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4252533Z tests/test_parse_endpoint.py ....................                        [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4313561Z tests/test_parse_endpoint_success.py .                                   [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5008473Z tests/test_project_metadata.py ......F...F...                            [ 58%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5125849Z tests/test_readme.py ..........                                          [ 61%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5636760Z tests/test_release_pipeline.py ..............                            [ 65%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5750784Z tests/test_repository_governance.py ...                                  [ 66%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5875198Z tests/test_schemas.py ...                                                [ 67%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5924297Z tests/test_security_policy.py ....                                       [ 68%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6054682Z tests/test_service.py ........                                           [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6076013Z tests/test_synthetic_fallback.py .                                       [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.9690615Z tests/test_synthetic_fixture.py ..........                               [ 74%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1653173Z tests/test_synthetic_paths.py ....                                       [ 75%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1672882Z tests/test_synthetic_pathtraversal.py .                                  [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1760677Z tests/test_tools_analyze_dom.py ...                                      [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1975553Z tests/test_tools_batch_parse.py .....                                    [ 78%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2145122Z tests/test_tools_export_markdown.py ........                             [ 80%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2354288Z tests/test_tools_extract_text.py ........                                [ 83%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2526630Z tests/test_tools_generate_synthetic.py .....                             [ 84%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2798482Z tests/test_tools_parse_pdf.py ........                                   [ 86%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3021144Z tests/test_tools_validate_dom.py .........                               [ 89%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3337256Z tests/test_truth_source_alignment.py ...........                         [ 92%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4560399Z tests/test_workflow_runtime_env.py .....                                 [ 94%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4915365Z tests/test_workflow_security.py ................                         [ 99%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8098373Z tests/test_workflows.py ...                                              [100%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8099067Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8099267Z =================================== FAILURES ===================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8100795Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8101934Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8102518Z >       assert '"mkdocs-material>=9.6,<9.7"' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8105433Z E       assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8108007Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8108312Z tests/test_project_metadata.py:118: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8109330Z ____ test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack _____
pytest	Run tests with coverage	2026-07-01T11:28:18.8110103Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8110423Z     def test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack():
pytest	Run tests with coverage	2026-07-01T11:28:18.8111300Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8111643Z         assert "fuzz = [" in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8111894Z >       assert '"atheris==3.0.0 ;' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8113110Z E       assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8114025Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8114159Z tests/test_project_metadata.py:148: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8114518Z ================================ tests coverage ================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8114948Z _______________ coverage: platform linux, python 3.10.20-final-0 _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8115240Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8115389Z Name                               Stmts   Miss Branch BrPart  Cover   Missing
pytest	Run tests with coverage	2026-07-01T11:28:18.8115806Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8116254Z src/newsdom_api/__init__.py            0      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8116675Z src/newsdom_api/dom_builder.py       246      0    126      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117096Z src/newsdom_api/equivalence.py        80      0     40      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117512Z src/newsdom_api/errors.py             14      0      2      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117914Z src/newsdom_api/main.py               71      0     14      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118317Z src/newsdom_api/mineru_runner.py      79      0     12      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118727Z src/newsdom_api/schemas.py            44      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119130Z src/newsdom_api/service.py            29      0      6      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119546Z src/newsdom_api/synthetic.py          91      0     22      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119958Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8120354Z TOTAL                                654      0    222      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8120731Z Required test coverage of 100% reached. Total coverage: 100.00%
pytest	Run tests with coverage	2026-07-01T11:28:18.8121130Z =========================== short test summary info ============================
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8125216Z FAILED tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack - assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8126598Z ======================== 2 failed, 336 passed in 5.28s =========================
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file: pyproject.toml"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file: pyproject.toml"]
  R1 --> V1["required checks"]
Loading

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Workflow run: 28514190951
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode reviewed the current-head bounded evidence and found source-backed failed-check findings that must be addressed before merge.

  • Result: REQUEST_CHANGES
  • Reason: failed current-head checks were mapped to line-specific findings below for 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec.
  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Workflow run: 28514190951
  • Workflow attempt: 1
Failed checks

Findings

1. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_docs_theme_range_stays_below_warning_release

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_docs_theme_range_stays_below_warning_release, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_docs_theme_range_stays_below_warning_release; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.

2. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.
Failed check evidence for line-specific fixes

Failed GitHub Check Evidence

Line-specific repair contract

  • Treat the check logs and annotations below as diagnostic evidence, not as a complete review.

  • For each actionable failed check, inspect the local source or diff and identify the exact file line that must change.

  • OpenCode REQUEST_CHANGES findings must include path, line, root_cause, fix_direction, regression_test_direction, and suggested_diff.

  • Do not request changes with only a GitHub Actions URL or a generic check name.

  • When Strix logs contain multiple Vulnerability Report or Model ... Vulnerabilities ... sections, include every model-reported vulnerability in the review evidence and findings, including model name, title, severity, endpoint, and Code Locations/path:line evidence when present.

  • Create one OpenCode finding per Strix model vulnerability report; do not satisfy two model reports with one combined finding, even when titles or locations match.

Failed check: quality-gate/quality-gate

Failed job steps

  • step 5: Install package (failure)

Check annotations

  • .github:19-19 [failure] Process completed with exit code 1.

Failed log signal summary

quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed log excerpt

quality-gate	Install package	2026-07-01T11:28:09.3887309Z ##[group]Run uv sync --locked --extra dev
quality-gate	Install package	2026-07-01T11:28:09.3887749Z ^[[36;1muv sync --locked --extra dev^[[0m
quality-gate	Install package	2026-07-01T11:28:09.4035316Z shell: /usr/bin/bash -e {0}
quality-gate	Install package	2026-07-01T11:28:09.4035662Z env:
quality-gate	Install package	2026-07-01T11:28:09.4035901Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
quality-gate	Install package	2026-07-01T11:28:09.4036275Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4036712Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
quality-gate	Install package	2026-07-01T11:28:09.4037146Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037548Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037976Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4038361Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
quality-gate	Install package	2026-07-01T11:28:09.4038772Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
quality-gate	Install package	2026-07-01T11:28:09.4039141Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
quality-gate	Install package	2026-07-01T11:28:09.4039509Z ##[endgroup]
quality-gate	Install package	2026-07-01T11:28:09.4518937Z Using CPython 3.10.20 interpreter at: /opt/hostedtoolcache/Python/3.10.20/x64/bin/python3
quality-gate	Install package	2026-07-01T11:28:09.8901926Z Creating virtual environment at: .venv
quality-gate	Install package	2026-07-01T11:28:09.8902386Z Resolved 67 packages in 434ms
quality-gate	Install package	2026-07-01T11:28:09.8914894Z The lockfile at `uv.lock` needs to be updated, but `--locked` was provided. To update the lockfile, run `uv lock`.
quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed check: tests/pytest

Failed job steps

  • step 6: Run tests with coverage (failure)

Check annotations

  • .github:112-112 [failure] Process completed with exit code 1.

Failed log signal summary

pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Failed log excerpt

pytest	Run tests with coverage	2026-07-01T11:28:11.6527422Z ##[group]Run uv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100
pytest	Run tests with coverage	2026-07-01T11:28:11.6528280Z ^[[36;1muv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100^[[0m
pytest	Run tests with coverage	2026-07-01T11:28:11.6561015Z shell: /usr/bin/bash -e {0}
pytest	Run tests with coverage	2026-07-01T11:28:11.6561276Z env:
pytest	Run tests with coverage	2026-07-01T11:28:11.6561495Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
pytest	Run tests with coverage	2026-07-01T11:28:11.6561853Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6562300Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
pytest	Run tests with coverage	2026-07-01T11:28:11.6562969Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563360Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563755Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6564137Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
pytest	Run tests with coverage	2026-07-01T11:28:11.6564534Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
pytest	Run tests with coverage	2026-07-01T11:28:11.6564947Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
pytest	Run tests with coverage	2026-07-01T11:28:11.6565268Z   PYTHONWARNINGS: error
pytest	Run tests with coverage	2026-07-01T11:28:11.6565489Z   PYTHONPATH: src
pytest	Run tests with coverage	2026-07-01T11:28:11.6565686Z ##[endgroup]
pytest	Run tests with coverage	2026-07-01T11:28:15.9277968Z ============================= test session starts ==============================
pytest	Run tests with coverage	2026-07-01T11:28:15.9278670Z platform linux -- Python 3.10.20, pytest-9.0.3, pluggy-1.6.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9279265Z rootdir: /home/runner/work/newsdom-api/newsdom-api
pytest	Run tests with coverage	2026-07-01T11:28:15.9279719Z configfile: pyproject.toml
pytest	Run tests with coverage	2026-07-01T11:28:15.9280057Z testpaths: tests
pytest	Run tests with coverage	2026-07-01T11:28:15.9280389Z plugins: anyio-4.13.0, cov-7.1.0, asyncio-1.3.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9281451Z asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
pytest	Run tests with coverage	2026-07-01T11:28:15.9282496Z collected 338 items
pytest	Run tests with coverage	2026-07-01T11:28:15.9283129Z 
pytest	Run tests with coverage	2026-07-01T11:28:15.9350002Z tests/test_adr_docs.py .                                                 [  0%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9651644Z tests/test_benchmark_ocr.py .....                                        [  1%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9702801Z tests/test_changelog.py ....                                             [  2%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9718295Z tests/test_circleci_config.py .                                          [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9760989Z tests/test_coderabbit_config.py ..                                       [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9776584Z tests/test_committed_fixture.py .                                        [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9882733Z tests/test_dependabot.py ..                                              [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4328214Z tests/test_derive_private_baseline.py ...........                        [  7%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4973070Z tests/test_docker_delivery.py ................                           [ 12%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5272655Z tests/test_docstrings.py .                                               [ 13%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5630004Z tests/test_dom_builder.py .............................                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5645256Z tests/test_dom_builder_missing_cov.py .                                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5785462Z tests/test_engineering_canonical_docs.py ...........                     [ 25%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5973130Z tests/test_equivalence.py .............                                  [ 28%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5999028Z tests/test_errors.py ..                                                  [ 29%]
pytest	Run tests with coverage	2026-07-01T11:28:16.8646050Z tests/test_fixture_equivalence.py .....                                  [ 31%]
pytest	Run tests with coverage	2026-07-01T11:28:17.0602312Z tests/test_fuzzing_integration.py ............                           [ 34%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1516802Z tests/test_health.py ....                                                [ 35%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1604293Z tests/test_manual_docs.py .......                                        [ 37%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1631967Z tests/test_markdownlint_policy.py ..                                     [ 38%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1714525Z tests/test_mineru_runner.py ...                                          [ 39%]
pytest	Run tests with coverage	2026-07-01T11:28:17.2459794Z tests/test_mineru_runner_paths.py ...............................        [ 48%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4252533Z tests/test_parse_endpoint.py ....................                        [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4313561Z tests/test_parse_endpoint_success.py .                                   [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5008473Z tests/test_project_metadata.py ......F...F...                            [ 58%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5125849Z tests/test_readme.py ..........                                          [ 61%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5636760Z tests/test_release_pipeline.py ..............                            [ 65%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5750784Z tests/test_repository_governance.py ...                                  [ 66%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5875198Z tests/test_schemas.py ...                                                [ 67%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5924297Z tests/test_security_policy.py ....                                       [ 68%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6054682Z tests/test_service.py ........                                           [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6076013Z tests/test_synthetic_fallback.py .                                       [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.9690615Z tests/test_synthetic_fixture.py ..........                               [ 74%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1653173Z tests/test_synthetic_paths.py ....                                       [ 75%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1672882Z tests/test_synthetic_pathtraversal.py .                                  [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1760677Z tests/test_tools_analyze_dom.py ...                                      [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1975553Z tests/test_tools_batch_parse.py .....                                    [ 78%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2145122Z tests/test_tools_export_markdown.py ........                             [ 80%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2354288Z tests/test_tools_extract_text.py ........                                [ 83%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2526630Z tests/test_tools_generate_synthetic.py .....                             [ 84%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2798482Z tests/test_tools_parse_pdf.py ........                                   [ 86%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3021144Z tests/test_tools_validate_dom.py .........                               [ 89%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3337256Z tests/test_truth_source_alignment.py ...........                         [ 92%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4560399Z tests/test_workflow_runtime_env.py .....                                 [ 94%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4915365Z tests/test_workflow_security.py ................                         [ 99%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8098373Z tests/test_workflows.py ...                                              [100%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8099067Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8099267Z =================================== FAILURES ===================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8100795Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8101934Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8102518Z >       assert '"mkdocs-material>=9.6,<9.7"' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8105433Z E       assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8108007Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8108312Z tests/test_project_metadata.py:118: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8109330Z ____ test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack _____
pytest	Run tests with coverage	2026-07-01T11:28:18.8110103Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8110423Z     def test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack():
pytest	Run tests with coverage	2026-07-01T11:28:18.8111300Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8111643Z         assert "fuzz = [" in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8111894Z >       assert '"atheris==3.0.0 ;' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8113110Z E       assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8114025Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8114159Z tests/test_project_metadata.py:148: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8114518Z ================================ tests coverage ================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8114948Z _______________ coverage: platform linux, python 3.10.20-final-0 _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8115240Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8115389Z Name                               Stmts   Miss Branch BrPart  Cover   Missing
pytest	Run tests with coverage	2026-07-01T11:28:18.8115806Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8116254Z src/newsdom_api/__init__.py            0      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8116675Z src/newsdom_api/dom_builder.py       246      0    126      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117096Z src/newsdom_api/equivalence.py        80      0     40      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117512Z src/newsdom_api/errors.py             14      0      2      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117914Z src/newsdom_api/main.py               71      0     14      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118317Z src/newsdom_api/mineru_runner.py      79      0     12      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118727Z src/newsdom_api/schemas.py            44      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119130Z src/newsdom_api/service.py            29      0      6      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119546Z src/newsdom_api/synthetic.py          91      0     22      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119958Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8120354Z TOTAL                                654      0    222      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8120731Z Required test coverage of 100% reached. Total coverage: 100.00%
pytest	Run tests with coverage	2026-07-01T11:28:18.8121130Z =========================== short test summary info ============================
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8125216Z FAILED tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack - assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8126598Z ======================== 2 failed, 336 passed in 5.28s =========================
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file: pyproject.toml"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file: pyproject.toml"]
  R1 --> V1["required checks"]
Loading

@seonghobae

Copy link
Copy Markdown
Collaborator

OpenCode Review Overview

  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Workflow run: 28514190951
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode reviewed the current-head bounded evidence and found source-backed failed-check findings that must be addressed before merge.

  • Result: REQUEST_CHANGES
  • Reason: failed current-head checks were mapped to line-specific findings below for 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec.
  • Head SHA: 6048fb2c1a732b60cc36aa54ec17a21fd82b9aec
  • Workflow run: 28514190951
  • Workflow attempt: 1
Failed checks

Findings

1. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_docs_theme_range_stays_below_warning_release

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_docs_theme_range_stays_below_warning_release, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_docs_theme_range_stays_below_warning_release; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.

2. HIGH tests/test_project_metadata.py:118 - Failed GitHub Check needs a source-backed pytest fix for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack

  • Problem: GitHub Check failed in test step; pytest reported tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, so the review must explain the failing assertion instead of linking only to the Actions URL.
  • Root cause: The failed log maps the pytest failure to tests/test_project_metadata.py:118; OpenCode must inspect that source line and explain the assertion-level cause before approval.
  • Fix: Patch tests/test_project_metadata.py:118 to satisfy test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack, then rerun the focused pytest target.
  • Regression test: Run cd backend && python -m pytest tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack -q when the repository has a backend test layout, then rerun the failed check.
  • Suggested edit: update tests/test_project_metadata.py:118 for test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack; do not approve or post a URL-only review until the exact failing assertion is explained with this file, line, command, and fix direction.
Failed check evidence for line-specific fixes

Failed GitHub Check Evidence

Line-specific repair contract

  • Treat the check logs and annotations below as diagnostic evidence, not as a complete review.

  • For each actionable failed check, inspect the local source or diff and identify the exact file line that must change.

  • OpenCode REQUEST_CHANGES findings must include path, line, root_cause, fix_direction, regression_test_direction, and suggested_diff.

  • Do not request changes with only a GitHub Actions URL or a generic check name.

  • When Strix logs contain multiple Vulnerability Report or Model ... Vulnerabilities ... sections, include every model-reported vulnerability in the review evidence and findings, including model name, title, severity, endpoint, and Code Locations/path:line evidence when present.

  • Create one OpenCode finding per Strix model vulnerability report; do not satisfy two model reports with one combined finding, even when titles or locations match.

Failed check: quality-gate/quality-gate

Failed job steps

  • step 5: Install package (failure)

Check annotations

  • .github:19-19 [failure] Process completed with exit code 1.

Failed log signal summary

quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed log excerpt

quality-gate	Install package	2026-07-01T11:28:09.3887309Z ##[group]Run uv sync --locked --extra dev
quality-gate	Install package	2026-07-01T11:28:09.3887749Z ^[[36;1muv sync --locked --extra dev^[[0m
quality-gate	Install package	2026-07-01T11:28:09.4035316Z shell: /usr/bin/bash -e {0}
quality-gate	Install package	2026-07-01T11:28:09.4035662Z env:
quality-gate	Install package	2026-07-01T11:28:09.4035901Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
quality-gate	Install package	2026-07-01T11:28:09.4036275Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4036712Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
quality-gate	Install package	2026-07-01T11:28:09.4037146Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037548Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4037976Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
quality-gate	Install package	2026-07-01T11:28:09.4038361Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
quality-gate	Install package	2026-07-01T11:28:09.4038772Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
quality-gate	Install package	2026-07-01T11:28:09.4039141Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
quality-gate	Install package	2026-07-01T11:28:09.4039509Z ##[endgroup]
quality-gate	Install package	2026-07-01T11:28:09.4518937Z Using CPython 3.10.20 interpreter at: /opt/hostedtoolcache/Python/3.10.20/x64/bin/python3
quality-gate	Install package	2026-07-01T11:28:09.8901926Z Creating virtual environment at: .venv
quality-gate	Install package	2026-07-01T11:28:09.8902386Z Resolved 67 packages in 434ms
quality-gate	Install package	2026-07-01T11:28:09.8914894Z The lockfile at `uv.lock` needs to be updated, but `--locked` was provided. To update the lockfile, run `uv lock`.
quality-gate	Install package	2026-07-01T11:28:09.8965902Z ##[error]Process completed with exit code 1.

Failed check: tests/pytest

Failed job steps

  • step 6: Run tests with coverage (failure)

Check annotations

  • .github:112-112 [failure] Process completed with exit code 1.

Failed log signal summary

pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Failed log excerpt

pytest	Run tests with coverage	2026-07-01T11:28:11.6527422Z ##[group]Run uv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100
pytest	Run tests with coverage	2026-07-01T11:28:11.6528280Z ^[[36;1muv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100^[[0m
pytest	Run tests with coverage	2026-07-01T11:28:11.6561015Z shell: /usr/bin/bash -e {0}
pytest	Run tests with coverage	2026-07-01T11:28:11.6561276Z env:
pytest	Run tests with coverage	2026-07-01T11:28:11.6561495Z   FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
pytest	Run tests with coverage	2026-07-01T11:28:11.6561853Z   pythonLocation: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6562300Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib/pkgconfig
pytest	Run tests with coverage	2026-07-01T11:28:11.6562969Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563360Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6563755Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.20/x64
pytest	Run tests with coverage	2026-07-01T11:28:11.6564137Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.20/x64/lib
pytest	Run tests with coverage	2026-07-01T11:28:11.6564534Z   UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
pytest	Run tests with coverage	2026-07-01T11:28:11.6564947Z   UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
pytest	Run tests with coverage	2026-07-01T11:28:11.6565268Z   PYTHONWARNINGS: error
pytest	Run tests with coverage	2026-07-01T11:28:11.6565489Z   PYTHONPATH: src
pytest	Run tests with coverage	2026-07-01T11:28:11.6565686Z ##[endgroup]
pytest	Run tests with coverage	2026-07-01T11:28:15.9277968Z ============================= test session starts ==============================
pytest	Run tests with coverage	2026-07-01T11:28:15.9278670Z platform linux -- Python 3.10.20, pytest-9.0.3, pluggy-1.6.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9279265Z rootdir: /home/runner/work/newsdom-api/newsdom-api
pytest	Run tests with coverage	2026-07-01T11:28:15.9279719Z configfile: pyproject.toml
pytest	Run tests with coverage	2026-07-01T11:28:15.9280057Z testpaths: tests
pytest	Run tests with coverage	2026-07-01T11:28:15.9280389Z plugins: anyio-4.13.0, cov-7.1.0, asyncio-1.3.0
pytest	Run tests with coverage	2026-07-01T11:28:15.9281451Z asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
pytest	Run tests with coverage	2026-07-01T11:28:15.9282496Z collected 338 items
pytest	Run tests with coverage	2026-07-01T11:28:15.9283129Z 
pytest	Run tests with coverage	2026-07-01T11:28:15.9350002Z tests/test_adr_docs.py .                                                 [  0%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9651644Z tests/test_benchmark_ocr.py .....                                        [  1%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9702801Z tests/test_changelog.py ....                                             [  2%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9718295Z tests/test_circleci_config.py .                                          [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9760989Z tests/test_coderabbit_config.py ..                                       [  3%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9776584Z tests/test_committed_fixture.py .                                        [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:15.9882733Z tests/test_dependabot.py ..                                              [  4%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4328214Z tests/test_derive_private_baseline.py ...........                        [  7%]
pytest	Run tests with coverage	2026-07-01T11:28:16.4973070Z tests/test_docker_delivery.py ................                           [ 12%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5272655Z tests/test_docstrings.py .                                               [ 13%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5630004Z tests/test_dom_builder.py .............................                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5645256Z tests/test_dom_builder_missing_cov.py .                                  [ 21%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5785462Z tests/test_engineering_canonical_docs.py ...........                     [ 25%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5973130Z tests/test_equivalence.py .............                                  [ 28%]
pytest	Run tests with coverage	2026-07-01T11:28:16.5999028Z tests/test_errors.py ..                                                  [ 29%]
pytest	Run tests with coverage	2026-07-01T11:28:16.8646050Z tests/test_fixture_equivalence.py .....                                  [ 31%]
pytest	Run tests with coverage	2026-07-01T11:28:17.0602312Z tests/test_fuzzing_integration.py ............                           [ 34%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1516802Z tests/test_health.py ....                                                [ 35%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1604293Z tests/test_manual_docs.py .......                                        [ 37%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1631967Z tests/test_markdownlint_policy.py ..                                     [ 38%]
pytest	Run tests with coverage	2026-07-01T11:28:17.1714525Z tests/test_mineru_runner.py ...                                          [ 39%]
pytest	Run tests with coverage	2026-07-01T11:28:17.2459794Z tests/test_mineru_runner_paths.py ...............................        [ 48%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4252533Z tests/test_parse_endpoint.py ....................                        [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.4313561Z tests/test_parse_endpoint_success.py .                                   [ 54%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5008473Z tests/test_project_metadata.py ......F...F...                            [ 58%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5125849Z tests/test_readme.py ..........                                          [ 61%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5636760Z tests/test_release_pipeline.py ..............                            [ 65%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5750784Z tests/test_repository_governance.py ...                                  [ 66%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5875198Z tests/test_schemas.py ...                                                [ 67%]
pytest	Run tests with coverage	2026-07-01T11:28:17.5924297Z tests/test_security_policy.py ....                                       [ 68%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6054682Z tests/test_service.py ........                                           [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.6076013Z tests/test_synthetic_fallback.py .                                       [ 71%]
pytest	Run tests with coverage	2026-07-01T11:28:17.9690615Z tests/test_synthetic_fixture.py ..........                               [ 74%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1653173Z tests/test_synthetic_paths.py ....                                       [ 75%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1672882Z tests/test_synthetic_pathtraversal.py .                                  [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1760677Z tests/test_tools_analyze_dom.py ...                                      [ 76%]
pytest	Run tests with coverage	2026-07-01T11:28:18.1975553Z tests/test_tools_batch_parse.py .....                                    [ 78%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2145122Z tests/test_tools_export_markdown.py ........                             [ 80%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2354288Z tests/test_tools_extract_text.py ........                                [ 83%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2526630Z tests/test_tools_generate_synthetic.py .....                             [ 84%]
pytest	Run tests with coverage	2026-07-01T11:28:18.2798482Z tests/test_tools_parse_pdf.py ........                                   [ 86%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3021144Z tests/test_tools_validate_dom.py .........                               [ 89%]
pytest	Run tests with coverage	2026-07-01T11:28:18.3337256Z tests/test_truth_source_alignment.py ...........                         [ 92%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4560399Z tests/test_workflow_runtime_env.py .....                                 [ 94%]
pytest	Run tests with coverage	2026-07-01T11:28:18.4915365Z tests/test_workflow_security.py ................                         [ 99%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8098373Z tests/test_workflows.py ...                                              [100%]
pytest	Run tests with coverage	2026-07-01T11:28:18.8099067Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8099267Z =================================== FAILURES ===================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8100018Z ______________ test_docs_theme_range_stays_below_warning_release _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8100795Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8101078Z     def test_docs_theme_range_stays_below_warning_release():
pytest	Run tests with coverage	2026-07-01T11:28:18.8101934Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8102518Z >       assert '"mkdocs-material>=9.6,<9.7"' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8105433Z E       assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8108007Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8108312Z tests/test_project_metadata.py:118: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8109330Z ____ test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack _____
pytest	Run tests with coverage	2026-07-01T11:28:18.8110103Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8110423Z     def test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack():
pytest	Run tests with coverage	2026-07-01T11:28:18.8111300Z         text = Path("pyproject.toml").read_text(encoding="utf-8")
pytest	Run tests with coverage	2026-07-01T11:28:18.8111643Z         assert "fuzz = [" in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8111894Z >       assert '"atheris==3.0.0 ;' in text
pytest	Run tests with coverage	2026-07-01T11:28:18.8113110Z E       assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8114025Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8114159Z tests/test_project_metadata.py:148: AssertionError
pytest	Run tests with coverage	2026-07-01T11:28:18.8114518Z ================================ tests coverage ================================
pytest	Run tests with coverage	2026-07-01T11:28:18.8114948Z _______________ coverage: platform linux, python 3.10.20-final-0 _______________
pytest	Run tests with coverage	2026-07-01T11:28:18.8115240Z 
pytest	Run tests with coverage	2026-07-01T11:28:18.8115389Z Name                               Stmts   Miss Branch BrPart  Cover   Missing
pytest	Run tests with coverage	2026-07-01T11:28:18.8115806Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8116254Z src/newsdom_api/__init__.py            0      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8116675Z src/newsdom_api/dom_builder.py       246      0    126      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117096Z src/newsdom_api/equivalence.py        80      0     40      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117512Z src/newsdom_api/errors.py             14      0      2      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8117914Z src/newsdom_api/main.py               71      0     14      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118317Z src/newsdom_api/mineru_runner.py      79      0     12      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8118727Z src/newsdom_api/schemas.py            44      0      0      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119130Z src/newsdom_api/service.py            29      0      6      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119546Z src/newsdom_api/synthetic.py          91      0     22      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8119958Z ------------------------------------------------------------------------------
pytest	Run tests with coverage	2026-07-01T11:28:18.8120354Z TOTAL                                654      0    222      0   100%
pytest	Run tests with coverage	2026-07-01T11:28:18.8120731Z Required test coverage of 100% reached. Total coverage: 100.00%
pytest	Run tests with coverage	2026-07-01T11:28:18.8121130Z =========================== short test summary info ============================
pytest	Run tests with coverage	2026-07-01T11:28:18.8122579Z FAILED tests/test_project_metadata.py::test_docs_theme_range_stays_below_warning_release - assert '"mkdocs-material>=9.6,<9.7"' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8125216Z FAILED tests/test_project_metadata.py::test_project_declares_locked_fuzz_extra_without_bundling_nvidia_stack - assert '"atheris==3.0.0 ;' in '[build-system]\nrequires = ["setuptools>=68", "wheel"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = ...ydantic",\n  "pydantic.*",\n  "PIL",\n  "PIL.*",\n  "reportlab",\n  "reportlab.*",\n]\nignore_missing_imports = true\n'
pytest	Run tests with coverage	2026-07-01T11:28:18.8126598Z ======================== 2 failed, 336 passed in 5.28s =========================
pytest	Run tests with coverage	2026-07-01T11:28:18.9314890Z ##[error]Process completed with exit code 1.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file: pyproject.toml"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file: pyproject.toml"]
  R1 --> V1["required checks"]
Loading

@copilot 고칩시다

Copilot AI requested a review from seonghobae July 2, 2026 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants