Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
502 commits
Select commit Hold shift + click to select a range
534f795
refactor: extract account storage scope wrapper
ndycode Mar 21, 2026
8e36a86
refactor: extract clear accounts entry wrapper
ndycode Mar 21, 2026
ac31f47
refactor: extract experimental target loader wrapper
ndycode Mar 21, 2026
f50045e
refactor: extract clear accounts entry wrapper
ndycode Mar 21, 2026
95cca7b
refactor: extract named backup facade
ndycode Mar 21, 2026
51bcf9f
refactor: extract loader setup wrapper
ndycode Mar 21, 2026
f95fb61
refactor: extract save accounts entry wrapper
ndycode Mar 21, 2026
401f21c
refactor: extract restore backup facade
ndycode Mar 21, 2026
feeb6c5
refactor: extract flagged load facade
ndycode Mar 21, 2026
6b594b9
refactor: extract flagged save facade
ndycode Mar 22, 2026
05defab
refactor: extract unified settings entry wrapper
ndycode Mar 22, 2026
3f63bc1
refactor: extract settings hub entry wrapper
ndycode Mar 22, 2026
dadda4e
refactor: extract dashboard settings entry wrapper
ndycode Mar 22, 2026
f8a68bf
refactor: extract ui runtime bridge wrapper
ndycode Mar 22, 2026
8f644ea
refactor: extract settings panel entry wrappers
ndycode Mar 22, 2026
9c401b5
refactor: extract account manager cache entry wrapper
ndycode Mar 22, 2026
24d3f0b
refactor: extract settings hub entry wrapper
ndycode Mar 22, 2026
5ec0ad1
refactor: extract unified settings entry wrapper
ndycode Mar 22, 2026
c64566f
refactor: extract named backups list facade
ndycode Mar 22, 2026
30ec601
refactor: extract experimental target loader wrapper
ndycode Mar 22, 2026
0606240
refactor: extract backend category entry wrapper
ndycode Mar 22, 2026
5e3562c
refactor: extract experimental settings entry wrapper
ndycode Mar 22, 2026
a011e81
refactor: add package subpath exports
ndycode Mar 22, 2026
b85ac45
feat: add forecast explain output
ndycode Mar 22, 2026
fb40881
test: cover forecast explain output
ndycode Mar 22, 2026
07222d8
docs: document forecast explain flag
ndycode Mar 22, 2026
75424bc
docs: add maintainer runbooks
ndycode Mar 22, 2026
52f475a
docs: add v1.2.0 release notes stub
ndycode Mar 22, 2026
5bd7739
test: cover benchmark dashboard renderer
ndycode Mar 22, 2026
18b6911
docs: tighten maintainer runbooks
ndycode Mar 22, 2026
7ec5b1c
fix: keep forecast explain output visible
ndycode Mar 22, 2026
8dfc2ff
test: validate shipped config templates
ndycode Mar 22, 2026
5c5e80d
test: harden benchmark dashboard script coverage
ndycode Mar 22, 2026
da7aeba
test: cover runtime benchmark script
ndycode Mar 22, 2026
ba55887
docs: refresh settings reference
ndycode Mar 22, 2026
1c13710
Fix config explain and restore review gaps
ndycode Mar 22, 2026
72a11b8
test: cover bench format renderer
ndycode Mar 22, 2026
c95f316
Fix runtime review follow-ups
ndycode Mar 22, 2026
9095bad
docs: document supported package subpaths
ndycode Mar 22, 2026
f335beb
Hide internal request SSE helpers
ndycode Mar 22, 2026
9540985
Deduplicate settings fetch status docs
ndycode Mar 22, 2026
dd90b77
Add auth log redaction QA note
ndycode Mar 22, 2026
f3b55a2
Use retry-safe cleanup in benchmark path test
ndycode Mar 22, 2026
bf626e6
Cover settings hub cancel passthrough
ndycode Mar 22, 2026
510f481
test: cover codex-multi-auth wrapper
ndycode Mar 22, 2026
37a9f2f
Drop unused benchmark path import
ndycode Mar 22, 2026
7065009
test: cover runtime benchmark script
ndycode Mar 22, 2026
26cdb9e
Use retry-safe cleanup in wrapper smoke test
ndycode Mar 22, 2026
7d44c75
Use retry-safe benchmark cleanup
ndycode Mar 22, 2026
75a6a6b
Exercise target loader retry wiring
ndycode Mar 22, 2026
c328fc7
Exercise sync target retry wiring
ndycode Mar 22, 2026
3e44d11
Preserve experimental settings entry types
ndycode Mar 22, 2026
3be4df4
Tighten named backups entry coverage
ndycode Mar 22, 2026
6de0144
Fail fast on benchmark test hangs
ndycode Mar 22, 2026
9e13a24
align gpt-5 model routing with current OpenAI defaults
ndycode Mar 22, 2026
173d64f
add responses continuation request contract support
noreply Mar 22, 2026
9968ba8
enhance responses parser for semantic SSE events
noreply Mar 22, 2026
71d44c7
add response compaction fallback for fast sessions
noreply Mar 22, 2026
21df813
type responses text format and prompt cache retention
noreply Mar 22, 2026
456cbaf
Add provider prompt cache precedence coverage
ndycode Mar 22, 2026
cccf972
Type GPT-5.4 hosted tool definitions
ndycode Mar 22, 2026
5d39a59
Log semantic response diagnostics
ndycode Mar 22, 2026
60106b6
Document responses contract additions
ndycode Mar 22, 2026
9b6c224
fix: harden extracted runtime toast helper
ndycode Mar 22, 2026
16bbcc6
Fix parity model normalization regressions
ndycode Mar 22, 2026
e17a5c5
Harden prompt raw-path assertions
ndycode Mar 22, 2026
280e0e0
Harden prompt raw-path assertions
ndycode Mar 22, 2026
5fa335a
test: cover runtime account-check helpers
ndycode Mar 22, 2026
6192cc1
Fix response continuation session affinity race
ndycode Mar 22, 2026
ab68aa8
Merge remote-tracking branch 'origin/refactor/pr1-fix-command-2' into…
ndycode Mar 22, 2026
3b415fe
test: expand verify-flagged command coverage
ndycode Mar 22, 2026
a0e3841
add prompt cache retention regressions
ndycode Mar 22, 2026
a8d313f
Merge remote-tracking branch 'origin/refactor/pr1-verify-flagged-comm…
ndycode Mar 22, 2026
7c1507d
refactor: share verify-flagged command deps
ndycode Mar 22, 2026
43359e7
Abort response-id capture after SSE errors
ndycode Mar 22, 2026
7cc6bf6
clarify responses contract docs
ndycode Mar 22, 2026
5f0405e
test: cover dashboard display panel extraction
ndycode Mar 22, 2026
b191492
test: cover storage file path helpers
ndycode Mar 22, 2026
8181ecc
test: cover extracted backup metadata helpers
ndycode Mar 22, 2026
5ee8077
refactor: share storage identity helpers
ndycode Mar 22, 2026
2371577
test: harden report command path assertions
ndycode Mar 22, 2026
c307cf5
test: cover extracted auth command modules
ndycode Mar 22, 2026
d48cfa8
fix: clamp restored auth family indices
ndycode Mar 22, 2026
163377e
warn on reasoning effort coercion
ndycode Mar 22, 2026
740ab50
fix: preserve live probe fallback reporting
ndycode Mar 22, 2026
a88225c
narrow update-only session response id helper
ndycode Mar 22, 2026
ea2c024
refactor: reuse session response id helper
ndycode Mar 22, 2026
360fe8c
test: cover concurrent auth best live refresh writes
ndycode Mar 22, 2026
2762012
Serialize live auth-best probe writes
ndycode Mar 22, 2026
37b768f
enhance responses parser for semantic SSE events
noreply Mar 22, 2026
ad0443b
Fix semantic response id capture
ndycode Mar 22, 2026
eb3d7a3
fix: tighten semantic SSE response handling
ndycode Mar 22, 2026
19edb99
Abort response-id capture after SSE errors
ndycode Mar 22, 2026
b5eba0a
Tighten semantic response parser fallbacks
ndycode Mar 22, 2026
e0fec5a
Preserve whitespace-only response deltas
ndycode Mar 22, 2026
acc6b2b
Require terminal response events for SSE JSON
ndycode Mar 22, 2026
da2e5a4
fix: harden semantic sse parsing
ndycode Mar 22, 2026
65f2fa0
fix: preserve canonical semantic response text
ndycode Mar 22, 2026
729cf2d
fix: clear stale reasoning summary deltas
ndycode Mar 22, 2026
5acb8ad
fix: preserve canonical response summaries
ndycode Mar 22, 2026
8d07f80
preserve canonical reasoning summary parts
ndycode Mar 22, 2026
26c00d8
test: cover missing semantic output indices
ndycode Mar 22, 2026
5a7184c
add response compaction fallback for fast sessions
noreply Mar 22, 2026
2791287
fix gpt-5-mini tool capabilities
ndycode Mar 22, 2026
105ea6f
Fix gpt-5-mini capability assertion
ndycode Mar 22, 2026
28e3885
Avoid repeated compaction after account rotation
ndycode Mar 22, 2026
405bd24
Handle compaction URLs with query params
ndycode Mar 22, 2026
1c62b82
Type GPT-5.4 hosted tool definitions
ndycode Mar 22, 2026
64e2391
add opt-in responses background mode guardrails
ndycode Mar 22, 2026
38175ac
tighten hosted tool typing and filtering
ndycode Mar 22, 2026
d5f9966
fix config mock for background response getter
ndycode Mar 22, 2026
b343975
Fix plan-only tool removal counting
ndycode Mar 22, 2026
cc04f16
fix-background-response-guardrails
ndycode Mar 22, 2026
5f16828
Tighten tool-surface regression coverage
ndycode Mar 22, 2026
66f5d33
document and test background responses compatibility
ndycode Mar 22, 2026
31fdf39
test: cover auth command error paths
ndycode Mar 22, 2026
6a273fe
fix session-affinity response id compatibility
ndycode Mar 22, 2026
b7fef3e
fix session-affinity response id compatibility
ndycode Mar 22, 2026
79b39f4
test: cover live lease failures
ndycode Mar 22, 2026
da29022
Merge main into refactor/pr3-storage-identity-helpers
ndycode Mar 22, 2026
bcd75dc
Merge main into refactor/pr6-vendor-manifest-refresh
ndycode Mar 22, 2026
fd2b34b
Merge main into refactor/pr2-statusline-settings-split-2
ndycode Mar 22, 2026
e782cdc
Merge main into refactor/pr3-storage-named-backups-helper
ndycode Mar 22, 2026
f862c7d
Merge main into feat/openai-parity-pr5
ndycode Mar 22, 2026
cafb355
Merge main into refactor/pr4-runtime-refresh-guardian-direct
ndycode Mar 22, 2026
d6c7584
Merge main into refactor/pr4-runtime-live-sync-direct
ndycode Mar 22, 2026
ee32899
Merge main into refactor/pr4-runtime-toast-direct
ndycode Mar 22, 2026
14b6cc5
Merge main into feat/openai-parity-pr7
ndycode Mar 22, 2026
273e46a
fix: drop unused storage identity import
ndycode Mar 22, 2026
f7cb0a8
fix: preserve vendor provenance notes
ndycode Mar 22, 2026
c6de32c
test: cover statusline panel hotkeys
ndycode Mar 22, 2026
d7ac1aa
Merge remote-tracking branch 'origin/refactor/pr2-dashboard-preview-h…
ndycode Mar 22, 2026
e49482d
Merge remote-tracking branch 'origin/refactor/pr4-runtime-verify-flag…
ndycode Mar 22, 2026
2496d24
Merge remote-tracking branch 'origin/fix/codex-multi-auth-version-fla…
ndycode Mar 22, 2026
dbca6f1
Merge remote-tracking branch 'origin/plan/01-beginner-onboarding-docs…
ndycode Mar 22, 2026
a907f18
Merge remote-tracking branch 'origin/refactor/pr0-guardrails-and-runb…
ndycode Mar 22, 2026
78e64a0
Merge remote-tracking branch 'origin/refactor/pr1-guardrails' into re…
ndycode Mar 22, 2026
51c1250
Merge remote-tracking branch 'origin/refactor/pr5-package-subpath-exp…
ndycode Mar 22, 2026
4473542
Merge remote-tracking branch 'origin/feat/pr6-forecast-explain-latest…
ndycode Mar 22, 2026
e820c32
Merge remote-tracking branch 'origin/feat/openai-parity-pr1' into rel…
ndycode Mar 22, 2026
dafb9bd
Merge remote-tracking branch 'origin/docs/pr7-maintainer-runbooks-lat…
ndycode Mar 22, 2026
b4af196
Merge remote-tracking branch 'origin/test/pr8-benchmark-render-dashbo…
ndycode Mar 22, 2026
7378337
Merge remote-tracking branch 'origin/test/pr9-config-schema-validatio…
ndycode Mar 22, 2026
43c877f
Merge remote-tracking branch 'origin/test/pr13-bench-format-render-sm…
ndycode Mar 22, 2026
967d206
Merge remote-tracking branch 'origin/test/pr14-codex-multi-auth-wrapp…
ndycode Mar 22, 2026
b1cee6f
Merge remote-tracking branch 'origin/test/pr10-benchmark-runtime-path…
ndycode Mar 22, 2026
8c1d09e
Merge remote-tracking branch 'origin/test/pr10-benchmark-runtime-path…
ndycode Mar 22, 2026
037f1ea
fix-release-validation-regressions
ndycode Mar 22, 2026
c66f446
Merge remote-tracking branch 'origin/plan/02-cli-help-and-login-split…
ndycode Mar 22, 2026
b00f48e
Merge remote-tracking branch 'origin/plan/04-cli-repair-split' into r…
ndycode Mar 22, 2026
63ec895
Merge remote-tracking branch 'origin/refactor/pr1-status-and-features…
ndycode Mar 22, 2026
c24cd0d
Merge remote-tracking branch 'origin/refactor/pr1-check-command' into…
ndycode Mar 22, 2026
4688a2e
Merge remote-tracking branch 'origin/refactor/pr1-report-command' int…
ndycode Mar 22, 2026
cc47c7a
Merge remote-tracking branch 'origin/refactor/pr1-list-status-cli-tes…
ndycode Mar 22, 2026
3b79749
Merge remote-tracking branch 'origin/refactor/pr1-forecast-command' i…
ndycode Mar 22, 2026
edb2104
Merge remote-tracking branch 'origin/refactor/pr1-verify-flagged-comm…
ndycode Mar 22, 2026
b82e950
Merge remote-tracking branch 'origin/refactor/pr1-route-verify-flagge…
ndycode Mar 22, 2026
cedf280
Merge remote-tracking branch 'origin/refactor/pr1-best-command' into …
ndycode Mar 22, 2026
f750d53
Merge remote-tracking branch 'origin/refactor/pr1-doctor-command' int…
ndycode Mar 22, 2026
2d1cff6
Merge remote-tracking branch 'origin/refactor/pr1-fix-command-2' into…
ndycode Mar 22, 2026
9254f22
Merge remote-tracking branch 'origin/refactor/pr1-route-doctor-direct…
ndycode Mar 22, 2026
a16f7df
Merge remote-tracking branch 'origin/refactor/pr1-route-fix-direct' i…
ndycode Mar 22, 2026
2e2e8b1
Merge remote-tracking branch 'origin/refactor/pr2-dashboard-display-s…
ndycode Mar 22, 2026
a5e74db
Merge remote-tracking branch 'origin/refactor/pr2-statusline-settings…
ndycode Mar 22, 2026
e73c199
Merge remote-tracking branch 'origin/refactor/pr3-storage-error-helpe…
ndycode Mar 22, 2026
21889b1
Merge remote-tracking branch 'origin/refactor/pr3-storage-identity-he…
ndycode Mar 22, 2026
1e7693b
Merge remote-tracking branch 'origin/refactor/pr3-storage-path-state-…
ndycode Mar 22, 2026
fb8a3b3
Merge remote-tracking branch 'origin/refactor/pr3-storage-path-state-…
ndycode Mar 22, 2026
21d7463
Merge remote-tracking branch 'origin/refactor/pr3-storage-named-backu…
ndycode Mar 22, 2026
41e5cdd
Merge remote-tracking branch 'origin/refactor/pr3-storage-backup-meta…
ndycode Mar 22, 2026
1df4607
Merge remote-tracking branch 'origin/refactor/pr4-runtime-account-sel…
ndycode Mar 22, 2026
c3fbc36
Merge remote-tracking branch 'origin/refactor/pr4-runtime-manual-oaut…
ndycode Mar 22, 2026
972fa05
Merge remote-tracking branch 'origin/refactor/pr4-runtime-oauth-brows…
ndycode Mar 22, 2026
d10afb0
Merge remote-tracking branch 'origin/refactor/pr4-runtime-account-per…
ndycode Mar 22, 2026
dee0e1c
Merge remote-tracking branch 'origin/refactor/pr4-runtime-toast-helpe…
ndycode Mar 22, 2026
05fdeff
Merge remote-tracking branch 'origin/refactor/pr4-runtime-account-sco…
ndycode Mar 22, 2026
00f1f48
Merge remote-tracking branch 'origin/refactor/pr4-runtime-live-sync-h…
ndycode Mar 22, 2026
dc6f866
Merge remote-tracking branch 'origin/refactor/pr4-runtime-refresh-gua…
ndycode Mar 22, 2026
94fdd22
Merge remote-tracking branch 'origin/refactor/pr4-runtime-account-sel…
ndycode Mar 22, 2026
a629554
Merge remote-tracking branch 'origin/refactor/pr4-runtime-ui-resolver…
ndycode Mar 22, 2026
c37868e
Merge remote-tracking branch 'origin/refactor/pr4-runtime-request-ini…
ndycode Mar 22, 2026
86e46d4
Merge remote-tracking branch 'origin/refactor/pr4-runtime-capability-…
ndycode Mar 22, 2026
f9bcbc0
Merge remote-tracking branch 'origin/refactor/pr4-runtime-account-che…
ndycode Mar 22, 2026
07f2df8
Merge remote-tracking branch 'origin/refactor/pr4-runtime-login-menu-…
ndycode Mar 22, 2026
290d05f
Merge remote-tracking branch 'origin/refactor/pr4-runtime-auth-helper…
ndycode Mar 22, 2026
3690aa8
Merge remote-tracking branch 'origin/refactor/pr4-runtime-auth-facade…
ndycode Mar 22, 2026
dccec47
Merge remote-tracking branch 'origin/refactor/pr4-runtime-verify-flag…
ndycode Mar 22, 2026
57d97c5
Merge remote-tracking branch 'origin/refactor/pr5-package-subpath-exp…
ndycode Mar 22, 2026
e2dbecd
Merge remote-tracking branch 'origin/refactor/pr6-pr-ci-node22-smoke'…
ndycode Mar 22, 2026
30be253
Merge remote-tracking branch 'origin/refactor/pr6-pack-budget-check' …
ndycode Mar 22, 2026
6dd1b92
Merge remote-tracking branch 'origin/refactor/pr6-vendor-provenance-c…
ndycode Mar 22, 2026
629856e
Merge remote-tracking branch 'origin/refactor/pr6-script-typecheck-js…
ndycode Mar 22, 2026
d111ccf
Merge remote-tracking branch 'origin/refactor/pr4-runtime-session-rec…
ndycode Mar 22, 2026
aad5b8e
Merge remote-tracking branch 'refs/remotes/origin/refactor/pr4-runtim…
ndycode Mar 22, 2026
133061d
Merge remote-tracking branch 'refs/remotes/origin/refactor/pr3-storag…
ndycode Mar 22, 2026
a7893f3
Merge remote-tracking branch 'refs/remotes/origin/refactor/pr3-storag…
ndycode Mar 22, 2026
1abbf56
Merge remote-tracking branch 'origin/docs/pr12-settings-reference-ref…
ndycode Mar 22, 2026
323cad1
Merge remote-tracking branch 'origin/feat/openai-parity-pr2' into rel…
ndycode Mar 22, 2026
beff20c
Merge remote-tracking branch 'origin/feat/openai-parity-pr3' into rel…
ndycode Mar 22, 2026
f6a7626
Merge remote-tracking branch 'origin/feat/openai-parity-pr4' into rel…
ndycode Mar 22, 2026
7403909
Merge remote-tracking branch 'origin/feat/openai-parity-pr5' into rel…
ndycode Mar 22, 2026
451cde4
Merge remote-tracking branch 'origin/feat/openai-parity-pr6' into rel…
ndycode Mar 22, 2026
f41f8f2
Merge remote-tracking branch 'origin/feat/openai-parity-pr7' into rel…
ndycode Mar 22, 2026
b72ed10
Merge remote-tracking branch 'origin/feat/openai-parity-pr8' into rel…
ndycode Mar 22, 2026
a320304
Merge remote-tracking branch 'origin/feat/openai-parity-pr9' into rel…
ndycode Mar 22, 2026
7cccfdb
Merge remote-tracking branch 'origin/refactor/pr2-backend-settings-me…
ndycode Mar 22, 2026
4f624c7
test: harden merged refactor foundations
ndycode Mar 22, 2026
0322190
Merge remote-tracking branch 'origin/refactor/pr2-experimental-target…
ndycode Mar 22, 2026
ddbc670
test: harden experimental sync target loader
ndycode Mar 22, 2026
3c577b3
Merge PR #220: add config explain command
ndycode Mar 23, 2026
c90e2d1
Merge PR #221: add debug bundle command
ndycode Mar 23, 2026
ff501bc
Merge remote-tracking branch 'origin/refactor/pr7-init-config-command…
ndycode Mar 23, 2026
437deda
Merge PR #223: add report explain mode
ndycode Mar 23, 2026
4833f16
Merge PR #224: restore backend settings schema parity
ndycode Mar 23, 2026
13b53d1
Merge remote-tracking branch 'origin/refactor/pr2-experimental-settin…
ndycode Mar 23, 2026
f6be609
Merge remote-tracking branch 'origin/refactor/pr6-pr-ci-script-typech…
ndycode Mar 23, 2026
705cc4b
Merge remote-tracking branch 'origin/refactor/pr6-vendor-manifest-ref…
ndycode Mar 23, 2026
5fe8aa4
Merge PR #228: share runtime account check deps
ndycode Mar 23, 2026
4083cf2
Merge PR #229: route runtime auth facade directly
ndycode Mar 23, 2026
a14b83e
Merge PR #230: route runtime account scope helper
ndycode Mar 23, 2026
5137d2f
Merge PR #231: route runtime session affinity helper
ndycode Mar 23, 2026
2d8f142
Merge PR #232: route runtime refresh guardian helper
ndycode Mar 23, 2026
339b7e9
Merge PR #233: route runtime preemptive quota helper
ndycode Mar 23, 2026
7a5532e
Merge PR #234: route runtime ui resolver directly
ndycode Mar 23, 2026
7cd07b9
Merge PR #235: refactor: route runtime live sync helper
ndycode Mar 23, 2026
ff1447f
Merge PR #236: route runtime toast helper directly
ndycode Mar 23, 2026
c6607b3
Merge PR #237: route runtime status marker helper
ndycode Mar 23, 2026
28a2267
Merge PR #238: route runtime email hydration helper
ndycode Mar 23, 2026
7a432fe
Merge PR #239: refactor: route runtime account manager cache helper
ndycode Mar 23, 2026
31262c4
Merge PR #242: refactor: route runtime toast helper directly
ndycode Mar 23, 2026
6d7f646
Merge PR #243: refactor: route runtime account reload helper
ndycode Mar 23, 2026
1d47f8c
Merge PR #244: refactor: route runtime account pool helper
ndycode Mar 23, 2026
8083b88
Merge PR #245: refactor: route runtime ui bootstrap helper
ndycode Mar 23, 2026
e83505b
Merge PR #246: refactor: route runtime email hydration helper
ndycode Mar 23, 2026
0c1d3fe
Merge PR #240: refactor: route runtime ui resolver helper
ndycode Mar 23, 2026
11f5c5e
Merge PR #241: refactor: route runtime status marker helper
ndycode Mar 23, 2026
7c31309
Merge PR #247: refactor: route runtime ui resolver helper
ndycode Mar 23, 2026
734eba3
Merge PR #249: refactor: extract backend settings helpers
ndycode Mar 23, 2026
c350e4a
Merge PR #259: refactor: extract storage record utils
ndycode Mar 23, 2026
f7f807c
Merge PR #260: refactor: route runtime toast helper directly
ndycode Mar 23, 2026
5e8f5fd
Merge PR #261: refactor: extract statusline order helper
ndycode Mar 23, 2026
63cd1e9
Merge PR #268: refactor: extract settings hub entry wrappers
ndycode Mar 23, 2026
ee9135e
Merge PR #270: refactor: extract settings panel entry wrappers
ndycode Mar 23, 2026
3a1c56e
Merge PR #274: refactor: extract experimental sync target wrapper
ndycode Mar 23, 2026
e396ece
Merge PR #287: refactor: extract settings hub entry wrapper
ndycode Mar 23, 2026
2193df4
Merge PR #297: refactor: extract experimental settings entry wrapper
ndycode Mar 23, 2026
08cbb3d
Merge PR #291: refactor: extract account manager cache entry wrapper
ndycode Mar 23, 2026
2e86612
Merge PR #294: refactor: extract named backups list facade
ndycode Mar 23, 2026
6ba04b7
Merge PR #271: refactor: extract named backups facade
ndycode Mar 23, 2026
16e09d1
Fix release branch review follow-ups
ndycode Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .github/workflows/pr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,61 @@ jobs:

