fix(exact-review): retain actionable dispatch 422 detail#843
Conversation
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: fix(exact-review): retain actionable dispatch 422 detail This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Summary
Preserve actionable, redacted GitHub validation detail for exact-review dispatch failures, and avoid silently parking a normal
pull_request:synchronizeupdate on an opaque HTTP 422.Problem
On 2026-07-25 at 03:17:12Z, PR #842 received a user-authorized empty synchronize commit (
21f465f05a7d382256de1b6c7a16abaf4d042cae->81e4abc894e7d3ec1fddbd856378b6aadb4392f3). At 03:17:15.782Z the exact-review queue parked revision 3 with:No exact-review worker run was created. The contemporaneous GitHub-activity run (
30141979462) was intentionally skipped by its synchronize filter; an unrelated exact repository-dispatch review succeeded at 03:21:17Z, so this was not a general Actions outage.#839 (
cf01fe706b) classified every 400/404/422 as an item-scoped permanent rejection and retained only status/class/fingerprint. Its request helper consumed the GitHub response body but did not preserve a safe, actionable diagnosis.Implementation
source_head_shaunder the existingqueue_claimobject. This keeps the exact dispatch client payload at 10 top-level keys even whenreview_optionsis present, while the workflow continues to read legacy top-level payloads.client_payloadvalidation as a genuine item-specific permanent rejection.validation_unknown: retain the item, block the dispatcher with bounded global backoff, and expose the redacted diagnostic.Validation
All commands above passed.
actionlintis not installed on this Windows host. The focused workflow parser test passed. Broader workflow tests have existing native-Windows Bash availability failures unrelated to this patch.Regression coverage proves:
client_payloadkeys, retains source-head semantics, and exposes an actionable global 422 outcome instead of parking silently;client_payloadvalidation parks with redacted field/code detail;Codex review closeout
codex review --uncommittedinitially found one accepted issue: shared 422 classification changed per-target admission failures to global scope. The patch now forces admission 422s back to item scope; focused admission tests were rerun.codex review --uncommittedreported no actionable defects.codex review --base origin/mainreported no actionable correctness issues.Risks and rollout
The change affects exact-review dispatch and
sweep.ymlpayload compatibility. New producers emitqueue_claim.source_head_sha; the workflow reads both nested and legacy top-level locations. Opaque 422s deliberately pause the shared dispatcher with capped backoff to prevent a retry storm, leaving the affected update visible for operators rather than discarding it.The response body from the #842 incident is not recoverable from authorized read-only run logs, artifacts, or the public queue API; this patch records only a bounded allowlist needed for future diagnosis.
Links