SIGN IN SIGN UP

feat(action): opt-in resolution of the bot's own outdated review threads (#567) (#944)

* feat(action): opt-in resolution of the bot's own outdated review threads (#567)

Adds a resolve_outdated input, default off, that resolves review threads
GitHub has already marked outdated. No model is involved in the decision:
the signal is GitHub's server-computed isOutdated, and five vetoes sit on
top of it, each of which can only refuse to resolve a thread.

Three modes: 'false' (no GraphQL calls at all), 'report' (log the verdict
for every thread, mutate nothing), 'true'.

* fix(action): address review on resolve_outdated

- Veto by path instead of disabling the whole run: a finding with a path but
  no line is ordinary output and now costs only its own path, while a finding
  with no path at all still disables the run.
- Normalize paths before the overlap veto, so ./src/a.js and src/a.js no
  longer compare unequal and resolve a thread over a live finding.
- Resolve the authenticated login once per run rather than once per caller.
- Validate resolve_outdated in the Validate inputs step, so a typo fails
  before the LLM runs rather than silently falling back to off.
- Correct the permission documentation from measurement, and show the
  contents: write scope in a job that never checks out the pull request.
- Split the overloaded unverified reason, fix the documented preview count,
  list the missing outputs, and replace the nested ternary with a Map.
C
chethanuk committed
cb6ea26292bf2226279cc70eb2fe6aa0f17f9724
Parent: 56bf03b
Committed by GitHub <noreply@github.com> on 9/17/2026, 11:28:42 AM