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.md without 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.0 config providers --descriptors returns Unknown option --descriptors and the plain payload carries no descriptor key, so the whole path is dormant and the page degrades to enable/disable, set-api-key and 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; extend codexbar config first. 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.details rows 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 one cost payload, so it must never add a CLI call. historyCoverageIsEstablished drives the "still collecting" note; a missing flag means established.
  • Quota warning thresholds are configurable through quotaWarningPercent and quotaCriticalPercent, bounded by contents/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; limitResetArmThreshold is a separate reset-detection knob and is deliberately not tied to the warning step.
  • Local Agent Sessions are consumed through codexbar sessions --json-v2 in 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 runOut display mode shows the predicted duration only while the CLI pace forecast reports exhaustion before the reset; keep it tied to paceWarningActive instead of the percent used. The macOS weekly reserve token is the remaining panel-presentation gap.
  • Translations: gettext template extraction is in place. Add real .po catalogs, compiled catalog packaging, and translator contribution docs when localization work starts.
  • Predictive pace warnings are opt-in and consume the CLI pace forecast; 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.