- DELETE /api/companies/{slug}: wipes the ledger (deck records, scorecard,
report md), sweeps per-job report and processed-deck copies; optional
restore_decks moves the graded originals from /data/processed back into
the inbox for a fresh Grade Decks run; 409 while a job is running;
config-registered companies reappear as empty rows (aliases + pinned
targets kept)
- Dashboard: "delete company…" danger button on the company card with a
two-step confirm (delete, then restore-decks choice)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Dashboard renders deck reports and scorecards as formatted pages
(self-contained markdown renderer inlined in index.html — headings,
styled tables, evidence blockquotes; no CDN, air-gap friendly)
- At-a-glance strip on every deck report: composite with delta vs the
prior deck, quant/qual/penalty mix, KPI hit/miss chips, BDEF
best/weakest category, red-flag count
- Generated DECK_REPORT.md now leads with a concise "At a glance"
summary table (scorecard.py); jobs.py passes the previous deck record
so the delta appears in the file too; dashboard hides the duplicate
section since the strip covers it
- .gitignore: .venv/
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>