Skip to content

v0.8.59 execution roadmap: promoted provider, sub-agent, workflow, docs, and localization work #3098

@Hmbown

Description

@Hmbown

Problem

The v0.8.59 release line now includes work that was originally staged for v0.8.60: provider/model correctness, sub-agent architecture, WhaleFlow workflow authoring, README/site localization, and broader cleanup. Without an execution roadmap, this turns into a flat backlog where an agent can spend time on the wrong layer or accidentally start several heavy sub-agent/workflow changes before the current TUI reliability problems are contained.

This issue is the execution roadmap for the promoted v0.8.59 push.

Promotion note

On 2026-06-11, the open v0.8.60 issues were promoted to v0.8.59 and retitled where they had an explicit v0.8.60 prefix:

This promotion does not mean every item is an equal release blocker. It means the v0.8.59 agent plan should pull these capability foundations forward and execute them in a sane order.

Operating rules for implementation agents

Roadmap

Track 0: Contain current v0.8.59 reliability and TUI breakage

Goal: make the app stop feeling stuck, misleading, or computer-heavy during normal usage.

Primary issues:

Exit criteria:

  • Long provider waits show actionable state, timeout, cancel, retry, and queued/running counts.
  • Interrupted/cancelled sub-agents cannot leave stale running handles or fanout cards.
  • Mouse capture, hover popovers, context menus, and composer input are verified together.
  • Activity/sidebar cards do not grow into an unreadable wall during common multi-agent work.

Track 1: Make provider/model routing factual and API-backed

Goal: stop shipping invalid model IDs, stale provider claims, unknown pricing, and hard-coded model facts.

Primary issues:

Suggested sequence:

  1. Fix invalid presets and obvious route breakage first: v0.8.59: OpenRouter Nemotron preset uses invalid model ID #3094, Provider switch to OpenRouter can drop Authorization header after MiMo session #3064, v0.8.65: Make web_search reliable with a SearXNG JSON backend, health checks, and visible agent status #3079.
  2. Establish a single registry/provenance model: Introduce a model metadata registry instead of scattered hard-coded model facts #3071, Hydrate model catalog metadata from provider APIs with offline cache and provenance #3072, Audit and migrate hard-coded model lists in picker, router, defaults, and prompt facts #3073.
  3. Add provider conformance and readiness: v0.8.59: Introduce provider adapter contracts and conformance tests for capabilities, auth, and request dialects #3084, v0.8.59: Make /provider a capability and readiness dashboard, not just a hard-coded key picker #3083, Provider-aware /model picker should search across model catalog and selectable providers #3075.
  4. Add pricing and context-window correctness: v0.8.59: Build provider+model SKU pricing engine with provenance, unknown states, and UI integration #3085, Cost tracking is dead for all non-DeepSeek models — pricing table needs expansion #3066, OpenAI Codex/ChatGPT models need accurate context-window metadata and context pressure #3070.
  5. Add/verify MiniMax and fallback behavior: v0.8.60: Add first-party MiniMax provider route #1310, Feature Request: Provider fallback chain — auto-switch on API failure #2574.

Exit criteria:

  • CodeWhale does not advertise OpenRouter model IDs absent from OpenRouter model metadata.
  • Model picker, routing, docs, prompt facts, context windows, and pricing read from one documented metadata path or an explicitly generated cache.
  • Unknown pricing/context states are displayed as unknown, not silently guessed.
  • Provider readiness explains auth, endpoint, capabilities, model availability, and last metadata refresh.

Track 2: Unify context budgets, compaction, and stream pressure

Goal: make context/window pressure observable and consistent across model metadata, compaction, output caps, and UI state.

Primary issues:

Exit criteria:

  • Context windows, output caps, compaction thresholds, and UI pressure indicators share one budget service.
  • Stalls/truncation/collapse paths expose clear user state and preserve model-readable recovery state.
  • Tests cover small-window, large-window, unknown-window, compaction, and stalled-stream paths.

Track 3: Renovate sub-agents into headless workers and workflow orchestration

Goal: move from ad hoc fanout/TUI-shaped sub-agents to scheduler-owned workers, compact UI projections, and authorable workflows.

Primary issues:

Suggested sequence:

  1. Add scheduler-visible states and backpressure around current sub-agent fanout: queued, starting, model_wait, running_tool, completed, failed, cancelled, interrupted.
  2. Define AgentWorkerSpec / AgentWorkerEvent independent of Ratatui widgets.
  3. Make TUI cards/sidebar consume worker events as a projection only.
  4. Connect WhaleFlow leaves to the same worker contract rather than building a second scheduler.
  5. Add JS/TS workflow authoring as a compile/lowering layer into typed WhaleFlow IR, not as an unsupervised Node runtime.

