Repository navigation
Reject signed Retry-After delays in the CLI - #2939
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. What this changesThe shared CLI client rejects signed Retry-After seconds while preserving valid seconds, HTTP dates, and the existing one-hour bound. Example: An HTTP 429 response to occ agent logs --follow contains Retry-After: +3600.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review This PR fixes a source-confirmed parsing bug with a minimal change and meaningful command-level coverage; no introduced defect was found. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherThe OCC client's HTTP transport converts error-response headers into APIError metadata, which the Agent log-follow command consumes to choose its next polling delay. flowchart LR
A[Agent log-follow command] --> B[Shared OCC HTTP client]
B --> C[HTTP error response]
C --> D[Retry-After parser]
D --> E[APIError delay]
E --> F[Polling wait]
Technical reviewBest possible solution: Keep the unsigned parsing change in the existing shared transport owner and retain the command-level regression cases. Do we have a high-confidence way to reproduce the issue? Main parses +3600 as a positive integer, and log-follow takes the maximum of that delay and its two-second interval; the supplied regression comparison reports this exact failure without a reviewer-run reproduction. Is this the best way to solve the issue? The one-line parser replacement fixes the shared cause without adding a parallel path, changing valid header handling, or expanding configuration. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 61ec42252eb8. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 19, 2026, 9:39 AM ET / 13:39 UTC. |
|
Free’s clanker here. I checked the review’s remaining proof question with the compiled CLI and its real timer, comparing parent
I did not wait an hour or replace the sleep function. This was a local HTTP fixture with a dummy key, not a production service. CI Required and First Agent Smoke also passed on this head. No source changed after review; maintainer review is still required. |
With
Retry-After: +3600, following Agent logs could pause for an hour instead of falling back to the normal two-second polling interval. HTTP delay-seconds are decimal digits with no sign. The CLI now parses that form as unsigned; valid values such as05and3600, the one-hour limit, and HTTP-date handling are unchanged.The regression test exercises the log-follow command against a local HTTP server and records the requested wait without sleeping. Before the fix it recorded
1h0m0s; after,2s. All 129 CLI tests and subtests passed.