diff --git a/TASKS.md b/TASKS.md
index e238f3e..1e2ef8c 100644
--- a/TASKS.md
+++ b/TASKS.md
@@ -87,6 +87,13 @@
is unconditional, so it ships in Release) — it hands the test assembly name to anyone
decompiling and advertises that `internal` members are externally reachable, which
conflicts with the obfuscation posture in `Distribution.md` §1.2.
+ 3. **Decide the shipped exe name.** `Distribution.md` promises the customer
+ `LlamaCasty.exe`; `ytLive` actually publishes `ytLive.exe`.
+ Renaming the AssemblyName is 4 lines (1 csproj + 3 pack URIs that spell the assembly
+ name — `MainWindow.xaml:14` is the **window icon**, so missing it ships a broken
+ taskbar/Alt-Tab icon). Namespaces stay `ytLive.*`; the 230-file re-brand is NOT
+ wanted. Do **NOT** touch the `%APPDATA%\ytLlive` folder — breaking (orphans users'
+ layout DB). See the naming table in `ai.md`.
Do **NOT** add `-p:PublishTrimmed=true`: WPF is not trim-compatible and it fails at
runtime (BAML/XAML resource resolution), not at build time. `PublishReadyToRun` is safe.
- **TASK 12** — queued future
diff --git a/ai.md b/ai.md
index b73edb9..47410d2 100644
--- a/ai.md
+++ b/ai.md
@@ -80,6 +80,29 @@ the internals. Treat the two as separate: external/user-facing language says "ll
code/assembly/repo names stay `ytLive`. If a full internal re-brand is ever done, this note
and the UI locator (Premium/wordmark) are the checklists; it is NOT a goal pre-1.0.
+**Say "LlamaCasty" when reporting to the creator** — never "ytLive" in prose. `ytLive` is
+the internal repo/assembly/namespace name only. Exact current split:
+
+| surface | name | note |
+|---|---|---|
+| product / site / marketing | **LlamaCasty** | llamacasty.com, llamachile.tube |
+| repo dir, csproj, `RootNamespace` | `ytLive` | 230 files: `namespace ytLive.*` |
+| `AssemblyName` → shipped exe | `ytLive` | `ytLive.exe` |
+| app data dir | `%APPDATA%\ytLlive` | **capital L**, drifts from `ytLive` |
+| `Distribution.md` tells customers | `LlamaCasty.exe` | ⚠ **mismatch vs the real `ytLive.exe`** |
+
+**Consequences, so nobody re-hunts them:**
+- Renaming `` to `LlamaCasty` is the cheap win (the customer-visible exe
+ name matches what `Distribution.md` already promises; namespaces can stay `ytLive.*`).
+ It is **4 lines**, but it hard-breaks three pack URIs that spell the assembly name:
+ `MainWindow.xaml:14` (the **window icon** — taskbar/Alt-Tab), `OverlayHost.xaml:96`,
+ `RenameRecordingDialog.xaml:5`. Miss those and you ship a broken icon. Queued in TASKS.md
+ under the shipping task, not done.
+- Renaming the `%APPDATA%\ytLlive` folder is **breaking** — it would orphan every existing
+ user's layout DB, `Assets` and settings. Never do it casually; needs a migration.
+- No code compares its own assembly name (no `GetExecutingAssembly().GetName().Name` checks),
+ so the assembly name is otherwise free to change.
+
### AI transparency
This project is built through AI-assisted pair-programming. All code is generated