--- status: partial phase: 01-foundation-broker-spike source: [01-VERIFICATION.md] started: "2026-06-04" updated: "2026-06-04" --- ## Current Test [awaiting human testing — requires live Authelia + Pangolin infrastructure] ## Tests ### 1. AUTH-01 — Live Authelia OIDC login over the public Pangolin URL expected: From an external network, opening `https://familysync.` redirects to Authelia; after logging in as Lucas, the app shell loads showing his name, his assigned color, and one real cached Fastmail event. No Fastmail credentials are entered in the app. result: [pending] setup: Register the `familysync` OIDC client in Authelia (`require_pkce: true`, `pkce_challenge_method: S256`, `token_endpoint_auth_method: client_secret_basic`, redirect `https://familysync./callback`, scopes openid/profile/email). Set OIDC env vars in `.env` — note `OIDC_AUTH_EXTERNAL_URL` is mandatory behind Pangolin. Deploy via `docker compose up -d`. ### 2. AUTH-02 — Session persists across browser restart expected: After authenticating, fully close and reopen the browser, revisit the URL → no re-login prompt; the shell loads directly. result: [pending] ### 3. AUTH-03 — Second member gets a distinct color expected: The wife logs in via Authelia on her device and is assigned a stable color distinct from Lucas's; it does not change on subsequent logins. result: [pending] ### 4. SSE-over-Pangolin smoke test (de-risks Phase 4) expected: With a valid session cookie, `curl -N -H "Cookie: oidc-auth=" https://familysync./api/sse/heartbeat` streams a `heartbeat` event roughly every 10s and stays open for 5+ minutes without Pangolin cutting the stream. PASS = continuous heartbeats; FAIL = stream cut early (investigate Pangolin idle-timeout; note as Phase 4 constraint, ref issue #1034). result: PASS (2026-06-08) — GET /api/sse/heartbeat over familysync-dev.bergerhouse.net (Pangolin→Newt→api) with a valid session cookie held open ~6 min (01:37:53Z→01:43:54Z), 35 heartbeat events id 0→34 at ~10s cadence; response bytes grew 71→2535 (incremental delivery → Pangolin buffering OFF); no early cut. Phase 4 entry gate (D-14 / issue #1034) CLEARED. Caveat: proves no idle-timeout/buffering over ~6 min, not the absence of a max total connection-duration cap — residual risk covered by Phase 4 design (D-10/D-11/D-12 in 04-CONTEXT.md). ## Summary total: 4 passed: 1 issues: 0 pending: 3 skipped: 0 blocked: 0 ## Gaps