Repository navigation
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Review readiness checklist
1/4 boxes ticked. UI screenshot waived by a maintainer comment. |
af4e96b to
1d99b95
Compare
1d99b95 to
a8f5eb9
Compare
a8f5eb9 to
10c1128
Compare
|
The explicit account-binding concept is understandable, but this submitted PR is no longer reviewable as a merge candidate: it is 559 Under the current maintainer workflow I will not approve or merge the GUI/text surfaces directly. If the owner still wants this feature, recut a focused current- |
13e775b to
10c1128
Compare
리뷰 · 우선순위 39 / 80
쓰기는 전용 본문은 screenshot 미첨부와 full suite 미통과를 인정합니다. export/ 해결방안: (1) hygiene를 통과시키고 현재 이 댓글은 grok-bot이 작성했습니다 |
|
This draft was built against a now-distant |
Summary
codexAccountTargetto canonicalopenaiCodex-forward custom models.ocx opencodeandocx export.Exact base:
b81314cd29b78fecb447df882dc4fc1a987434b9Exact head:
10c11282632215c8971ee6b98f73e5a56f519b85Why
The old patch inferred physical-main ownership from
codexAccountPickerEnabled=falseand the Daybreak slug. Picker visibility is not an account-ownership contract, and that rule would fail users whose entitlement belongs to another Pool account.codexAccountTargetmakes the choice explicit, model-row scoped, reusable beyond Daybreak, and convenient in the existing model editor. Omitting it preserves the existing Pool/Direct route.Contract and compatibility
@mainor a currently existing stable Pool account ID.openaiCodex-forward custom rows can assign a target.openai-apikey, noncanonical providers, and rows without the field are unchanged.Atomic writes and older proxies
Target-bearing management writes use dedicated routes:
POST /api/custom-models/account-targetPUT /api/custom-models/{id}/account-targetEach write carries a transient UUID nonce that is echoed but never persisted. Legacy target-bearing writes are rejected, and an older proxy returns 404 before mutation, so GUI/CLI clients cannot silently save a target that the running proxy ignores. Locked persistence revalidates provider, account, routed-slug, and row-lifecycle state against the latest config snapshot before attesting success.
UI and CLI
The custom-model editor offers Automatic (normal Pool/Direct routing), Main account, and eligible Pool accounts. The same choice is available through
ocx models add/edit --codex-account-target; clearing restores Automatic. Offline CLI add uses a locked, revalidated config mutation, while live target writes use the dedicated atomic routes.A real dashboard pass with synthetic account labels was completed. The screenshot attachment is still pending, so this PR remains draft.
Verification
Exact rebased head
10c1128263:bun run typecheck: pass on both runtimes.bun run privacy:scan: pass on both runtimes.lint:i18nand production build: pass.git diff --check: pass.62b2e040-763b-40b2-ac78-36c9fc3e0f62: CLEAN, zero candidates/findings, complete 46/46 changed-source and 7/7 security-surface coverage.e7e2de0d01786fbc52524cfc2e73d49862aaef2d.Patch-equivalent pre-rebase validation:
lint:i18n, typecheck, privacy, and diff checks passed.The full repository suite is not claimed green. On this Windows host, two existing LRU stress tests exceeded the default 5-second timeout but passed individually at 30 seconds; the existing unreadable-file ACL cleanup fixture in
codex-config-generation.test.tsalso reportsEACCES. Maintained exact-head cross-platform CI is still required.Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.