Checkpoint: current Lumen state
Some checks failed
ci / check (push) Has been cancelled

This commit is contained in:
Lumen Stage1 2026-09-23 18:58:21 -05:00
commit fcc18ddcc8
96 changed files with 8074 additions and 214 deletions

View file

@ -273,8 +273,8 @@ Boundary rules (enforced by module imports; verified in review):
| Store | Technology | Contents | Lifecycle |
|---|---|---|---|
| `lumen-system` | IndexedDB (1 object store: `meta`) | Active slot pointer, active edition + packageVersion, verification record, app version at activation, staging progress pointer, clock offset cache reference | Rewritten atomically on activation |
| `lumen-slot-a`, `lumen-slot-b` | IndexedDB (stores: `files`, `assets`) | One complete dataset per slot: section JSON docs keyed by section id; assets as Blobs keyed by asset id | Active slot is truth; inactive slot = rollback/staging target; GC per §18.4 |
| `lumen-system` | IndexedDB (1 object store: `meta`) | Active slot pointer, active edition + packageVersion, verification record, app version at activation, readback flag, clock offset cache reference | Rewritten atomically on activation; no per-file staging progress |
| `lumen-slot-a`, `lumen-slot-b` | IndexedDB (stores: `files`, `assets`, `staging`) | One complete dataset per slot: section JSON docs keyed by section id; assets as Blobs keyed by asset id; slot-local authoritative staging journal | Active slot is truth; inactive slot = rollback/staging target; file/asset + journal are one transaction; GC per §18.4 |
| `lumen-user` | IndexedDB (stores: `favorites`, `prefs`, `diag`) | Favorites keyed by stable event id; theme/clock settings; scrubbed diagnostics ring buffer | **Never touched by dataset updates or rollback** (B-6) |
| Shell cache | Cache Storage (`lumen-shell-v<build>`) | Precached app shell | Versioned per build; old caches deleted on activate |
| Flags | localStorage | Tiny convenience flags (coach dismissed, etc.), try/catch guarded | Non-load-bearing |
@ -464,7 +464,7 @@ Answers to the eleven bootstrap questions:
5. **Integrity verification:** §10.5 order; failures abort activation.
6. **User knows readiness:** READY confirmation screen + persistent status chip; per-section checklist on Status.
7. **Incomplete preparation:** PARTIAL state enumerates exactly what's missing; every installed part works; prep resumes with one tap.
8. **Leaves prep early:** staging progress persisted (`lumen-system.meta.staging`); nothing is corrupted; nothing is activated; resume later.
8. **Leaves prep early:** slot-local staging progress is persisted with each file/asset transaction; nothing is corrupted; nothing is activated; resume later.
9. **Connectivity disappears mid-prep:** downloads pause; partial staged data retained; offline state shown with what's already usable; auto-resume when `online` hint fires or user retries.
10. **Storage unavailable:** BASELINE_ONLY mode; clear guidance (install to home screen / use normal browsing mode / free space); no crash, no blank screen.
11. **Later eviction:** boot light-check fails ⇒ RECOVERY: emergency baseline works; one-tap full re-prep when online; honest messaging that festival data was removed by the device.