Files
familysync/.planning/graphs/GRAPH_REPORT.md
T
Lucas Berger 5b1f3cefdc chore(graphify): rebuild knowledge graph at d521839 — 4090 nodes, 4249 edges, 427 communities
Captures the Phase 4 lists + live-sync subsystem. Rebuilt via graphify update
(AST re-extraction, 257 files).
2026-06-09 14:59:59 -04:00

95 KiB

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)

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.