# Talking Stick 0.1.0-alpha.5

Date: 2026-04-26

Room lifecycle and licensing alpha. Talking Stick rooms are coordination state,
not a durable history store.

## Added

### Explicit leave

Added `leave_room` to the MCP server and `tt leave [path]` to the CLI.

Leaving removes the caller's room membership. The CLI also removes the local
session entry for that room and stops any recorded guardian process for the
departing identity.

### MIT license

The package is now released under MIT:

- `LICENSE` contains the MIT license text.
- `package.json` and `package-lock.json` declare `"license": "MIT"`.
- `README.md` links to the repository license.

## Changed

### Ephemeral rooms

Rooms are physically deleted once no active members remain. This includes the
simple last-member case and the case where explicit leave removes the only
recently-active participant while stale member rows remain.

Long-idle rooms are also purged opportunistically when the service is invoked.
The default idle retention is seven days.

### Take-back delay

If `release_stick` leaves a handoff idle because no peer is currently waiting,
the prior owner can no longer immediately reclaim while another room member
exists. The existing `policy.waiterGraceMs` window now acts as a minimum
take-back delay so a slower peer has a chance to poll first.

## Fixed

### Harness-launched CLI identity

`tt` now checks known harness environment markers before falling back to the
human CLI identity. A Claude Code shell with `CLAUDECODE=1`, for example,
resolves to a `claude:*` identity without requiring `TT_HARNESS_EXPORT=1`.

`TT_HARNESS_EXPORT=1` remains available for ancestry-based detection when no
known harness environment marker is present, and `TT_HARNESS_AGENT_ID` still
exports an exact agent id directly.

For Claude sessions, `CMUX_CLAUDE_PID` is treated only as an optional process
hint after `CLAUDECODE=1` has already identified the shell as Claude. It is not
a harness signal by itself.

## Verification

- `npm run typecheck`
- `npm test` — 204 tests across 14 files
- `npm run build`
- `node dist/cli.js --help`
- `git diff --check`
- `npm pack --dry-run`