- name: Build
run: npm run build

- name: Typecheck scripts
run: npm run typecheck:scripts

- name: Pack budget check
run: npm run pack:check

- name: Verify vendor provenance
run: npm run vendor:verify

node22-smoke:
name: Node 22 Smoke
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: npm

- name: Install dependencies
run: npm ci

- name: Run type check
run: npm run typecheck

- name: Run tests
run: npm test

- name: Security audit (CI policy)
run: npm run audit:ci

- name: Build
run: npm run build

scripts-windows:
name: Script Typecheck (Windows)
runs-on: windows-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: npm

- name: Install dependencies
run: npm ci

- name: Typecheck scripts
run: npm run typecheck:scripts
81 changes: 49 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,11 @@ npm i -g codex-multi-auth

### Option C: Verify wiring

`codex --version` confirms the official Codex CLI is reachable. `codex-multi-auth --version` confirms the installed wrapper package version.

```bash
codex --version
codex-multi-auth --version
codex auth status
```

Expand Down Expand Up @@ -93,54 +96,65 @@ codex auth check

## Quick Start

Install and sign in:

```bash
npm i -g @openai/codex
npm i -g codex-multi-auth
codex auth login
```

Verify the wrapper and the new account:

```bash
codex auth status
codex auth check
codex auth forecast --live
```