Exit criteria:

  • A headless test can run worker lifecycle paths without constructing TUI cards.
  • The user sees compact workflow progress rather than raw nested sub-agent rows.
  • Cancellation/backpressure works before, during, and after model wait.
  • JS/TS-authored workflows validate as typed IR before any worker launches.

Track 4: Clean up user-facing naming, legacy compatibility, and stale issue load

Goal: make the project look coherent after the DeepSeek-TUI -> CodeWhale rename without breaking compatibility.

Primary issues:

Exit criteria:

  • Normal UI does not expose implementation/tool IDs where a user-facing concept exists.
  • Legacy DeepSeek paths are documented as compatibility, migrated, or intentionally retained.
  • Stale issue automation exists before closing old issues in bulk.

Track 5: Docs, website, README, and localization endcap

Goal: make the public story match the product: DeepSeek-TUI history, CodeWhale rename, provider graph, supported/experimental/self-hosted routes, and real multilingual onboarding.

Primary issues:

Exit criteria:

  • README and website share a source localization matrix.
  • Locales are grouped by support tier and verified for links, install commands, provider names, and screenshots/media references.
  • Russian Cyrillic rendering is checked in README and website contexts.
  • User-facing language settings affect app chrome/status where feasible, and model-language limitations are documented honestly.

Recommended first agent packet

If a single implementation agent starts now, execute in this order:

  1. v0.8.59: Sub-agent fanout planning can leave the TUI stuck in provider wait with no backpressure or recovery #3095 + v0.8.59: API-timeout interrupted sub-agents can leave fanout UI and task handles stuck running #3080: contain stuck sub-agent/provider-wait behavior.
  2. v0.8.59: OpenRouter Nemotron preset uses invalid model ID #3094: fix invalid OpenRouter model metadata immediately.
  3. v0.8.59: Sidebar hover detail popovers are dropped during live turns #3088 + Composer input corrupted by raw SGR mouse reports when mouse capture is disabled #3067 + Sidebar right-click shows "Paste" — should show sidebar-relevant actions #3065: finish the mouse/sidebar input cleanup cluster.
  4. Introduce a model metadata registry instead of scattered hard-coded model facts #3071 + Hydrate model catalog metadata from provider APIs with offline cache and provenance #3072 + Audit and migrate hard-coded model lists in picker, router, defaults, and prompt facts #3073: establish model metadata source of truth.
  5. v0.8.59: Introduce provider adapter contracts and conformance tests for capabilities, auth, and request dialects #3084 + v0.8.59: Make /provider a capability and readiness dashboard, not just a hard-coded key picker #3083 + Provider-aware /model picker should search across model catalog and selectable providers #3075: provider conformance and user-facing readiness.
  6. v0.8.59: Add a unified context-budget service for windows, output caps, compaction, and UI pressure #3086: context budget service, using metadata from the provider/model work.
  7. v0.8.61: Split sub-agents into a headless worker runtime with lightweight TUI projections #3096 + v0.8.60: Group background tasks into workflows with phase summaries and collapsed Bash runs #3082: worker event contract and compact workflow projections.
  8. v0.8.60: Add TypeScript/JavaScript workflow authoring for WhaleFlow-backed headless agents #3097: JS/TS workflow authoring layer lowered into WhaleFlow IR.
  9. v0.8.59 end-cap: Rewrite README with DeepSeek-TUI history, provider map, and factual onboarding #3087 + v0.8.59: Define README + website localization matrix, source text, and drift checks #3090-v0.8.59: Add next-wave README and website locales for Korean, Spanish, and Brazilian Portuguese #3093: README/site/localization endcap.
  10. v0.8.66: Reactivate stale issue cleanup and consolidate duplicate pre-rename backlog #3089: stale issue cleanup policy before any broad closure pass.

Verification

  • gh issue list --state open --label v0.8.60 should remain empty unless maintainers intentionally reopen the v0.8.60 line.
  • gh issue list --state open --label v0.8.59 should show all promoted issues and active release work.
  • For code PRs: run the narrow package tests named in each linked issue, plus cargo test -p codewhale-tui or cargo test -p codewhale-whaleflow --locked when touching those areas.
  • For docs/localization PRs: verify README links, website route links, provider/model naming, locale navigation, and install commands.
  • For workflow/sub-agent PRs: manually run a multi-agent prompt and verify queued/running/done/cancelled states without an unreadable activity wall.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcleanupCode cleanup, refactor, or maintenance workdocumentationImprovements or additions to documentationenhancementNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnessv0.8.59Targeting v0.8.59

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions