Add paginated Screener clearance operations - #77
Closed
code-monger-givenall wants to merge 2 commits into
Closed
Conversation
code-monger-givenall
force-pushed
the
agent/screener-clearances
branch
from
August 19, 2026 17:36
0f47b3b to
7fb6a8a
Compare
code-monger-givenall
marked this pull request as ready for review
August 19, 2026 17:36
There was a problem hiding this comment.
Pull request overview
Adds paginated Screener clearance listing and approval/denial operations to the generated API and Go service layer.
Changes:
- Models HTML listing and form-based clearance updates.
- Adds pagination, deduplication, validation, and HTML parsing.
- Updates generated clients, route artifacts, and conformance coverage.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
spec/route-coverage.json |
Registers the new routes. |
spec/hey.smithy |
Defines clearance operations and media types. |
spec/excluded-routes.json |
Removes the PATCH exclusion. |
openapi.json |
Adds generated OpenAPI operations and schemas. |
go/pkg/hey/url-routes.json |
Adds route-table entries. |
go/pkg/hey/client.go |
Exposes the service and honors response media types. |
go/pkg/hey/clearances.go |
Implements listing, parsing, and updates. |
go/pkg/hey/clearances_test.go |
Tests service behavior and validation. |
go/pkg/generated/client.gen.go |
Adds generated request and response APIs. |
conformance/tests/paths.json |
Adds path conformance cases. |
conformance/runner/go/main.go |
Executes the new conformance operations. |
behavior-model.json |
Records operation behavior metadata. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
code-monger-givenall
force-pushed
the
agent/screener-clearances
branch
from
August 19, 2026 18:55
7fb6a8a to
0e649d9
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated no new comments.
Suppressed comments (1)
go/pkg/hey/client.go:220
- The generated client still does not honor these operations' retry policies. Only the global SDK defaults are copied here, while
doWithRetryretries every idempotent operation on 429/500/502/503/504 forMaxRetries + 1requests. Consequently,UpdateClearancedefaults to four requests and retries statuses outside its declaredmaxAttempts: 2, retryOn: [429, 503]policy. Please carry the per-operationx-hey-retrymetadata into generated retry execution (with a defined precedence for explicit client overrides).
retryConfig := generated.DefaultRetryConfig()
retryConfig.MaxRetries = c.httpOpts.MaxRetries
retryConfig.BaseDelay = c.httpOpts.BaseDelay
code-monger-givenall
force-pushed
the
agent/screener-clearances
branch
from
August 20, 2026 18:28
0e649d9 to
0e779b1
Compare
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Adds generated operations for the HTML Screener list and clearance updates, plus a
ClearancesServicewithList,ListWithLimit,Approve, andDeny.Listfollows HEY's server-provided cursor links until there are no pages left. It rejects cross-origin links, detects loops, honors the SDK page cap, and removes duplicate clearance IDs.The existing
/clearances.jsonsummary operation is unchanged. Generated requests now honor the requested response type before adding.json, so HTML and form routes keep their real paths.Why
/clearances.jsonreturns the pending count, not the pending senders. The HTML/clearancesresponse contains the sender cards in batches of eight. Reading one response silently returns only the first batch.Validation
env GOWORK=off mise x -- make checkSummary by cubic
Adds paginated Screener clearance operations and honors per‑operation retry policies. Previously
/clearancesreturned only the first 8 senders and retries followed a global default; now the SDK lists all pages and retries match each operation’s contract./clearances, HTML) and UpdateClearance (PATCH/clearances/{clearanceId}, form). List retries up to 3 on 429/503; Update retries up to 2 on 429/503 and treats 302/303 redirects as success.ClearancesServicewithList,ListWithLimit,Approve,Deny. Follows server cursor links, rejects cross-origin links/redirects, detects loops, respectsMaxPages, and de‑duplicates IDs..json; HTML and form routes keep their real paths. Idempotent requests with bodies now buffer payloads for reliable retries. Client-levelWithMaxRetries/WithBaseDelayoverride an operation only when explicitly set; otherwise the operation’s policy applies.Migration/usage
/clearances.jsonsummary is unchanged.client.Clearances().List(ctx)to fetch pending senders andApprove/Denyto act on them.Accept: application/jsonto use automatic.jsonpath extension; leave unset for HTML/form routes. UseWithMaxRetries/WithBaseDelayonly if you need to override an operation’s retry limits/delay.Written for commit 0e779b1. Summary will update on new commits.