Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
397 commits
Select commit Hold shift + click to select a range
5931e1b
docs(ollama-native): document fixture model discovery
adtumk Oct 3, 2026
9f661c7
test: preserve known plan in stale quota coverage expectations
lidge-jun Oct 3, 2026
917fa41
test(ollama-native): guard commentary replay validation and immutability
lidge-jun Oct 3, 2026
84630c5
fix(oauth): bind Claude imports to bearer-owned account identity
lidge-jun Oct 3, 2026
e77bfb4
Merge pull request #6513 from lidge-jun/codex/release-261003-a
lidge-jun Oct 3, 2026
d5145c2
Merge remote-tracking branch 'origin/dev' into codex/release-261003-a…
lidge-jun Oct 3, 2026
37fc1fd
fix(oauth): include the profile OAuth beta header
lidge-jun Oct 3, 2026
3aeacab
test(claude): clean up context fixture on setup failures
lidge-jun Oct 3, 2026
8e96348
docs: align Lane C publication gates and replay evidence
lidge-jun Oct 3, 2026
07f96a6
fix(oauth): resume retry-safe cleanup before account mismatch refusal
lidge-jun Oct 3, 2026
2a665a1
fix(codex): attribute reauth only to terminal probe evidence
lidge-jun Oct 3, 2026
60c449b
fix(oauth): retire obsolete intents after verified credential adoption
lidge-jun Oct 3, 2026
a141b83
Merge pull request #6519 from lidge-jun/codex/release-261003-c-ollama
lidge-jun Oct 3, 2026
93d7102
docs(cli): plan GUI workflow parity stack
lidge-jun Oct 3, 2026
3898f8f
merge: reconcile release lane D with current dev
lidge-jun Oct 3, 2026
ff8eb3c
docs(cli): link roadmap review and verification receipts
lidge-jun Oct 3, 2026
5416d6a
Merge current dev into Lane E identity carry
lidge-jun Oct 3, 2026
aa72090
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 3, 2026
36330ae
Merge pull request #6516 from lidge-jun/codex/release-261003-a-messages
lidge-jun Oct 3, 2026
aa40fb4
Merge pull request #6514 from lidge-jun/codex/release-261003-c
lidge-jun Oct 3, 2026
e601cef
Merge pull request #6515 from lidge-jun/codex/release-261003-b
lidge-jun Oct 3, 2026
23a9b67
fix(codex): preserve stored-main ownership and scoped refresh refusal
lidge-jun Oct 3, 2026
b4450b8
perf(oauth): avoid the redundant pre-adoption credential read
lidge-jun Oct 3, 2026
ef74307
merge: validate pairing carry after release auth integration
lidge-jun Oct 3, 2026
90ffac2
Merge latest release integration into Lane E identity carry
lidge-jun Oct 3, 2026
fdbc76c
test(oauth): keep identity registration beside OAuth cases
lidge-jun Oct 3, 2026
167881a
refactor(cli): separate capability data and task references
lidge-jun Oct 3, 2026
358b8ff
Merge pull request #6518 from lidge-jun/codex/release-261003-e-identity
lidge-jun Oct 3, 2026
77ac2a9
Merge commit 'e601cefcebcc20b2e04a04821ab45df6538d98f9' into codex/cl…
lidge-jun Oct 3, 2026
a99de42
Merge pull request #6517 from lidge-jun/codex/release-261003-d
lidge-jun Oct 3, 2026
d332136
fix(codex): retain caller ownership across preview selection
lidge-jun Oct 3, 2026
80b13f8
fix(codex): cancel alternate main refresh with its caller
lidge-jun Oct 3, 2026
59ae05f
feat(cli): expose existing management workflows in help and skill
lidge-jun Oct 3, 2026
8379bdd
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 3, 2026
7e1973b
fix(combos): preserve plan-model refusal evidence through error proje…
lidge-jun Oct 3, 2026
6040865
feat(cli): add live provider lifecycle and editor workflows
lidge-jun Oct 3, 2026
7209223
test(cli): align provider parity fixtures with live receipts
lidge-jun Oct 3, 2026
728677b
feat(cli): add model ordering and routing editor workflows
lidge-jun Oct 3, 2026
e72d468
fix(combos): retain cross-envelope refusal ambiguity
lidge-jun Oct 3, 2026
06034e4
fix(codex): keep main refusal guidance and refresh diagnostics coherent
lidge-jun Oct 3, 2026
d5eccb7
test(codex): guard coherent status reads under main hard lock
lidge-jun Oct 3, 2026
dc7d20d
docs: record native account carry publication
lidge-jun Oct 3, 2026
a41f672
Merge pull request #6523 from lidge-jun/codex/release-261003-b-auth
lidge-jun Oct 3, 2026
9638c45
Merge remote-tracking branch 'origin/dev' into codex/release-261003-b…
lidge-jun Oct 3, 2026
af350a1
fix(combo): detect conflicting error fields before carrier selection
lidge-jun Oct 3, 2026
5d9016d
docs: pin combo verification to the final carry head
lidge-jun Oct 3, 2026
ab68539
Merge pull request #6527 from lidge-jun/codex/release-261003-b-combo
lidge-jun Oct 3, 2026
dd9a980
Merge pull request #6536 from lidge-jun/codex/release-261003-b-records
lidge-jun Oct 3, 2026
160961a
fix(combo): recognize bounded nested HTTP refusal carriers
lidge-jun Oct 3, 2026
c46febd
fix(spend): refuse unbooked dispatches under applicable ceilings
lidge-jun Oct 3, 2026
105ce99
feat(cli): expose account policy and runtime settings workflows
lidge-jun Oct 3, 2026
7796f5d
fix(combo): preserve hard stops across bounded error carriers
lidge-jun Oct 3, 2026
a83b3a1
docs: record scoped release stabilization and verification gates
lidge-jun Oct 3, 2026
efc20e7
Merge pull request #6538 from lidge-jun/codex/spend-capacity-guard
lidge-jun Oct 3, 2026
037dc72
merge: integrate verified existing-format capacity guard
lidge-jun Oct 3, 2026
fe73745
docs: record capacity guard landing and remaining acceptance gates
lidge-jun Oct 3, 2026
543a670
docs: revalidate CLI integration and maintenance parity plan
lidge-jun Oct 3, 2026
4d1f59d
docs: require fixed-target redirect refusal for parity commands
lidge-jun Oct 3, 2026
c8d7a0e
test(cli): align legacy login assertions with verified outcomes
lidge-jun Oct 3, 2026
1a51e53
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 3, 2026
cf4061b
Merge remote-tracking branch 'origin/dev' into codex/release-261003-b…
lidge-jun Oct 3, 2026
fa040a0
fix(combo): keep diagnostic types out of hard-stop code evidence
lidge-jun Oct 3, 2026
d7f7352
feat(cli): expose integration preview recovery and maintenance workflows
lidge-jun Oct 3, 2026
3541261
Merge pull request #6541 from lidge-jun/codex/release-stabilization-p…
lidge-jun Oct 3, 2026
9f23b1f
Merge pull request #6540 from lidge-jun/codex/release-261003-b-nested…
lidge-jun Oct 3, 2026
5da6891
docs: lock observation and explicit-key CLI workflow contracts
lidge-jun Oct 3, 2026
9351746
test: isolate release fixtures and cooperatively release child leases
lidge-jun Oct 3, 2026
095fa0f
test: retain all drain failures and prove cleanup before disposal
lidge-jun Oct 3, 2026
0818ea1
Merge pull request #6543 from lidge-jun/codex/release-261004-c-fixtur…
lidge-jun Oct 3, 2026
7acc2c0
feat(cli): complete observation and explicit-key API workflows
lidge-jun Oct 3, 2026
fda51f7
docs: plan residual read parity and final stack acceptance
lidge-jun Oct 3, 2026
20e3019
Merge commit '0818ea1812a028e1c14cd0b0511b44863407bc52' into codex/cl…
lidge-jun Oct 3, 2026
6579f1e
test: compact layout bookkeeping without changing expectations
lidge-jun Oct 3, 2026
746eddc
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 3, 2026
f1b3a36
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 3, 2026
85e6770
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 3, 2026
28d38da
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 3, 2026
543c1c3
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 3, 2026
70de532
feat(cli): close filtered observation and per-key quota gaps
lidge-jun Oct 3, 2026
023cc8b
fix(cli): preserve actionable snapshot target recovery
lidge-jun Oct 3, 2026
8e0ced3
docs: bind task acceptance to source and executed evidence
lidge-jun Oct 3, 2026
db9997a
docs: preserve union spellings in rendered planning tables
lidge-jun Oct 3, 2026
ac6e1b3
fix(cli): validate explicit local provider auth overrides before save
lidge-jun Oct 3, 2026
8b55e44
fix(cli): expose nested help and preserve generated option tables
lidge-jun Oct 3, 2026
2b1f256
docs: record acceptance review repairs and remaining proof
lidge-jun Oct 3, 2026
37075e9
fix(cli): preserve failed provider connectivity exit status
lidge-jun Oct 3, 2026
3d7ebe7
fix(cli): expose nested help and preserve generated option tables
lidge-jun Oct 3, 2026
d14df99
docs: preserve union spellings in rendered planning tables
lidge-jun Oct 3, 2026
0d670ab
docs(cli): regenerate readable help tables and correct usage aliases
lidge-jun Oct 3, 2026
99a1729
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 3, 2026
d07abbd
fix(cli): validate explicit local provider auth overrides before save
lidge-jun Oct 3, 2026
991110d
fix(cli): preserve failed provider connectivity exit status
lidge-jun Oct 3, 2026
0b0f090
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 3, 2026
901c557
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 3, 2026
deead72
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 3, 2026
49b0f34
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 3, 2026
776aca7
docs: complete independently reviewed CLI task acceptance
lidge-jun Oct 3, 2026
16f27e2
docs: archive accepted CLI parity unit for final publication checks
lidge-jun Oct 3, 2026
2ae75ee
test(cli): include companion usage in the route-filter roster
lidge-jun Oct 3, 2026
9ff8637
fix(cli): reject stale companion timeline windows
lidge-jun Oct 3, 2026
87e3156
chore(release): open dev at 2.78.0 before releasing 2.77.0 (#6549)
github-actions[bot] Oct 4, 2026
5965256
docs: record 2.77.0 candidate acceptance and publication (#6561)
lidge-jun Oct 4, 2026
f85925d
fix(server): promote scoped caller conversation headers (#6554)
lidge-jun Oct 4, 2026
be297a5
fix(devin): retain bounded conversation trajectories (#6557)
lidge-jun Oct 4, 2026
df3dd3f
fix(claude): preserve bounded large headers in picker relay (#6551)
lidge-jun Oct 4, 2026
7edad58
fix(devin): qualify child trajectories by supplied parent (#6565)
lidge-jun Oct 4, 2026
16d5dae
fix(responses): share reset replay grants across translated sends (#6…
lidge-jun Oct 4, 2026
eb66133
docs: plan focused Claude request preservation replacements
lidge-jun Oct 4, 2026
17632e3
fix(anthropic): preserve declared native OAuth tool references
lidge-jun Oct 4, 2026
0c01d51
fix(anthropic): retain narrowed typed block during copy-on-write
lidge-jun Oct 4, 2026
221b7dc
fix(anthropic): retain required beta for inline tool changes
lidge-jun Oct 4, 2026
124c85e
docs: clarify native OAuth scope and repair roadmap formatting
lidge-jun Oct 4, 2026
0455845
Merge pull request #6552 from lidge-jun/codex/next-release-261004-cla…
lidge-jun Oct 4, 2026
d13c144
fix(anthropic): retain native client preambles and feature betas
lidge-jun Oct 4, 2026
a0c3f3a
fix(anthropic): preserve native Messages through pooled dispatch
lidge-jun Oct 4, 2026
26dd8cf
Merge pull request #6559 from lidge-jun/codex/next-release-261004-cla…
lidge-jun Oct 4, 2026
33125e6
feat(anthropic): add native pool preference with explicit opt-out pre…
lidge-jun Oct 4, 2026
3ee6137
fix(codex): require saved config authority for routed catalog removal
lidge-jun Oct 4, 2026
d5f9c39
fix(codex): require combo authority for routed aliases
lidge-jun Oct 4, 2026
9289396
Merge pull request #6553 from lidge-jun/codex/next-release-261004-cat…
lidge-jun Oct 4, 2026
8094078
fix(codex): bind catalog writes to home ownership and intent
lidge-jun Oct 4, 2026
3d8bc39
test(codex): keep client guard scenarios reachable after owner admission
lidge-jun Oct 4, 2026
37d0a22
fix(codex): enforce ownership at journal writer entrypoints
lidge-jun Oct 4, 2026
f74a3db
Merge pull request #6558 from lidge-jun/codex/next-release-261004-cat…
lidge-jun Oct 4, 2026
950a5f7
feat(codex): audit catalog writes with bounded private records
lidge-jun Oct 4, 2026
e57243a
fix(codex): harden fresh Windows audit files before diagnostics
lidge-jun Oct 4, 2026
9cc0357
docs: state the deferred Windows audit stream coverage
lidge-jun Oct 4, 2026
8aff79e
Merge pull request #6560 from lidge-jun/codex/next-release-261004-cat…
lidge-jun Oct 4, 2026
68ca3bf
feat(codex): heal lost catalog rows only from the idle owner
lidge-jun Oct 4, 2026
98a9fc8
fix(codex): observe startup catalog promptly and fence path aliases
lidge-jun Oct 4, 2026
5bd1d55
test(cli): follow catalog observation readiness forwarding
lidge-jun Oct 4, 2026
89f5ef8
fix(codex): accept owner publications while heal writes are gated
lidge-jun Oct 4, 2026
33185c2
Merge pull request #6563 from lidge-jun/codex/next-release-261004-cat…
lidge-jun Oct 4, 2026
a6bc608
feat(gui): icon theme switch sharing a row with the zoom stepper (#6579)
lidge-jun Oct 4, 2026
584b92a
test(layout): compact test-layout fixture to restore ratchet headroom…
lidge-jun Oct 4, 2026
50482e2
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
3a0558e
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
922485b
fix(cli): surface catalog-owner safety refusals in provider add --sync
lidge-jun Oct 4, 2026
7bad34a
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
bfa4d0b
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
a78321e
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
85aaeaf
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
dcd630e
fix(cli): accept the nativeMessages pool capability from refreshed dev
lidge-jun Oct 4, 2026
cb0cd76
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
9894ea7
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
9950cd8
fix(cli): keep the pool-save bookkeeping warning from refreshed dev
lidge-jun Oct 4, 2026
fad6f66
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
146994d
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
9096934
fix(ollama): preserve additional tool outputs during replay (#6576)
Ingwannu Oct 4, 2026
1b3ecb8
test: make provider proxy fixture DNS and child lifetime deterministi…
Hylouis233 Oct 4, 2026
a0ea6d3
test(clients): guard Kilo symlink regression on Windows (#6405)
imranshaiedi-byte Oct 4, 2026
6e5cf45
fix(chatgpt): say why a dropped chatgptDesktop block reads as off (#6…
lcxhh521 Oct 4, 2026
815b1f6
feat(service): name the holder when the runtime mutation lease is bus…
lcxhh521 Oct 4, 2026
6467207
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
598b5c8
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
dd646e4
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
4fc2914
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
292535a
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
69e42d1
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
2dd3f82
fix(codex): honor consented credits after included quota exhaustion (…
Ingwannu Oct 4, 2026
dabaed4
fix(cli): default config flags-only calls to show (carry #6483) (#6585)
lidge-jun Oct 4, 2026
4bcd561
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
c08bbca
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
8a6dc57
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
95868c7
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
ea4b1c6
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
7b1b7a4
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
989bb24
fix(oauth): release Anthropic refresh intent after a proven-unsent DN…
lidge-jun Oct 4, 2026
df61d03
fix(combos): report the spent primary, not the fallback's own refusal…
vadymhimself Oct 4, 2026
c560b81
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
e3ff9fd
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
3953f11
fix(codex): skip non-executable POSIX PATH entries in readiness check…
hulkbig Oct 4, 2026
1909deb
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
697cc9e
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
7114851
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
7d23f8a
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
8d2ccf9
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
f812563
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
3e6035d
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
b6cd273
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
6f8943e
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
e950893
chore(test-layout): compact this layer's own layout entries
lidge-jun Oct 4, 2026
de0361e
fix(droid): preserve reasoning defaults after settings normalization …
shawn-kim-ai Oct 4, 2026
accd694
fix(server): wait for a complete Bun before restarting onto a replace…
LilMGenius Oct 4, 2026
270c33c
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
24ca58e
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
adf8574
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
04a639e
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
b63ced6
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
b9b6b53
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
01a9923
feat(gui): group the sidebar into eight rows and tidy the Claude surf…
lidge-jun Oct 4, 2026
907c6f4
fix(codex): keep Unix autostart shims off package-manager paths (carr…
lidge-jun Oct 4, 2026
de7c7bb
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
c28c84e
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
604044d
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
a5d3554
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
5e829cc
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
e468022
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
7cf1b76
fix(cli): guard standalone update restart with exact replacement veri…
lidge-jun Oct 4, 2026
c4b02a2
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
8ba53fe
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
2f1993c
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
4491ef7
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
fcbdc06
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
31ded57
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
69ce37c
fix(integrations): write DSH routes to the Desktop profile patch it r…
lcxhh521 Oct 4, 2026
e65d30c
Merge remote-tracking branch 'origin/dev' into codex/cli-parity-found…
lidge-jun Oct 4, 2026
637f26a
Merge branch 'codex/cli-parity-foundation' into codex/cli-parity-prov…
lidge-jun Oct 4, 2026
e36d125
Merge branch 'codex/cli-parity-providers' into codex/cli-parity-model…
lidge-jun Oct 4, 2026
a8d2d65
Merge branch 'codex/cli-parity-models-routing' into codex/cli-parity-…
lidge-jun Oct 4, 2026
1b4df42
Merge branch 'codex/cli-parity-accounts-settings' into codex/cli-pari…
lidge-jun Oct 4, 2026
e4504e4
docs(structure): keep clients/integrations.md within its 600-line budget
lidge-jun Oct 4, 2026
f108061
fix(cli): accept the DSH profile-patch plan path from refreshed dev
lidge-jun Oct 4, 2026
1ae0faa
Merge branch 'codex/cli-parity-integrations-maintenance' into codex/c…
lidge-jun Oct 4, 2026
5c645e3
feat(cli): make existing management workflows discoverable (#6526)
lidge-jun Oct 4, 2026
275dc63
Merge dev after the #6526 squash (tree unchanged)
lidge-jun Oct 4, 2026
432bc4d
Merge cli-parity-providers after the dev sync (tree unchanged)
lidge-jun Oct 4, 2026
dcdaf13
Merge cli-parity-models-routing after the dev sync (tree unchanged)
lidge-jun Oct 4, 2026
b55fe09
Merge cli-parity-accounts-settings after the dev sync (tree unchanged)
lidge-jun Oct 4, 2026
5dc1ad1
Merge cli-parity-integrations-maintenance after the dev sync (tree un…
lidge-jun Oct 4, 2026
a8d8562
Merge pull request #6528 from lidge-jun/codex/cli-parity-providers
lidge-jun Oct 4, 2026
4cc48d9
Merge pull request #6535 from lidge-jun/codex/cli-parity-models-routing
lidge-jun Oct 4, 2026
79db47c
Merge pull request #6539 from lidge-jun/codex/cli-parity-accounts-set…
lidge-jun Oct 4, 2026
f14e3a3
Merge pull request #6542 from lidge-jun/codex/cli-parity-integrations…
lidge-jun Oct 4, 2026
dadc232
Merge pull request #6545 from lidge-jun/codex/cli-parity-observation-api
lidge-jun Oct 4, 2026
164786a
test(cli): make audio device refusal and login child import portable …
lidge-jun Oct 4, 2026
c22aba6
feat(gui): one-page Claude Code settings and Desktop model roles (#6596)
lidge-jun Oct 4, 2026
8ef6ad9
test(oauth): make the startup-proxy refresh test hold on Windows (#6600)
lidge-jun Oct 4, 2026
e53c807
test: make catalog audit and provider proxy fixture robust on Windows…
lidge-jun Oct 4, 2026
829a18b
docs(devlog): close the CLI update restart unit with its delivery out…
lidge-jun Oct 5, 2026
e023835
feat(integrations): show the missing-store remedy in the dashboard (#…
lcxhh521 Oct 5, 2026
8431189
fix(cli): explain Codex shim overlay migration and activation in stat…
lidge-jun Oct 5, 2026
29f8a38
fix(cli): show account health actions, paid-credit consent, and empty…
lidge-jun Oct 5, 2026
a055b67
fix(cli): correct help and CLI reference text and show declared flags…
lidge-jun Oct 5, 2026
f89e42a
fix(update): stop-first manual reinstall guidance; refresh shim, upda…
lidge-jun Oct 5, 2026
fe09557
fix(management): keep inference ports independent of management ingre…
Ingwannu Oct 5, 2026
e44cada
fix(responses): normalize native upstream session aliases (#6588)
Yuxin-Qiao Oct 5, 2026
33ec795
fix(gui): short sidebars, Claude sidecar rows, Save errors and legacy…
lidge-jun Oct 5, 2026
e9d5908
docs: sync Connect, Claude settings and DSH profile-patch guides with…
lidge-jun Oct 5, 2026
10d063b
fix(test): keep armed test processes out of the real Codex home (#6591)
lcxhh521 Oct 5, 2026
aa10846
fix(claude): serve the Desktop picker over HTTP/2 so SSE streams cann…
lidge-jun Oct 5, 2026
96f0a21
fix(cli): stop echoing values in claude desktop apply argument errors…
lidge-jun Oct 5, 2026
6af4ef4
fix(gui): keep Claude Desktop role selects inside the Models card (#6…
lidge-jun Oct 5, 2026
4a7d96e
fix(gui): integration dialog starts on Close; client status failure o…
lidge-jun Oct 5, 2026
b8d0302
fix(cli): name ocx start when integration preview finds no running pr…
lidge-jun Oct 5, 2026
62fa24d
fix(cli): reject arguments to uninstall and redact credential values …
lidge-jun Oct 5, 2026
f9e3678
fix(cli): honest exit codes and JSON receipts for config, alias, heal…
lidge-jun Oct 5, 2026
0511f45
fix(cli): name the real cause and next action in restart, update, and…
lidge-jun Oct 5, 2026
2eee777
Merge preview into 2.78.0-preview.20261005 promotion
lidge-jun Oct 5, 2026
6f1a571
chore(release): 2.78.0-preview.20261005
lidge-jun Oct 5, 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
  •  
  •  
  •  
21 changes: 11 additions & 10 deletions bin/ocx.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import {
} from "../src/update/npm-cache-preflight.mjs";
import { handoffWindowsTrayForUpdate, planWindowsTrayUpdate } from "../src/update/tray-update-plan.mjs";
import { bootRestoreProbe, launcherUsableAfterNpmUpdate, transactionalNpmUpdate } from "../src/update/transactional-install.mjs";
import { npmUpdateFailureGuidance } from "../src/update/update-failure-guidance.mjs";
import { manualUpdateFailureGuidance, npmUpdateFailureGuidance } from "../src/update/update-failure-guidance.mjs";
import {
CODEX_CLI_VERSION_MANAGER_ROOT_ENV_SLOTS,
isCodexCliUpdateInspectionArgv,
Expand Down Expand Up @@ -816,14 +816,11 @@ function runPackageManagerSelfUpdate(manager) {
// legacy in-place install (which deletes live first) is exactly the wrong rescue —
// it recreates the #1849 destruction path. Report and stop; the boot probe and the
// recovery marker cover the swap-window states.
const manual = manager === "pnpm"
? `pnpm add -g --allow-build=bun ${PKG}@${tag}`
: `npm install -g --allow-scripts=bun ${PKG}@${tag}`;
// An unexpected exception leaves the active package path unproven for either manager.
// Do not run service/tray/proxy recovery through a possibly half-swapped tree.
postUpdateLauncherUsable = false;
console.error(`opencodex: ${manager} update failed unexpectedly (${error?.message ?? error}). ` +
`The live install was not knowingly modified; run 'ocx update' again or reinstall with ${manual}.`);
`Run 'ocx update' again or follow the manual recovery steps below.`);
res = { status: 1 };
}
if (res.status !== 0) recoverStoppedRuntimeAfterFailure("update failed");
Expand Down Expand Up @@ -861,13 +858,17 @@ function runPackageManagerSelfUpdate(manager) {
// Phase-specific next step (#5624): whether the previous version is still in place decides
// between "retry" and "restore", and a bare reinstall must follow a stop (#5496).
const guidance = npmUpdateFailureGuidance({ ...npmFailure, pkgName: PKG, version: latest || undefined, tag });
console.error(`\nUpdate failed (npm ${npmFailure.phase}). ${guidance.lines.join(" ")}`);
console.error(`\nUpdate failed (npm ${npmFailure.phase}). ${guidance.lines.join("\n")}`);
process.exit(1);
}
const manual = manager === "pnpm"
? `pnpm add -g --allow-build=bun ${PKG}@${tag}`
: `npm install -g --allow-scripts=bun ${PKG}@${tag}`;
console.error(`\nUpdate failed (${manager} exit ${res.status ?? "?"}). Try manually: ${manual}`);
const guidance = manualUpdateFailureGuidance({
bin: manager,
args: manager === "pnpm"
? ["add", "-g", "--allow-build=bun", `${PKG}@${latest || tag}`]
: ["install", "-g", "--allow-scripts=bun", `${PKG}@${latest || tag}`],
owner,
});
console.error(`\nUpdate failed (${manager} exit ${res.status ?? "?"}). ${guidance.join("\n")}`);
process.exit(1);
}

Expand Down
3 changes: 2 additions & 1 deletion desktop/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "opencodex-desktop"
version = "2.76.0-preview.20261003"
version = "2.78.0-preview.20261005"
description = "OpenCodex desktop shell"
authors = ["OpenCodex contributors"]
license = "MIT"
Expand Down Expand Up @@ -38,6 +38,10 @@ tokio = { version = "=1.45.1", features = ["sync", "time"] }
[target.'cfg(target_os = "linux")'.dependencies]
dbus = "=0.9.12"

# Already present in the lock graph; only Windows writes its quoted Run command.
[target.'cfg(target_os = "windows")'.dependencies]
winreg = "=0.55.0"

[profile.release]
codegen-units = 1
lto = "thin"
Expand Down
9 changes: 7 additions & 2 deletions desktop/src-tauri/src/first_run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ use tauri_plugin_autostart::ManagerExt;
const MARKER: &str = "start-at-login-claimed";

/// Marker file recording that the login item names the launch-origin argument.
#[cfg(not(target_os = "windows"))]
const ORIGIN_MARKER: &str = "start-at-login-origin-flag";

// Windows must revisit registrations claimed by the earlier, unquoted writer.
#[cfg(target_os = "windows")]
const ORIGIN_MARKER: &str = "start-at-login-quoted-origin-flag";

/// What the one-time Start at Login decision did on this launch.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum StartAtLogin {
Expand Down Expand Up @@ -63,7 +68,7 @@ pub fn apply_start_at_login_default(app: &AppHandle) -> StartAtLogin {
if app.autolaunch().is_enabled().unwrap_or(false) {
return StartAtLogin::AlreadyDecided;
}
match app.autolaunch().enable() {
match crate::login_autostart::enable(app) {
Ok(()) => StartAtLogin::Enabled,
Err(_) => StartAtLogin::Unavailable,
}
Expand Down Expand Up @@ -99,7 +104,7 @@ pub fn adopt_launch_origin_argument(app: &AppHandle) {
// leave a login launch showing its window forever.
match app.autolaunch().is_enabled() {
Ok(true) => {
if app.autolaunch().enable().is_err() {
if crate::login_autostart::enable(app).is_err() {
return;
}
}
Expand Down
3 changes: 3 additions & 0 deletions desktop/src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ mod first_run;
mod formatting;
mod identity;
mod logging;
mod login_autostart;
#[cfg(any(target_os = "windows", test))]
mod windows_autostart_command;
// macOS only: it exists to replace one item in a menu no other platform installs. Compiling it
// elsewhere would leave its contents unreachable, which -D warnings rejects.
#[cfg(target_os = "macos")]
Expand Down
45 changes: 45 additions & 0 deletions desktop/src-tauri/src/login_autostart.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
use tauri::AppHandle;

/// All shell-owned enables use this entry point; the plugin still owns status and disable.
#[cfg(not(target_os = "windows"))]
pub fn enable(app: &AppHandle) -> Result<(), String> {
use tauri_plugin_autostart::ManagerExt;
app.autolaunch().enable().map_err(|error| error.to_string())
}

#[cfg(target_os = "windows")]
pub fn enable(app: &AppHandle) -> Result<(), String> {
use winreg::enums::{HKEY_CURRENT_USER, KEY_SET_VALUE, REG_BINARY};
use winreg::{RegKey, RegValue};

let executable = std::env::current_exe().map_err(|error| error.to_string())?;
let executable = executable
.to_str()
.ok_or("autostart executable path is not Unicode")?;
let command =
crate::windows_autostart_command::command(executable, crate::startup::AUTOSTART_FLAG)?;
let name = &app.package_info().name;
let hkcu = RegKey::predef(HKEY_CURRENT_USER);
hkcu.open_subkey_with_flags(
r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
KEY_SET_VALUE,
)
.and_then(|key| key.set_value(name, &command))
.map_err(|error| error.to_string())?;

// Match the plugin's explicit-enable behavior when Task Manager has an override.
if let Ok(key) = hkcu.open_subkey_with_flags(
r"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run",
KEY_SET_VALUE,
) {
key.set_raw_value(
name,
&RegValue {
vtype: REG_BINARY,
bytes: vec![2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
},
)
.map_err(|error| error.to_string())?;
}
Ok(())
}
2 changes: 1 addition & 1 deletion desktop/src-tauri/src/tray.rs
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ pub fn install(app: &AppHandle) -> tauri::Result<()> {
if enabled {
let _ = app.autolaunch().disable();
} else {
let _ = app.autolaunch().enable();
let _ = crate::login_autostart::enable(app);
}
}
"stop-proxy" => {
Expand Down
41 changes: 41 additions & 0 deletions desktop/src-tauri/src/windows_autostart_command.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/// Build the Run value without letting spaces split the executable path.
pub fn command(executable: &str, argument: &str) -> Result<String, &'static str> {
if executable.is_empty() || executable.contains(['"', '\0']) {
return Err("invalid executable path for Windows autostart");
}
Ok(format!("\"{executable}\" {argument}"))
}

#[cfg(test)]
mod tests {
use super::command;

#[test]
fn quotes_program_files_path_and_keeps_launch_origin() {
assert_eq!(
command(
r"C:\Program Files\OpenCodex\opencodex-desktop.exe",
"--autostart"
)
.unwrap(),
r#""C:\Program Files\OpenCodex\opencodex-desktop.exe" --autostart"#
);
}

#[test]
fn quotes_paths_without_spaces_and_preserves_unicode() {
for path in [r"C:\OpenCodex\app.exe", r"C:\用户\OpenCodex\app.exe"] {
assert_eq!(
command(path, "--autostart").unwrap(),
format!("\"{path}\" --autostart")
);
}
}

#[test]
fn rejects_paths_that_cannot_be_represented_in_a_run_command() {
for path in ["", "bad\"path.exe", "bad\0path.exe"] {
assert!(command(path, "--autostart").is_err());
}
}
}
2 changes: 1 addition & 1 deletion desktop/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenCodex",
"version": "2.76.0-preview.20261003",
"version": "2.78.0-preview.20261005",
"identifier": "com.opencodex.desktop",
"build": {
"frontendDist": "../ui",
Expand Down
49 changes: 49 additions & 0 deletions devlog/_fin/261003_antigravity_effort_families/000_plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Antigravity discovered effort families

New Claude 5.5 Opus and Sonnet tiers currently appear as separate models because discovery only collapses families listed in the bundled catalog. This unit makes complete discovered low/medium/high families one model with selectable effort, including future versions, while preserving explicit suffix requests.

- Class: C3, one cohesive PABCD work-phase (wp1); satisfy-spec.
- Trigger/goal: group the new Antigravity models and retain grouping during automatic refresh; publish and merge one ordinary PR into dev.
- Non-goals: upstream API invention, authentication changes, release, deployment, running-service restart, unrelated UI changes.
- Scope: current managed worktree; existing GitHub identity for authorized PR publication/integration. No user token/cost/wall-clock cap was set.
- Verifiers: focused parser/wire/catalog/new-model-policy regressions, typecheck, structure/privacy/layout gates, docs build, exact-head hosted CI and merge receipt. Existing wire baseline: 61 pass, 0 fail (`bun test tests/adapters/google/google-antigravity-wire.test.ts`). Tests name source arguments directly; typecheck includes src through tsconfig; Bun executes the targeted test files.
- Stop: implementation and independent review complete, relevant checks green, PR merged into dev. DONE needs these proofs; unresolved external checks remain unmet, never passed by assumption.
- Evidence: this unit and local .codexclaw receipts. Escalate only new authority or genuine unresolved design blockers.

## Findings and decisions

`src/providers/antigravity-models.ts:127` and `:207` require a bundled picker ID before recognizing a full suffix family. `src/codex/catalog/provider-models.ts:756` then publishes an empty effort ladder for newly discovered models even when their wire map is exact. Existing base-URL scoped discovery mappings already route effort and are generation-fenced.

Reuse those owners. No new provider registry version list or GUI grouping implementation is needed. Saved suffix IDs remain wire-authoritative. Incomplete ladders stay directly routable; unknown single-wire/tiered semantics remain unknown. Existing explicit configuration overrides retain precedence.

## Consultation

Architect proposal/reflection pending from handle 01a10104-3fca-79a2-8f9c-a410eb64d57e (V1 logical read-only architect, inherited model). Main owns integration; independent reviewer will audit the final plan before implementation.

Architect D01/D02/D03/D05/D06 accepted. D04 amended: carry exact discovered family evidence with CatalogModel; normalize only discovery baseline and base disabled state through the existing reconciliation/persistence path. Keep provider selectedModels unchanged; a read-only shared visibility projection recognizes selected suffixes. Preserve raw default/combo references. No provider configuration migration or extra persistence surface. All-disabled suffixes transfer disabled status once; any enabled known suffix preserves an enabled base. A previously known base and explicit base disable win on later refreshes.

Reflection: D01/D02/D03/D05/D06 ALIGNED; D04 gap (retained suffix IDs reappearing as new arrivals) folded into final plan by normalizing both policy input and baseline. Same architect recheck requested; no implementation before resolution and independent A audit.

Final same-architect reflection: ALIGNED for D01-D06, no remaining material design gap. Baseline additionally passed typecheck and 29 listing/policy tests. Proceed to independent A audit.

A round 1: FAIL, one accepted blocker: final merge independently filters raw selectedModels. Added retained-sync and convergence consumers and final-merge regression. No other material design blocker. Same reviewer re-audit requested.

## Build and verification

Implemented the audited plan. A bounded worker owned the family helper/policy/tests; main integrated parser, catalog, both final-merge selection callers and management projection. Discovery tests first failed 8/8 on the original source and passed after the fix. Existing future-family expectations were updated to assert the requested grouping. OpenCodex's existing synthetic ultra orchestration level remains separate from upstream low/medium/high; no unsupported synthetic max is added to the discovered ladder by default.

Focused verification: 43 isolated test files, 830 pass / 0 fail, covering all Google adapter tests, family/policy/persistence, management and final merge, layout, file-size and optional-Lab import boundaries. The initial combined-process run had 803 pass / 2 fail: new test names disagreed with seed ownership (fixed by provider-prefixed names); an unchanged gemini-web-search mock replaced the listing test's OAuth token across files (each file passes in its own process). Full local suite is disproportionate for this bounded catalog change and shared workstation; repository resource exception uses these affected regressions, with full platform coverage left to exact-head hosted CI. Local logs stay in ignored scratch.

Typecheck passed. Docs build passed (561 pages and 77,923 internal links). Structure and privacy scans passed. Structure catalog was already at its 600-line budget, so the shared family contract lives in providers-and-adapters with a link from the existing catalog paragraph.

## Reviewed implementation outcome

Independent implementation reviewer checked commit `916bd9d600723375c3c5667f4fe7b085af962c4d`, found no concrete regression, and independently ran all 28 new family tests with zero failures. The parser, cache, compatibility, policy projection, both final merge filters, and public list callers are covered. No live upstream model request was made; tests exercise the supplied wire-ID contract with controlled CCA discovery fixtures.

Implementation is complete and published in PR #6501: https://github.com/lidge-jun/opencodex/pull/6501. The PR's live Verification section carries the final hosted-CI and authorized maintainer-integration receipt. Final goal completion additionally requires that exact-head gate and verified dev merge; neither publication nor this archived implementation record claims those external steps already passed.

## External-review corrections

The initial PR head passed hosted CI, but external review found a restart/outage defect that the in-memory tests missed. Accepted and corrected: a bounded exact-family snapshot now precedes synthetic catalog publication, restores routing after restart, and cannot revive after generation invalidation or an authoritative empty/partial replacement. Private no-follow atomic replacement and destination hashes keep URLs and credentials out of the snapshot. Write failure retains prior coherent discovery state. Overlapping family identities are preserved in public rows, policy and original-only selection projection.

The same architect confirmed the revised D05 design ALIGNED. Independent code/security re-review closed both findings and passed 35 then-current focused tests. Main subsequently added two boundary assertions and confirmed 839 tests across 44 affected files (per-file isolation plus the final focused additions), with typecheck and structure checks passing. Restart tests use separate processes and the actual Google adapter while discovery throws, including each tier, medium default, corruption, size bounds, destination/home separation, tombstones and write-failure publication. Process restart is verified; power-loss durability is not claimed. Final updated-head hosted CI and merge receipt remain in the PR's Verification section.
Loading
Loading