Price deduplicated Codex request subtotals across SSH hosts
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
Research direction
Start with the existing Codex-only JSON CLI export from #4447 and the pricing behavior referenced by #3036; the payload does not name source files or tests. Trace how request identities and token categories are exported, then identify where model evidence and a single pricing snapshot can be applied. Done means deduplicated requests are priced only when model evidence is consistent and every accepted request has a price, with missing prices reported as null and partial or conflicting records preserved.
Written by the indexing model from the issue text.
Description
The situation
I use Codex on a Mac and over SSH. #4447 now gives me an identified-request subtotal across both machines, with copied requests counted once. costUSD is still null.
What works today, and why it is not enough
Separate host reports estimate dollars, but adding them would double-count copied history, as discussed in #3036. The identified export already carries a length-framed SHA-256 identity from provider, session/thread ID and response ID, restricted to native requests owned by that session.
Ask
Extend that contract to price the identified subtotal:
- Keep the existing identity and UTC window. Copies count once; token or timestamp conflicts stay excluded even after another clean copy appears.
- Carry the request's model identifier alongside its token categories. Price the deduplicated records with one pricing snapshot on the collecting machine. Pricing conflicts retain tokens with an unknown price.
- Return numeric
costUSDonly when every accepted request can be priced. Missing model or price meansnull, never zero. Preserve explicit partial-source and excluded/conflicting-request reporting. - Keep the export limited to accounting fields and hashed identity: no prompts, paths or raw session/response IDs. Make the snapshot version boundary explicit.
First slice: pricing for the existing Codex-only JSON CLI path. App presentation and per-machine grouping come afterward; Claude Code and Pi need their own identity contracts.
Refs #3036
Refs #4447
- Dominant language
- Swift
- Stars
- 22.8k
- Forks
- 2.2k
- Avg merge
- 23h 46m
- Merged PRs (30d)
- 372
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from steipete/CodexBar
-
Kiro provider fails under Kiro CLI V3: /usage --no-interactive is answered by the modelPossibly taken @jeanroloff claimed this today. Openclawsweeper:linked-pr-open clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:auth-provider issue-rating: 🦞 diamond lobster P1
Difficulty 4/5 3-5 days Newbie friendliness 25/100
steipete/CodexBar#4853 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Copilot: ended subscription (access_type_sku=subscription_ended) surfaces as NSURLErrorDomain -1015Possibly taken @steipete claimed this today. Openclawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P2
Difficulty 3/5 1-2 days Newbie friendliness 30/100
steipete/CodexBar#4851 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Pace predictionOpenclawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr issue-rating: 🌊 off-meta tidepool P3
Difficulty 4/5 3-5 days Newbie friendliness 48/100
steipete/CodexBar#4850 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Copilot: menu bar Pace token shows – for the monthly Premium quotaPossibly taken @chriscorbell claimed this 1 day ago. Openclawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P2
Difficulty 3/5 1-2 days Newbie friendliness 20/100
steipete/CodexBar#4847 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
clawsweeper:fix-shape-clear clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster P2
Difficulty 4/5 3-5 days Newbie friendliness 42/100
steipete/CodexBar#4846 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
All issues in steipete/CodexBar
Similar issues
-
needs-triage S3: minor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
manaflow-ai/cmux#28422 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
SwiftOldDriver/iOS-Weekly#5480 ·
-
Seed a JRNYAx price before the last close so asset-detail S1.3 doesn't fail from 08:00Z to the openOpenbug tests
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
lognorman20/monaco#7231 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 5 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 7 days