Added
- CLI: add
--perf-trace/--perf-trace-path/ORACLE_PERF_TRACEstartup timing traces and lazy-load heavy browser/provider/runtime modules to reduce time-to-first-output. - API: add
--allow-partial/--partial okfor multi-model runs so advisory panels can exit 0 when at least one model succeeds, while still listing saved outputs and a JSON output manifest before failures. - API: classify common provider failures in multi-model summaries and metadata, including auth, expired keys, quota, rate limits, and unavailable models, with secret-safe recovery hints.
- API: add root
--preflightprovider readiness checks and packed CLI help smoke coverage so stale installed help is caught before release. - Sessions: print and persist a compact lifecycle block showing foreground/background execution, detach state, model count, and reattach command.
- Docs: add
oracle docs check/pnpm docs:checkto catch documented flags that are missing from Commander help metadata. - Docs: document provider preflight, route diagnostics, partial multi-model recovery, and output manifest workflows in README/provider docs.
- API: add
--provider openai/--no-azureto force first-party OpenAI when Azure env/config is present, addoracle doctor --providersand--routeredacted route diagnostics, keep provider-qualified model IDs on OpenRouter/proxy routes instead of accidental Azure/native routes, and fail early when Azure routing lacks a deployment. - Browser/MCP: add opt-in ZIP formatting for bundled browser uploads with
--browser-bundle-format zip/browserBundleFormat: "zip", preserving individual file names in one ChatGPT attachment.
Fixed
- CLI: make missing-prompt help exit nonzero, reject
--dry-run --renderlike--dry-run --render-markdown, and terminate promptly with code 130 on SIGINT. - API: parse duration-style
--timeoutvalues such as10m, derive the HTTP transport timeout and stale-session cutoff from explicit overall timeouts, and warn when an explicit shorter--http-timeoutcan fail first. - Browser: select thinking effort from the currently checked ChatGPT model row so Pro Extended runs do not fall back to the Thinking row's effort control.
- Browser: record ChatGPT model-selection evidence in session metadata and CLI output so Pro browser runs show the selected model proof (#195). Thanks @pdurlej!
- Browser: target ChatGPT's renamed bare Pro picker row for Pro browser runs while keeping older Pro CLI aliases mapped to the current browser target (#190, fixes #182). Thanks @jungdaesuh!
- Browser: recognize current ChatGPT attachment chips without treating stale page-level chips as ready, and keep the longer send-button wait scoped to attachment uploads (#192). Thanks @li-aolong!