Problem
The sw_* MCP tool handlers (_mcp_board, _mcp_backlog, _mcp_pull_next, _mcp_review_queue, etc.) all read status from the metadata JSON blob:
status = meta.get("status", "proposed")
But the DB stores status in a dedicated `status` column. The metadata blob often does not contain status at all — it only has kind, effort, and other extension-specific fields.
The CLI (cli.py) does it correctly with a column-first fallback:
r.get("status") or r["_meta"].get("status", "proposed")
Impact
Fix
Every handler that reads status from metadata should use column-first fallback:
status = row.get("status") or meta.get("status", "proposed")
Same pattern for priority and assignee where applicable. Affects: _mcp_backlog, _mcp_board, _mcp_pull_next, _mcp_review_queue, _mcp_context_for_item, _mcp_claim, _mcp_submit, _mcp_review.