TODO.md
TODO
Parity baseline: docs/research/2026-08-16-macos-parity-0.50.0.md, pinned to
upstream v0.50.0 and probed against the installed CLI 0.50.0.
- Provider-specific editable settings: the Providers page renders generic
fields/actions from
docs/cli-provider-settings-descriptor.mdwithout provider-specific QML branches. Declared coverage includes source mode, API key, cookie source/manual cookie, enterprise/base URL, workspace/project ID, region, AWS profile/auth mode, and boolean extras. That descriptor is still a proposal: on CLI 0.50.0config providers --descriptorsreturnsUnknown option --descriptorsand the plain payload carries nodescriptorkey, so the whole path is dormant and the page degrades to enable/disable,set-api-keyand docs/dashboard/login links. Keep that fallback working. Missing controls once the CLI ships the contract include token-account add/edit/remove, provider-specific auth mode nuances, organization/team editors, provider metric pickers, and quota thresholds. Do not duplicate macOS Swift provider settings logic in QML; extendcodexbar configfirst. IBM Bob can use the existing single-key command, but its token-account editing and the required Fireworks account slug still need generic CLI field/actions. - Provider onboarding parity: descriptor-backed dashboard actions are supported, and legacy login/account/dashboard/docs links remain as fallbacks. Add safer setup actions for providers that need browser-cookie import, local app files, OAuth/device-flow handoff, CLI-auth setup, or token-account workflows when the CLI can describe and execute those actions in JSON.
- Dashboard extras: the widget now surfaces the generic CodexBar 0.48.1
usage.detailsrows and bounded bar/line charts, with legacy KPI/summary payloads retained as a compatibility fallback. Add richer sections only when the CLI extends that stable presentation contract. Missing examples include billing summaries, usage breakdowns, credits history, and richer provider-specific model/request/token sections. - Cost history plots either cost or tokens through
costHistoryMetric; the selector drives the range chart, the heatmap, and the per-provider bars from onecostpayload, so it must never add a CLI call.historyCoverageIsEstablisheddrives the "still collecting" note; a missing flag means established. - Quota warning thresholds are configurable through
quotaWarningPercentandquotaCriticalPercent, bounded bycontents/ui/QuotaThresholds.js, and drive both the notification level and the usage-bar markers. Per-provider thresholds stay blocked on the CLI descriptor. Do not reintroduce literal percentages at a call site;limitResetArmThresholdis a separate reset-detection knob and is deliberately not tied to the warning step. - Local Agent Sessions are consumed through
codexbar sessions --json-v2in a bounded, refreshable global tab. Only safe display fields are normalized;cwd,transcriptPath, IDs, and PIDs are neither retained nor rendered. Remote/SSH host focus stays macOS-only. - Existing detail and cost charts now support hover, click selection, and keyboard inspection. The global Usage & Spend tab adds 7/30/90-day cost ranges and a bounded activity heatmap. Credits history, plan-utilization history, and session-equivalent forecasts still need stable CLI history payloads; do not infer history from one snapshot.
- Panel element composition now has a persisted, sanitized order for identity,
status, usage text, and provider meters. Visibility remains controlled by the
existing Plasma-native display settings. The
runOutdisplay mode shows the predicted duration only while the CLI pace forecast reports exhaustion before the reset; keep it tied topaceWarningActiveinstead of the percent used. The macOS weekly reserve token is the remaining panel-presentation gap. - Translations: gettext template extraction is in place. Add real
.pocatalogs, compiled catalog packaging, and translator contribution docs when localization work starts. - Predictive pace warnings are opt-in and consume the CLI
paceforecast; they silently prime the current state and notify only on a new projected exhaustion. Consider reset-imminent notifications only if they remain quiet, configurable, and tied to clear state transitions. - Provider drift checks: the Plasma fallback catalog covers all 69 provider IDs
released in CodexBar v0.49.1 and re-verified on 0.50.0, while retaining
fork-only compatibility assets.
When upstream releases providers, sync provider keys, CLI aliases, titles,
colors, docs/dashboard/login URLs, icon assets, and
scripts/test_provider_icons.sh. - Plasma release channel: the GitHub Release updater is in place. If the widget is published through KDE Store, prefer KDE Store/KNewStuff/Discover for that channel instead of inventing a parallel updater.
- Platform-specific non-goals: do not port macOS-only surfaces directly (WidgetKit, Sparkle, Keychain/Full Disk Access UI). Add only Plasma/Linux equivalents that provide real value and keep provider/auth logic in the CLI.