Keep retained models on the shared usage card - #3747
Chipagosfinest wants to merge 6 commits into
Conversation
The OG card dropped every top-model family when any USD provider was unpriced or incomplete. Settings already listed those retained rows as partial. Share the same rows, skip incomplete-request lines, and label the ranking partial.
|
🦞👀 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 real behavior proof before merge. Reviewed September 18, 2026, 5:22 PM ET / 21:22 UTC (Revision 3). ClawSweeper reviewWhat this changesRetain eligible model families in shared usage images and copied text when currency-group coverage is incomplete, marking the list partial and removing numeric ranks. Merge readiness⛔ Blocked before merge - 4 items remain The prior code findings are resolved, and the contribution remains distinct from current main. Keep open for approval of the changed sharing policy and after-fix production-path proof; repository policy also disables automatic closure. Priority: P2 Review scores
Verification
How this fits togetherCodexBar builds shared usage summaries from the Usage & Spend dashboard’s currency groups. The sharing builder sanitizes model families and feeds both the native image renderer and copied-text formatter. flowchart LR
A[Provider usage history] --> B[Dashboard currency groups]
B --> C[Window and completeness checks]
C --> D[Sanitized shared summary]
D --> E[Native card image]
D --> F[Copied statistics]
Decision needed
Why: The existing exclusion was an explicit owner-authored product decision; matching Settings behavior does not establish approval to change shared output. Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: With maintainer approval, share clearly qualified retained families while preserving full-window exclusions, provider attribution, and model sanitization. Do we have a high-confidence way to reproduce the issue? Not applicable as an established-behavior bug: source confirms the reported exclusion, but existing tests and the merged policy deliberately require it. Is this the best way to solve the issue? The implementation is a narrow, coherent approach if partial sharing is approved; the prior selected-day and architecture-anchor defects are resolved. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 5065a72b3832. LabelsLabel 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 (2 earlier review cycles)
|
Synthetic 1200x630 renders of the 0.61.0 empty ranking versus this branch's partial GPT/Claude/Gemini column. Live 0.61.0 notes recorded alongside.
|
Proof and 0.61.0 live check are now on the branch.
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
A selected complete day inside an incomplete range still has zero incomplete requests on the retained rows. Restore the group-level incomplete-request guard so that day cannot export as the advertised period ranking, and omit numeric ranks when the list is partial.
|
Addressed the ClawSweeper P2 on selected-day reporting.
Copied text for the synthetic payload: @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Unpriced groups with a selected day still advertise the last-N-days window. Skip day-scoped model rows there, move the Mistral sanitizer architecture anchor with the new payload fields, and render partial cards through ShareStatsBuilder plus the production NSHostingView exporter.
|
Revision 2 findings addressed on
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Usage vs spend follow-up (not this ranking patch): #3748 projects live plugin |
|
Superseded by #3817, which retains the PARTIAL presentation and contributor credit while gating incomplete history per provider. This also covers the incomplete-request case that still excluded the entire currency group. The replacement passes 69 focused tests and make check and includes synthetic before/after images. Thanks @Chipagosfinest! |
Summary
Settings Usage & Spend already lists retained top-model rows when another provider in the same currency is unpriced or incomplete. The 1200×630 share card did not:
ShareStatsBuilderrequired the whole USD group to be complete, so one unpriced source (Antigravity in the live case) blanked Codex/Claude families and rendered No model-level history.This keeps those retained rows on the shared image and copied text, skips incomplete-request lines, and labels the ranking PARTIAL so it cannot be mistaken for a closed ranking.
Before / after
Same three USD subscriptions. Antigravity is unpriced, so the group is incomplete. Synthetic totals.
Header goes
BY USAGE→PARTIAL. GPT / Claude / Gemini appear. Method:docs/research/share-card-top-models.md.What was wrong
Currency groups are USD-wide, not per provider.
modelHistoryCompletenessbecomes.incompletewhen any sibling in that group is unpriced. The builder then dropped every model:Settings uses the same
group.modelswith a partial presentation. The OG card now follows that seam.Tested against 0.61.0
Installed Homebrew
codexbar0.60.5 → 0.61.0 (current published release). This branch is rebased onupstream/main(0.61.1-dev, includes #3741).Live 0.61.0 CLI:
-1 requests / 10sis gone (Stop surfacing OpenRouter's deprecated key rate limit as "-1 requests / 10s" #3720).codexbar coststill skips OpenRouter/Grok/xAI — that command is local JSONL only (Antigravity, Claude, Codex, Cursor). Not this PR.Related
vendor/modelfamilies (merged in 0.61.0; needed once OpenRouter Activity rows reach the builder)Test plan
retained models still enter shared rankings when sibling coverage is incompleteincomplete request rows stay out of shared rankingsdocs/research/assets/share-card-top-models/)codexbar usage --provider openrouter/codexbar cost/codexbar dashboardShareStatsTests(localswift testblocked byactool/ ibtoold plugin init)@clawsweeper re-review