docs(tasks): the surge week, coding only — five days sized at 3-5 units each

Non-coding is parked on Valve (identity verification, store page, depot); the week is code,
tests, debugging, polish. Ordered by what actually blocks a public build: entitlement seam
and licence UI (days 1-2), greyed tiers (2), visibility picker (3), stream resilience (3-4),
output contract (4), gold pass (5).

Sized honestly against the measured rate: ~50 units remain, 15-25 fit in five days, so the
plan names week-2 candidates and the five items that should not block launch at all
(scheduled streams, scene audio, defaults split, YPP slice 2, feedback batch).

Every unit carries the same definition of done — clean build, per-class tests, verify.sh on
the declared scope, and the falsified doc corrected in the same commit.
This commit is contained in:
2026-11-01 07:31:52 -08:00
parent f189c5e328
commit b2e8b26b6e
2 changed files with 37 additions and 22 deletions
+7 -5
View File
@@ -18,11 +18,13 @@
## Next action
1. **Greyed tier entries + entitlement wiring** — the rule is in place and tested
(`Models/OutputProfile.cs`); the dropdown still shows every tier as equally available, and
`HasProOutput` is `IsPremium || DeveloperMode` with no Steam DLC path yet.
2. Then the **entitlement seam** (`IEntitlement`: Steam DLC via `steam_api64.dll`, Polar lease).
3. Steamworks: App ID waits on identity verification; then depot, store page and the DLC app.
**Tomorrow, day 1 of the surge: the entitlement seam.** `IEntitlement` (`HasDlc`, `IsValid`), the
Steam DLC implementation on `Steamworks.NET` behind it, a fake for tests, and `HasProOutput`
consuming the interface instead of `IsPremium` directly. The Steam-less path must fall back to the
free profile. Then the licence UI's four states against the fake.
Full week in `TASKS.md` → "Surge week — coding only": day 2 greyed tiers, day 3 visibility picker,
days 3–4 stream resilience, day 4 output contract, day 5 gold pass.
## Landmines