Summary
src/lib.rs (~490 lines) mixes clap schema, dispatch, and per-command stdout/stderr narrative. Keep the edge thin: parse + route; move report printing next to command modules.
Why
Debt ledger still pins behavior characterization on lib.rs / command paths. Narrative coupled to dispatch makes command extraction and testing noisier than necessary.
Design target
lib.rs: Cli, Command, SkillCommand, run / thin dispatch
- Each command module owns
print_* / success lines (pattern already started: update::print_report, harvest reports in lib today)
- Shared chrome stays in
style
Acceptance
Priority
Low–medium hygiene; do not block bug fixes #24–#26.
Summary
src/lib.rs(~490 lines) mixes clap schema, dispatch, and per-command stdout/stderr narrative. Keep the edge thin: parse + route; move report printing next to command modules.Why
Debt ledger still pins behavior characterization on
lib.rs/ command paths. Narrative coupled to dispatch makes command extraction and testing noisier than necessary.Design target
lib.rs:Cli,Command,SkillCommand,run/ thindispatchprint_*/ success lines (pattern already started:update::print_report, harvest reports inlibtoday)styleAcceptance
lib.rsmaterially smaller; no new abstractions beyond relocating reportsrun(cli, cwd)entry for the binary and testsPriority
Low–medium hygiene; do not block bug fixes #24–#26.