Lumen/README.md
Lumen Stage1 fcc18ddcc8
Some checks failed
ci / check (push) Has been cancelled
Checkpoint: current Lumen state
2026-09-23 18:58:21 -05:00

2.3 KiB
Raw Permalink Blame History

Lumen — offline-first festival PWA

Implementation is complete through Stage 8 (A/B activation). UI feature views and transport orchestration remain staged work per IMPLEMENTATION-CONTRACT.md.

  • Validated architecture: ARCHITECTURE-VALIDATION.md (SPIKE-01…08 reconciled)
  • Contract: IMPLEMENTATION-CONTRACT.md — single source for implementation rules, boundaries B-1…B-7, invariants I-1…I-17
  • Implemented: strict TypeScript foundation, PWA shell/service worker, package schema and pipeline, IndexedDB A/B persistence, signed-package verifier, and activation/rollback coordinator
  • No transport/network orchestration, mesh, or accounts yet — see contract Stages 9…19

Quick start

npm install
npm run typecheck   # tsc --noEmit strict
npm run lint        # eslint with boundaries B-1…B-7
npm run format      # prettier --check
npm test            # vitest — unit and contract tests
npm run ci          # typecheck + lint + format + test + build

Project structure

See IMPLEMENTATION-CONTRACT.md §4 and per-directory README.md.

Navigation

The desktop shell uses a fixed 240px sidebar on the left. It contains five large, evenly spaced vertically stacked navigation buttons:

  • HOME — the launcher landing page at /, showing a centered 2×2 grid of the four destination tiles.
  • EMERGENCY — the emergency destination and retains its red (rose) background.
  • SCHEDULE — the existing schedule route and functionality.
  • MAP — the existing map route and functionality.
  • INFORMATION — the navigation label previously shown as FESTIVAL; the existing /festival route and page functionality remain intact.

The root route / boots into the home launcher (no redirect). On every destination page, the header brand ("LUMEN") acts as a home/back button — it is highlighted with a leading chevron and returns to the launcher in one tap.

The sidebar preserves the SolLunar deck aesthetic, thin borders, typography, and visual hierarchy. On smaller screens it becomes a responsive fixed bottom navigation bar. All routes, one-tap emergency access, active-route state, and navigation behavior remain unchanged.

Branches

  • main — validated architecture plus implemented stages (YELLOW device/content/ops gates tracked in ARCHITECTURE-VALIDATION.md §7).