Migrate PR review to openrouter with pinned 0.11.0 action #30

Manually merged
marvin8 merged 6 commits from feat/issue-91-openrouter-review into main 2026-10-16 06:59:24 +00:00
Collaborator

Migrates the wuming PR review to the openrouter backend with the fleet-standard two-tier model mapping (code/tests/performance on deepseek-v4-pro, security on kimi-k2-thinking, config/docs/shell on qwen3.7-flash) and pins the action to 0.11.0.

Tracking: marvin8/wuming#91

Migrates the wuming PR review to the openrouter backend with the fleet-standard two-tier model mapping (code/tests/performance on deepseek-v4-pro, security on kimi-k2-thinking, config/docs/shell on qwen3.7-flash) and pins the action to `0.11.0`. Tracking: marvin8/wuming#91
🔧 migrate PR review to openrouter with pinned 0.11.0 action
Some checks failed
/ pr-review (pull_request) Successful in 45s
/ gitleaks (pull_request) Successful in 17s
/ checks (pull_request) Failing after 2m2s
/ deploy-docs (pull_request) Has been skipped
3c6e565b27
agent-pi force-pushed feat/issue-91-openrouter-review from 3c6e565b27
Some checks failed
/ pr-review (pull_request) Successful in 45s
/ gitleaks (pull_request) Successful in 17s
/ checks (pull_request) Failing after 2m2s
/ deploy-docs (pull_request) Has been skipped
to 1575026d7b
Some checks failed
/ pr-review (pull_request) Successful in 45s
/ gitleaks (pull_request) Successful in 19s
/ checks (pull_request) Failing after 2m10s
/ deploy-docs (pull_request) Has been skipped
2026-10-15 23:21:09 +00:00
Compare
⬆️ bump dependencies, align hooks, pin vulnerable transitives
All checks were successful
/ gitleaks (pull_request) Successful in 18s
/ pr-review (pull_request) Successful in 1m33s
/ checks (pull_request) Successful in 1m42s
/ deploy-docs (pull_request) Has been skipped
650d4f39d9
forgejo-actions left a comment

WuMing

Found 1 issue(s). See inline comments below.

## WuMing Found **1** issue(s). See inline comments below.
@ -12,3 +12,3 @@
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.16.5
rev: v0.17.1

config [MEDIUM]

Version mismatch detected: the pre-commit hook is pinned to ruff v0.17.1, while pyproject.toml and pylock.toml constrain/install ruff~=0.16.10. This divergence can cause linting results to differ between local pre-commit hooks and the virtual environment, leading to inconsistent checks. Align the versions by updating pyproject.toml to ruff~=0.17.1 or downgrading the pre-commit hook to match the lockfile.

**config** [MEDIUM] Version mismatch detected: the pre-commit hook is pinned to ruff v0.17.1, while pyproject.toml and pylock.toml constrain/install ruff~=0.16.10. This divergence can cause linting results to differ between local pre-commit hooks and the virtual environment, leading to inconsistent checks. Align the versions by updating pyproject.toml to ruff~=0.17.1 or downgrading the pre-commit hook to match the lockfile. <!-- wuming:sha256:7a6dceae05d3b637ce71866bb960fd227b1555c60bc13480151efc834d8aa430 -->
🐛 align hook revs with pyproject versions
All checks were successful
/ gitleaks (pull_request) Successful in 21s
/ checks (pull_request) Successful in 1m28s
/ deploy-docs (pull_request) Has been skipped
/ pr-review (pull_request) Successful in 1m53s
3edb36f2c3
Author
Collaborator

#30 (comment)

✅ Fixed in commit 3edb36f — the ruff (and ty/uv) hook revs are aligned with the pyproject-chosen versions (ruff~=0.16.10, ty~=0.0.85, uv~=0.12.24), matching the fleet-wide hook-alignment policy.

https://forge.marvin8.zone/marvin8/yilan/pulls/30#issuecomment-5362 ✅ Fixed in commit `3edb36f` — the ruff (and ty/uv) hook revs are aligned with the pyproject-chosen versions (`ruff~=0.16.10`, `ty~=0.0.85`, `uv~=0.12.24`), matching the fleet-wide hook-alignment policy.
forgejo-actions left a comment

