# Graph Report - familysync (2026-06-09) ## Corpus Check - 257 files · ~528,165 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 4090 nodes · 4249 edges · 427 communities (402 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: `d521839a` - 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]] - [[_COMMUNITY_Community 210|Community 210]] - [[_COMMUNITY_Community 211|Community 211]] - [[_COMMUNITY_Community 212|Community 212]] - [[_COMMUNITY_Community 213|Community 213]] - [[_COMMUNITY_Community 214|Community 214]] - [[_COMMUNITY_Community 215|Community 215]] - [[_COMMUNITY_Community 216|Community 216]] - [[_COMMUNITY_Community 217|Community 217]] - [[_COMMUNITY_Community 218|Community 218]] - [[_COMMUNITY_Community 219|Community 219]] - [[_COMMUNITY_Community 220|Community 220]] - [[_COMMUNITY_Community 221|Community 221]] - [[_COMMUNITY_Community 222|Community 222]] - [[_COMMUNITY_Community 223|Community 223]] - [[_COMMUNITY_Community 224|Community 224]] - [[_COMMUNITY_Community 225|Community 225]] - [[_COMMUNITY_Community 226|Community 226]] - [[_COMMUNITY_Community 227|Community 227]] - [[_COMMUNITY_Community 228|Community 228]] - [[_COMMUNITY_Community 229|Community 229]] - [[_COMMUNITY_Community 230|Community 230]] - [[_COMMUNITY_Community 231|Community 231]] - [[_COMMUNITY_Community 232|Community 232]] - [[_COMMUNITY_Community 233|Community 233]] - [[_COMMUNITY_Community 234|Community 234]] - [[_COMMUNITY_Community 235|Community 235]] - [[_COMMUNITY_Community 236|Community 236]] - [[_COMMUNITY_Community 237|Community 237]] - [[_COMMUNITY_Community 238|Community 238]] - [[_COMMUNITY_Community 239|Community 239]] - [[_COMMUNITY_Community 240|Community 240]] - [[_COMMUNITY_Community 241|Community 241]] - [[_COMMUNITY_Community 242|Community 242]] - [[_COMMUNITY_Community 243|Community 243]] - [[_COMMUNITY_Community 244|Community 244]] - [[_COMMUNITY_Community 245|Community 245]] - [[_COMMUNITY_Community 246|Community 246]] - [[_COMMUNITY_Community 247|Community 247]] - [[_COMMUNITY_Community 248|Community 248]] - [[_COMMUNITY_Community 249|Community 249]] - [[_COMMUNITY_Community 250|Community 250]] - [[_COMMUNITY_Community 251|Community 251]] - [[_COMMUNITY_Community 252|Community 252]] - [[_COMMUNITY_Community 253|Community 253]] - [[_COMMUNITY_Community 254|Community 254]] - [[_COMMUNITY_Community 255|Community 255]] - [[_COMMUNITY_Community 256|Community 256]] - [[_COMMUNITY_Community 257|Community 257]] - [[_COMMUNITY_Community 258|Community 258]] - [[_COMMUNITY_Community 259|Community 259]] - [[_COMMUNITY_Community 260|Community 260]] - [[_COMMUNITY_Community 261|Community 261]] - [[_COMMUNITY_Community 262|Community 262]] - [[_COMMUNITY_Community 263|Community 263]] - [[_COMMUNITY_Community 264|Community 264]] - [[_COMMUNITY_Community 265|Community 265]] - [[_COMMUNITY_Community 266|Community 266]] - [[_COMMUNITY_Community 267|Community 267]] - [[_COMMUNITY_Community 268|Community 268]] - [[_COMMUNITY_Community 269|Community 269]] - [[_COMMUNITY_Community 270|Community 270]] - [[_COMMUNITY_Community 271|Community 271]] - [[_COMMUNITY_Community 272|Community 272]] - [[_COMMUNITY_Community 273|Community 273]] - [[_COMMUNITY_Community 274|Community 274]] - [[_COMMUNITY_Community 275|Community 275]] - [[_COMMUNITY_Community 276|Community 276]] - [[_COMMUNITY_Community 277|Community 277]] - [[_COMMUNITY_Community 278|Community 278]] - [[_COMMUNITY_Community 279|Community 279]] - [[_COMMUNITY_Community 280|Community 280]] - [[_COMMUNITY_Community 281|Community 281]] - [[_COMMUNITY_Community 282|Community 282]] - [[_COMMUNITY_Community 283|Community 283]] - [[_COMMUNITY_Community 284|Community 284]] - [[_COMMUNITY_Community 285|Community 285]] - [[_COMMUNITY_Community 286|Community 286]] - [[_COMMUNITY_Community 287|Community 287]] - [[_COMMUNITY_Community 288|Community 288]] - [[_COMMUNITY_Community 289|Community 289]] - [[_COMMUNITY_Community 290|Community 290]] - [[_COMMUNITY_Community 291|Community 291]] - [[_COMMUNITY_Community 292|Community 292]] - [[_COMMUNITY_Community 293|Community 293]] - [[_COMMUNITY_Community 294|Community 294]] - [[_COMMUNITY_Community 295|Community 295]] - [[_COMMUNITY_Community 296|Community 296]] - [[_COMMUNITY_Community 297|Community 297]] - [[_COMMUNITY_Community 298|Community 298]] - [[_COMMUNITY_Community 299|Community 299]] - [[_COMMUNITY_Community 300|Community 300]] - [[_COMMUNITY_Community 301|Community 301]] - [[_COMMUNITY_Community 302|Community 302]] - [[_COMMUNITY_Community 303|Community 303]] - [[_COMMUNITY_Community 304|Community 304]] - [[_COMMUNITY_Community 305|Community 305]] - [[_COMMUNITY_Community 306|Community 306]] - [[_COMMUNITY_Community 307|Community 307]] - [[_COMMUNITY_Community 308|Community 308]] - [[_COMMUNITY_Community 309|Community 309]] - [[_COMMUNITY_Community 310|Community 310]] - [[_COMMUNITY_Community 311|Community 311]] - [[_COMMUNITY_Community 312|Community 312]] - [[_COMMUNITY_Community 313|Community 313]] - [[_COMMUNITY_Community 314|Community 314]] - [[_COMMUNITY_Community 315|Community 315]] - [[_COMMUNITY_Community 316|Community 316]] - [[_COMMUNITY_Community 317|Community 317]] - [[_COMMUNITY_Community 318|Community 318]] - [[_COMMUNITY_Community 319|Community 319]] - [[_COMMUNITY_Community 320|Community 320]] - [[_COMMUNITY_Community 321|Community 321]] - [[_COMMUNITY_Community 322|Community 322]] - [[_COMMUNITY_Community 323|Community 323]] - [[_COMMUNITY_Community 324|Community 324]] - [[_COMMUNITY_Community 325|Community 325]] - [[_COMMUNITY_Community 326|Community 326]] - [[_COMMUNITY_Community 327|Community 327]] - [[_COMMUNITY_Community 328|Community 328]] - [[_COMMUNITY_Community 329|Community 329]] - [[_COMMUNITY_Community 330|Community 330]] - [[_COMMUNITY_Community 331|Community 331]] - [[_COMMUNITY_Community 332|Community 332]] - [[_COMMUNITY_Community 333|Community 333]] - [[_COMMUNITY_Community 334|Community 334]] - [[_COMMUNITY_Community 335|Community 335]] - [[_COMMUNITY_Community 336|Community 336]] - [[_COMMUNITY_Community 337|Community 337]] - [[_COMMUNITY_Community 338|Community 338]] - [[_COMMUNITY_Community 339|Community 339]] - [[_COMMUNITY_Community 340|Community 340]] - [[_COMMUNITY_Community 341|Community 341]] - [[_COMMUNITY_Community 342|Community 342]] - [[_COMMUNITY_Community 343|Community 343]] - [[_COMMUNITY_Community 344|Community 344]] - [[_COMMUNITY_Community 345|Community 345]] - [[_COMMUNITY_Community 346|Community 346]] - [[_COMMUNITY_Community 347|Community 347]] - [[_COMMUNITY_Community 348|Community 348]] - [[_COMMUNITY_Community 349|Community 349]] - [[_COMMUNITY_Community 350|Community 350]] - [[_COMMUNITY_Community 351|Community 351]] - [[_COMMUNITY_Community 352|Community 352]] - [[_COMMUNITY_Community 353|Community 353]] - [[_COMMUNITY_Community 354|Community 354]] - [[_COMMUNITY_Community 355|Community 355]] - [[_COMMUNITY_Community 356|Community 356]] - [[_COMMUNITY_Community 357|Community 357]] - [[_COMMUNITY_Community 358|Community 358]] - [[_COMMUNITY_Community 359|Community 359]] - [[_COMMUNITY_Community 360|Community 360]] - [[_COMMUNITY_Community 361|Community 361]] - [[_COMMUNITY_Community 362|Community 362]] - [[_COMMUNITY_Community 363|Community 363]] - [[_COMMUNITY_Community 364|Community 364]] - [[_COMMUNITY_Community 365|Community 365]] - [[_COMMUNITY_Community 366|Community 366]] - [[_COMMUNITY_Community 367|Community 367]] - [[_COMMUNITY_Community 368|Community 368]] - [[_COMMUNITY_Community 369|Community 369]] - [[_COMMUNITY_Community 370|Community 370]] - [[_COMMUNITY_Community 371|Community 371]] - [[_COMMUNITY_Community 372|Community 372]] - [[_COMMUNITY_Community 373|Community 373]] - [[_COMMUNITY_Community 374|Community 374]] - [[_COMMUNITY_Community 375|Community 375]] - [[_COMMUNITY_Community 376|Community 376]] - [[_COMMUNITY_Community 377|Community 377]] - [[_COMMUNITY_Community 378|Community 378]] - [[_COMMUNITY_Community 379|Community 379]] - [[_COMMUNITY_Community 380|Community 380]] - [[_COMMUNITY_Community 381|Community 381]] - [[_COMMUNITY_Community 382|Community 382]] - [[_COMMUNITY_Community 383|Community 383]] - [[_COMMUNITY_Community 384|Community 384]] - [[_COMMUNITY_Community 385|Community 385]] - [[_COMMUNITY_Community 386|Community 386]] - [[_COMMUNITY_Community 387|Community 387]] - [[_COMMUNITY_Community 388|Community 388]] - [[_COMMUNITY_Community 389|Community 389]] - [[_COMMUNITY_Community 390|Community 390]] - [[_COMMUNITY_Community 391|Community 391]] - [[_COMMUNITY_Community 392|Community 392]] - [[_COMMUNITY_Community 393|Community 393]] - [[_COMMUNITY_Community 394|Community 394]] - [[_COMMUNITY_Community 395|Community 395]] - [[_COMMUNITY_Community 396|Community 396]] - [[_COMMUNITY_Community 397|Community 397]] - [[_COMMUNITY_Community 398|Community 398]] - [[_COMMUNITY_Community 399|Community 399]] - [[_COMMUNITY_Community 400|Community 400]] - [[_COMMUNITY_Community 401|Community 401]] - [[_COMMUNITY_Community 402|Community 402]] - [[_COMMUNITY_Community 403|Community 403]] - [[_COMMUNITY_Community 404|Community 404]] - [[_COMMUNITY_Community 405|Community 405]] - [[_COMMUNITY_Community 406|Community 406]] - [[_COMMUNITY_Community 407|Community 407]] - [[_COMMUNITY_Community 408|Community 408]] - [[_COMMUNITY_Community 409|Community 409]] - [[_COMMUNITY_Community 410|Community 410]] - [[_COMMUNITY_Community 411|Community 411]] - [[_COMMUNITY_Community 412|Community 412]] - [[_COMMUNITY_Community 413|Community 413]] - [[_COMMUNITY_Community 414|Community 414]] - [[_COMMUNITY_Community 415|Community 415]] - [[_COMMUNITY_Community 416|Community 416]] - [[_COMMUNITY_Community 417|Community 417]] - [[_COMMUNITY_Community 418|Community 418]] - [[_COMMUNITY_Community 419|Community 419]] - [[_COMMUNITY_Community 420|Community 420]] - [[_COMMUNITY_Community 421|Community 421]] - [[_COMMUNITY_Community 422|Community 422]] - [[_COMMUNITY_Community 423|Community 423]] - [[_COMMUNITY_Community 424|Community 424]] - [[_COMMUNITY_Community 425|Community 425]] - [[_COMMUNITY_Community 426|Community 426]] ## God Nodes (most connected - your core abstractions) 1. `Communities (210 total, 25 thin omitted)` - 171 edges 2. `entries` - 39 edges 3. `workflow` - 32 edges 4. `Phase 4: Shared Lists + Live Sync — Research` - 29 edges 5. `Phase 3: Event Write-Back + PWA Install — Research` - 27 edges 6. `entries` - 26 edges 7. `entries` - 21 edges 8. `API Surface` - 21 edges 9. `entries` - 20 edges 10. `Phase 2: Calendar Display - Research` - 20 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 - `triggerTargetedResync()` --calls--> `syncCalendar()` [EXTRACTED] apps/api/src/broker/outboxWorker.ts → apps/api/src/broker/sync.ts - `ListCardProps` --references--> `List` [EXTRACTED] apps/pwa/src/components/ListCard.tsx → apps/pwa/src/api/listsClient.ts ## Import Cycles - None detected. ## Communities (427 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.05 Nodes (39): dependencies, @dnd-kit/core, @dnd-kit/sortable, fractional-indexing, ical.js, lucide-react, react, react-dom (+31 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 (32): dependencies, drizzle-orm, fractional-indexing, hono, @hono/node-server, @hono/oidc-auth, @hono/zod-validator, ical.js (+24 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.18 Nodes (13): createEvent(), CreateEventPayload, fetchWritableCalendars(), RecurrencePreset, updateEvent(), EventForm(), exclusiveEndToInclusiveDate(), initFormDateTime() (+5 more) ### Community 17 - "Community 17" Cohesion: 0.11 Nodes (22): ContextVariableMap, DEV_USER, devAuthBypass(), claimStr(), COLOR_PALETTE, deriveDisplayName(), mockDb, upsertUser() (+14 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 (18): compilerOptions, declaration, declarationMap, esModuleInterop, forceConsistentCasingInFileNames, lib, module, moduleResolution (+10 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.18 Nodes (13): createFastmailClient(), FastmailClient, decryptPassword(), EncryptedPayload, encryptPassword(), getKey(), getCrypto(), runPoll() (+5 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.13 Nodes (17): fetchEvents(), fetchMe(), CalendarShell(), isPhone(), resolveDefaultView(), ALLDAY_OCCURRENCE, makeQueryClient(), mockEventsServiceSet (+9 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.13 Nodes (18): CalendarOccurrence, CreateEventResponse, deleteEvent(), fetchSyncStatus(), MeResponse, MeUser, OccurrencesResponse, SyncStatus (+10 more) ### Community 86 - "Community 86" Cohesion: 0.14 Nodes (14): CalendarOccurrence, expandOccurrences(), formatUtcOffset(), makeOccurrenceId(), OccurrenceMeta, serializeTime(), __dirname, FIXTURES (+6 more) ### Community 87 - "Community 87" Cohesion: 0.06 Nodes (38): addItem(), apiFetch(), createList(), deleteItem(), deleteList(), fetchListItems(), fetchLists(), List (+30 more) ### 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.01 Nodes (171): Communities (210 total, 25 thin omitted), Community 0 - "Community 0", Community 100 - "Community 100", Community 101 - "Community 101", Community 102 - "Community 102", Community 103 - "Community 103", Community 104 - "Community 104", Community 105 - "Community 105" (+163 more) ### 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.13 Nodes (11): WritableCalendar, renderPopover(), EDIT_OCCURRENCE, LATE_OCCURRENCE, { mockSetEventForm, mockSetLastSyncedUid, mockCreateEvent, mockUpdateEvent, mockFetchWritableCalendars, }, ONE_CALENDAR, RECURRING_OCCURRENCE, renderForm() (+3 more) ### 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.07 Nodes (29): auth, build_system, cache, calendar_backend, calendar_ui, client_state, content_formats, database (+21 more) ### 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.50 Nodes (4): DeleteConfirmationDialog(), makeQueryClient(), { mockDeleteEvent, mockSetDeleteDialog, mockSetLastSyncedUid, mockSetOpenEventId, mockDeleteDialogOpen, mockDeleteDialogUid, }, renderDialog() ### Community 122 - "Community 122" Cohesion: 0.07 Nodes (30): checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, indexes, name, uniqueConstraints (+22 more) ### 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 159 - "Community 159" Cohesion: 0.09 Nodes (21): API Surface, `DELETE /api/events/:uid`, `DELETE /api/list-items/:itemId`, `DELETE /api/lists/:id`, `GET /api/events`, `GET /api/events/sync-status`, `GET /api/events/writable-calendars`, `GET /api/lists` (+13 more) ### 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 ### Community 210 - "Community 210" Cohesion: 0.16 Nodes (7): listItems, lists, listShares, memberCredentials, users, getAccessibleListIds(), getApp() ### Community 211 - "Community 211" Cohesion: 0.11 Nodes (19): columns, autoincrement, name, notNull, primaryKey, type, color, ctag (+11 more) ### Community 212 - "Community 212" Cohesion: 0.11 Nodes (17): 10. Live sync between two members (within seconds), 11. Live sync survives a brief reconnect, 12. Private-list isolation (no cross-leak), 1. Cold Start Smoke Test, 2. Navigate to Lists (bottom tab bar), 3. Create a named list (defaults to Shared), 4. Delete a list with confirmation, 5. Open a list and add items (+9 more) ### Community 213 - "Community 213" Cohesion: 0.12 Nodes (16): 10. Coverage check (goal-backward against the phase user story), 1. Cold-start smoke — app boots and renders after the fixes, 2. Create-event UI flow → enqueue → sync feedback, 3. All-day toggle hides time inputs, 4. Edit mode pre-fill + recurrence preserved (WR-01 / WR-02 fix), 5. Member-scoped read (CR-01 GET path), 6. CR-01/CR-02 member-scoped edit/delete + freshest-etag (byte/SQL level), 7. CR-03 all-day inclusive/exclusive round-trip (byte level) (+8 more) ### Community 214 - "Community 214" Cohesion: 0.12 Nodes (16): CR-01: Sharee can de-share or re-share a list — privilege escalation on `isShared` toggle, CR-02: SSE subscription scope is stale — newly shared lists never delivered to live subscribers, CR-03: `Number(c.req.param(...))` — NaN propagates silently into DB queries, Critical Issues, IN-01: `useListSSE` connects to `/api/sse/lists` — not scoped to the current `listId`, IN-02: `getAccessibleListIds` issues two sequential DB round-trips that could be one query, IN-03: The 401 test in `lists.test.ts` is a no-op assertion, Info (+8 more) ### Community 215 - "Community 215" Cohesion: 0.12 Nodes (17): checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, indexes, name, uniqueConstraints (+9 more) ### Community 216 - "Community 216" Cohesion: 0.12 Nodes (17): list_items_id, list_items_list_id_lists_id_fk, checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, columnsFrom (+9 more) ### Community 217 - "Community 217" Cohesion: 0.12 Nodes (17): list_shares_id, columns, isUnique, name, idx_list_shares_user_id, checkConstraint, columns, compositePrimaryKeys (+9 more) ### Community 218 - "Community 218" Cohesion: 0.12 Nodes (17): list_shares_list_id_lists_id_fk, list_shares_user_id_users_id_fk, foreignKeys, columnsFrom, columnsTo, name, onDelete, onUpdate (+9 more) ### Community 219 - "Community 219" Cohesion: 0.12 Nodes (15): Accomplishments, Decisions Made, Dependency graph, Deviations from Plan, Files Created/Modified, Issues Encountered, Metrics, Must-Haves Verification (+7 more) ### Community 220 - "Community 220" Cohesion: 0.13 Nodes (14): API Tests, Auto-fixed Issues, Deviations from Plan, Existing Tests, Full API Suite, Known Stubs, Phase 4 Plan 3: List CRUD Vertical Slice Summary, Playwright Browser Check (+6 more) ### Community 221 - "Community 221" Cohesion: 0.13 Nodes (14): Anti-Patterns Found, Behavioral Spot-Checks, Data-Flow Trace (Level 4), Gap Closure Detail: LIST-03 Rank Collation, Gap Closure Detail: T-04-08 / T-04-05 Owner Guard, Gaps Summary, Goal Achievement, Human Verification Required (+6 more) ### Community 222 - "Community 222" Cohesion: 0.14 Nodes (13): Auto-fixed Issues, Deviations from Plan, Known Stubs, Migration, Phase 4 Plan 1: Foundation Shell Summary, Playwright Browser Check (per CLAUDE.md convention), Self-Check: PASSED, Tasks Completed (+5 more) ### Community 223 - "Community 223" Cohesion: 0.14 Nodes (13): Auto-fixed Issues, Deviations from Plan, Full API Suite, ioredis Check, Known Stubs, Phase 4 Plan 2: Scoped Fan-out Primitives Summary, Self-Check: PASSED, Tasks Completed (+5 more) ### Community 224 - "Community 224" Cohesion: 0.14 Nodes (13): API Tests, Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 4 Plan 4: Item CRUD + Checked-Sink Vertical Slice Summary, Playwright Browser Check, PWA Tests, Self-Check: PASSED (+5 more) ### Community 225 - "Community 225" Cohesion: 0.14 Nodes (13): API Tests, Deviations from Plan, Known Stubs, Phase 4 Plan 6: Live-Sync SSE Vertical Slice Summary, Playwright Browser Check, PWA Tests, Self-Check: PASSED, SSE Endpoint Verification (+5 more) ### Community 226 - "Community 226" Cohesion: 0.15 Nodes (12): API Tests, Auto-fixed Issues, Deviations from Plan, Known Stubs, Phase 4 Plan 5: Drag-to-Reorder Vertical Slice Summary, Playwright Browser Check, PWA Tests, PWA TypeScript (+4 more) ### Community 227 - "Community 227" Cohesion: 0.15 Nodes (13): indexes, columns, isUnique, name, columns, isUnique, name, columns (+5 more) ### Community 228 - "Community 228" Cohesion: 0.15 Nodes (13): columns, group_id, last_error, autoincrement, name, notNull, primaryKey, type (+5 more) ### Community 229 - "Community 229" Cohesion: 0.15 Nodes (13): list_id, user_id, autoincrement, name, notNull, primaryKey, type, columns (+5 more) ### Community 230 - "Community 230" Cohesion: 0.15 Nodes (13): name, owner_id, columns, autoincrement, name, notNull, primaryKey, type (+5 more) ### Community 231 - "Community 231" Cohesion: 0.15 Nodes (13): rank, text, columns, autoincrement, name, notNull, primaryKey, type (+5 more) ### Community 232 - "Community 232" Cohesion: 0.15 Nodes (13): indexes, columns, isUnique, name, columns, isUnique, name, columns (+5 more) ### Community 233 - "Community 233" Cohesion: 0.15 Nodes (13): autoincrement, name, notNull, primaryKey, type, columns, autoincrement, name (+5 more) ### Community 234 - "Community 234" Cohesion: 0.15 Nodes (13): indexes, columns, isUnique, name, columns, isUnique, name, columns (+5 more) ### Community 235 - "Community 235" Cohesion: 0.15 Nodes (13): name, owner_id, columns, autoincrement, name, notNull, primaryKey, type (+5 more) ### Community 236 - "Community 236" Cohesion: 0.15 Nodes (13): rank, text, columns, autoincrement, name, notNull, primaryKey, type (+5 more) ### Community 237 - "Community 237" Cohesion: 0.17 Nodes (12): checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, name, uniqueConstraints, calendar_events_id (+4 more) ### Community 238 - "Community 238" Cohesion: 0.17 Nodes (12): list_shares_id, checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, name, uniqueConstraints (+4 more) ### Community 239 - "Community 239" Cohesion: 0.17 Nodes (12): checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, name, uniqueConstraints, calendar_events_id (+4 more) ### Community 240 - "Community 240" Cohesion: 0.18 Nodes (10): Accepted Risks Log, Audit Observations (non-blocking, from 04-REVIEW.md), Closed Threat Detail (Plan 04-07), Phase 4 — Security, Security Audit Trail, Sign-Off, T-04-05 — isShared reconciliation runs for any allowed user — CLOSED, T-04-08 — Sharee can rewrite list_shares via PATCH `isShared` — CLOSED (+2 more) ### Community 241 - "Community 241" Cohesion: 0.18 Nodes (10): Community Hubs (Navigation), Corpus Check, God Nodes (most connected - your core abstractions), Graph Freshness, Graph Report - familysync (2026-06-09), Import Cycles, Knowledge Gaps, Suggested Questions (+2 more) ### Community 242 - "Community 242" Cohesion: 0.18 Nodes (3): MockEventSource, MockEventSourceInstance, mockInstances ### Community 243 - "Community 243" Cohesion: 0.18 Nodes (11): lists_owner_id_users_id_fk, columns, isUnique, name, idx_lists_owner_id, foreignKeys, indexes, name (+3 more) ### Community 244 - "Community 244" Cohesion: 0.18 Nodes (11): lists_owner_id_users_id_fk, columns, isUnique, name, idx_lists_owner_id, foreignKeys, indexes, name (+3 more) ### Community 245 - "Community 245" Cohesion: 0.22 Nodes (9): PATCH /api/events/:uid/edit, auth, body, description, file, method, params, path (+1 more) ### Community 246 - "Community 246" Cohesion: 0.22 Nodes (9): PATCH /api/list-items/:itemId, auth, body, description, file, method, params, path (+1 more) ### Community 247 - "Community 247" Cohesion: 0.22 Nodes (9): PATCH /api/lists/:id, auth, body, description, file, method, params, path (+1 more) ### Community 248 - "Community 248" Cohesion: 0.22 Nodes (9): POST /api/lists/:id/items, auth, body, description, file, method, params, path (+1 more) ### Community 249 - "Community 249" Cohesion: 0.22 Nodes (9): columns, isUnique, name, columns, isUnique, name, idx_list_items_list_id_checked, idx_list_items_list_id_rank (+1 more) ### Community 250 - "Community 250" Cohesion: 0.22 Nodes (9): checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, name, uniqueConstraints, calendar_outbox_id (+1 more) ### Community 251 - "Community 251" Cohesion: 0.22 Nodes (9): foreignKeys, columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo (+1 more) ### Community 252 - "Community 252" Cohesion: 0.22 Nodes (9): list_items_id, checkConstraint, compositePrimaryKeys, foreignKeys, columns, name, name, uniqueConstraints (+1 more) ### Community 253 - "Community 253" Cohesion: 0.22 Nodes (9): columns, isUnique, name, columns, isUnique, name, idx_list_items_list_id_checked, idx_list_items_list_id_rank (+1 more) ### Community 254 - "Community 254" Cohesion: 0.25 Nodes (8): auth, description, file, method, params, path, response, DELETE /api/events/:uid ### Community 255 - "Community 255" Cohesion: 0.25 Nodes (8): auth, description, file, method, params, path, response, DELETE /api/list-items/:itemId ### Community 256 - "Community 256" Cohesion: 0.25 Nodes (8): auth, description, file, method, params, path, response, DELETE /api/lists/:id ### Community 257 - "Community 257" Cohesion: 0.25 Nodes (8): GET /api/events, auth, description, file, method, params, path, response ### Community 258 - "Community 258" Cohesion: 0.25 Nodes (8): GET /api/events/sync-status, auth, description, file, method, params, path, response ### Community 259 - "Community 259" Cohesion: 0.25 Nodes (8): GET /api/lists/:id/items, auth, description, file, method, params, path, response ### Community 260 - "Community 260" Cohesion: 0.25 Nodes (8): POST /api/events/create, auth, body, description, file, method, path, response ### Community 261 - "Community 261" Cohesion: 0.25 Nodes (8): POST /api/lists, auth, body, description, file, method, path, response ### Community 262 - "Community 262" Cohesion: 0.25 Nodes (8): columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo, calendar_events_calendar_id_calendars_id_fk ### Community 263 - "Community 263" Cohesion: 0.25 Nodes (8): columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo, calendars_user_id_users_id_fk ### Community 264 - "Community 264" Cohesion: 0.25 Nodes (8): updated_at, autoincrement, default, name, notNull, onUpdate, primaryKey, type ### Community 265 - "Community 265" Cohesion: 0.25 Nodes (8): list_shares_list_id_lists_id_fk, columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo ### Community 266 - "Community 266" Cohesion: 0.25 Nodes (8): list_shares_user_id_users_id_fk, columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo ### Community 267 - "Community 267" Cohesion: 0.25 Nodes (8): columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo, calendar_events_calendar_id_calendars_id_fk ### Community 268 - "Community 268" Cohesion: 0.25 Nodes (8): columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo, calendar_outbox_user_id_users_id_fk ### Community 269 - "Community 269" Cohesion: 0.25 Nodes (8): checkConstraint, columns, compositePrimaryKeys, columns, name, name, calendars_id, calendars ### Community 270 - "Community 270" Cohesion: 0.25 Nodes (8): updated_at, autoincrement, default, name, notNull, onUpdate, primaryKey, type ### Community 271 - "Community 271" Cohesion: 0.25 Nodes (8): list_items_list_id_lists_id_fk, columnsFrom, columnsTo, name, onDelete, onUpdate, tableFrom, tableTo ### Community 272 - "Community 272" Cohesion: 0.29 Nodes (6): Accepted Risks Log, Phase 03 — Security, Security Audit Trail, Sign-Off, Threat Register, Trust Boundaries ### Community 273 - "Community 273" Cohesion: 0.29 Nodes (7): GET /api/events/writable-calendars, auth, description, file, method, path, response ### Community 274 - "Community 274" Cohesion: 0.29 Nodes (7): GET /api/lists, auth, description, file, method, path, response ### Community 275 - "Community 275" Cohesion: 0.29 Nodes (7): GET /api/me, auth, description, file, method, path, response ### Community 276 - "Community 276" Cohesion: 0.29 Nodes (7): GET /api/sse/heartbeat, auth, description, file, method, path, response ### Community 277 - "Community 277" Cohesion: 0.29 Nodes (7): GET /api/sse/lists, auth, description, file, method, path, response ### Community 278 - "Community 278" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, all_day ### Community 279 - "Community 279" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, attempt_count ### Community 280 - "Community 280" Cohesion: 0.29 Nodes (7): columns, autoincrement, name, notNull, primaryKey, type, calendar_id ### Community 281 - "Community 281" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, checked ### Community 282 - "Community 282" Cohesion: 0.29 Nodes (7): created_at, autoincrement, default, name, notNull, primaryKey, type ### Community 283 - "Community 283" Cohesion: 0.29 Nodes (7): has_rrule, autoincrement, default, name, notNull, primaryKey, type ### Community 284 - "Community 284" Cohesion: 0.29 Nodes (7): is_shared, autoincrement, default, name, notNull, primaryKey, type ### Community 285 - "Community 285" Cohesion: 0.29 Nodes (7): next_attempt_at, autoincrement, default, name, notNull, primaryKey, type ### Community 286 - "Community 286" Cohesion: 0.29 Nodes (7): status, autoincrement, default, name, notNull, primaryKey, type ### Community 287 - "Community 287" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, all_day ### Community 288 - "Community 288" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, attempt_count ### Community 289 - "Community 289" Cohesion: 0.29 Nodes (7): columns, autoincrement, name, notNull, primaryKey, type, calendar_id ### Community 290 - "Community 290" Cohesion: 0.29 Nodes (7): autoincrement, default, name, notNull, primaryKey, type, checked ### Community 291 - "Community 291" Cohesion: 0.29 Nodes (7): created_at, autoincrement, default, name, notNull, primaryKey, type ### Community 292 - "Community 292" Cohesion: 0.29 Nodes (7): has_rrule, autoincrement, default, name, notNull, primaryKey, type ### Community 293 - "Community 293" Cohesion: 0.29 Nodes (7): is_shared, autoincrement, default, name, notNull, primaryKey, type ### Community 294 - "Community 294" Cohesion: 0.29 Nodes (7): next_attempt_at, autoincrement, default, name, notNull, primaryKey, type ### Community 295 - "Community 295" Cohesion: 0.29 Nodes (7): status, autoincrement, default, name, notNull, primaryKey, type ### Community 296 - "Community 296" Cohesion: 0.33 Nodes (5): entries, _meta, commit, updated_at, version ### Community 297 - "Community 297" Cohesion: 0.33 Nodes (6): GET /api/login, auth, description, file, method, path ### Community 298 - "Community 298" Cohesion: 0.33 Nodes (6): GET /callback, auth, description, file, method, path ### Community 299 - "Community 299" Cohesion: 0.33 Nodes (6): GET /health, auth, description, file, method, path ### Community 300 - "Community 300" Cohesion: 0.33 Nodes (5): entries, _meta, commit, updated_at, version ### Community 301 - "Community 301" Cohesion: 0.33 Nodes (6): invocation, type, used_by, version, workspace, @dnd-kit/core ### Community 302 - "Community 302" Cohesion: 0.33 Nodes (6): invocation, type, used_by, version, workspace, @dnd-kit/sortable ### Community 303 - "Community 303" Cohesion: 0.33 Nodes (6): invocation, type, used_by, version, workspace, drizzle-kit ### Community 304 - "Community 304" Cohesion: 0.33 Nodes (6): invocation, type, used_by, version, workspace, drizzle-orm ### Community 305 - "Community 305" Cohesion: 0.33 Nodes (6): fractional-indexing, invocation, type, used_by, version, workspace ### Community 306 - "Community 306" Cohesion: 0.33 Nodes (6): hono, invocation, type, used_by, version, workspace ### Community 307 - "Community 307" Cohesion: 0.33 Nodes (6): @hono/node-server, invocation, type, used_by, version, workspace ### Community 308 - "Community 308" Cohesion: 0.33 Nodes (6): @hono/oidc-auth, invocation, type, used_by, version, workspace ### Community 309 - "Community 309" Cohesion: 0.33 Nodes (6): @hono/zod-validator, invocation, type, used_by, version, workspace ### Community 310 - "Community 310" Cohesion: 0.33 Nodes (6): ical.js, invocation, type, used_by, version, workspace ### Community 311 - "Community 311" Cohesion: 0.33 Nodes (6): lucide-react, invocation, type, used_by, version, workspace ### Community 312 - "Community 312" Cohesion: 0.33 Nodes (6): mysql2, invocation, type, used_by, version, workspace ### Community 313 - "Community 313" Cohesion: 0.33 Nodes (6): node-cron, invocation, type, used_by, version, workspace ### Community 314 - "Community 314" Cohesion: 0.33 Nodes (6): react, invocation, type, used_by, version, workspace ### Community 315 - "Community 315" Cohesion: 0.33 Nodes (6): react-router, invocation, type, used_by, version, workspace ### Community 316 - "Community 316" Cohesion: 0.33 Nodes (6): @schedule-x/calendar, invocation, type, used_by, version, workspace ### Community 317 - "Community 317" Cohesion: 0.33 Nodes (6): @schedule-x/react, invocation, type, used_by, version, workspace ### Community 318 - "Community 318" Cohesion: 0.33 Nodes (6): @tanstack/react-query, invocation, type, used_by, version, workspace ### Community 319 - "Community 319" Cohesion: 0.33 Nodes (6): temporal-polyfill, invocation, type, used_by, version, workspace ### Community 320 - "Community 320" Cohesion: 0.33 Nodes (6): tsdav, invocation, type, used_by, version, workspace ### Community 321 - "Community 321" Cohesion: 0.33 Nodes (6): vite, invocation, type, used_by, version, workspace ### Community 322 - "Community 322" Cohesion: 0.33 Nodes (6): vite-plugin-pwa, invocation, type, used_by, version, workspace ### Community 323 - "Community 323" Cohesion: 0.33 Nodes (6): vitest, invocation, type, used_by, version, workspace ### Community 324 - "Community 324" Cohesion: 0.33 Nodes (6): zod, invocation, type, used_by, version, workspace ### Community 325 - "Community 325" Cohesion: 0.33 Nodes (6): zustand, invocation, type, used_by, version, workspace ### Community 326 - "Community 326" Cohesion: 0.33 Nodes (5): entries, _meta, commit, updated_at, version ### Community 327 - "Community 327" Cohesion: 0.53 Nodes (4): emitter, ListEvent, publishListEvent(), subscribeListEvents() ### Community 328 - "Community 328" Cohesion: 0.33 Nodes (6): autoincrement, name, notNull, primaryKey, type, calendar_object_url ### Community 329 - "Community 329" Cohesion: 0.33 Nodes (6): autoincrement, name, notNull, primaryKey, type, calendar_url ### Community 330 - "Community 330" Cohesion: 0.33 Nodes (6): dtstart_date, autoincrement, name, notNull, primaryKey, type ### Community 331 - "Community 331" Cohesion: 0.33 Nodes (6): dtstart_utc, autoincrement, name, notNull, primaryKey, type ### Community 332 - "Community 332" Cohesion: 0.33 Nodes (6): etag, autoincrement, name, notNull, primaryKey, type ### Community 333 - "Community 333" Cohesion: 0.33 Nodes (6): id, autoincrement, name, notNull, primaryKey, type ### Community 334 - "Community 334" Cohesion: 0.33 Nodes (6): last_synced_at, autoincrement, name, notNull, primaryKey, type ### Community 335 - "Community 335" Cohesion: 0.33 Nodes (6): object_url, autoincrement, name, notNull, primaryKey, type ### Community 336 - "Community 336" Cohesion: 0.33 Nodes (6): operation, autoincrement, name, notNull, primaryKey, type ### Community 337 - "Community 337" Cohesion: 0.33 Nodes (6): payload, autoincrement, name, notNull, primaryKey, type ### Community 338 - "Community 338" Cohesion: 0.33 Nodes (6): raw_vevent, autoincrement, name, notNull, primaryKey, type ### Community 339 - "Community 339" Cohesion: 0.33 Nodes (6): sync_token, autoincrement, name, notNull, primaryKey, type ### Community 340 - "Community 340" Cohesion: 0.33 Nodes (6): uid, autoincrement, name, notNull, primaryKey, type ### Community 341 - "Community 341" Cohesion: 0.33 Nodes (6): url, autoincrement, name, notNull, primaryKey, type ### Community 342 - "Community 342" Cohesion: 0.33 Nodes (6): autoincrement, name, notNull, primaryKey, type, color ### Community 343 - "Community 343" Cohesion: 0.33 Nodes (6): ctag, autoincrement, name, notNull, primaryKey, type ### Community 344 - "Community 344" Cohesion: 0.33 Nodes (6): display_name, autoincrement, name, notNull, primaryKey, type ### Community 345 - "Community 345" Cohesion: 0.33 Nodes (6): dtstart_date, autoincrement, name, notNull, primaryKey, type ### Community 346 - "Community 346" Cohesion: 0.33 Nodes (6): dtstart_utc, autoincrement, name, notNull, primaryKey, type ### Community 347 - "Community 347" Cohesion: 0.33 Nodes (6): etag, autoincrement, name, notNull, primaryKey, type ### Community 348 - "Community 348" Cohesion: 0.33 Nodes (6): group_id, autoincrement, name, notNull, primaryKey, type ### Community 349 - "Community 349" Cohesion: 0.33 Nodes (6): id, autoincrement, name, notNull, primaryKey, type ### Community 350 - "Community 350" Cohesion: 0.33 Nodes (6): last_error, autoincrement, name, notNull, primaryKey, type ### Community 351 - "Community 351" Cohesion: 0.33 Nodes (6): last_synced_at, autoincrement, name, notNull, primaryKey, type ### Community 352 - "Community 352" Cohesion: 0.33 Nodes (6): list_id, autoincrement, name, notNull, primaryKey, type ### Community 353 - "Community 353" Cohesion: 0.33 Nodes (6): object_url, autoincrement, name, notNull, primaryKey, type ### Community 354 - "Community 354" Cohesion: 0.33 Nodes (6): operation, autoincrement, name, notNull, primaryKey, type ### Community 355 - "Community 355" Cohesion: 0.33 Nodes (6): payload, autoincrement, name, notNull, primaryKey, type ### Community 356 - "Community 356" Cohesion: 0.33 Nodes (6): raw_vevent, autoincrement, name, notNull, primaryKey, type ### Community 357 - "Community 357" Cohesion: 0.33 Nodes (6): sync_token, autoincrement, name, notNull, primaryKey, type ### Community 358 - "Community 358" Cohesion: 0.33 Nodes (6): uid, autoincrement, name, notNull, primaryKey, type ### Community 359 - "Community 359" Cohesion: 0.33 Nodes (6): url, autoincrement, name, notNull, primaryKey, type ### Community 360 - "Community 360" Cohesion: 0.33 Nodes (6): user_id, autoincrement, name, notNull, primaryKey, type ### Community 361 - "Community 361" Cohesion: 0.40 Nodes (4): _meta, commit, updated_at, version ### Community 362 - "Community 362" Cohesion: 0.40 Nodes (5): decision, files, title, entries, D-08-per-field-lww-patch ### Community 363 - "Community 363" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/auth/devBypass.ts ### Community 364 - "Community 364" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/auth/middleware.ts ### Community 365 - "Community 365" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/auth/user.ts ### Community 366 - "Community 366" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/client.ts ### Community 367 - "Community 367" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/crypto.ts ### Community 368 - "Community 368" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/expand.ts ### Community 369 - "Community 369" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/outboxWorker.ts ### Community 370 - "Community 370" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/poller.ts ### Community 371 - "Community 371" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/sync.ts ### Community 372 - "Community 372" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/vevent.ts ### Community 373 - "Community 373" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/broker/write.ts ### Community 374 - "Community 374" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/db/client.ts ### Community 375 - "Community 375" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/db/schema.ts ### Community 376 - "Community 376" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/index.ts ### Community 377 - "Community 377" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/lib/listAccess.ts ### Community 378 - "Community 378" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/lib/listEmitter.ts ### Community 379 - "Community 379" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/lib/rank.ts ### Community 380 - "Community 380" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/routes/events.ts ### Community 381 - "Community 381" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/routes/health.ts ### Community 382 - "Community 382" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/routes/lists.ts ### Community 383 - "Community 383" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/routes/me.ts ### Community 384 - "Community 384" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/api/src/routes/sse.ts ### Community 385 - "Community 385" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/api/client.ts ### Community 386 - "Community 386" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/api/listsClient.ts ### Community 387 - "Community 387" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/App.tsx ### Community 388 - "Community 388" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/components/BottomTabBar.tsx ### Community 389 - "Community 389" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/components/CalendarShell.tsx ### Community 390 - "Community 390" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/hooks/useListSSE.ts ### Community 391 - "Community 391" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/lib/calendarConfig.ts ### Community 392 - "Community 392" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/lib/colorUtils.ts ### Community 393 - "Community 393" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/lib/eventDateTime.ts ### Community 394 - "Community 394" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/lib/hydrateEvents.ts ### Community 395 - "Community 395" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/lib/loginRedirect.ts ### Community 396 - "Community 396" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/main.tsx ### Community 397 - "Community 397" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/routes/ListDetail.tsx ### Community 398 - "Community 398" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/routes/ListsIndex.tsx ### Community 399 - "Community 399" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/store/calendarStore.ts ### Community 400 - "Community 400" Cohesion: 0.40 Nodes (5): exports, imports, notes, type, apps/pwa/src/store/listsStore.ts ### Community 401 - "Community 401" Cohesion: 0.40 Nodes (4): dialect, id, prevId, version ### Community 402 - "Community 402" Cohesion: 0.40 Nodes (5): columns, isUnique, name, idx_list_shares_user_id, indexes ### Community 403 - "Community 403" Cohesion: 0.40 Nodes (4): dialect, id, prevId, version ### Community 404 - "Community 404" Cohesion: 0.40 Nodes (5): indexes, columns, isUnique, name, idx_calendars_user_id ### Community 405 - "Community 405" Cohesion: 0.50 Nodes (3): Artifacts this phase produces, STRIDE Threat Register, Trust Boundaries ### Community 406 - "Community 406" Cohesion: 0.50 Nodes (4): decision, files, title, broker-cache-api-pattern ### Community 407 - "Community 407" Cohesion: 0.50 Nodes (4): decision, files, title, D-01-D-02-list-sharing ### Community 408 - "Community 408" Cohesion: 0.50 Nodes (4): decision, files, title, D-03-writable-set ### Community 409 - "Community 409" Cohesion: 0.50 Nodes (4): decision, files, title, D-04-scoped-sse-fan-out ### Community 410 - "Community 410" Cohesion: 0.50 Nodes (4): decision, files, title, D-10-D-11-D-12-sse-resilience ### Community 411 - "Community 411" Cohesion: 0.50 Nodes (4): decision, files, title, D-13-dual-field-dtstart ### Community 412 - "Community 412" Cohesion: 0.50 Nodes (4): decision, files, title, D-13-fractional-rank ### Community 413 - "Community 413" Cohesion: 0.50 Nodes (4): decision, files, title, D-16-shared-fastmail-account ### Community 414 - "Community 414" Cohesion: 0.50 Nodes (4): decision, files, title, dev-auth-bypass ### Community 415 - "Community 415" Cohesion: 0.50 Nodes (4): identity-keying, decision, files, title ### Community 416 - "Community 416" Cohesion: 0.50 Nodes (4): lists-storage-mariadb-not-caldav, decision, files, title ### Community 417 - "Community 417" Cohesion: 0.50 Nodes (4): oidc-behind-pangolin, decision, files, title ### Community 418 - "Community 418" Cohesion: 0.50 Nodes (4): outbox-status-machine, decision, files, title ### Community 419 - "Community 419" Cohesion: 0.50 Nodes (4): pwa-static-serving, decision, files, title ### Community 420 - "Community 420" Cohesion: 0.50 Nodes (4): react-router-spa-shell, decision, files, title ### Community 421 - "Community 421" Cohesion: 0.50 Nodes (4): schedule-x-routing, decision, files, title ### Community 422 - "Community 422" Cohesion: 0.50 Nodes (4): state-ownership, decision, files, title ### Community 423 - "Community 423" Cohesion: 0.50 Nodes (4): write-broker-boundary, decision, files, title ### Community 425 - "Community 425" Cohesion: 0.50 Nodes (4): uniqueConstraints, columns, name, uniq_calendar_user_url ### Community 426 - "Community 426" Cohesion: 0.50 Nodes (3): dialect, entries, version ## Knowledge Gaps - **3025 isolated node(s):** `allow`, `version`, `timestamp`, `phase`, `phase_name` (+3020 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 `columns` connect `Community 228` to `Community 229`, `Community 122`, `Community 328`, `Community 329`, `Community 264`, `Community 332`, `Community 333`, `Community 336`, `Community 337`, `Community 340`, `Community 279`, `Community 282`, `Community 285`, `Community 286`?** _High betweenness centrality (0.006) - this node is a cross-community bridge._ - **Why does `tables` connect `Community 243` to `Community 237`, `Community 238`, `Community 401`, `Community 215`, `Community 216`, `Community 122`?** _High betweenness centrality (0.004) - this node is a cross-community bridge._ - **Why does `tables` connect `Community 244` to `Community 269`, `Community 239`, `Community 403`, `Community 217`, `Community 250`, `Community 252`?** _High betweenness centrality (0.004) - this node is a cross-community bridge._ - **What connects `allow`, `version`, `timestamp` to the rest of the system?** _3025 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.05 - 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._