open-code-review/scripts
chethanuk c0f277589f
feat(action): opt-in completeness-gated checkpoint ranges (#476) (#945)
On every push the reusable Action re-reviews the whole merge-base range, so
later pushes on a large PR cost the same as the first one. This adds an opt-in
`checkpoint_range` input that records the last completely reviewed head in the
sticky summary and narrows the next run to checkpoint..head.

Every gate fails closed to a full review: force-push, base change, config or
rule change, incomplete prior run, or any resolver error.

The config fingerprint hashes one environment variable per axis instead of a
single "|"-joined string. The joined form let a value containing the separator
shift the field boundaries, so `route_severity_below=low|a` with an empty
`route_categories` hashed identically to `low` with `route_categories=a|` —
a checkpoint surviving a config change that should have invalidated it. It also
made the digest depend on how the YAML happened to be wrapped.

`llm_extra_headers`, `llm_auth_header` and `llm_timeout` are axes too: extra
headers can point the same `llm_model` string at a different backend model or
provider, and a timeout change shifts which runs finish. Header values can be
credentials, so that axis goes in as a digest rather than raw.

The author check is pinned to `github-actions` when `github_token` is the
default one, which always belongs to that app. Unpinned, `dependabot[bot]`,
`renovate[bot]` and any linter App all read as ours. A caller-supplied token
keeps the wider bot check, since an installation token cannot ask GitHub which
app it is.

A version `ocr version` does not print yields an empty fingerprint rather than
a `spec:` fallback: `ocr_version` defaults to "latest", so the spec is a
constant that distinguishes nothing. Empty matches no stored fingerprint and
blocks the checkpoint write — don't narrow, don't advance.
2026-08-27 10:17:26 +08:00
..
github-actions feat(action): opt-in completeness-gated checkpoint ranges (#476) (#945) 2026-08-27 10:17:26 +08:00
publish chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
add-license.sh fix(scripts): stop license checks failing on valid headers (#971) 2026-08-17 17:25:35 +08:00
install.js chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
platform.js chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
update.js fix(updater): discard stale version hints (#720) 2026-08-17 22:35:46 +08:00
verify-action-pins.sh fix(action): pin nested action references to full commit SHAs (#836) 2026-08-11 15:36:13 +08:00
verify-english-only.go chore(ci): fail CI when unapproved non-English text appears in source files (#876) 2026-08-13 14:43:55 +08:00
verify-license.sh fix(scripts): stop license checks failing on valid headers (#971) 2026-08-17 17:25:35 +08:00
version.js fix(updater): discard stale version hints (#720) 2026-08-17 22:35:46 +08:00
version.test.js fix(updater): discard stale version hints (#720) 2026-08-17 22:35:46 +08:00