fix(limit-warmup): repair typing for warmup sender#778
Conversation
3fdef67 to
f4151a6
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3fdef673d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
d90cdea to
ada28b5
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ada28b5f80
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Hermes review — blockers foundPR #778 is not merge-ready yet. Blockers
Additional non-blocking cleanup worth considering
Verification run
|
…e-fix # Conflicts: # app/modules/dashboard/service.py
- refresh account rows with populate_existing before warm-up evaluation - cover same-session SQLAlchemy identity-map staleness - make warm-up OpenSpec delta strict-valid - align frontend warm-up validation with backend bounds - improve warm-up toggle accessible names and cooldown parsing
|
Addressed the Hermes blockers and related cleanup:
Local verification:
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
## [1.19.0](v1.18.2...v1.19.0) (2026-05-25) ### Features * **accounts:** add export action with audit and no-store safeguards ([#412](#412)) ([c03e310](c03e310)) * **accounts:** add operator-controlled account aliases ([#759](#759)) ([781e259](781e259)) * **api-ui:** add account cost distribution for API ([#734](#734)) ([d0a6737](d0a6737)) * **api-ui:** add account pool window usage remaining bar ([#785](#785)) ([8eee9e2](8eee9e2)) * **api:** add codex /model support for allowed models ([#607](#607)) ([15874aa](15874aa)) * **dashboard:** account burn projection card ([#752](#752)) ([c48a20a](c48a20a)) * **dashboard:** present hourly/weekly credits as raw remaining/total ([#612](#612)) ([b6b2f8b](b6b2f8b)) * **frontend:** add GitHub link to status bar ([#508](#508)) ([8577edc](8577edc)) * **release:** add PR-driven beta release channel ([#732](#732)) ([72b2962](72b2962)) * **request-log:** detail cost breakdown for each request ([#694](#694)) ([cb05d0e](cb05d0e)) * **ui:** multiple dashboard ui adjustments ([#776](#776)) ([c933b52](c933b52)) ### Bug Fixes * **accounts:** hide zero-capacity primary quota rows ([#770](#770)) ([8920274](8920274)) * **accounts:** own DB session in detached token-refresh task ([#774](#774)) ([3bdc9de](3bdc9de)) * **archive:** stream gzip writes asynchronously ([#725](#725)) ([67917ca](67917ca)) * **archive:** throttle backpressure warnings ([#718](#718)) ([feb0def](feb0def)) * **ci:** harden Codex label sync token writes ([#740](#740)) ([c40837d](c40837d)) * **ci:** restore main and enforce merge-head gates ([#715](#715)) ([b061ea5](b061ea5)) * **ci:** tolerate transient Codex label read failures ([#769](#769)) ([8fe58fe](8fe58fe)) * **codex desktop:** restore backend responses compatibility ([#756](#756)) ([fe591b7](fe591b7)) * Codex websocket pre-created keepalives ([#727](#727)) ([f52167d](f52167d)) * **codex_version:** fall back to npm registry when GitHub is rate-limited ([#744](#744)) ([7d790ba](7d790ba)), closes [#664](#664) * **codex:** accept OpenAI-style backend responses requests ([#755](#755)) ([838386c](838386c)) * **limit-warmup:** refresh opt-in state before warm-up ([#778](#778)) ([a96c487](a96c487)) * **oauth:** isolate concurrent browser flows ([#753](#753)) ([409a83e](409a83e)) * **openai:** preserve json mode instruction messages ([#731](#731)) ([b48ed67](b48ed67)), closes [#730](#730) * **proxy:** accept /backend-api/codex/v1/<rest> as alias for /backend-api/codex/<rest> ([#610](#610)) ([0aaaa80](0aaaa80)) * **proxy:** add HTTP bridge keepalive backstop and prewarm timeout ([#736](#736)) ([28c2430](28c2430)) * **proxy:** align Codex websocket error parsing ([#789](#789)) ([714315f](714315f)) * **proxy:** allow larger compressed responses bodies ([#772](#772)) ([67795a1](67795a1)) * **proxy:** bound HTTP bridge startup waits ([#723](#723)) ([48e7ccf](48e7ccf)) * **proxy:** fail over compact after invalidated token ([#777](#777)) ([afd23d2](afd23d2)) * **proxy:** fail over reset-prone upstream stalls ([#771](#771)) ([13dcf74](13dcf74)) * **proxy:** fail over websocket connect timeouts ([#726](#726)) ([a8b44f7](a8b44f7)) * **proxy:** inline external image URLs in HTTP bridge path ([#794](#794)) ([5ff6679](5ff6679)) * **proxy:** make Codex Spark quota gating plan-aware ([#751](#751)) ([a476ecd](a476ecd)) * **proxy:** mask codex chatgpt previous-response websocket errors ([#775](#775)) ([d39350f](d39350f)) * **proxy:** mask websocket prepare continuity errors ([#717](#717)) ([a0a290b](a0a290b)) * **proxy:** recover stale websocket previous response anchors ([#724](#724)) ([48f083e](48f083e)) * **proxy:** replay pre-visible websocket drops ([#729](#729)) ([4471b9a](4471b9a)) * **proxy:** report backend context window in v1 models ([#722](#722)) ([ebabd31](ebabd31)) * **proxy:** respect stream_idle_timeout_seconds in HTTP bridge keepalive backstop ([#793](#793)) ([ccdf99f](ccdf99f)) * **settings:** include all updatable fields in audit changed_fields ([#719](#719)) ([def95bb](def95bb)) * **status:** reconcile background account recovery after resets ([#754](#754)) ([4b9ada8](4b9ada8)), closes [#479](#479) * **usage:** ignore stale usage after account reset ([#760](#760)) ([d739ebf](d739ebf)) ### Performance Improvements * **dashboard:** memoize per-account depletion EWMA state ([#749](#749)) ([2abe7a9](2abe7a9)) ### Documentation * add Lotfree618 as a contributor for code, test, and 2 more ([#739](#739)) ([66764f4](66764f4)) * add usage reset troubleshooting FAQ ([#710](#710)) ([b6c35f6](b6c35f6)) * backfill missing contributors ([#741](#741)) ([505a208](505a208)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Supersedes #773 because that contributor branch has maintainer edits disabled, while its current head fails
ty.What changed:
mainResponsesRequestvia model validation somax_output_tokensis accepted through the schemaLimitWarmupServiceconstructor dependencies to structural protocols so unit-test fakes type-checklimit_warmup_min_available_percentagainst available quota, not used quotaLocal verification:
uv run ruff check app/modules/limit_warmup/service.py tests/unit/test_limit_warmup.pyuv run ty checkuv run pytest tests/unit/test_limit_warmup.py -qbun run typecheckbun run test src/features/settings/schemas.test.ts --runFixes the CI failure from #773.