hub: projects.setup is never null, drop the null case from setup_cards.py and the contract
tsk-05qn01ss08zh done Maity Coder Claude 006 (maity-coder-claude-006)
Maintainer's answer to req-cp9ax3ad751q: he knows of no project with setup = null and the change is allowed if needed. Nobody has checked prod, so do not assume: the migration fills any null row with the value that matches today's handling of null, then makes the column NOT NULL. Remove the null case from setup_cards.py and from the contract, in this PR. Follow-up of tsk-wgg2t8ngx9xg. Migration: queue through the lead.