Skip to content

feat(models): edit manual prices and honor explicit zero - #3904

Merged
lidge-jun merged 7 commits into
devfrom
codex/260907-d4-price-editor
Sep 7, 2026
Merged

feat(models): edit manual prices and honor explicit zero#3904
lidge-jun merged 7 commits into
devfrom
codex/260907-d4-price-editor

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add Models → Price and ocx models price / ocx models set-price over existing persisted modelCosts. A manual badge survives reload and reset removes only the selected model override.
  • Explicit all-zero user rates give known-zero estimates; zero catalog metadata retains its fallback semantics. CLI validates persistence receipts and masks credential-shaped argument failures. UI unknown outcomes require snapshot recovery before editing.

Closes #3667

Verification

  • Local test suites, typecheck, build and install: NOT RUN, explicitly prohibited by the maintainer.
  • Exact top head: fe9460372597061f572beee6c325009fef618c42. Cross-platform CI run 34120761219. PASS under the explicit per-chain acceptance policy: all 16 required jobs completed successfully: Linux 4, macOS 2, gates, API usage, storage, all keyring/npm jobs, and Docker. Excluded Windows shards/macOS control are still running and are not part of this verdict.
  • Remote gates: GUI 1787 pass / 0 fail; lint 0 errors / 0 warnings; TypeScript, privacy scan and GUI build passed.
  • Independent review: Astra-high Popper: implementation/security PASS, blockers=0 after argument masking and receipt validation at e541f499e8ad617b5dd9466e7b7765ef200f4ad9. Astra-high Bohr diagnosed later CI-only lifecycle/fixture corrections; no rules or assertions weakened. Fresh remote GUI tests/lint/build pass.
  • Later explicit user policy: Windows 6 shards and macOS control are excluded from per-chain acceptance and reserved for one final release-train-head verification. Their state is not represented as passing evidence for this chain.

Manual dependent chain

Layer PR Head SHA Base
D1 #3877 c35b5a6e504a4513ad59957f5c81b7db45f8bec6 dev
D2 #3902 c5fb7e3332432c6546bffa9990bce5b971653139 #3877
D3 #3903 c44c6de87389a95ab798b648659fbc0838af170b #3902
D4 #3904 5669413794ca54388782f6758171a81a2d1b361e #3903
D5 #3905 fe9460372597061f572beee6c325009fef618c42 #3904

Ordinary dependent PRs only; native stack membership checked separately, no native registration. Main task alone performs maintainer integration under MAINTAINERS.md; this is not self-approval. Before integration, refresh dev and prove expected cumulative tree equals the tested top tree. No merge performed by this lane.

Dashboard screenshot

D4 dashboard

Unmodified CI dashboard artifact, source fe9460372597061f572beee6c325009fef618c42, GUI tree d37b888016199ab7470993e24dde1c14b3296d5e. Synthetic in-memory API fixtures; desktop1440x963, interactions and screenshots inspected. Remote tests separately verify actual API/storage behavior.

Narrow price editor

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Maintainer integration decision (MAINTAINERS.md, dev-only admin integration): @lidge-jun integrates lane D's manual chain (#3877#3902#3903#3904#3905) into dev bottom-up. Chain-top evidence at head fe9460372: Cross-platform CI run 34120761219 — Linux test 1/4–4/4, macOS 1/2, 2/2, gates (GUI 1787/0, lint, typecheck, privacy, build), storage policy, api usage, keyring ×3, npm-global ×3, docker smoke = success; Windows shards and macos control deferred to the final release-train head by maintainer policy. Prospective merge tree of origin/dev@f4a4b468f + top = ded24302f = tested tree. Independent per-layer reviews PASS; screenshots from this run's dashboard-preview artifact. Local suites NOT RUN. Maintainer integration, not self-approval.

t and others added 7 commits September 7, 2026 21:08
Apply base provider overlays to exact configured Codex account identities without widening arbitrary suffix matching. Preserve pricing namespaces, cache invalidation and tier parity. Refs #3817.

Co-authored-by: rrmlima <137737127+rrmlima@users.noreply.github.com>
Exact top CI logs on macOS and Windows identified the same privacy-scan fixture rejection. Keep scanner rules and assertions unchanged.

Co-authored-by: rrmlima <137737127+rrmlima@users.noreply.github.com>
…ip ci]

Expose modelCosts via the Models editor and models price/set-price CLI. Preserve sibling prices, support automatic reset, and treat explicit zero user rates as known-zero display estimates. Refs #3667.

Co-authored-by: nordz0r <6949669+nordz0r@users.noreply.github.com>
Address independent review findings on the manual price CLI; preserve HTTP-specific exit codes and project only acknowledged fields.

Co-authored-by: nordz0r <6949669+nordz0r@users.noreply.github.com>
Address exact-head GUI lint diagnosis without disabling the rule; initial loading uses initialized state and effects update only after the fetch.

Co-authored-by: nordz0r <6949669+nordz0r@users.noreply.github.com>
Exact CI gates diagnosis: keep effect request setup synchronous and update state only from registered fetch settlement callbacks; retain cancellation and identity guards.

Co-authored-by: nordz0r <6949669+nordz0r@users.noreply.github.com>
Exact gates log showed the fixture read an unrelated picker alert behind the modal. Keep all expected error text and mutation assertions.

Co-authored-by: nordz0r <6949669+nordz0r@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (2)
  • ^dev$
  • ^preview$

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 63830c84-9a79-4a9a-a709-b0210abf65d0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T12:33:48.186910Z 5669413 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@lidge-jun
lidge-jun changed the base branch from codex/260907-d3-account-prices to dev September 7, 2026 12:29
@lidge-jun
lidge-jun merged commit 29405d3 into dev Sep 7, 2026
21 checks passed
@lidge-jun
lidge-jun deleted the codex/260907-d4-price-editor branch September 7, 2026 12:30

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5669413794

ℹ️ 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".

Comment thread src/server/management/model-routes.ts
Comment thread gui/src/pages/Models.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant