# Graph Report - familysync (2026-06-09) ## Corpus Check - 205 files · ~256,858 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 2182 nodes · 2228 edges · 210 communities (185 shown, 25 thin omitted) - Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 5 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Graph Freshness - Built from commit: `00cbbb41` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). ## Community Hubs (Navigation) - [[_COMMUNITY_Community 0|Community 0]] - [[_COMMUNITY_Community 1|Community 1]] - [[_COMMUNITY_Community 2|Community 2]] - [[_COMMUNITY_Community 3|Community 3]] - [[_COMMUNITY_Community 4|Community 4]] - [[_COMMUNITY_Community 5|Community 5]] - [[_COMMUNITY_Community 6|Community 6]] - [[_COMMUNITY_Community 7|Community 7]] - [[_COMMUNITY_Community 8|Community 8]] - [[_COMMUNITY_Community 9|Community 9]] - [[_COMMUNITY_Community 10|Community 10]] - [[_COMMUNITY_Community 11|Community 11]] - [[_COMMUNITY_Community 12|Community 12]] - [[_COMMUNITY_Community 13|Community 13]] - [[_COMMUNITY_Community 14|Community 14]] - [[_COMMUNITY_Community 15|Community 15]] - [[_COMMUNITY_Community 16|Community 16]] - [[_COMMUNITY_Community 17|Community 17]] - [[_COMMUNITY_Community 18|Community 18]] - [[_COMMUNITY_Community 19|Community 19]] - [[_COMMUNITY_Community 20|Community 20]] - [[_COMMUNITY_Community 21|Community 21]] - [[_COMMUNITY_Community 22|Community 22]] - [[_COMMUNITY_Community 23|Community 23]] - [[_COMMUNITY_Community 24|Community 24]] - [[_COMMUNITY_Community 25|Community 25]] - [[_COMMUNITY_Community 26|Community 26]] - [[_COMMUNITY_Community 27|Community 27]] - [[_COMMUNITY_Community 28|Community 28]] - [[_COMMUNITY_Community 29|Community 29]] - [[_COMMUNITY_Community 30|Community 30]] - [[_COMMUNITY_Community 31|Community 31]] - [[_COMMUNITY_Community 32|Community 32]] - [[_COMMUNITY_Community 33|Community 33]] - [[_COMMUNITY_Community 34|Community 34]] - [[_COMMUNITY_Community 35|Community 35]] - [[_COMMUNITY_Community 36|Community 36]] - [[_COMMUNITY_Community 37|Community 37]] - [[_COMMUNITY_Community 38|Community 38]] - [[_COMMUNITY_Community 39|Community 39]] - [[_COMMUNITY_Community 40|Community 40]] - [[_COMMUNITY_Community 41|Community 41]] - [[_COMMUNITY_Community 42|Community 42]] - [[_COMMUNITY_Community 43|Community 43]] - [[_COMMUNITY_Community 44|Community 44]] - [[_COMMUNITY_Community 45|Community 45]] - [[_COMMUNITY_Community 46|Community 46]] - [[_COMMUNITY_Community 47|Community 47]] - [[_COMMUNITY_Community 48|Community 48]] - [[_COMMUNITY_Community 49|Community 49]] - [[_COMMUNITY_Community 50|Community 50]] - [[_COMMUNITY_Community 51|Community 51]] - [[_COMMUNITY_Community 52|Community 52]] - [[_COMMUNITY_Community 53|Community 53]] - [[_COMMUNITY_Community 54|Community 54]] - [[_COMMUNITY_Community 55|Community 55]] - [[_COMMUNITY_Community 56|Community 56]] - [[_COMMUNITY_Community 57|Community 57]] - [[_COMMUNITY_Community 58|Community 58]] - [[_COMMUNITY_Community 59|Community 59]] - [[_COMMUNITY_Community 60|Community 60]] - [[_COMMUNITY_Community 61|Community 61]] - [[_COMMUNITY_Community 62|Community 62]] - [[_COMMUNITY_Community 63|Community 63]] - [[_COMMUNITY_Community 64|Community 64]] - [[_COMMUNITY_Community 65|Community 65]] - [[_COMMUNITY_Community 66|Community 66]] - [[_COMMUNITY_Community 67|Community 67]] - [[_COMMUNITY_Community 68|Community 68]] - [[_COMMUNITY_Community 69|Community 69]] - [[_COMMUNITY_Community 70|Community 70]] - [[_COMMUNITY_Community 71|Community 71]] - [[_COMMUNITY_Community 72|Community 72]] - [[_COMMUNITY_Community 73|Community 73]] - [[_COMMUNITY_Community 74|Community 74]] - [[_COMMUNITY_Community 75|Community 75]] - [[_COMMUNITY_Community 76|Community 76]] - [[_COMMUNITY_Community 77|Community 77]] - [[_COMMUNITY_Community 78|Community 78]] - [[_COMMUNITY_Community 79|Community 79]] - [[_COMMUNITY_Community 80|Community 80]] - [[_COMMUNITY_Community 81|Community 81]] - [[_COMMUNITY_Community 82|Community 82]] - [[_COMMUNITY_Community 83|Community 83]] - [[_COMMUNITY_Community 84|Community 84]] - [[_COMMUNITY_Community 85|Community 85]] - [[_COMMUNITY_Community 86|Community 86]] - [[_COMMUNITY_Community 87|Community 87]] - [[_COMMUNITY_Community 88|Community 88]] - [[_COMMUNITY_Community 89|Community 89]] - [[_COMMUNITY_Community 90|Community 90]] - [[_COMMUNITY_Community 91|Community 91]] - [[_COMMUNITY_Community 92|Community 92]] - [[_COMMUNITY_Community 93|Community 93]] - [[_COMMUNITY_Community 94|Community 94]] - [[_COMMUNITY_Community 95|Community 95]] - [[_COMMUNITY_Community 96|Community 96]] - [[_COMMUNITY_Community 97|Community 97]] - [[_COMMUNITY_Community 98|Community 98]] - [[_COMMUNITY_Community 99|Community 99]] - [[_COMMUNITY_Community 100|Community 100]] - [[_COMMUNITY_Community 101|Community 101]] - [[_COMMUNITY_Community 102|Community 102]] - [[_COMMUNITY_Community 103|Community 103]] - [[_COMMUNITY_Community 104|Community 104]] - [[_COMMUNITY_Community 105|Community 105]] - [[_COMMUNITY_Community 106|Community 106]] - [[_COMMUNITY_Community 107|Community 107]] - [[_COMMUNITY_Community 108|Community 108]] - [[_COMMUNITY_Community 109|Community 109]] - [[_COMMUNITY_Community 110|Community 110]] - [[_COMMUNITY_Community 111|Community 111]] - [[_COMMUNITY_Community 112|Community 112]] - [[_COMMUNITY_Community 113|Community 113]] - [[_COMMUNITY_Community 114|Community 114]] - [[_COMMUNITY_Community 115|Community 115]] - [[_COMMUNITY_Community 116|Community 116]] - [[_COMMUNITY_Community 117|Community 117]] - [[_COMMUNITY_Community 118|Community 118]] - [[_COMMUNITY_Community 119|Community 119]] - [[_COMMUNITY_Community 120|Community 120]] - [[_COMMUNITY_Community 121|Community 121]] - [[_COMMUNITY_Community 122|Community 122]] - [[_COMMUNITY_Community 123|Community 123]] - [[_COMMUNITY_Community 124|Community 124]] - [[_COMMUNITY_Community 125|Community 125]] - [[_COMMUNITY_Community 126|Community 126]] - [[_COMMUNITY_Community 127|Community 127]] - [[_COMMUNITY_Community 128|Community 128]] - [[_COMMUNITY_Community 129|Community 129]] - [[_COMMUNITY_Community 130|Community 130]] - [[_COMMUNITY_Community 131|Community 131]] - [[_COMMUNITY_Community 132|Community 132]] - [[_COMMUNITY_Community 133|Community 133]] - [[_COMMUNITY_Community 134|Community 134]] - [[_COMMUNITY_Community 135|Community 135]] - [[_COMMUNITY_Community 136|Community 136]] - [[_COMMUNITY_Community 137|Community 137]] - [[_COMMUNITY_Community 138|Community 138]] - [[_COMMUNITY_Community 139|Community 139]] - [[_COMMUNITY_Community 140|Community 140]] - [[_COMMUNITY_Community 141|Community 141]] - [[_COMMUNITY_Community 142|Community 142]] - [[_COMMUNITY_Community 143|Community 143]] - [[_COMMUNITY_Community 144|Community 144]] - [[_COMMUNITY_Community 145|Community 145]] - [[_COMMUNITY_Community 146|Community 146]] - [[_COMMUNITY_Community 147|Community 147]] - [[_COMMUNITY_Community 148|Community 148]] - [[_COMMUNITY_Community 149|Community 149]] - [[_COMMUNITY_Community 150|Community 150]] - [[_COMMUNITY_Community 151|Community 151]] - [[_COMMUNITY_Community 152|Community 152]] - [[_COMMUNITY_Community 153|Community 153]] - [[_COMMUNITY_Community 154|Community 154]] - [[_COMMUNITY_Community 155|Community 155]] - [[_COMMUNITY_Community 156|Community 156]] - [[_COMMUNITY_Community 157|Community 157]] - [[_COMMUNITY_Community 158|Community 158]] - [[_COMMUNITY_Community 159|Community 159]] - [[_COMMUNITY_Community 160|Community 160]] - [[_COMMUNITY_Community 161|Community 161]] - [[_COMMUNITY_Community 162|Community 162]] - [[_COMMUNITY_Community 163|Community 163]] - [[_COMMUNITY_Community 164|Community 164]] - [[_COMMUNITY_Community 165|Community 165]] - [[_COMMUNITY_Community 166|Community 166]] - [[_COMMUNITY_Community 167|Community 167]] - [[_COMMUNITY_Community 168|Community 168]] - [[_COMMUNITY_Community 169|Community 169]] - [[_COMMUNITY_Community 170|Community 170]] - [[_COMMUNITY_Community 171|Community 171]] - [[_COMMUNITY_Community 172|Community 172]] - [[_COMMUNITY_Community 173|Community 173]] - [[_COMMUNITY_Community 174|Community 174]] - [[_COMMUNITY_Community 175|Community 175]] - [[_COMMUNITY_Community 176|Community 176]] - [[_COMMUNITY_Community 177|Community 177]] - [[_COMMUNITY_Community 178|Community 178]] - [[_COMMUNITY_Community 179|Community 179]] - [[_COMMUNITY_Community 180|Community 180]] - [[_COMMUNITY_Community 181|Community 181]] - [[_COMMUNITY_Community 182|Community 182]] - [[_COMMUNITY_Community 183|Community 183]] - [[_COMMUNITY_Community 184|Community 184]] - [[_COMMUNITY_Community 185|Community 185]] - [[_COMMUNITY_Community 186|Community 186]] - [[_COMMUNITY_Community 187|Community 187]] - [[_COMMUNITY_Community 188|Community 188]] - [[_COMMUNITY_Community 189|Community 189]] - [[_COMMUNITY_Community 190|Community 190]] - [[_COMMUNITY_Community 191|Community 191]] - [[_COMMUNITY_Community 193|Community 193]] - [[_COMMUNITY_Community 194|Community 194]] - [[_COMMUNITY_Community 195|Community 195]] ## God Nodes (most connected - your core abstractions) 1. `workflow` - 32 edges 2. `Phase 4: Shared Lists + Live Sync — Research` - 29 edges 3. `Phase 3: Event Write-Back + PWA Install — Research` - 27 edges 4. `Phase 2: Calendar Display - Research` - 20 edges 5. `Phase 1: Foundation + Broker Spike — Research` - 19 edges 6. `Critical Pitfalls` - 19 edges 7. `Pattern Assignments` - 18 edges 8. `Phase 2 — UI Design Contract` - 18 edges 9. `Dev` - 16 edges 10. `compilerOptions` - 15 edges ## Surprising Connections (you probably didn't know these) - `loadClientForUser()` --calls--> `createFastmailClient()` [EXTRACTED] apps/api/src/broker/outboxWorker.ts → apps/api/src/broker/client.ts - `main()` --calls--> `createFastmailClient()` [EXTRACTED] apps/api/src/broker/spike.ts → apps/api/src/broker/client.ts - `loadClientForUser()` --calls--> `decryptPassword()` [EXTRACTED] apps/api/src/broker/outboxWorker.ts → apps/api/src/broker/crypto.ts - `runPoll()` --calls--> `decryptPassword()` [EXTRACTED] apps/api/src/broker/poller.ts → apps/api/src/broker/crypto.ts - `triggerTargetedResync()` --calls--> `syncCalendar()` [EXTRACTED] apps/api/src/broker/outboxWorker.ts → apps/api/src/broker/sync.ts ## Import Cycles - None detected. ## Communities (210 total, 25 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.05 Nodes (43): 60 / 30 / 10 split, Agenda view (default: phone), AgendaRow, AppNav, Base palette, Breakpoints, Calendar config constant, Calendar Display (+35 more) ### Community 1 - "Community 1" Cohesion: 0.06 Nodes (35): dependencies, ical.js, lucide-react, react, react-dom, @schedule-x/calendar, @schedule-x/calendar-controls, @schedule-x/event-modal (+27 more) ### Community 2 - "Community 2" Cohesion: 0.06 Nodes (35): Advanced: Multiple Cookies or Custom Options, Advanced: Multiple Operations, Authentication State Reuse, Clear All Cookies, Clear All localStorage, Clear sessionStorage, Common Patterns, Cookies (+27 more) ### Community 3 - "Community 3" Cohesion: 0.06 Nodes (34): Accessibility Baseline, `AddItemInput`, Bottom Tab Bar (phone, ≤767px), `BottomTabBar`, Checked-Off Sink Behavior (D-05), Checker Sign-Off, Color, Component Inventory (+26 more) ### Community 4 - "Community 4" Cohesion: 0.06 Nodes (31): Android install, CalendarPicker (within EventForm — conditional, D-02), Checker Sign-Off, Color, Component Inventory, Copywriting Contract, Delete interaction, DeleteConfirmationDialog (new component) (+23 more) ### Community 5 - "Community 5" Cohesion: 0.06 Nodes (31): dependencies, drizzle-orm, hono, @hono/node-server, @hono/oidc-auth, @hono/zod-validator, ical.js, mysql2 (+23 more) ### Community 6 - "Community 6" Cohesion: 0.06 Nodes (32): workflow, ai_integration_phase, auto_advance, _auto_chain_active, auto_prune_state, code_review, code_review_command, code_review_depth (+24 more) ### Community 7 - "Community 7" Cohesion: 0.06 Nodes (31): Anti-Pattern 1: Fetching from Fastmail on Every Calendar Request, Anti-Pattern 2: Using Email as the App User Key, Anti-Pattern 3: Storing Recurring Events Only as Expanded Instances, Anti-Pattern 4: Separate Microservices for Broker, Lists, Push, Anti-Pattern 5: Per-User CalDAV Credentials in the PWA, Anti-Patterns, Architectural Patterns, Architecture Research (+23 more) ### Community 8 - "Community 8" Cohesion: 0.06 Nodes (30): `apps/api/src/auth/devBypass.ts` (middleware — new file), `apps/api/src/broker/expand.ts` (utility, transform — new file), `apps/api/src/db/schema.ts` (model — modify existing), `apps/api/src/index.ts` (config — modify existing), `apps/api/src/routes/events.ts` (route, request-response — modify existing), `apps/api/tests/broker/expand.test.ts` (test — new file), `apps/api/tests/routes/events.test.ts` (test — new file), `apps/pwa/src/api/client.ts` (utility, request-response — modify existing) (+22 more) ### Community 9 - "Community 9" Cohesion: 0.07 Nodes (29): 401 Guard Pattern, `apps/api/src/db/schema.ts` (model, CRUD — append new tables), `apps/api/src/index.ts` (config, modify), `apps/api/src/lib/listEmitter.ts` (utility, event-driven), `apps/api/src/routes/lists.ts` (route, CRUD), `apps/api/src/routes/sse.ts` (route, streaming — extend existing), `apps/pwa/src/api/listsClient.ts` (utility, request-response), `apps/pwa/src/App.tsx` (component, modify) (+21 more) ### Community 10 - "Community 10" Cohesion: 0.07 Nodes (29): Critical Pitfalls, Integration Gotchas, "Looks Done But Isn't" Checklist, Performance Traps, Pitfall 10: Declarative Web Push vs Standard Web Push — Choose the Right Target, Pitfall 11: EU Digital Markets Act Breaks iOS PWA Entirely for EU Users, Pitfall 12: Service Worker Caching Serves Stale Calendar Data, Pitfall 13: Service Worker Update Staleness — App Never Updates for the Wife (+21 more) ### Community 11 - "Community 11" Cohesion: 0.07 Nodes (27): Alternatives Considered, Architecture, Authelia OIDC Integration, Backend, Backend Framework, Browser-based verification, Calendar Integration: CalDAV, Not JMAP, Constraints (+19 more) ### Community 12 - "Community 12" Cohesion: 0.14 Nodes (19): BACKOFF_SECONDS, DispatchResult, dispatchRow(), HARD_FAIL_STATUSES, loadClientForUser(), OutboxPayloadFields, outboxPayloadSchema, OutboxRow (+11 more) ### Community 13 - "Community 13" Cohesion: 0.08 Nodes (23): `apps/api/src/broker/outboxWorker.ts` — new file, outbox drain loop, `apps/api/src/broker/vevent.ts` — new file, ical.js VEVENT builder, `apps/api/src/broker/write.ts` — new file, tsdav PUT/DELETE wrapper, `apps/api/src/db/schema.ts` — add `calendarOutbox` table + `objectUrl` column on `calendarEvents`, `apps/api/src/routes/events.ts` — extend with write endpoints + sync-status, `apps/pwa/src/api/client.ts` — add write calls + sync-status poll, `apps/pwa/src/components/EventDetailPopover.tsx` — add edit/delete to reserved footer, `apps/pwa/src/components/EventForm.tsx` — new file, create/edit form (+15 more) ### Community 14 - "Community 14" Cohesion: 0.08 Nodes (23): Browser Automation with playwright-cli, Browser Sessions, Commands, Core, DevTools, Example: Debugging with DevTools, Example: Form submission, Example: Interactive session (+15 more) ### Community 15 - "Community 15" Cohesion: 0.09 Nodes (22): Canonical References, Claude's Discretion (deferred to research/planner), Deferred Ideas, Entry gate & transport, Established Patterns, Existing Code Insights, Implementation Decisions, Integration Points (+14 more) ### Community 16 - "Community 16" Cohesion: 0.14 Nodes (18): createEvent(), CreateEventPayload, CreateEventResponse, fetchSyncStatus(), fetchWritableCalendars(), MeResponse, MeUser, OccurrencesResponse (+10 more) ### Community 17 - "Community 17" Cohesion: 0.16 Nodes (14): ContextVariableMap, DEV_USER, devAuthBypass(), claimStr(), deriveDisplayName(), upsertUser(), eventFieldsSchema, eventsQuerySchema (+6 more) ### Community 18 - "Community 18" Cohesion: 0.09 Nodes (21): Backlog, Overview, Phase 1: Foundation + Broker Spike, Phase 2: Calendar Display, Phase 3: Event Write-Back + PWA Install, Phase 4: Shared Lists + Live Sync, Phase 5: Web Push Notifications, Phase 6: UX Polish (+13 more) ### Community 19 - "Community 19" Cohesion: 0.09 Nodes (21): Architecture Approach, Confidence Assessment, Critical Pitfalls, Executive Summary, Expected Features, Gaps to Address, Implications for Roadmap, Key Findings (+13 more) ### Community 20 - "Community 20" Cohesion: 0.10 Nodes (20): Canonical References, Claude's Discretion, Color & ownership legibility, Deferred Ideas, Dev-auth bypass (from D-14, project-level), Established Patterns, Event detail density, Existing Code Insights (+12 more) ### Community 21 - "Community 21" Cohesion: 0.10 Nodes (20): CR-01: Event edit/delete ownership check resolves an arbitrary member's row (uid-only lookup), CR-02: Outbox WR-02 "freshest etag" re-read also queries uid-only — can pick the wrong member's etag, CR-03: All-day end date is exclusive on write but inclusive on edit pre-fill — span grows one day per re-edit, Critical Issues, IN-01: `triggerTargetedResync` re-loads and re-decrypts the credential per row, IN-02: Unknown-status responses retried for the full backoff window before giving up, IN-03: `InstallPrompt` reads `localStorage` synchronously in `useState` initializer without try/catch, IN-04: `resolveUserId` typed as `any` (+12 more) ### Community 22 - "Community 22" Cohesion: 0.10 Nodes (20): 1. Name Browser Sessions Semantically, 2. Always Clean Up, 3. Delete Stale Browser Data, A/B Testing Sessions, Attach by channel name, Attach via browser extension, Attach via CDP endpoint, Attaching to a Running Browser (+12 more) ### Community 23 - "Community 23" Cohesion: 0.10 Nodes (19): Canonical References, Claude's Discretion, Deferred Ideas, Established Patterns, Existing Code Insights, External docs (authoritative), Implementation Decisions, Infrastructure & Deployment Scope (+11 more) ### Community 24 - "Community 24" Cohesion: 0.10 Nodes (19): Architectural Responsibility Map, Assumptions Log, Don't Hand-Roll, Environment Availability, Metadata, Open Questions (RESOLVED), Package Legitimacy Audit, Pattern 1: Building a VEVENT with ical.js (new file: `broker/vevent.ts`) (+11 more) ### Community 25 - "Community 25" Cohesion: 0.10 Nodes (19): Anti-Patterns, Architectural Constraints, Architecture, Caching tsdav clients across polls, Calendar Sync (Background Poller → syncCalendar), Component Responsibilities, Data Flow, Direct Fastmail calls from routes (+11 more) ### Community 26 - "Community 26" Cohesion: 0.10 Nodes (19): agent_skills, brave_search, claude_md_path, commit_docs, exa_search, firecrawl, granularity, hooks (+11 more) ### Community 27 - "Community 27" Cohesion: 0.11 Nodes (18): blockers, completed_tasks, context_notes, decisions, human_actions_pending, next_action, phase, phase_dir (+10 more) ### Community 28 - "Community 28" Cohesion: 0.11 Nodes (18): 1.1 Prerequisite: workspace, 1.2 Prerequisite: seed test, 1.3 Explore the app, 1.4 Write the spec file, 1. Planning, 2.1 Inputs, 2.2 Generate one scenario, 2.3 Generate multiple scenarios (+10 more) ### Community 29 - "Community 29" Cohesion: 0.11 Nodes (17): Accomplishments, Auto-fixed Issues, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Issues Encountered, Known Stubs (+9 more) ### Community 30 - "Community 30" Cohesion: 0.11 Nodes (17): 1. Color-coded event rendering, 2. All four views render events correctly, 3. Recurring events — DST boundary (CAL-07), 4. All-day events — no date shift (CAL-07), Anti-Patterns Found, Behavioral Spot-Checks, Data-Flow Trace (Level 4), Deferred Items (+9 more) ### Community 31 - "Community 31" Cohesion: 0.11 Nodes (17): Canonical References, Carried forward — locked, NOT re-discussed, Claude's Discretion (researcher / planner decide), Code this phase extends, Deferred Ideas, Established Patterns, Existing Code Insights, Implementation Decisions (+9 more) ### Community 32 - "Community 32" Cohesion: 0.11 Nodes (17): CR-01: Event edit/delete ownership check resolves an arbitrary member's row (uid-only lookup), CR-02: Outbox WR-02 "freshest etag" re-read also queries uid-only, CR-03: All-day end date exclusive on write but inclusive on edit pre-fill, Fixed Issues, IN-01: `triggerTargetedResync` re-loads and re-decrypts the credential per row, IN-02: Unknown-status responses retried for the full backoff window before giving up, IN-03: `InstallPrompt` reads `localStorage` synchronously without try/catch, IN-04: `resolveUserId` typed as `any` (+9 more) ### Community 33 - "Community 33" Cohesion: 0.11 Nodes (17): compilerOptions, declaration, declarationMap, esModuleInterop, forceConsistentCasingInFileNames, lib, module, moduleResolution (+9 more) ### Community 34 - "Community 34" Cohesion: 0.12 Nodes (16): Accomplishments, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Issues Encountered, Known Stubs, Metrics (+8 more) ### Community 35 - "Community 35" Cohesion: 0.12 Nodes (16): Accomplishments, Dependency graph, Deviations from Plan, Files Created/Modified, Known Stubs, Live Verification Pending (Tasks 2 + 3), Metrics, Performance (+8 more) ### Community 36 - "Community 36" Cohesion: 0.12 Nodes (16): 1. AUTH-01 — Authelia OIDC Login (Member 1: Lucas), 2. AUTH-02 — Session Persistence Across Browser Restart, 3. AUTH-03 — Cross-Member Distinct Color (Member 2: Wife), 4. SSE Smoke Test — Pangolin Pass-Through (D-08), Anti-Patterns Found, Behavioral Spot-Checks, Data-Flow Trace (Level 4), Gaps Summary (+8 more) ### Community 37 - "Community 37" Cohesion: 0.12 Nodes (16): Accomplishments, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Known Stubs, Metrics, Performance (+8 more) ### Community 38 - "Community 38" Cohesion: 0.12 Nodes (16): Architectural Responsibility Map, Assumptions Log, Don't Hand-Roll, Entry Gate Status: CLEARED, Environment Availability, Metadata, Open Questions, Package Legitimacy Audit (+8 more) ### Community 39 - "Community 39" Cohesion: 0.12 Nodes (16): 1. Start Tracing Before the Problem, 2. Clean Up Old Traces, Analyzing Performance, Basic Usage, Best Practices, Capturing Evidence, Debugging Failed Actions, Limitations (+8 more) ### Community 40 - "Community 40" Cohesion: 0.12 Nodes (16): Alternatives Considered, Authelia OIDC Integration, Backend Framework, Calendar Integration: CalDAV, Not JMAP, Core Technologies, Development Tools, Installation, Live List Sync (+8 more) ### Community 41 - "Community 41" Cohesion: 0.12 Nodes (15): Accomplishments, Auto-fixed Issues, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Known Stubs, Metrics (+7 more) ### Community 42 - "Community 42" Cohesion: 0.12 Nodes (15): 1. Register FamilySync as an Authelia OIDC confidential client, 2. Set OIDC_AUTH_EXTERNAL_URL in the app's .env, 3. Expose via Pangolin / Newt (Mode A local rig), 4. Apply database schema (first deploy only), 5. Bring up the app and confirm /health over the tunnel, Gate 2 Checklist, Header, /health Tunnel Verification (+7 more) ### Community 43 - "Community 43" Cohesion: 0.23 Nodes (11): createFastmailClient(), FastmailClient, runPoll(), startBrokerPoller(), main(), syncCalendar(), calendarEvents, calendarOutbox (+3 more) ### Community 44 - "Community 44" Cohesion: 0.13 Nodes (14): Accomplishments, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Known Stubs, Metrics, Operator Setup Required (Authelia Client Registration) (+6 more) ### Community 45 - "Community 45" Cohesion: 0.13 Nodes (14): Accomplishments, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Issues Encountered, Metrics, Next Phase Readiness (+6 more) ### Community 46 - "Community 46" Cohesion: 0.13 Nodes (14): Accomplishments, Auto-fixed Issues, Decisions Made, Dependency graph, Deviations from Plan, Files Created, Known Stubs, Metrics (+6 more) ### Community 47 - "Community 47" Cohesion: 0.13 Nodes (14): Accomplishments, Auto-fixed Issues, Decisions Made, Deviations from Plan, Files Created/Modified, Issues Encountered, Known Stubs, Next Phase Readiness (+6 more) ### Community 48 - "Community 48" Cohesion: 0.13 Nodes (14): Accomplishments, Auto-fixed Issues, Decisions Made, Deviations from Plan, Files Created/Modified, Issues Closed, Issues Encountered, Known Stubs (+6 more) ### Community 49 - "Community 49" Cohesion: 0.13 Nodes (14): Auto-fixed Issues, Deviations from Plan, IN-03: todayIso exported from calendarStore, Issues Closed, Phase 03 Plan 12: EventForm Gap Closure — Edit Mode, Focus Trap, PWA Assets Summary, PWA-01/PWA-02: Install assets confirmed present (IN-04), Self-Check: PASSED, Tasks Completed (+6 more) ### Community 50 - "Community 50" Cohesion: 0.13 Nodes (14): Behavior when the CalDAV write fails, Calendar selector visibility, Claude's Discretion, Default target calendar for a new event, Deferred Ideas, Edit-conflict (etag mismatch / 412) handling, How the member sees their own change after save (poll-based cache), Move event between calendars on edit (+6 more) ### Community 51 - "Community 51" Cohesion: 0.13 Nodes (14): Auto-fixed Issues, BUG 1 — Missing join on PATCH/:uid/edit and DELETE/:uid (BLOCKING), BUG 2 — Blank displayName from weak OIDC claim reading, BUG 3 — GET /api/events returning all users' events, Bug Details, Deviations from Plan, Known Stubs, Operator Actions Required (+6 more) ### Community 52 - "Community 52" Cohesion: 0.16 Nodes (11): fetchEvents(), fetchMe(), ALLDAY_OCCURRENCE, makeQueryClient(), mockEventsServiceSet, renderWithClient(), TIMED_OCCURRENCE, CalendarOccurrence (+3 more) ### Community 53 - "Community 53" Cohesion: 0.13 Nodes (14): Dev-auth bypass (Phase 2+ local development), FamilySync — Deployment & Live-Verification Runbook, Gate 2 — Live verification checklist (`01-HUMAN-UAT.md`), Newt connector, Prerequisites (both modes), ⚠️ Same-parent-domain requirement (Pitfall 1), ⚠️ SSE idle timeout (Phase 4 dependency, issue #1034), Step 1 — Register the OIDC client in Authelia (+6 more) ### Community 54 - "Community 54" Cohesion: 0.13 Nodes (14): compilerOptions, esModuleInterop, forceConsistentCasingInFileNames, jsx, lib, module, moduleResolution, noEmit (+6 more) ### Community 55 - "Community 55" Cohesion: 0.13 Nodes (14): Add After Validation (v1.x), Anti-Features (Deliberately Exclude), Competitor Feature Analysis, Dependency Notes, Differentiators (Competitive Advantage for This Product), Feature Dependencies, Feature Landscape, Feature Prioritization Matrix (+6 more) ### Community 56 - "Community 56" Cohesion: 0.14 Nodes (13): Area Selection, Broker access model, Claude's Discretion, Credential storage, Deferred Ideas, Deployment scope, Infra validation scope, Member color assignment (+5 more) ### Community 57 - "Community 57" Cohesion: 0.14 Nodes (13): CR-01: Edit-as-move silently strips a recurring series' RRULE, Critical Issues, IN-01: `RRULE_PRESETS` round-trip is lossy for any parameterized RRULE, IN-02: `parseDateTime` silently rewrites a malformed edit value to today/09:00, IN-03: Unchecked `as` casts on JSON-parsed outbox payload fields, Info, Phase 3: Code Review Report (Re-Review, Iteration 2), Summary (+5 more) ### Community 58 - "Community 58" Cohesion: 0.14 Nodes (13): Architectural Constraints & Anti-Patterns, Codebase Concerns, Dependencies at Risk, Fragile Areas, Infrastructure & Deployment Concerns, Known Bugs, Known Limitations (Documented as Design Decisions), Missing Critical Features (+5 more) ### Community 59 - "Community 59" Cohesion: 0.18 Nodes (6): BeforeInstallPromptEvent, InstallPrompt(), IOS_STEPS, isIOSSafariNonStandalone(), useAndroidInstallPrompt(), WalkthroughSheetProps ### Community 60 - "Community 60" Cohesion: 0.14 Nodes (13): BUG A — Event times written 4 hours off (local serialized as UTC), BUG A — write-path timezone serialization, BUG B — Created events attach to the wrong user's calendar; poller creates duplicate calendar rows, BUG B — wrong-calendar attach + duplicate calendar rows, Current Focus, Debug Session: write-path-event-bugs, Eliminated, Environment (+5 more) ### Community 61 - "Community 61" Cohesion: 0.27 Nodes (9): buildCalendarConfig(), CalendarConfig, MemberCalendarConfig, ScheduleXCalendarEntry, deriveScheduleXColors(), hexToContainer(), hexToOnContainer(), hexToRgb() (+1 more) ### Community 62 - "Community 62" Cohesion: 0.14 Nodes (13): Calendar → Fastmail (NOT self-hosted), Display + aggregation → custom app (the actual product), FamilySync Architecture Decisions, Frontend → React PWA, Household, Infrastructure, Lists → custom app backend (MariaDB), Net result (+5 more) ### Community 63 - "Community 63" Cohesion: 0.14 Nodes (13): Authentication & Onboarding, Calendar, Calendar, Display, Lists, Notifications, Out of Scope, PWA & Install (+5 more) ### Community 64 - "Community 64" Cohesion: 0.14 Nodes (13): Clipboard, Complex Workflows, Error Handling, File Downloads, Frames and Iframes, Geolocation, JavaScript Execution, Media Emulation (+5 more) ### Community 65 - "Community 65" Cohesion: 0.15 Nodes (12): Auto-fixed Issues, Dev-Auth Bypass (Task 2), Deviations from Plan, ICS Fixtures (Task 1), Known Stubs, Phase 02 Plan 01: Foundation — Schema Columns, Test Harness, Dev-Auth Bypass Summary, PWA Test Harness (Task 1), RED Test Stubs (Task 1) (+4 more) ### Community 66 - "Community 66" Cohesion: 0.15 Nodes (12): Auto-fixed Issues, Deviations from Plan, Human Verify Checkpoint (Task 3 — awaiting operator), Known Stubs, Phase 02 Plan 05: Calendar UX — Popover, Chrome, States Summary, Self-Check: PASSED, Task 1: EventDetailPopover + CalendarShell wiring (TDD), Task 2: Chrome components, state branches, EventProof retired (+4 more) ### Community 67 - "Community 67" Cohesion: 0.15 Nodes (12): Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 03 Plan 06: Edit/Delete + SyncStateToast Summary, Self-Check: PASSED, Task 1 — Client calls + Zustand keys (RED: `8357cf9`, GREEN: `8aeacc8`), Task 2 — SyncStateToast (RED: `6874e1a`, GREEN: `aa7c4c3`), Task 3 — EventDetailPopover footer + DeleteConfirmationDialog (RED: `2fbeffe`, GREEN: `40322e1`) (+4 more) ### Community 68 - "Community 68" Cohesion: 0.15 Nodes (12): Auto-fixed Issues, Decisions Made, Deviations from Plan, Infrastructure, Issues Closed, Known Stubs, Phase 03 Plan 10: Outbox Worker ICS Builder Wiring Summary, Self-Check: PASSED (+4 more) ### Community 69 - "Community 69" Cohesion: 0.15 Nodes (9): mockDelete, mockDeleteWhere, mockFrom, mockInsert, mockLimit, mockOnDuplicateKeyUpdate, mockSelect, mockValues (+1 more) ### Community 70 - "Community 70" Cohesion: 0.15 Nodes (12): Accumulated Context, Blockers/Concerns, Current Position, Decisions, Deferred Items, Pending Todos, Performance Metrics, Project Reference (+4 more) ### Community 71 - "Community 71" Cohesion: 0.17 Nodes (11): Architectural Responsibility Map, Assumptions Log, Don't Hand-Roll, Environment Availability, Metadata, Open Questions (DEFERRED TO SPIKE — resolved empirically in Plan 01-04), Package Legitimacy Audit, Phase 1: Foundation + Broker Spike — Research (+3 more) ### Community 72 - "Community 72" Cohesion: 0.17 Nodes (11): Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 02 Plan 03: PWA Foundation — Token Layer, Color Utils, Calendar Config, Hydration, Store Summary, Self-Check: PASSED, Task 1: Schedule-X Stack + Token Layer + main.tsx Import Order, Task 2: colorUtils + calendarConfig — RED Stubs Turned GREEN, Task 3: hydrateEvents + calendarStore + windowed fetchEvents — RED Stubs Turned GREEN (+3 more) ### Community 73 - "Community 73" Cohesion: 0.17 Nodes (11): Architectural Responsibility Map, Assumptions Log, Don't Hand-Roll, Environment Availability, Metadata, Open Questions, Package Legitimacy Audit, Phase 2: Calendar Display - Research (+3 more) ### Community 74 - "Community 74" Cohesion: 0.17 Nodes (11): Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 03 Plan 05: Event Write UI (EventForm + Client Calls) Summary, Self-Check: PASSED, Task 1: Typed write client calls + Zustand form-state keys, Task 2: EventForm modal, Task 3: Mount EventForm + "New Event" FAB/toolbar in CalendarShell (+3 more) ### Community 75 - "Community 75" Cohesion: 0.17 Nodes (11): Auto-fixed Issues, Decisions Made, Deviations from Plan, Known Stubs, Phase 03 Plan 09: Route Schema + OIDC Resolution Fix Summary, Self-Check: PASSED, Tasks Completed, TDD Gate Compliance (+3 more) ### Community 76 - "Community 76" Cohesion: 0.17 Nodes (11): Code Style, Coding Conventions, Comments, Database Patterns, Error Handling, Function Design, Import Organization, Logging (+3 more) ### Community 77 - "Community 77" Cohesion: 0.17 Nodes (11): Common Patterns, Coverage, Fixtures and Factories, Known Testing Gaps, Mocking, Test File Organization, Test Framework, Test Setup (+3 more) ### Community 78 - "Community 78" Cohesion: 0.17 Nodes (11): Active, Constraints, Context, Core Value, Evolution, FamilySync, Key Decisions, Out of Scope (+3 more) ### Community 79 - "Community 79" Cohesion: 0.18 Nodes (10): Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 02 Plan 02: Windowed /api/events — Recurrence Expansion + Color Join Summary, Self-Check: PASSED, Task 1: expandOccurrences() — apps/api/src/broker/expand.ts, Task 2: Windowed /api/events — apps/api/src/routes/events.ts, Task 3: Shared-Family Calendar Marking — RESOLVED BY DEFERRAL (+2 more) ### Community 80 - "Community 80" Cohesion: 0.18 Nodes (10): Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 02 Plan 04: CalendarShell — Schedule-X Mounted, Wired to Data Pipeline Summary, Self-Check: PASSED, Task 1: CalendarShell + App.tsx, Task 2: CalendarShell Render Smoke Test (CAL-03), Threat Flags (+2 more) ### Community 81 - "Community 81" Cohesion: 0.18 Nodes (10): CR-01: Edit-as-move silently strips a recurring series' RRULE, Fixed Issues, IN-01: `RRULE_PRESETS` round-trip is lossy for parameterized RRULEs, IN-02: `parseDateTime` silently rewrites a malformed edit value to today/09:00, IN-03: Unchecked `as` casts on JSON-parsed outbox payload fields, Phase 3: Code Review Fix Report (Iteration 2), WR-01: Edit form provides no indication recurrence is locked, WR-02: `handleAllDayToggle` can leave end-date inconsistent (+2 more) ### Community 82 - "Community 82" Cohesion: 0.18 Nodes (10): CR-01: Edit-as-move silently strips a recurring series' RRULE, Fixed Issues, IN-01: `RRULE_PRESETS` round-trip is lossy for parameterized RRULEs, IN-02: `parseDateTime` silently rewrites a malformed edit value to today/09:00, IN-03: Unchecked `as` casts on JSON-parsed outbox payload fields, Phase 3: Code Review Fix Report (Iteration 2), WR-01: Edit form provides no indication recurrence is locked, WR-02: `handleAllDayToggle` can leave end-date inconsistent (+2 more) ### Community 83 - "Community 83" Cohesion: 0.18 Nodes (10): Claude's Discretion, Deferred Ideas, List & item behavior — Checked items & delete guard, List & item behavior — Privacy (refined), List & item behavior — Sharing, Lists navigation, Live feel & conflicts, Phase 4: Shared Lists + Live Sync - Discussion Log (+2 more) ### Community 84 - "Community 84" Cohesion: 0.18 Nodes (10): Deviations from Plan, Known Stubs, Quick Task 260606-tv8: Fix Missing Sign-in Redirect in the PWA — Summary, Self-Check: PASSED, Task 1: GET /api/login backend route + tests (commit 237ec49), Task 2: One-shot login-redirect helper + tests (commit 6dc9ccd), Task 3: CalendarShell meQuery wiring (commit c2e0ab1), Threat Flags (+2 more) ### Community 85 - "Community 85" Cohesion: 0.25 Nodes (9): CalendarOccurrence, EventDetailPopover(), formatDateTime(), ScheduleXEventModalProps, ALLDAY_OCCURRENCE, { mockSetOpenEventId, mockSetEventForm, mockSetDeleteDialog, }, OCCURRENCE_WITH_HTML, TIMED_OCCURRENCE (+1 more) ### Community 86 - "Community 86" Cohesion: 0.25 Nodes (8): CalendarOccurrence, expandOccurrences(), formatUtcOffset(), makeOccurrenceId(), OccurrenceMeta, serializeTime(), __dirname, FIXTURES ### Community 87 - "Community 87" Cohesion: 0.29 Nodes (6): CalendarShell(), isPhone(), resolveDefaultView(), clearLoginRedirect(), maybeRedirectToLogin(), locationStub ### Community 88 - "Community 88" Cohesion: 0.18 Nodes (10): name, packageManager, private, scripts, build, dev:api, dev:pwa, lint (+2 more) ### Community 89 - "Community 89" Cohesion: 0.20 Nodes (10): Anti-Patterns to Avoid, Architecture Patterns, Pattern 1: @hono/oidc-auth Middleware Wiring, Pattern 2: Drizzle/MariaDB Schema, Pattern 3: CalDAV Broker (tsdav), Pattern 4: AES-GCM App-Password Encryption, Pattern 5: Pangolin SSE Smoke Test, Pattern 6: Docker Compose Layout (+2 more) ### Community 90 - "Community 90" Cohesion: 0.20 Nodes (9): IN-01: `RRULE_PRESETS` round-trip is lossy for any parameterized RRULE, IN-02: Move-path RRULE preservation depends silently on `rawVevent` being non-empty, Info, Iteration-2 fixes — verified, Phase 3: Code Review Report (Re-Review, Iteration 3 — final --auto pass), Summary, Warnings, WR-01: Missing cached etag still produces an unconditional PUT/DELETE (D-08 gap) (+1 more) ### Community 91 - "Community 91" Cohesion: 0.24 Nodes (5): COLOR_PALETTE, mockDb, db, pool, healthRouter ### Community 92 - "Community 92" Cohesion: 0.20 Nodes (9): mockCalendarsSelectResult, mockCreateFastmailClient, mockCredentialsSelectResult, mockFetchCalendars, mockSelect, mockSelectFrom, mockSelectLimit, mockSelectWhere (+1 more) ### Community 93 - "Community 93" Cohesion: 0.20 Nodes (9): APIs & External Services, Authentication & Identity, CI/CD & Deployment, Data Storage, Environment Configuration, External Integrations, Monitoring & Observability, Network & Transport (+1 more) ### Community 94 - "Community 94" Cohesion: 0.22 Nodes (5): AppNav(), AppNavProps, ColorLegend(), ColorLegendProps, LegendMember ### Community 95 - "Community 95" Cohesion: 0.22 Nodes (8): 1. AUTH-01 — Live Authelia OIDC login over the public Pangolin URL, 2. AUTH-02 — Session persists across browser restart, 3. AUTH-03 — Second member gets a distinct color, 4. SSE-over-Pangolin smoke test (de-risks Phase 4), Current Test, Gaps, Summary, Tests ### Community 96 - "Community 96" Cohesion: 0.22 Nodes (8): CAL-08: Personal Calendar ACL Spike — Decision Record, Calendars Discovered, Decision, How to Run the Spike, Notes, Questions Resolved, Results, Status ### Community 97 - "Community 97" Cohesion: 0.22 Nodes (8): 1. Color-coded rendering, 2. All four views render + grid scrolls, 3. Recurring events across DST, 4. All-day banners — no date shift, Current Test, Gaps, Summary, Tests ### Community 98 - "Community 98" Cohesion: 0.22 Nodes (9): Anti-Patterns to Avoid, Architecture Patterns, Pattern 1: `/api/events` Windowed Query with Expansion, Pattern 2: Schedule-X Event Format (Temporal, not ISO strings), Pattern 3: Schedule-X Calendar Configuration, Pattern 4: TanStack Query + onRangeUpdate Wiring, Pattern 5: Dev-Auth Bypass Middleware, Recommended Project Structure (+1 more) ### Community 99 - "Community 99" Cohesion: 0.22 Nodes (8): Blocker bugs found + fixed live (all committed + deployed), Deferred / carried forward, Dependency graph, Outcome, Phase 03 Plan 08: Gate 2 Live Verification — Summary, Self-Check, Tech tracking, Verification method ### Community 100 - "Community 100" Cohesion: 0.22 Nodes (8): Advanced Mocking with run-code, CLI Route Commands, Conditional Response Based on Request, Delayed Response, Modify Real Response, Request Mocking, Simulate Network Failures, URL Patterns ### Community 101 - "Community 101" Cohesion: 0.22 Nodes (8): 1. Use Semantic Locators, 2. Explore Before Recording, 3. Add Assertions Manually, Best Practices, Building a Test File, Example Workflow, How It Works, Test Generation ### Community 102 - "Community 102" Cohesion: 0.22 Nodes (8): 1. Use Descriptive Filenames, 2. Record entire hero scripts., Basic Recording, Best Practices, Limitations, Overlay API Summary, Tracing vs Video, Video Recording ### Community 103 - "Community 103" Cohesion: 0.22 Nodes (8): Calendar host decision — RESOLVED, Email scope — RESOLVED, Open, Research Questions, Resolved, RQ-001 — Vikunja MariaDB compatibility — SUPERSEDED, RQ-002 — CalDAV server: Radicale vs Baikal — SUPERSEDED, RQ-003 — Fastmail calendar API: JMAP vs CalDAV ### Community 104 - "Community 104" Cohesion: 0.25 Nodes (8): Common Pitfalls, Pitfall 1: OIDC_AUTH_EXTERNAL_URL Missing Behind Pangolin, Pitfall 2: All-Day Event DATE Stored as DATETIME, Pitfall 3: tsdav createDAVClient Requires Account Discovery Round-Trip, Pitfall 4: node-cron v4 vs v3 API Change, Pitfall 5: Drizzle `onDuplicateKeyUpdate` Requires MariaDB 10.3+, Pitfall 6: Fastmail ctag vs syncToken Field Availability, Pitfall 7: Authelia Client Secret — Plain vs Hashed ### Community 105 - "Community 105" Cohesion: 0.25 Nodes (7): Manual-Only Verifications, Per-Task Verification Map, Phase 1 — Validation Strategy, Sampling Rate, Test Infrastructure, Validation Sign-Off, Wave 0 Requirements (created in Plan 01 Task 1) ### Community 106 - "Community 106" Cohesion: 0.25 Nodes (7): Claude's Discretion, Color & shared-vs-personal, Default view & per-device, Deferred Ideas, Event detail density, Phase 2: Calendar Display - Discussion Log, Visual model → Theming architecture ### Community 107 - "Community 107" Cohesion: 0.25 Nodes (8): Common Pitfalls, Pitfall 1: `firstDayOfWeek` Temporal Numbering Mismatch, Pitfall 2: All-Day Events Shifting by One Day, Pitfall 3: Missing VTIMEZONE Registration Causes DST-Shifted Occurrences, Pitfall 4: Schedule-X ISO String Events Silently Fail, Pitfall 5: Unwindowed `/api/events` Endpoint, Pitfall 6: `@schedule-x/react` Version Behind `@schedule-x/calendar`, Pitfall 7: Dev-Auth Bypass Active in Production ### Community 108 - "Community 108" Cohesion: 0.25 Nodes (7): Manual-Only Verifications, Per-Task Verification Map, Phase 02 — Validation Strategy, Sampling Rate, Test Infrastructure, Validation Sign-Off, Wave 0 Requirements ### Community 109 - "Community 109" Cohesion: 0.25 Nodes (8): Common Pitfalls, Pitfall 1: Service Worker intercepts `/callback` and breaks OIDC login, Pitfall 2: iOS standalone mode breaks on OIDC redirect to auth.DOMAIN, Pitfall 3: D-13 DATE vs DATETIME coercion in VEVENT building, Pitfall 4: ETag not returned after PUT on Fastmail, Pitfall 5: Edit-as-move (D-04) partial-failure, Pitfall 6: `navigateFallbackDenylist` not respected in dev mode, Pitfall 7: Outbox worker runs without a valid DAVCalendar object for re-sync ### Community 110 - "Community 110" Cohesion: 0.25 Nodes (7): Manual-Only Verifications, Per-Task Verification Map, Phase 3 — Validation Strategy, Sampling Rate, Test Infrastructure, Validation Sign-Off, Wave 0 Requirements ### Community 111 - "Community 111" Cohesion: 0.25 Nodes (8): Common Pitfalls, Pitfall 1: SSE fan-out leaking private list events to all clients, Pitfall 2: Float-based positions exhausting precision, Pitfall 3: Raw EventSource reconnect storm, Pitfall 4: `drizzle-kit push` on populated MariaDB, Pitfall 5: dnd-kit drag handle with touch — accidental drags, Pitfall 6: React Router + vite-plugin-pwa navigation fallback, Pitfall 7: SSE auth with `withCredentials` ### Community 112 - "Community 112" Cohesion: 0.25 Nodes (7): Manual-Only Verifications, Per-Task Verification Map, Phase 4 — Validation Strategy, Sampling Rate, Test Infrastructure, Validation Sign-Off, Wave 0 Requirements ### Community 113 - "Community 113" Cohesion: 0.25 Nodes (7): Commits, Deviations from Plan, Evidence Recorded (verbatim), Quick Task 260607-u8o: Record SSE-over-Pangolin Smoke Test PASS Summary, Self-Check: PASSED, Verification, What Was Done ### Community 114 - "Community 114" Cohesion: 0.25 Nodes (7): WritableCalendar, EDIT_OCCURRENCE, LATE_OCCURRENCE, { mockSetEventForm, mockSetLastSyncedUid, mockCreateEvent, mockUpdateEvent, mockFetchWritableCalendars, }, ONE_CALENDAR, RECURRING_OCCURRENCE, TWO_CALENDARS ### Community 115 - "Community 115" Cohesion: 0.25 Nodes (4): DEFAULT_FORM_PAYLOAD, FAKE_CRED_ROW, mockPendingRows, { mockUpdateSet, mockUpdate, mockWherePending, mockWhereCalEvents, mockFromFn, mockSelectFn, mockDecryptPassword, } ### Community 116 - "Community 116" Cohesion: 0.25 Nodes (7): Configuration, Frameworks, Key Dependencies, Languages, Platform Requirements, Runtime, Technology Stack ### Community 117 - "Community 117" Cohesion: 0.25 Nodes (7): Codebase Structure, Directory Layout, Directory Purposes, Key File Locations, Naming Conventions, Special Directories, Where to Add New Code ### Community 118 - "Community 118" Cohesion: 0.25 Nodes (4): ErrorBoundary, ErrorBoundaryProps, ErrorBoundaryState, queryClient ### Community 119 - "Community 119" Cohesion: 0.25 Nodes (5): renderPopover(), renderForm(), SyncStateToast(), { mockLastSyncedUid, mockSetLastSyncedUid, mockFetchSyncStatus, }, renderToast() ### Community 120 - "Community 120" Cohesion: 0.29 Nodes (6): Architectural Decisions, Capability Proven End-to-End, Out of Scope (Deferred to Later Slices), Stack Touched in Phase 1, Subsequent Slice Plan, Walking Skeleton — FamilySync ### Community 121 - "Community 121" Cohesion: 0.33 Nodes (5): deleteEvent(), DeleteConfirmationDialog(), makeQueryClient(), { mockDeleteEvent, mockSetDeleteDialog, mockSetLastSyncedUid, mockSetOpenEventId, mockDeleteDialogOpen, mockDeleteDialogUid, }, renderDialog() ### Community 122 - "Community 122" Cohesion: 0.38 Nodes (5): decryptPassword(), EncryptedPayload, encryptPassword(), getKey(), getCrypto() ### Community 123 - "Community 123" Cohesion: 0.29 Nodes (4): shimmerStyle, SkeletonCalendar(), SkeletonCalendarProps, SkeletonVariant ### Community 124 - "Community 124" Cohesion: 0.38 Nodes (5): BreakpointGroup, CalendarStore, getBreakpointGroup(), readPersistedView(), viewStorageKey() ### Community 125 - "Community 125" Cohesion: 0.33 Nodes (6): Fixture ICS Files (test corpus), Phase Requirements → Test Map, Sampling Rate, Test Framework, Validation Architecture, Wave 0 Gaps ### Community 126 - "Community 126" Cohesion: 0.33 Nodes (5): .from(calendarEvents).innerJoin(calendars, eq(calendarEvents.calendarId, calendars.id)), Reference idioms already in events.ts:, .where(or(eq(calendars.userId, currentUserId), eq(calendars.isShared, true))), - Working join: GET / at ~line 142-183 uses, - Working ownership predicate: /writable-calendars at ~line 501-509 uses ### Community 127 - "Community 127" Cohesion: 0.33 Nodes (6): git, branching_strategy, create_tag, milestone_branch_template, phase_branch_template, quick_branch_template ### Community 128 - "Community 128" Cohesion: 0.40 Nodes (5): Phase Requirements → Test Map, Sampling Rate, Test Framework, Validation Architecture, Wave 0 Gaps (must create before implementation) ### Community 129 - "Community 129" Cohesion: 0.40 Nodes (5): Core (already installed — no new installs for write-back), Installation, New Installs (PWA layer only), rrule — NOT needed for Phase 3, Standard Stack ### Community 130 - "Community 130" Cohesion: 0.40 Nodes (5): Phase Requirements → Test Map, Sampling Rate, Test Framework, Validation Architecture, Wave 0 Gaps ### Community 131 - "Community 131" Cohesion: 0.40 Nodes (5): Code Examples, Verified Pattern: Drizzle schema conventions (existing schema.ts), Verified Pattern: Hono streamSSE (existing sse.ts), Verified Pattern: NavLink with active styling, Verified Pattern: React Query optimistic update ### Community 132 - "Community 132" Cohesion: 0.40 Nodes (5): Primary (HIGH confidence — VERIFIED from codebase), Primary (HIGH confidence — VERIFIED via npm registry + Context7), Secondary (MEDIUM confidence — CITED from official docs), Sources, Tertiary (LOW confidence — ASSUMED) ### Community 133 - "Community 133" Cohesion: 0.40 Nodes (4): browser, browserName, launchOptions, channel ### Community 134 - "Community 134" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 01), STRIDE Threat Register, Trust Boundaries ### Community 135 - "Community 135" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 02), STRIDE Threat Register, Trust Boundaries ### Community 136 - "Community 136" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 03), STRIDE Threat Register, Trust Boundaries ### Community 137 - "Community 137" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 04), STRIDE Threat Register, Trust Boundaries ### Community 138 - "Community 138" Cohesion: 0.50 Nodes (4): Claude's Discretion, Deferred Ideas (OUT OF SCOPE), Locked Decisions, User Constraints (from CONTEXT.md) ### Community 139 - "Community 139" Cohesion: 0.50 Nodes (4): Code Examples, Hono app bootstrap with all middleware, Serving PWA static files from Hono, User upsert with color assignment ### Community 140 - "Community 140" Cohesion: 0.50 Nodes (4): Core (Phase 1 scope), Phase 1 backend install, Phase 1 frontend install, Standard Stack ### Community 141 - "Community 141" Cohesion: 0.50 Nodes (4): Primary (HIGH confidence), Secondary (MEDIUM confidence), Sources, Tertiary (LOW confidence) ### Community 142 - "Community 142" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 01), STRIDE Threat Register, Trust Boundaries ### Community 143 - "Community 143" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 02), STRIDE Threat Register, Trust Boundaries ### Community 144 - "Community 144" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 03), STRIDE Threat Register, Trust Boundaries ### Community 145 - "Community 145" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 04), STRIDE Threat Register, Trust Boundaries ### Community 146 - "Community 146" Cohesion: 0.50 Nodes (3): Artifacts this phase produces (Plan 05), STRIDE Threat Register, Trust Boundaries ### Community 147 - "Community 147" Cohesion: 0.50 Nodes (4): All-Day Event: Server Format to Schedule-X PlainDate, Code Examples, Schedule-X CSS Token Override Pattern, VTIMEZONE Registration + ICAL.RecurExpansion (complete pattern) ### Community 148 - "Community 148" Cohesion: 0.50 Nodes (4): Claude's Discretion, Deferred Ideas (OUT OF SCOPE), Locked Decisions, User Constraints (from CONTEXT.md) ### Community 149 - "Community 149" Cohesion: 0.50 Nodes (4): Core (all versions verified against npm registry 2026-06-04), Installation (PWA only), No New Backend Dependencies Needed, Standard Stack ### Community 150 - "Community 150" Cohesion: 0.50 Nodes (4): Primary (HIGH confidence), Secondary (MEDIUM confidence), Sources, Tertiary (LOW confidence) ### Community 151 - "Community 151" Cohesion: 0.50 Nodes (3): Critical Anti-Patterns (do NOT repeat these), Infrastructure State, Required Reading (in order) ### Community 152 - "Community 152" Cohesion: 0.50 Nodes (4): Claude's Discretion, Deferred Ideas (OUT OF SCOPE), Locked Decisions, User Constraints (from CONTEXT.md) ### Community 153 - "Community 153" Cohesion: 0.50 Nodes (4): Code Examples, Create a recurring event (whole-series RRULE presets), Detect installed state (for hiding install prompts), Sync-state poll with TanStack Query ### Community 154 - "Community 154" Cohesion: 0.50 Nodes (4): Primary (HIGH confidence), Secondary (MEDIUM confidence), Sources, Tertiary (LOW confidence / ASSUMED) ### Community 155 - "Community 155" Cohesion: 0.50 Nodes (3): Phase Goal, STRIDE Threat Register, Trust Boundaries ### Community 156 - "Community 156" Cohesion: 0.50 Nodes (4): Claude's Discretion, Deferred Ideas (OUT OF SCOPE), Locked Decisions, User Constraints (from CONTEXT.md) ### Community 157 - "Community 157" Cohesion: 0.50 Nodes (4): Phase Requirements → Test Map, Test Framework, Validation Architecture, Wave 0 Gaps ### Community 158 - "Community 158" Cohesion: 0.50 Nodes (3): Infrastructure State, Open Decisions for the Planner (intentionally NOT pre-decided), Required Reading (in order) ### Community 160 - "Community 160" Cohesion: 0.50 Nodes (3): Adopt drizzle generate+migrate workflow (retire db:push on MariaDB), Goal, Tasks ### Community 161 - "Community 161" Cohesion: 0.50 Nodes (3): Context to bring into the session, Kick off FamilySync with /gsd:new-project, Pre-work before running ### Community 162 - "Community 162" Cohesion: 0.67 Nodes (3): Applicable ASVS Categories (Level 1), Known Threat Patterns for This Stack, Security Domain ### Community 163 - "Community 163" Cohesion: 0.67 Nodes (3): Applicable ASVS Categories, Known Threat Patterns for This Phase, Security Domain ### Community 164 - "Community 164" Cohesion: 0.67 Nodes (3): Backend: `/api/events` Evolution, Current state (Phase 1), Target state (Phase 2) ### Community 173 - "Community 173" Cohesion: 0.67 Nodes (3): Applicable ASVS Categories, Known Threat Patterns, Security Domain ### Community 174 - "Community 174" Cohesion: 0.67 Nodes (3): Architecture Patterns, Recommended Project Structure Additions, System Architecture Diagram ### Community 180 - "Community 180" Cohesion: 0.67 Nodes (3): Applicable ASVS Categories, Known Threat Patterns for This Phase, Security Domain ### Community 181 - "Community 181" Cohesion: 0.67 Nodes (3): Architecture Patterns, Recommended Project Structure, System Architecture Diagram ### Community 182 - "Community 182" Cohesion: 0.67 Nodes (3): Core (already installed — no new installs needed), New Dependencies (must install), Standard Stack ### Community 184 - "Community 184" Cohesion: 0.67 Nodes (3): plan_review, source_grounding, source_grounding_authority ## Knowledge Gaps - **1565 isolated node(s):** `allow`, `version`, `timestamp`, `phase`, `phase_name` (+1560 more) These have ≤1 connection - possible missing edges or undocumented components. - **25 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Why does `InstallPrompt()` connect `Community 59` to `Community 87`?** _High betweenness centrality (0.001) - this node is a cross-community bridge._ - **Why does `ErrorBoundary` connect `Community 118` to `Community 119`?** _High betweenness centrality (0.001) - this node is a cross-community bridge._ - **Why does `useCalendarStore` connect `Community 85` to `Community 16`, `Community 114`, `Community 87`, `Community 119`, `Community 121`, `Community 124`?** _High betweenness centrality (0.001) - this node is a cross-community bridge._ - **What connects `allow`, `version`, `timestamp` to the rest of the system?** _1565 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** _Cohesion score 0.045454545454545456 - nodes in this community are weakly interconnected._ - **Should `Community 1` be split into smaller, more focused modules?** _Cohesion score 0.05555555555555555 - nodes in this community are weakly interconnected._ - **Should `Community 2` be split into smaller, more focused modules?** _Cohesion score 0.05555555555555555 - nodes in this community are weakly interconnected._