TASK 48: distribution & packaging is deferred until we are near v1

Creator ruling 2026-10-26: the remaining programming work is far from
release and a complete UX redesign is about to start, so packaging,
signing, installer and updater decisions would be chasing scope that is
about to move. The task is deferred, not cancelled.

Recorded what is frozen: TASK 48 items 6-8, the signing decision, the
updater choice (Velopack's deletion left no update path, and
StorePackagingTests currently vetoes a new one), and the route question
itself - ai.md says the Store route is dead (direct + Steam) while
TASKS.md/task-48/HANDOFF still read Store MSIX + Store IAP. That
contradiction is to be settled in ONE sweep at the revisit, not patched
piecemeal now.
This commit is contained in:
2026-10-26 10:20:04 -07:00
parent c768a8ee49
commit ef60f1f3b6
3 changed files with 38 additions and 2 deletions
+22 -1
View File
@@ -63,7 +63,7 @@
| 45 | TEST-tab chat fix #2: insert body must declare `snippet.type` (400 MISSING_REQUIRED_FIELD) | ✅ Done (2026-09-25) | [`TASKS/task-45-chat-insert-type.md`](TASKS/task-45-chat-insert-type.md) |
| 46 | Drawers: click outside the rail closes whichever is open — TEST added to the existing Stream Settings + YPP dismiss behavior | ✅ Done (2026-09-25) | [`TASKS/task-46-drawer-click-outside-close.md`](TASKS/task-46-drawer-click-outside-close.md) |
| 47 | Alert box video: built-in/custom alert clip (+ six-animation fallback) with read-time fade in/out + ticker (now in the preview too, 3 display methods) + alert volume in the live mix | ✅ Done (2026-09-26) | [`TASKS/task-47-alert-videos.md`](TASKS/task-47-alert-videos.md) |
| 48 | Distribution & packaging: **MSIX + Store IAP** | 🔶 In progress — **✅ route decided 2026-09-27 (Store MSIX + Store IAP)**; **item 1 (bundle ffmpeg) SHIPPED 2026-09-28**; **item 2 (`Package.appxmanifest` + `scripts/package-msix.sh`) SHIPPED 2026-10-22 — a real 159 MB `LlamaCasty.msix` packs**; **item 3 (remove the Velopack updater) SHIPPED 2026-10-22** — the Store updates the app. Open: items 6-8 (recording invariant, disqualifiers, pre-submission gates); items 4/5 are the creator's (Certification Kit, Partner Center listing) | [`TASKS/task-48-distribution-msix.md`](TASKS/task-48-distribution-msix.md) |
| 48 | Distribution & packaging: **MSIX + Store IAP** | ⏸ **DEFERRED 2026-10-26 — revisit near v1, not now** (creator: the remaining programming work is far from release, and a complete UX redesign comes first). Frozen until then: items 6-8, the signing decision, the updater choice, and the route question itself. History: **✅ route decided 2026-09-27 (Store MSIX + Store IAP)**; **item 1 (bundle ffmpeg) SHIPPED 2026-09-28**; **item 2 (`Package.appxmanifest` + `scripts/package-msix.sh`) SHIPPED 2026-10-22 — a real 159 MB `LlamaCasty.msix` packs**; **item 3 (remove the Velopack updater) SHIPPED 2026-10-22** — the Store updates the app. Open: items 6-8 (recording invariant, disqualifiers, pre-submission gates); items 4/5 are the creator's (Certification Kit, Partner Center listing) | [`TASKS/task-48-distribution-msix.md`](TASKS/task-48-distribution-msix.md) |
| 49 | Chat profanity filter (local, opt-in, non-persistent, user word list) | ☐ Queued (2026-09-27) | [`TASKS/task-49-chat-profanity-filter.md`](TASKS/task-49-chat-profanity-filter.md) |
| 50 | One-button "Publish this video" (resumable upload of the local recording) | ☐ Queued (2026-09-28) | [`TASKS/task-50-publish-recording.md`](TASKS/task-50-publish-recording.md) |
| 51 | **Webcam background effects: Remove + Blur** | ✅ **Built 2026-10-09** (v1 requirement) — bundled MediaPipe Selfie Segmenter → ONNX (verified vs Google's runtime), Remove + Blur with strength, per-scene config persisted, one processing point in CameraManager, radio-pill UI in the webcam's Layers properties. Creator check 2026-10-09: **Remove jitter FIXED** (temporal mask smoothing 0.75/0.25, OBS/Jitsi-derived) and **Blur "heavy" FIXED** (quadratic radius 1→6 small px, default 0.5 = 2, StreamFX-consensus); recheck on the real camera pending | [`TASKS/task-51-webcam-bg-effects.md`](TASKS/task-51-webcam-bg-effects.md) |
@@ -318,6 +318,27 @@ second encoder path needing a "redirect". Record+simulcast is one ffmpeg with tw
problems:** the WebView2 Evergreen *runtime* is a machine prerequisite (item 2), and
**Velopack's updater downloads and executes — its teardown is a compliance action.**
Detail: `TASKS/task-48-distribution-msix.md` §1.
- **⏸ TASK 48 / ALL distribution & packaging work — DEFERRED 2026-10-26 (creator ruling). Do not
start, plan, or re-litigate any of it until we are close to v1.** Verbatim reason: *"we're not
anywhere close to release just considering the remaining programming tasks"* and *"I am getting
ready to do a complete UX redesign"* — packaging, signing, installer and updater decisions would
be chasing UI and scope that are about to change, so the urgency is withdrawn, not the task.
What is frozen:
- **TASK 48 items 6-8** (recording invariant comment, disqualifier re-check, pre-submission gates)
and the creator's items 4/5 (Certification Kit, Partner Center listing).
- **The route question itself.** The map currently contradicts itself: `ai.md` →
"Windows packaging & distribution" says the **Microsoft Store route is dead (2026-10-22)** —
direct download from `llamacasty.com` + Steam, ship unsigned — and `MONETIZATION.md`/`MARCOM.md`
agree, while *this file*, `TASKS/task-48-distribution-msix.md` and `HANDOFF.md` still read
"Microsoft Store / Store IAP decided". **Resolve it in ONE distribution sweep at the revisit —
do not patch it piecemeal now.**
- **Code signing** (ship unsigned vs buy OV/EV) — current recorded posture: ship unsigned and
accept the "unrecognized publisher" warning until download reputation accrues.
- **The updater.** Deleting Velopack (TASK 48 slice 3) left the app with **no update path at all**,
and `ytLive.Tests/StorePackagingTests.cs` currently *asserts that no updater exists*. That guard
must be **rewritten with the chosen updater** at the revisit, never left to veto one.
- The MSIX package + `scripts/package-msix.sh` still build (159 MB artifact) — a working artefact,
submitted nowhere. Leave it alone.
- **TASK 10 is now a teardown, not a build** (2026-09-27) — Store IAP deletes the Polar
licensing path. The Polar fee tables, the perpetual-key model, and the customer-portal
plumbing in `MONETIZATION.md` (gitignored, local) are obsolete; the **watermark-only