WuMing

Found 2 issue(s). See inline comments below.

## WuMing Found **2** issue(s). See inline comments below.
@ -22,3 +22,3 @@
- repo: https://github.com/astral-sh/ty-pre-commit
rev: v0.0.75
rev: v0.0.85

config [MEDIUM]

Version drift: The pre-commit hook for 'ty' is pinned to v0.0.85, while the project's pylock.toml and pyproject.toml reference/update to v0.0.88. Update the pre-commit revision to v0.0.88 to ensure consistent type-checking rules and behavior across local and CI environments.

**config** [MEDIUM] Version drift: The pre-commit hook for 'ty' is pinned to v0.0.85, while the project's pylock.toml and pyproject.toml reference/update to v0.0.88. Update the pre-commit revision to v0.0.88 to ensure consistent type-checking rules and behavior across local and CI environments. <!-- wuming:sha256:1b4757615ba6cb5666750fd4a1f985f6641dd88265214acd17393dd3efb29422 -->
pyproject.toml Outdated
@ -80,0 +79,4 @@
"anyio>=4.14.2",
"httpcore2>=2.10.0",
"httpx2>=2.12.0",
"pymdown-extensions>=11.0", # Addresses PYSEC-2026-3609,

config [CRITICAL]

Invalid TOML syntax: a trailing comma appears after the inline comment. TOML parsers will treat the '#' as starting a comment that consumes the rest of the line, leaving the trailing comma as a standalone token, which causes a parse error during uv sync or validation. Move the array separator comma before the comment.

**config** [CRITICAL] Invalid TOML syntax: a trailing comma appears after the inline comment. TOML parsers will treat the '#' as starting a comment that consumes the rest of the line, leaving the trailing comma as a standalone token, which causes a parse error during `uv sync` or validation. Move the array separator comma before the comment. <!-- wuming:sha256:d0511f1a80c79ca6c9a89d8e583dbb2023bd0a46fffdb4a2b65d277d331b21cd -->
📝 drop stray comma from constraint comment
All checks were successful
/ gitleaks (pull_request) Successful in 11s
/ pr-review (pull_request) Successful in 1m14s
/ checks (pull_request) Successful in 1m21s
/ deploy-docs (pull_request) Has been skipped
ae4226abf6
Author
Collaborator

#30 (comment)

