# Talking Stick 0.1.0-alpha

Date: 2026-04-23

## What this alpha includes

- TypeScript project scaffold with `tt` CLI and `tt mcp` stdio server
- SQLite persistence with migrations, WAL mode, and local-filesystem checks
- Core room protocol: `join_path`, `wait_for_turn`, `heartbeat`, `release_stick`, `pass_stick`, `takeover_stick`, `get_room_state`, `get_room_events`
- Fencing with `lease_id` + `turn_id`
- Process-aware recovery for `owner_gone`, `recipient_gone`, and dormant rooms
- Human guardian flow for long-held CLI turns
- Multi-process contention coverage and MCP identity memoization coverage

## Notable behavior

- `join_path` returns the effective policy, including `heartbeatIntervalMs`, so holders can heartbeat on the server's cadence.
- `list_rooms` is a cheap summary view; exact liveness projection lives on the authoritative read and mutation paths.
- MCP identity is derived server-side from the spawning harness and memoized per session.

## Known alpha boundaries

- No non-owner notes yet
- No human override/admin model yet
- No full daemon/push transport; waiting still uses bounded polling
- Ambient presence remains design work and is not part of this alpha release surface

## Verification

- `npm run typecheck`
- `npm test`
- `npm run build`
