Conversation
Mark shorter Kimi Code windows as blocked by a known exhausted monthly pool while retaining raw quota data and explicit menu-bar selections. Explain unsupported z.ai quota shapes without hiding recognized limits. Verify the existing reset fix with the full reporter screenshot payload. Closes #2871 Refs #2522 Refs #3536
|
🦞👀 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: blocked before merge. Reviewed September 28, 2026, 1:05 AM ET / 05:05 UTC (Revision 2). ClawSweeper reviewWhat this changesThe branch makes CodexBar’s Kimi menu card show when an exhausted monthly quota blocks shorter windows, adds z.ai guidance for unavailable quota responses, and updates tests and documentation. Merge readiness⛔ Blocked before merge - 4 items remain Keep this PR open. Current main still lacks the proposed Kimi menu-card behavior and z.ai unavailable-state guidance. The scoped patch has focused coverage, but its closing reference would close a reset report that the new fixture does not resolve, and the repository-required full test run is not recorded. Priority: P2 Review scores
Verification
How this fits togetherCodexBar turns provider quota responses into usage snapshots and displays them in its menu card and usage details. Kimi’s Swift provider supplies monthly and shorter windows; the bundled z.ai JavaScript provider parses its quota response. flowchart LR
A[Kimi quota responses] --> B[Kimi usage snapshot]
C[z.ai quota response] --> D[z.ai plugin parser]
B --> E[Quota presentation]
D --> E
E --> F[Menu card and usage details]
Decision needed
Why: The fixture verifies the parser’s existing conversion, while the prior owner discussion requires evidence of the reported display mismatch at the same refresh. Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Land the scoped quota presentation changes with the reset report still open for a complete same-refresh response and display trace, after a safe full-suite run. Do we have a high-confidence way to reproduce the issue? Yes for the Kimi display defect: the supplied synthetic before and after renderer images and source path show an exhausted month beside fresh shorter windows. The historical z.ai same-refresh display mismatch is not reproduced by the new fixture. Is this the best way to solve the issue? Yes for the scoped Kimi presentation and z.ai unavailable-state guidance. The reset fixture is useful characterization, but it does not establish closure of the separate display report. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 579f68406855. LabelsLabel changes: No label changes. Label justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
Kimi could display fresh 5-hour and weekly capacity while its known monthly membership pool was exhausted. The menu card now marks shorter windows as Blocked by monthly limit through the shared quota-binding check. Raw usage, monthly reset information, and explicit menu-bar selections are preserved. Nearby value-copy and initializer cleanup keep production code at 84 insertions / 85 deletions (net −1).
z.ai now explains empty or unsupported quota shapes and points users to Usage Dashboard. Mixed responses retain recognized quotas and identify unavailable additional quota. No confirmed V3 payload was present in #2522, so this does not claim V3 compatibility. The full quota screenshot from #2871 is now a fixture: the existing parser retains its 300-minute window and renders the exact reset as 20:09 in America/Santiago; #3416 already rejects impossible five-hour resets.
Verification
Tests ran against a complete Git tree matching the staged candidate on an isolated macOS worker, using synthetic fixtures and credential/session isolation.
CODEXBAR_KIMI_BLOCKING_PROOF_DIR=.proof-after-final ./Scripts/test_fast.sh --build-system native --jobs 2 --filter 'Kimi|Zai|MenuCard|PaceVisibility|ProviderPresentationPolicyCharacterizationTests|ProviderArchitectureGatekeeperTests|ProviderPluginDetailsParityTests' CODEXBAR_PLUGIN_ENGINE=javascriptcore ./Scripts/test_fast.sh --build-system native --skip-build --filter ZaiPluginResetTests make checkSynthetic native rendering
These use the production
MetricRowrenderer with synthetic data.#3536 remains open for Desktop Local Storage token discovery, which is outside this presentation fix. Thanks @OttoPrua, @carolitascl, and @LeoLin990405 for the reports and evidence.
Closes #2871
Refs #2522
Refs #3536