# HANDOFF — 2026-10-31 (Steam is the only channel; the site says so) ## State - Branch `main`, level with `origin` through `57ef9e7`; this unit is local. - **Distribution is Steam-exclusive** (creator ruling 2026-10-31): a free app on Steam with the paid edition as a **Steam DLC**; the **$10/month** plan is sold off-Steam by Polar and *stated, never sold*, inside a Steam build. Winget, the direct zip, the Store and the certificate that served them are retired. `commercial.md` → Channels owns policy, `Distribution.md` the depot mechanics, `decisions.md` the cause of death. - **Entitlement is `steamDlcOwned || polarKeyValid`**, both resolving to one `OutputProfile`. `steam_api64.dll` ships beside the exe; the app must start without Steam and fall back to free. - **Site updated and deployed** (`a9d07ce`): "Coming soon to Steam" ×6, zero Microsoft references, privacy page says Steam bills the paid edition. The CTA gains a wishlist button only when the store page is public. - `www.llamacasty.com` resolves and 301s to the apex. Recipe in `MyMistakes.md`. ## Next action 1. **Steamworks onboarding** (creator is in it now): NDA → identity → company details → tax interview → payout bank → **$100 Steam Direct** → create the base app, note the App ID. 2. Then the surge slice: artifact shape (rename + publish + `steam_api64.dll`) → OutputProfile gate + TASK 53 geometry tests → entitlement seam → licence UI + a Steam-less launch test. ## Landmines - **Nothing may gate a feature.** The only paid delta is the output profile; `ShowBrandFlash` stays `false` and entitlement must never enable it. - **No checkout inside a Steam build** — the Wallet rule. The monthly is named, never sold, in-app. - **The org access token never ships.** `organization_id` is public; the token is not. - **The site publishes the model, never the numbers**, and never takes payment or links a checkout. - **No self-updater and no version banner**: Steam updates the app. - Pre-existing: the **full test suite hangs** (WASAPI teardown). Per-class runs are the way. - Not every hex is a theme colour — `BorderColorPalette`/chat defaults are USER DATA; on-stream graphics come from `OutputPalette`. A red settings control is still a bug.