Add bounded PR detail fill command#89
Conversation
|
Codex review: found issues before merge. Reviewed July 10, 2026, 2:13 PM ET / 18:13 UTC. Summary Reproducibility: yes. from source inspection: begin with remaining quota slightly above the reserve and hydrate a PR whose detail sync makes multiple API calls; no reserve check runs again until the whole batch finishes. Review metrics: 3 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. 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:
Copy recommended automerge instructionNext step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Make the quota contract truthful: preferably enforce a request budget during hydration so the configured reserve is preserved, or explicitly rename and document the option as a best-effort pre-batch threshold, with a regression test that starts just above the threshold and crosses it during work. Do we have a high-confidence way to reproduce the issue? Yes from source inspection: begin with remaining quota slightly above the reserve and hydrate a PR whose detail sync makes multiple API calls; no reserve check runs again until the whole batch finishes. Is this the best way to solve the issue? No in its current form; the bounded command is a reasonable solution, but its reserve option must either enforce the stated guarantee or accurately describe weaker best-effort behavior. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 808b4dabeaa4. Label changesLabel changes:
Label justifications:
Evidence reviewedAcceptance criteria:
What 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
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
# Conflicts: # internal/cli/app.go
Closes #83.
Adds a bounded
fill-pr-detailscommand that selects pull requests missing detail rows, hydrates them in batches, reports progress/results for retryable backfills, and ignores expired or stale shared rate-limit cache entries before enforcing--reserve-rate-limit.Behavior proof:
{"event":"batch_done","repository":"openclaw/gitcrawl","batch":1,"numbers":[89],"filled":1} {"repository":"openclaw/gitcrawl","selected":1,"filled":1,"remaining":0,"numbers":[89],"order":"newest-first","limit":1,"batch_size":1}The proof run used a throwaway local archive where
openclaw/gitcrawl#89was first synced withpr_details_synced: 0, then hydrated bygitcrawl fill-pr-details openclaw/gitcrawl --limit 1 --batch-size 1 --json-progress --json.