SIGN IN SIGN UP

feat(lease): session-ownership lease core — CAS claim + heartbeat + per-turn fence (spike #78 #79 #80)

- channel_owner + session_presence schema in a dedicated WAL file (separate from local_messages)
- atomic claim_or_skip (single-statement CAS), heartbeat (no token bump), isCurrentToken fence
- smoke 11/11: single-owner, per-turn token bump, stale takeover, resurrect-race fence
- contract: packages/core/lease-schema.sql (cross-runtime for codex Python path #83)
A
alexfrmn committed
b97e50ad0cf7e81ea92cb4a5a6eb644c0c3a3d81
Parent: 46a69d3