planager status: Progress Table from the Terminal

Context

Today the only way to see plan progress is to open an agent session and run /planager-status, which costs tokens and time. A planager status CLI command gives users (and CI, and scripts) the same table for free. It reuses the convert.py plan model and parsers added in 0.7/0.8, reads whatever is present in .plans/ (markdown, HTML, and/or plans.db — so it works for every style and even mid-migration), and needs no new dependencies. This keeps the ethos: the humans get direct visibility into what their agents are planning without any runtime component.

Phase 1: Plan collection and progress model

convert.py: collect_plans(plans_dir, include_archived) loads plans.db + *.md + *.html, marking done/ files and archived rows as archived
convert.py: plan_progress(plan) returns (done_steps, total_steps, current_phase_num)

Phase 2: CLI command

cli.py: planager status [--path DIR] [--all] subcommand with aligned table output matching the /planager-status skill example
Sensible ordering (in-progress, blocked, planning, done) and friendly empty/missing-dir handling

Phase 3: Tests and docs

Tests: table output for each style, mixed styles, --all with archived plans, no plans, missing .plans
README: document planager status; bump version to 0.9.0; just check passes

Notes

Chosen over alternatives (plan templates, handoff skill, git-commit linking) because it is the most obvious daily-use gap: progress visibility currently requires an LLM session.

Done: added plan_progress and collect_plans to convert.py and a planager status subcommand (--path, --all) with an aligned table ordered in-progress, blocked, planning, done. Blocked plans print their last note line below the table. 14 new tests (129 total), README section added, version bumped to 0.9.0. Dogfooded on this repo: correctly read the mixed markdown + HTML plans in .plans/ in one table.