ci(github-action): update action https://github.com/misospace/pr-reviewer-action (v3.7.0 ➔ v3.8.0) #2499
No reviewers
Labels
No labels
area/bootstrap
area/ci
area/kubernetes
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
renovate/container
renovate/github-action
renovate/github-release
renovate/grafana-dashboard
renovate/helm
renovate/terraform
type/digest
type/major
type/minor
type/patch
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
GiorgioAresu/home-ops!2499
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/https-github.com-misospace-pr-reviewer-action-3.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
v3.7.0→v3.8.0Release Notes
misospace/pr-reviewer-action (https://github.com/misospace/pr-reviewer-action)
v3.8.0Compare Source
3.8.0 is about drift, found and fixed. Almost every change in this release is a place where behavior had silently drifted from what was configured or documented: an empty
ai-temperaturewas sent as0.0and killed the tool loop on newer Anthropic models, an explicit0was rewritten to0.1, the wall-clock deadline only applied to one tier, an exhausted provider quota burned thirteen minutes on retries before the configured fallback ever ran, and findings could vanish from a review when its inline comments raced a push. It's also an observability release — every model turn and every specialist attempt now reports latency and token usage from normal logs — and the review engine itself becomes a standalone library the Action and future self-hosted workers share.If you've watched a review hang or wondered where the tokens went, this is the release to pin.
Every silent drift got found
?? 0.0fallback sent"temperature": 0on every native-loop round when the input was empty, and models that no longer accept the parameter (Sonnet/Opus 5.5) answered 400 — the loop died with no tool calls and the review fell through to corpus-only, finishing green. Omitted now means omitted. Separately, an explicitai-temperature: "0"survived|| 0.1rewriting and now reaches the wire as 0.tool-loop-wall-clock-secis a whole-exchange deadline on every native-loop tier (#1201, fixes #1198; #1239, closes #1216): previously only the smart tier carried the absolute deadline, so a primary-tier investigation could overrun the ceiling by a full per-turn timeout — observed at ~620s against a 600s limit, with the verdict turn unclamped on top. One deadline now covers the entire exchange.gh_apihandles query strings (#1228, closes #1225):issues?state=openfailed segment matching and reported "endpoint not supported" where GitHub served the same call. The query string now splits before matching and re-attaches verbatim.platform: tangledvalidates (#1271, closes #1247): the contract documented it and the resolver implemented it, but the typed config schema rejected the enum — an explicit value failed before resolution. The missingTANGLED_REPO_DIDstill fails closed.output_config.effortcapability flag of its own, so inherited effort silently never reached an Anthropic-format endpoint.baseShasentinel works (#1206, fixes #1193): the acquisition workspace's own docs said""means "base not required"; the SHA validator rejected it anyway.Claims about the action get verified before they can block
request_changes(#1240, fixes #1238): the deterministic source-claim boundary now recognizes two shapes an incident exposed — fabricated claims about the reviewing action's own declared inputs, and metadata-derived gate-absence claims — at every severity, and verifies them against revision-bound witnesses: the executing revision from build-embedded bytes, and a consumer-pinned revision from a content-addressed fetch at the exact pinned commit. A claim the source contradicts neither survives as substantiated nor forces request-changes with zero blockers.The action never filters labels; metadata declares no label input" — one claim spread across a semicolon or a parenthesized path citation — is recognized whole instead of dissolving into unverifiable halves.major.minor.patchor 7–40-hex token used to count as a revision qualifier, so an incidental "Node 20.11.1" left a claim unverified and forcedrequest_changes. Onlyv-prefixed versions, suffixed stamps, and full 40-hex SHAs qualify standalone; bare tokens need an introducer (at,pin, …).Publishing keeps its promises
publish-review-commentis deprecated (#1224, closes #1158): two publication paths disagreed on whether the legacy v2 flag gatedcommentmode. It now gates nothing —publish-modealone decides — and setting it logs a deprecation warning pointing atpublish-mode: comment.Link: rel="next", so PRs past 1000 issue comments stop reportingcomplete: falseforever.Fences and transports hold
```diffwrapper around the PR diff was closable by PR-controlled context lines (a leading space is legal inside a diff fence) — hostile content could forge# Tool Harness Findingsheadings or swallow real sections. Every fence around untrusted bytes now picks its delimiter from the payload itself, through one canonical seam.web_fetchcan't reach non-public addresses (#1259): the tool's fetch now resolves hosts through a public-only resolver before connecting and re-gates every redirect hop — a 302 to an internal address is refused, and DNS can't smuggle a private IP past the host allowlist.private_key:/client_key:block scalars — how certificates ship in YAML — matched no key-name alternative, so a PEM body persisted verbatim into the diff artifact and the corpus. The flat masker is now derived from the vocabulary so the two can't drift apart.[deterministic cap: …]look-alike was published verbatim while the real caps stayed empty — claiming a ceiling never fired. Look-alikes are now reveal-stripped on every cut the publish path can make, and the action's own cap note is split off before masking so a redaction pass can never complete a half-written forgery.safePathimplementations now share one predicate; a model-authored NUL infilecan no longer push a raw NUL byte into a workflow::errorannotation.The model loop, observable and cache-friendly
prompt_tokensalready does.awaitcould leave the cancellation rejection observable while the child's termination wasn't yet awaited. Launches are now claimed synchronously and drained by finalize.Toward the self-hosted controller
runReviewEngine(request, dependencies)— with a standalone engine CLI entry point, so the Action adapter and future self-hosted workers call the same engine instead of a second implementation drifting away from it. Stage order, artifact names, and decision points are unchanged. (Also absent from the generated changelog — the commit type wasn't conventional.)Upgrading
Pin to
v3.8.0, or the floatingv3tag, which now follows this build. Immutable-version and SHA pins must be bumped deliberately.No inputs changed meaning, but several behaviors changed — all in the direction of doing what the configuration already said:
ai-temperatureomits the field, so native-loop tool reviews now work on models that reject the sampling parameter (Sonnet/Opus 5.5) — where they previously died mid-loop and finished as corpus-only reviews with zero tool calls. An explicit0is preserved.tool-loop-wall-clock-secnow bounds the whole exchange on the primary native-loop tier, not just the smart tier. Long investigations that previously overran the ceiling now stop at it.publish-review-commentis deprecated and ignored — publication is decided bypublish-modealone. Workflows still setting the flag should move topublish-mode: comment.private_key/client_keyblock scalars and provider-invented credential shapes are masked where they previously persisted verbatim.Every input's current contract lives in docs/inputs.md.
Full changelog: v3.7.0...v3.8.0
Generated changelog (release-please)
Features
Bug Fixes
attimestamp (#1186) (4c162fd)Chores
Documentation
Refactors
Configuration
📅 Schedule: (in timezone Europe/Rome)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
No rendered changes.
konflate 0.6.6 · rendered
50bdb08· full diff →AI Automated Review
Analysis engine: (model unavailable) · pr-reviewer-action v3.8.0
AI review could not run
The configured model endpoint(s) did not return a usable review for this run (reason: Fallback model failed).
This is an automated notice, not a substantive review. Re-run the workflow once the endpoint is reachable; see the action logs for the underlying error.