Expand description
RuntimeThreadManager split per #3313 (issue #5261).
The TUI’s crates/tui/src/runtime_threads.rs (≈8,259 lines, monitor_turn
≈1,035 lines) is the largest file in the tree. The split is pure code
motion, persisted JSON shape unchanged:
store—RuntimeThreadStore/ persisted JSON state (<root>/{threads,turns,items,events}+state.json)executor— turn execution (monitor_turn,handle_deepseek_turn, steer/subagent drains,refresh_system_prompt, compaction, parallel tool exec,StuckGuard/ReadRepeatGuard/ToolCallBudget, stream retry)events—RuntimeEventEnvelopemapping +EventMsgfan-outtypes—ThreadId/SessionId,ThreadStatus,Threadetc
This cut lands the four files and the re-exports so crates/tui can
pub use codewhale_core::engine::thread::* and the next slice can git mv
the impls file-by-file without a flag day. The behaviour stays in the TUI
until the move completes; core already owns the boundary.
Re-exports§
Modules§
- events
- Thread events —
RuntimeEventEnvelopemapping +EventMsgfan-out (issue #5261 / #3313). - executor
- Turn executor — the
monitor_turn/handle_deepseek_turnleg (issue #5261 / #3313). - store
RuntimeThreadStore— persisted JSON state (issue #5261 / #3313).- types
- Thread types for the
crates/coreboundary (issue #5261 / #3313).