1.4 KiB
1.4 KiB
Plan: cbd-bundle
Ordered tasks; each names its verification (tests in cbd/src/main.rs
and/or gates in quality/cbd-bundle.md).
- T1 — Server library extraction. Move
playback/provider/rpcand the command/message enums into thecrabidy-serverlib; addserve(addr)+LISTEN_ADDR; thinmain.rs. Verifies: the moved server suite passes unchanged; gates "Refactor". - T2 — TUI library extraction.
cbd-tui/src/lib.rswithrun(config)(orchestrate + run_ui + channels); thinmain.rskeeps file tracing + config. Verifies: the moved TUI suite passes unchanged. - T3 — cbd crate. Workspace member; main = shared file tracing,
cbd-tui.tomlconfig, spawnserve(LISTEN_ADDR),wait_for_server(scheme-stripped TCP poll, adopt-on-occupied-port, dead-server error, bounded attempts), thencbd_tui::run. Verifies:readiness_polls_until_the_socket_accepts,readiness_gives_up_and_reports_a_dead_server; gates "Bundled behavior". - T4 — Full verification. Workspace suite green; clippy/fmt/ taplo/markdownlint clean.
- T5 — Live smoke test. Boot the extracted
serve()on a free port throughwait_for_server(temporary ignored probe, removed after passing): the real stack — tidal login, providers, playback, queue restore — accepted a TCP connection in ~1 s. - T6 — Docs.
plan/summary.mdsection incl. deviations; reconcilearchitecture/cbd-bundle.md.