Show stale review status during refresh#645
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 17, 2026, 1:32 AM ET / 05:32 UTC. Summary Reproducibility: not applicable. as a bug reproduction: this is a maintainer-facing status feature, although the existing separate-lease and unchanged-durable-comment behavior clearly establishes the UX gap. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep the transient lease authoritative and the durable projection presentation-only, then land the change after a controlled GitHub run demonstrates completed-to-refreshing, refreshing-to-interrupted, and refreshing-to-new-review transitions without stale writes or repair routing. Do we have a high-confidence way to reproduce the issue? Not applicable as a bug reproduction: this is a maintainer-facing status feature, although the existing separate-lease and unchanged-durable-comment behavior clearly establishes the UX gap. Is this the best way to solve the issue? Yes, provisionally. Reusing the elected lease tuple and conditionally projecting into the existing durable comment avoids creating another coordination authority, while digest checks and marker removal constrain stale automation behavior. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 0a77e4f25c21. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Live validation result: partial pass, blocking failureI exercised this branch against disposable test PR #646 using What passed
What failed
ConclusionGitHub issue-comment PATCH does not accept this This live proof should be treated as blocking for the current implementation. The concurrency design needs to stop relying on HTTP |
|
Superseded by #674, which includes this durable review-status behavior and its tests together with the per-item shard architecture. Closing this draft to keep one active implementation path. |
Summary
Root cause
ClawSweeper coordinates a new review with a separate transient lease comment, but the older durable review comment remains unchanged higher in the timeline. That makes the previous verdict look current while a new review is already running and forces maintainers to inspect comment history or find the transient status manually.
Safety
If-Match, so a stale read cannot overwrite a concurrently published verdict or newer projectionValidation
pnpm run checkgitleaks protect --staged --redact --no-banner(no leaks found)autoreview --mode local(clean after addressing three actionable findings)