# Graph Report - . (2026-05-15) ## Corpus Check - 92 files · ~217,586 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 3313 nodes · 6328 edges · 169 communities detected - Extraction: 57% EXTRACTED · 43% INFERRED · 0% AMBIGUOUS · INFERRED: 2713 edges (avg confidence: 0.6) - Token cost: 0 input · 0 output ## 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 43|Community 43]] - [[_COMMUNITY_Community 44|Community 44]] - [[_COMMUNITY_Community 46|Community 46]] - [[_COMMUNITY_Community 47|Community 47]] - [[_COMMUNITY_Community 48|Community 48]] - [[_COMMUNITY_Community 55|Community 55]] - [[_COMMUNITY_Community 57|Community 57]] - [[_COMMUNITY_Community 58|Community 58]] - [[_COMMUNITY_Community 64|Community 64]] - [[_COMMUNITY_Community 65|Community 65]] - [[_COMMUNITY_Community 67|Community 67]] - [[_COMMUNITY_Community 68|Community 68]] - [[_COMMUNITY_Community 69|Community 69]] - [[_COMMUNITY_Community 74|Community 74]] - [[_COMMUNITY_Community 75|Community 75]] - [[_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 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 184|Community 184]] - [[_COMMUNITY_Community 185|Community 185]] - [[_COMMUNITY_Community 186|Community 186]] - [[_COMMUNITY_Community 188|Community 188]] - [[_COMMUNITY_Community 189|Community 189]] - [[_COMMUNITY_Community 190|Community 190]] - [[_COMMUNITY_Community 191|Community 191]] - [[_COMMUNITY_Community 192|Community 192]] - [[_COMMUNITY_Community 193|Community 193]] - [[_COMMUNITY_Community 194|Community 194]] - [[_COMMUNITY_Community 195|Community 195]] - [[_COMMUNITY_Community 196|Community 196]] - [[_COMMUNITY_Community 197|Community 197]] - [[_COMMUNITY_Community 198|Community 198]] - [[_COMMUNITY_Community 199|Community 199]] - [[_COMMUNITY_Community 204|Community 204]] - [[_COMMUNITY_Community 205|Community 205]] - [[_COMMUNITY_Community 206|Community 206]] - [[_COMMUNITY_Community 253|Community 253]] - [[_COMMUNITY_Community 254|Community 254]] - [[_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 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]] ## God Nodes (most connected - your core abstractions) 1. `MemoryMiddleware` - 236 edges 2. `User` - 127 edges 3. `AgentRunLog` - 107 edges 4. `MemoryProactive` - 107 edges 5. `Subscription` - 98 edges 6. `MemoryAssociative` - 98 edges 7. `MemoryEpisodic` - 93 edges 8. `MemoryCore` - 90 edges 9. `UserProfile` - 79 edges 10. `StreamFormatter` - 70 edges ## Surprising Connections (you probably didn't know these) - `recordRunAction()` --calls--> `getDb()` [INFERRED] adiuvAI\src\main\api\backend-client.ts → adiuvAI\src\main\db\index.ts - `Tier manager: feature matrix and quota enforcement. ``TierManager`` is the si` --uses--> `Subscription` [INFERRED] api\app\billing\tier_manager.py → api\app\models.py - `Centralises tier feature-gating, rate-limit lookups, and quota checks.` --uses--> `Subscription` [INFERRED] api\app\billing\tier_manager.py → api\app\models.py - `Return the current billing tier for ``user_id`` from the DB. Falls ba` --uses--> `Subscription` [INFERRED] api\app\billing\tier_manager.py → api\app\models.py - `Return ``True`` if ``tier`` has ``feature`` enabled. For numeric feat` --uses--> `Subscription` [INFERRED] api\app\billing\tier_manager.py → api\app\models.py ## Hyperedges (group relationships) - **V3 streaming flow: Renderer -> Orchestrator -> BackendClient -> Device WS -> DrizzleExecutor** — ui_ChatSurface, orchestrator_orchestrate, backendclient_sendHomeRequest, backendclient_openDeviceWebSocket, drizzleexecutor_execute [INFERRED 0.90] - **Folder indexing pipeline: scan -> session -> WS batch -> manifest update** — scanner_scanFolder, indexer_startIndexSession, backendclient_sendIndexFileBatch, schema_projectFolderFiles [EXTRACTED 1.00] - **Agent-run logging: tool_call -> recordRunAction -> agent_run_actions + run_complete -> agent_runs** — backendclient_openDeviceWebSocket, backendclient_recordRunAction, schema_agentRuns, schema_agentRunActions [EXTRACTED 1.00] - **** — FilesSection, FolderLinkCard, FolderFileList, FolderUnlinkDialog, FolderChip [INFERRED 0.90] - **** — useAIChat, useChatStream, ContextualChatContext [INFERRED 0.90] - **** — AddEventDialog, EditEventDialog, TimelineGanttView, ProjectDetail [INFERRED 0.85] - **** — ProjectsPage, TasksPage, TimelinePage, NoteDetailPage, ContextualScope [INFERRED 0.85] - **** — TierManager, quota.check_folder_quota, quota.add_token_usage, models.MonthlyTokenUsage, billing_router [EXTRACTED 1.00] - **** — device_ws.endpoint, brief_agent.run_home_brief, brief_agent.run_project_brief, output_formatter.StreamFormatter, api-types.ts [EXTRACTED 1.00] - **Contextual sidebar frontend architecture** — concept/contextual_sidebar, concept/ContextualChatProvider, concept/ChatSurface, concept/useContextualScope [EXTRACTED 1.00] - **Contextual backend pipeline (WS frame → run_contextual_stream → Langfuse prompt)** — concept/contextual_request_frame, concept/contextual_scope_update_frame, run_contextual_stream, concept/contextual_system_prompt [EXTRACTED 1.00] - **Folder index session WS flow** — _handle_index_session_start, _handle_index_file_batch, _handle_index_session_cancel, _index_sessions [EXTRACTED 1.00] ## Communities ### Community 0 - "Community 0" Cohesion: 0.03 Nodes (252): Base, Shared declarative base for all ORM models., ExtractionQueue, MemoryAssociative, MemoryCore, MemoryEpisodic, MemoryProactive, MemoryRelation (+244 more) ### Community 1 - "Community 1" Cohesion: 0.02 Nodes (207): make_query_relations_tool(), Relations agent — read-only tool wrapping MemoryMiddleware.query_relations., Return a query_relations tool bound to *user_id*., _build_read_tools(), Brief agent — produces plain-text home and project status briefs. Read-only t, Stream a plain-text daily home brief. Yields (event_type, data) tuples id, Stream a plain-text project status brief for project_id. Yields (event_ty, _resolve_language() (+199 more) ### Community 2 - "Community 2" Cohesion: 0.02 Nodes (184): get_client(), list_clients(), Client agent — read-only tools for the clients table., List clients, optionally filtered by a name/email substring search. search:, Get full details for one client by UUID. id: the client's UUID., get_file_metadata(), list_directory(), Filesystem agent — tools for reading local directories and files on Electron. (+176 more) ### Community 3 - "Community 3" Cohesion: 0.04 Nodes (140): AgentRunLog, Scope for a floating request — narrows the agent to a specific entity., Client → Server: Floating chat message scoped to an entity., Server → Client: signals start of a streaming response., Server → Client: streamed text token., Server → Client: signals end of a streaming response., Structured floating domain payload for UI routing decisions., Server → Client: domain determined for a floating request. (+132 more) ### Community 4 - "Community 4" Cohesion: 0.03 Nodes (84): _build_gmail_query(), GmailClient, _parse_body(), _parse_date(), Gmail API client for cloud agent integration. Wraps the Google Gmail REST API, Remove HTML tags and decode entities to get plain text., Recursively extract the plain-text body from a Gmail message payload. Pre, Parse an RFC 2822 email date header into a UTC ``datetime``. (+76 more) ### Community 5 - "Community 5" Cohesion: 0.04 Nodes (99): AgentCatalogItem, AgentCreationCheckRequest, AgentCreationCheckResponse, AgentRunLogResponse, AgentTriggerRequest, ChatContext, ChatRequest, ChatResponse (+91 more) ### Community 6 - "Community 6" Cohesion: 0.03 Nodes (19): AuthExpiredError, BackendClient, logHttp(), logHttpResponse(), logWsRecv(), logWsSend(), OfflineError, QuotaError (+11 more) ### Community 7 - "Community 7" Cohesion: 0.03 Nodes (84): _uuid(), get_page_details(), _proactive_hints_injection(), Return a system-prompt paragraph listing proactive behavioral hints. Retu, Return a system-prompt paragraph listing proactive behavioral hints. Retu, Fetch full details for the entity currently in view. entity_type: one of, embed_text(), OpenAI embedding helper for associative memory tier. Single public function: (+76 more) ### Community 8 - "Community 8" Cohesion: 0.04 Nodes (70): _get_url(), Alembic migration environment — async-compatible. At runtime the app uses ``p, Convert an asyncpg URL to a psycopg2 URL for Alembic CLI., Emit SQL without a live DB connection., Run migrations against a live DB using the async engine., run_migrations_offline(), run_migrations_online(), run_migrations_online_async() (+62 more) ### Community 9 - "Community 9" Cohesion: 0.05 Nodes (43): startAgentScheduler(), tickAgentScheduler(), checkConnectivity(), dailyBrief(), generateAndCacheBrief(), getBriefTimeSlot(), getCachedBrief(), getCurrentSlotKey() (+35 more) ### Community 10 - "Community 10" Cohesion: 0.05 Nodes (55): MonthlyTokenUsage, add_token_usage(), check_folder_quota(), _current_year_month(), QuotaExceeded, Quota checks and atomic token-usage accounting for folder integration., Raised when a folder operation cannot proceed under the user's tier., Raise QuotaExceeded if folder_max_files or folder_monthly_tokens would be v (+47 more) ### Community 11 - "Community 11" Cohesion: 0.03 Nodes (71): home_brief Langfuse prompt, ProjectBriefCard renderer, project_brief Langfuse prompt, Read-only tool subset, run_home_brief() function, run_project_brief() function, WS brief_request frame, Anthropic Zero Retention Addendum (+63 more) ### Community 12 - "Community 12" Cohesion: 0.05 Nodes (22): Settings, get_session(), Database engine, session factory, and base model. All app code uses the async, FastAPI dependency that yields an async DB session per request., BaseSettings, StripeService, Settings, _auth_header() (+14 more) ### Community 13 - "Community 13" Cohesion: 0.06 Nodes (43): lifespan(), _memory_audit_cron_tick(), _memory_cron_tick(), Weekly cron: contradiction scan + label canonicalization for all users (Phase 7), Hourly cron: drain Free-tier extraction queue + mine proactive patterns for Powe, In-process TTL buffer for per-session LangChain message history. Stores the ful, Append a synthetic system message to the buffer for the given session., _SessionBuffer (+35 more) ### Community 14 - "Community 14" Cohesion: 0.06 Nodes (25): generate_pkce_pair(), OAuthUserInfo, OAuth 2.0 + PKCE provider abstractions. Each provider implements a three-step, Fetch the authenticated user's identity from Google., Normalized user identity returned by any provider., Generate a (code_verifier, code_challenge) pair for PKCE S256. The code_v, Tests for auth routes: register, login, refresh, me, OAuth social login. Exer, POST /api/v1/auth/refresh (+17 more) ### Community 15 - "Community 15" Cohesion: 0.05 Nodes (44): AddEventDialog component, ChatMessage type, ContextualChatProvider + useContextualChat, DateField input component, DateTimeField segmented input, shadcn Dialog primitives, EditEventDialog component, FilesSection component (+36 more) ### Community 16 - "Community 16" Cohesion: 0.05 Nodes (53): BackendClient.checkFolderQuota (pre-flight), BackendClient.connectPersistent (Device WS), BackendClient.openDeviceWebSocket (frame dispatcher), recordRunAction() - persist agent_run_actions row, BackendClient.registerIndexSession, BackendClient.sendBriefRequest, BackendClient.sendContextualRequest, BackendClient.sendHomeRequest (+45 more) ### Community 17 - "Community 17" Cohesion: 0.05 Nodes (52): DST handling (Europe/Rome), StreamFormatter, WsFrameType, WsHomeRequest, WsStreamEnd, WsStreamStart, WsStreamText, _HOME_SYSTEM_PROMPT (+44 more) ### Community 18 - "Community 18" Cohesion: 0.05 Nodes (49): AgentRunLog, Agent Runner UML Sequence Diagram, AgentScheduler, AIChatPanel (visual reference), AppShell Component, AuthManager, Caveman Mode (token compression), deep_agent.py (+41 more) ### Community 19 - "Community 19" Cohesion: 0.09 Nodes (44): make_directory_tools(), Return filesystem tools that resolve relative paths against *base_directory*., AgentConfig, Structured agent configuration (replaces freeform prompt_template)., _as_text(), _build_system_prompt(), _call_llm_with_tools(), _extract_agent_config() (+36 more) ### Community 20 - "Community 20" Cohesion: 0.06 Nodes (45): ContextualBufferProxy, ContextualScope pydantic model, NoteDetailPage route component, ProjectsPage route component, Pydantic Settings (env config), TasksPage route component, TierManager singleton (FEATURES matrix), TimelinePage route component (+37 more) ### Community 21 - "Community 21" Cohesion: 0.06 Nodes (41): App Logo (Top Left), Assignee Label, Client Label Tag, Client: Umbrella Labs, Client: Wayne Enterprises, Completed Count Card (8), Design Pattern: Filter Tab Bar, Design Pattern: Inline Metadata Chips (+33 more) ### Community 22 - "Community 22" Cohesion: 0.08 Nodes (37): AI Project Summary Card, Add Button (Timeline / Tasks / Notes), Client: Acme Corp, Client: Globex Inc, Client: Initech Solutions, Client List in Sidebar, Client: Umbrella Labs, Client: Wayne Enterprises (+29 more) ### Community 23 - "Community 23" Cohesion: 0.06 Nodes (22): _get_client_ip(), RateLimiter, IP-based sliding-window rate limiter. Cloudflare-aware: uses CF-Connecting-IP, Extract real client IP behind Cloudflare / reverse proxy., Sliding-window rate limiter keyed on client IP. Only applies to POST /api, OriginValidator, Security middleware stack. 1. RequestSizeLimiter — reject bodies > 4 KB (wait, Reject request bodies larger than max_bytes. (+14 more) ### Community 24 - "Community 24" Cohesion: 0.08 Nodes (32): AI Agent Avatar (Sparkles + adiuvAI Label), AI Follow-Up Suggestion Text (setting a due date), AI Response Block (adiuvAI Agent Reply), adiuvAI Brand Name (Wordmark in Chat), App Logo (Golden Diamond Icon), Chat Conversation Area (Scrollable Message List), Chat Input Bar (Ask me anything...), Chat Send Button (Arrow Up, Amber) (+24 more) ### Community 25 - "Community 25" Cohesion: 0.12 Nodes (24): PreprocessResult, Base types for the preprocessor system., Output of a preprocessor handler. Attributes ---------- content, _extract_metadata(), preprocess_email_html(), Preprocessor for email HTML files. Handles: - HTML stripping via BeautifulSo, Extract Subject/From/To/Date from raw HTML or plain text., Return only the latest message in a threaded email. (+16 more) ### Community 26 - "Community 26" Cohesion: 0.11 Nodes (27): Design Pattern: AI as Quiet Partner, App Logo (Golden Diamond Icon), Brand Personality: Calm, Intelligent, Warm, Ask Me Anything Chat Input, Suggestion Chip: Any overdue tasks?, Suggestion Chip: Suggest next actions, Suggestion Chip: Summarize this week, Suggestion Chip: What's on my plate today? (+19 more) ### Community 27 - "Community 27" Cohesion: 0.09 Nodes (27): Animations Track (purple bars), CPU Track (high utilization), createTask, Chrome DevTools Performance Recording, Evaluate Script Task, Frames Track, Function call frames (deep stacks), GPU Track (+19 more) ### Community 28 - "Community 28" Cohesion: 0.08 Nodes (26): Color Submenu, Copy Link Action, Delete Action, Duplicate Action, Edit Action, Mark as Done Action, Progress Submenu (10%-100%), Task Assignee Avatars (+18 more) ### Community 29 - "Community 29" Cohesion: 0.1 Nodes (21): Issue: Dual Date Axes (year-month + short month), Event: Alpha Release (checkpoint), Event: Beta Testing (activity bar), Event: Design Phase Complete, Event: Post-Launch Review, Event: Production Launch, Event: Project Kickoff (milestone, checked), Event Type: activity (rounded bar) (+13 more) ### Community 30 - "Community 30" Cohesion: 0.13 Nodes (11): handler(), clampPosition(), computeAnchorPosition(), computeDualAnchor(), FloatingChatProvider(), getChatWidth(), useFloatingChat(), useContextualScope() (+3 more) ### Community 31 - "Community 31" Cohesion: 0.16 Nodes (20): Brand Color: Canvas Dark (#0c0c0c) — dark mode background, Brand Color: Canvas Light (#f4edf3) — light mode background, Brand Color: Golden (#fbc881) — AI/Nord accent, Brand Color: Ink (#040404) — user/Sud/text, Brand Color: Slate (#8a8ea9) — secondary/muted, Compass Settle Animation (5s ease-in-out infinite), adiuvAI Brand Identity System, adiuvAI Color Palette (+12 more) ### Community 32 - "Community 32" Cohesion: 0.13 Nodes (19): AddEventDialog (stage-then-commit batch), DateField primitive, DateField withTime + flat props, EditEventDialog migrated to DateField, PropertyPill as