The comma sits inside the comment, so the TOML was always parseable (tomllib, uv, and this PR's green CI all confirm) — but it was untidy, a leftover from the constraint-merge. ✅ Removed in the latest push.

https://forge.marvin8.zone/marvin8/yilan/pulls/30#issuecomment-5399 The comma sits inside the comment, so the TOML was always parseable (tomllib, uv, and this PR's green CI all confirm) — but it was untidy, a leftover from the constraint-merge. ✅ Removed in the latest push.
Author
Collaborator

#30 (comment)

🔴 Intentional per the fleet's dependency policy: the hook rev tracks the pyproject-chosen version (ty~=0.0.85, the zaojun-aged pick — 0.0.88 was too_new at scan time under the 7-day quarantine), while pylock resolving 0.0.88 within the ~= range is by design. pre-commit maintains its own isolated environments, so the rev does not need to match the installed version.

https://forge.marvin8.zone/marvin8/yilan/pulls/30#issuecomment-5400 🔴 Intentional per the fleet's dependency policy: the hook rev tracks the pyproject-chosen version (`ty~=0.0.85`, the zaojun-aged pick — 0.0.88 was too_new at scan time under the 7-day quarantine), while pylock resolving 0.0.88 within the `~=` range is by design. pre-commit maintains its own isolated environments, so the rev does not need to match the installed version.
🐛 align uv hook rev with pyproject uv version
All checks were successful
/ gitleaks (pull_request) Successful in 30s
/ pr-review (pull_request) Successful in 1m30s
/ checks (pull_request) Successful in 1m57s
/ deploy-docs (pull_request) Has been skipped
9e4dd9940e
📝 add advisory identifiers to constraint dependencies
All checks were successful
/ gitleaks (pull_request) Successful in 31s
/ pr-review (pull_request) Successful in 1m28s
/ checks (pull_request) Successful in 1m43s
/ deploy-docs (pull_request) Has been skipped
7f0f9be67f
forgejo-actions left a comment

WuMing

Found 2 issue(s). See inline comments below.

## WuMing Found **2** issue(s). See inline comments below.
@ -13,3 +13,3 @@
if: github.event_name == 'pull_request'
steps:
- uses: https://forge.marvin8.zone/marvin8/wuming@main
- uses: https://forge.marvin8.zone/marvin8/wuming@0.11.0

security [MEDIUM]

A06: Pinning to a specific action version is good practice, but ensure the version is regularly updated. However, using a mutable tag '0.11.0' instead of a full commit SHA could allow supply chain attacks if the tag is moved. Consider using full commit SHA for stronger integrity guarantees.

**security** [MEDIUM] A06: Pinning to a specific action version is good practice, but ensure the version is regularly updated. However, using a mutable tag '0.11.0' instead of a full commit SHA could allow supply chain attacks if the tag is moved. Consider using full commit SHA for stronger integrity guarantees. <!-- wuming:sha256:1d95894bca6a6c7b257f44fa25ab1d596c9284b287d950e46ddc6aa29538777a -->
@ -76,5 +76,10 @@ check-licenses = true
[tool.uv]
constraint-dependencies = [
"anyio>=4.14.2", # PYSEC-2026-4025 (CRITICAL)

security [CRITICAL]

A06: Constraint dependency comments reference future-dated PYSEC vulnerabilities (e.g., PYSEC-2026-4025). This indicates the vulnerability database entries may not exist yet or dates are incorrect, potentially masking real vulnerabilities. Verify CVE identifiers and dates are accurate before merging.

**security** [CRITICAL] A06: Constraint dependency comments reference future-dated PYSEC vulnerabilities (e.g., PYSEC-2026-4025). This indicates the vulnerability database entries may not exist yet or dates are incorrect, potentially masking real vulnerabilities. Verify CVE identifiers and dates are accurate before merging. <!-- wuming:sha256:3578f0ba262d25a166de1bb6a37d84e1fcd5c24a56f53f12ee2ed1a8f510275b -->
Author
Collaborator

#30 (comment)

🔴 Declined (fleet-wide maintainer decision, consistent with the identical findings across this migration): tag pinning keeps wuming release updates a one-line change per consumer repo. The repointed-tag threat requires write access to the wuming repo itself — a single-maintainer repo on this self-hosted forge.

https://forge.marvin8.zone/marvin8/yilan/pulls/30#issuecomment-5452 🔴 Declined (fleet-wide maintainer decision, consistent with the identical findings across this migration): tag pinning keeps wuming release updates a one-line change per consumer repo. The repointed-tag threat requires write access to the wuming repo itself — a single-maintainer repo on this self-hosted forge.
Author
Collaborator

#30 (comment)

🔴 Factually incorrect — the current date is October 2026, and the cited identifiers are not future-dated: PYSEC-2026-4025 (anyio, CRITICAL) and its siblings come verbatim from this PR's own pysentry CI run, which merged vulnerability data from three advisory sources and reported them against the scanned lockfile. The comments cite the exact advisories pysentry flagged; nothing is masked.

https://forge.marvin8.zone/marvin8/yilan/pulls/30#issuecomment-5453 🔴 Factually incorrect — the current date is October 2026, and the cited identifiers are not future-dated: `PYSEC-2026-4025` (anyio, CRITICAL) and its siblings come verbatim from this PR's own `pysentry` CI run, which merged vulnerability data from three advisory sources and reported them against the scanned lockfile. The comments cite the exact advisories pysentry flagged; nothing is masked.
marvin8 approved these changes 2026-10-16 06:57:52 +00:00
marvin8 manually merged commit 02e72dd6af into main 2026-10-16 06:59:24 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/yilan!30
No description provided.