33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# Plan: incremental-captures
|
|
|
|
Ordered tasks; each names its verification (tests and/or gates in
|
|
`quality/incremental-captures.md`).
|
|
|
|
- [x] **T1 — Skipped playable in fsdy + proto.** `PlayableSpec.skipped`,
|
|
`Playable::Skipped`, cardinality validation, `from_track_skipped`,
|
|
`from_track` preserves skipped-ness, `to_track` sets `is_skipped`;
|
|
`Track.is_skipped = 6` in the proto; fix all struct literals. Verifies:
|
|
fsdy parse/round-trip tests; gates "Skipped playable".
|
|
- [x] **T2 — Two-phase walk + incremental download sink.** Enumerate
|
|
(caps) then fetch; `Sink::Download` writes into the final folder,
|
|
reuses satisfied entries, writes skipped tomls for uncapturable tracks,
|
|
keeps progress on abort; `Sink::Link` keeps tmp-and-swap. Progress
|
|
callback plumbed through. Verifies: capture/capture_store tests
|
|
(resume, reuse, skipped toml, abort-keeps-progress, caps); gates
|
|
"Incremental capture".
|
|
- [x] **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".
|
|
- [x] **T4 — Playback skip.** Flag-based skip without provider call;
|
|
skip loop bounded by queue length. Verifies: playback tests; gate
|
|
"Playback".
|
|
- [x] **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".
|
|
- [x] **T6 — Full verification.** Workspace suite green; clippy/fmt/
|
|
taplo/markdownlint clean; quality gates ticked.
|
|
- [x] **T7 — Docs.** `plan/summary.md` section incl. deviations;
|
|
reconcile `architecture/incremental-captures.md`.
|