Day-1 command set:
Use these next:

```bash
codex auth list
codex auth switch 2
codex auth report --live --json
codex auth fix --dry-run
codex auth doctor --fix
codex auth forecast --live
```

If the shell should not launch a browser, use the manual callback flow:
If browser launch is blocked, use the alternate login paths in [docs/getting-started.md](docs/getting-started.md#alternate-login-paths).

```bash
codex auth login --manual
CODEX_AUTH_NO_BROWSER=1 codex auth login
```
---

In non-TTY/manual shells, provide the full redirect URL on stdin instead of waiting for a browser callback:
## Command Toolkit

```bash
echo "http://127.0.0.1:1455/auth/callback?code=..." | codex auth login --manual
```
### Start here

No new npm scripts or storage migration steps are required for this login-flow update.
| Command | What it answers |
| --- | --- |
| `codex auth login` | How do I add or re-open the account menu? |
| `codex auth status` | Is the wrapper active right now? |
| `codex auth check` | Do my saved accounts look healthy? |

---
### Daily use

## Command Toolkit
| Command | What it answers |
| --- | --- |
| `codex auth list` | Which accounts are saved and which one is active? |
| `codex auth switch <index>` | How do I move to a different saved account? |
| `codex auth forecast --live` | Which account looks best for the next session? |

| Command | What it does |
### Repair

| Command | What it answers |
| --- | --- |
| `codex auth login` | Open interactive account dashboard |
| `codex auth list` | List saved accounts and active account |
| `codex auth status` | Print short runtime/status summary |
| `codex auth switch <index>` | Set active account by index |
| `codex auth check` | Run quick account health checks |
| `codex auth verify-flagged` | Re-test flagged accounts and optionally restore |
| `codex auth forecast --live` | Forecast best next account with live probes |
| `codex auth report --live --json` | Generate machine-readable health report |
| `codex auth fix --dry-run` | Preview safe repairs |
| `codex auth fix --live --model gpt-5-codex` | Run repairs with live probe model |
| `codex auth doctor --fix` | Diagnose and apply safe fixes |
| `codex auth verify-flagged` | Can any previously flagged account be restored? |
| `codex auth fix --dry-run` | What safe storage or account repairs are available? |
| `codex auth doctor --fix` | Can the CLI diagnose and apply the safest fixes now? |

### Advanced

| Command | What it answers |
| --- | --- |
| `codex auth report --live --json` | How do I get the full machine-readable health report? |
| `codex auth fix --live --model gpt-5-codex` | How do I run live repair probes with a chosen model? |

---

Expand Down Expand Up @@ -199,6 +213,7 @@ Selected runtime/environment overrides:
| `CODEX_TUI_V2=0/1` | Disable/enable TUI v2 |
| `CODEX_TUI_COLOR_PROFILE=truecolor|ansi256|ansi16` | TUI color profile |
| `CODEX_TUI_GLYPHS=ascii|unicode|auto` | TUI glyph style |
| `CODEX_AUTH_BACKGROUND_RESPONSES=0/1` | Opt in/out of stateful Responses `background: true` compatibility |
| `CODEX_AUTH_FETCH_TIMEOUT_MS=<ms>` | Request timeout override |
| `CODEX_AUTH_STREAM_STALL_TIMEOUT_MS=<ms>` | Stream stall timeout override |

Expand All @@ -210,6 +225,8 @@ codex auth check
codex auth forecast --live
```

Responses background mode stays opt-in. Enable `backgroundResponses` in settings or `CODEX_AUTH_BACKGROUND_RESPONSES=1` only for callers that intentionally send `background: true`, because those requests switch from stateless `store=false` routing to stateful `store=true`. See [docs/upgrade.md](docs/upgrade.md) for rollout guidance.

---

## Experimental Settings Highlights
Expand Down Expand Up @@ -291,9 +308,9 @@ codex auth doctor --json

## Release Notes

- Current stable: [docs/releases/v1.2.0.md](docs/releases/v1.2.0.md)
- Previous stable: [docs/releases/v1.1.10.md](docs/releases/v1.1.10.md)
- Earlier stable: [docs/releases/v0.1.9.md](docs/releases/v0.1.9.md)
- Current stable: [docs/releases/v1.1.10.md](docs/releases/v1.1.10.md)
- Previous stable: [docs/releases/v0.1.9.md](docs/releases/v0.1.9.md)
- Earlier stable: [docs/releases/v0.1.8.md](docs/releases/v0.1.8.md)
- Archived prerelease: [docs/releases/v0.1.0-beta.0.md](docs/releases/v0.1.0-beta.0.md)

## License
Expand Down
38 changes: 25 additions & 13 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,41 @@ Public documentation for `codex-multi-auth`.
## Start Here

1. [Getting Started](getting-started.md)
2. [FAQ](faq.md)
3. [Architecture](architecture.md)
2. [Daily-use landing page](index.md)
3. [FAQ](faq.md)
4. [Troubleshooting](troubleshooting.md)

---

## User Guides
## Daily Use

| Document | Focus |
| --- | --- |
| [index.md](index.md) | Daily-use landing page for common `codex auth ...` workflows |
| [getting-started.md](getting-started.md) | Install, first login, and first health check |
| [Daily-use landing page](index.md) | Common `codex auth ...` workflows and quick-start guidance |
| [faq.md](faq.md) | Short answers to common adoption questions |
| [architecture.md](architecture.md) | Public system overview of the wrapper, storage, and optional plugin runtime |
| [features.md](features.md) | User-facing capability map |
| [configuration.md](configuration.md) | Stable defaults, precedence, and environment overrides |
| [troubleshooting.md](troubleshooting.md) | Recovery playbooks for install, login, switching, and stale state |
| [architecture.md](architecture.md) | Public system overview of the wrapper, storage, and optional plugin runtime |
| [privacy.md](privacy.md) | Data handling and local storage behavior |
| [upgrade.md](upgrade.md) | Migration from legacy package and path history |
| [releases/v1.2.0.md](releases/v1.2.0.md) | Stable release notes |
| [releases/v1.1.10.md](releases/v1.1.10.md) | Previous stable release notes |
| [releases/v0.1.9.md](releases/v0.1.9.md) | Earlier stable release notes |
| [releases/v1.1.10.md](releases/v1.1.10.md) | Stable release notes |
| [releases/v0.1.9.md](releases/v0.1.9.md) | Previous stable release notes |
| [releases/v0.1.8.md](releases/v0.1.8.md) | Earlier stable release notes |
| [releases/v0.1.7.md](releases/v0.1.7.md) | Archived stable release notes |
| [releases/v0.1.6.md](releases/v0.1.6.md) | Archived stable release notes |
| [releases/v0.1.5.md](releases/v0.1.5.md) | Archived stable release notes |
| [releases/v0.1.0-beta.0.md](releases/v0.1.0-beta.0.md) | Archived prerelease notes |

---

## Repair

| Document | Focus |
| --- | --- |
| [troubleshooting.md](troubleshooting.md) | Recovery playbooks for install, login, switching, and stale state |
| [upgrade.md](upgrade.md) | Migration from legacy package and path history |

---

## Reference

| Document | Focus |
Expand All @@ -45,9 +51,9 @@ Public documentation for `codex-multi-auth`.
| [reference/storage-paths.md](reference/storage-paths.md) | Canonical and compatibility storage paths |
| [reference/public-api.md](reference/public-api.md) | Public API stability and semver contract |
| [reference/error-contracts.md](reference/error-contracts.md) | CLI, JSON, and helper error semantics |
| [releases/v1.2.0.md](releases/v1.2.0.md) | Current stable release notes |
| [releases/v1.1.10.md](releases/v1.1.10.md) | Current stable release notes |
| [releases/v0.1.0-beta.0.md](releases/v0.1.0-beta.0.md) | Archived prerelease reference |
| [User Guides release notes](#user-guides) | Stable, previous, and archived release notes |
| [Daily Use release notes](#daily-use) | Stable, previous, and archived release notes |
| [releases/legacy-pre-0.1-history.md](releases/legacy-pre-0.1-history.md) | Archived pre-0.1 changelog history |

---
Expand All @@ -62,7 +68,13 @@ Public documentation for `codex-multi-auth`.
| [development/IA_FINDABILITY_AUDIT_2026-03-01.md](development/IA_FINDABILITY_AUDIT_2026-03-01.md) | IA and findability baseline audit |
| [development/CONFIG_FIELDS.md](development/CONFIG_FIELDS.md) | Complete field and environment inventory |
| [development/CONFIG_FLOW.md](development/CONFIG_FLOW.md) | Configuration resolution flow |
| [development/RUNBOOK_ADD_AUTH_COMMAND.md](development/RUNBOOK_ADD_AUTH_COMMAND.md) | Safe workflow for adding a new `codex auth ...` command |
| [development/RUNBOOK_ADD_CONFIG_FIELD.md](development/RUNBOOK_ADD_CONFIG_FIELD.md) | Safe workflow for introducing a new config field |
| [development/RUNBOOK_CHANGE_ROUTING_POLICY.md](development/RUNBOOK_CHANGE_ROUTING_POLICY.md) | Safe workflow for changing routing, retry, or fallback policy |
| [development/REPOSITORY_SCOPE.md](development/REPOSITORY_SCOPE.md) | Ownership map by repository path |
| [development/RUNBOOK_ADD_AUTH_MANAGER_COMMAND.md](development/RUNBOOK_ADD_AUTH_MANAGER_COMMAND.md) | Safe workflow for adding a new `codex auth` command |
| [development/RUNBOOK_ADD_CONFIG_FIELD_SAFELY.md](development/RUNBOOK_ADD_CONFIG_FIELD_SAFELY.md) | Safe workflow for introducing a new config/settings field |
| [development/RUNBOOK_CHANGE_ROUTING_POLICY_SAFELY.md](development/RUNBOOK_CHANGE_ROUTING_POLICY_SAFELY.md) | Safe workflow for changing routing or account-selection policy |
| [development/TESTING.md](development/TESTING.md) | Validation gates and test matrix |
| [development/TUI_PARITY_CHECKLIST.md](development/TUI_PARITY_CHECKLIST.md) | Dashboard UX parity checklist |
| [benchmarks/code-edit-format-benchmark.md](benchmarks/code-edit-format-benchmark.md) | Benchmark methodology and outputs |
Expand Down
10 changes: 10 additions & 0 deletions docs/development/CONFIG_FIELDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Used only for host plugin mode through the host runtime config file.
| `reasoningEffort` | string | `none\|minimal\|low\|medium\|high\|xhigh` | Reasoning effort hint |
| `reasoningSummary` | string | `auto\|concise\|detailed` | Summary detail hint |
| `textVerbosity` | string | `low\|medium\|high` | Text verbosity target |
| `promptCacheRetention` | string | `5m\|1h\|24h\|7d` | Default server-side prompt cache retention when the request body omits `prompt_cache_retention` |
| `include` | string[] | `reasoning.encrypted_content` | Extra payload include |
| `store` | boolean | `false` | Required for stateless backend mode |

Expand Down Expand Up @@ -74,10 +75,19 @@ Used only for host plugin mode through the host runtime config file.
| `tokenRefreshSkewMs` | `60000` |
| `sessionRecovery` | `true` |
| `autoResume` | `true` |
| `responseContinuation` | `false` |
| `backgroundResponses` | `false` |
| `proactiveRefreshGuardian` | `true` |
| `proactiveRefreshIntervalMs` | `60000` |
| `proactiveRefreshBufferMs` | `300000` |

`backgroundResponses` is an opt-in compatibility switch for Responses API `background: true` requests. When enabled, those requests become stateful (`store=true`) instead of following the default stateless Codex routing.

Upgrade note:
- Leave this disabled for existing stateless pipelines that do not intentionally send `background: true`.
- Enable it only for callers that need stateful background responses and can accept forced `store=true`, preserved input item IDs, and the loss of stateless-only defaults such as fast-session trimming.
- After enabling it, test one known `background: true` request end to end before rolling it across shared automation.

### Storage / Sync

| Key | Default |
Expand Down
61 changes: 61 additions & 0 deletions docs/development/RUNBOOK_ADD_AUTH_COMMAND.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Runbook: Add Auth Command

Safe workflow for adding a new `codex auth ...` command without expanding scope or breaking the existing CLI contract.

* * *

## Goal

Add one new command path while keeping:

- `codex auth ...` as the canonical command family
- current help text and aliases aligned with docs
- JSON and human-readable output predictable
- command behavior covered by targeted tests

* * *

## Primary Files

- `lib/codex-manager.ts`
- `docs/reference/commands.md`
- `README.md` when user-visible workflow changes
- `test/codex-manager-cli.test.ts`
- `test/documentation.test.ts`

* * *

## Implementation Steps

1. Add the command logic in `lib/codex-manager.ts` or the current command handler module.
2. Keep usage text literal and copy-pasteable.
3. Reuse existing storage, refresh, and quota helpers instead of adding new command-local state.
4. Add or extend CLI tests in `test/codex-manager-cli.test.ts` for:
- success path
- invalid input or missing args
- JSON mode if supported
- non-interactive behavior if relevant
5. Update `docs/reference/commands.md` with the command and flags.
6. Update `README.md` only when the command changes the recommended user workflow.
7. Update `test/documentation.test.ts` if new command text must stay aligned across docs and runtime usage text.

* * *

## Validation

```bash
npm run lint
npm run typecheck
npm test -- test/codex-manager-cli.test.ts test/documentation.test.ts
npm run build
```

* * *

## Review Checklist

- command name is consistent across runtime and docs
- help text matches actual flags
- no unrelated settings or storage changes were mixed in
- JSON output is stable if exposed
- tests cover failure paths, not only the happy path
Loading