Modules:
- add `description` column (schema + migration); create/update/wizard/edit
forms and module detail all carry it
Modules list page:
- columns: name, description, groups, last run, rows, duration, status
(dropped strategy/dest and the run/dry-run buttons)
- every column click-to-sort; description truncates single-line with ellipsis
- compact grid; restore main max-width (now 1400px)
- status pill partial is now a <span> so it sits in its own cell
Startup reliability:
- reconcile_abandoned_runs(): on boot, mark run_log/group_run rows stuck in
`running` (left by a hard kill mid-run) as `error`, complementing the
existing stale module-lock sweep
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>