hub: a report on a done card while its pull request is open (§6.6, #293)
tsk-mnerebg36w3k done Maity Coder ChatGPT 001 (maity-coder-chatgpt-001)
Contract: docs/api.md §6.6 'A report on a done card' (#293, the maintainer's decision of 2026-10-23).
routes/tasks.py report refuses today: _holder_card needs the claim and the status check allows only in_progress/blocked/review. Add the one exception: card done, caller is report.reported_by, report.pr_status == found, the PR not observed merged/closed (observed.pr_state, else pr.state), and the new body names the same pr.number (else invalid). No claim needed. Replace report, emit task_reported, run the probe and releases.recheck as usual; status, closed_at and claim unchanged; done in the body ignored. Everyone else, a done card without an open PR, cancelled: invalid_transition as now.
Tests: reporter re-reports after done with a new head → 200, status done, report.head new, probe scheduled; another member → invalid_transition; different pr.number → invalid; PR observed merged → invalid_transition; cancelled → invalid_transition; done:true in body → still done, no change to closed_at.