You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current main has 18 Rust packages and roughly 771k Rust lines, but about 87% remains inside codewhale-tui. The problem is not the crate count by itself: the TUI still owns parallel runtime, tool, config, session, hook, and control paths beside much smaller shared crates. v0.9.3 should make existing boundaries real, delete duplication, and measure the result.
Product goals
one durable runtime and event/control vocabulary;
one resolver for model, route, configuration, home, and secret-backend decisions;
one canonical tool contract and dispatch registry;
TUI, CLI, API, Fleet, and CWC as thin projections over owned runtime interfaces;
one required installed executable, after the entrypoints and runtime seam are ready;
fewer publish units only where the ownership/dependency evidence supports folding a crate.
Why this is the v0.9.3 umbrella
Current
mainhas 18 Rust packages and roughly 771k Rust lines, but about 87% remains insidecodewhale-tui. The problem is not the crate count by itself: the TUI still owns parallel runtime, tool, config, session, hook, and control paths beside much smaller shared crates. v0.9.3 should make existing boundaries real, delete duplication, and measure the result.Product goals
Sequence
0. Ownership and measurement
1. Correctness foundation
2. Deletion-friendly performance
3. Runtime convergence
Land in dependency order:
4. Structural decomposition
After ownership is settled:
Code-motion changes must not carry behavior changes. Prefer moving contiguous code with its tests, then deleting the old block.
5. Distribution convergence
6. Completion gate
Crate decision rule
Do not create or delete a crate to improve a count. For each small crate, choose one outcome with evidence:
Acceptance
mainand which duplicate tracker it supersedes.