1.7 KiB
1.7 KiB
Plan: incremental-captures
Ordered tasks; each names its verification (tests and/or gates in
quality/incremental-captures.md).
- T1 — Skipped playable in fsdy + proto.
PlayableSpec.skipped,Playable::Skipped, cardinality validation,from_track_skipped,from_trackpreserves skipped-ness,to_tracksetsis_skipped;Track.is_skipped = 6in the proto; fix all struct literals. Verifies: fsdy parse/round-trip tests; gates "Skipped playable". - T2 — Two-phase walk + incremental download sink. Enumerate
(caps) then fetch;
Sink::Downloadwrites into the final folder, reuses satisfied entries, writes skipped tomls for uncapturable tracks, keeps progress on abort;Sink::Linkkeeps tmp-and-swap. Progress callback plumbed through. Verifies: capture/capture_store tests (resume, reuse, skipped toml, abort-keeps-progress, caps); gates "Incremental capture". - T3 — Proto
CaptureProgress+ accept-then-stream RPC. New oneof update; provider validates then replies and spawns the walk with a bounded progress channel; rpc forwards progress into the update broadcast. Verifies: gates "Progress + RPC". - T4 — Playback skip. Flag-based skip without provider call; skip loop bounded by queue length. Verifies: playback tests; gate "Playback".
- T5 — TUI. Red skipped tracks (queue + library), capture progress lines with expiry, warnings in help + input label, focused selection contrast fix. Verifies: cbd-tui render/dispatch tests; gates "TUI".
- T6 — Full verification. Workspace suite green; clippy/fmt/ taplo/markdownlint clean; quality gates ticked.
- T7 — Docs.
plan/summary.mdsection incl. deviations; reconcilearchitecture/incremental-captures.md.