# Graph Report - _adiuvai_workspace  (2026-05-04)

## Corpus Check
- 256 files · ~347,962 words
- Verdict: corpus is large enough that graph structure adds value.

## Summary
- 2309 nodes · 4887 edges · 89 communities detected
- Extraction: 54% EXTRACTED · 46% INFERRED · 0% AMBIGUOUS · INFERRED: 2236 edges (avg confidence: 0.59)
- 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 30|Community 30]]
- [[_COMMUNITY_Community 31|Community 31]]
- [[_COMMUNITY_Community 39|Community 39]]
- [[_COMMUNITY_Community 42|Community 42]]
- [[_COMMUNITY_Community 45|Community 45]]
- [[_COMMUNITY_Community 49|Community 49]]
- [[_COMMUNITY_Community 52|Community 52]]
- [[_COMMUNITY_Community 65|Community 65]]
- [[_COMMUNITY_Community 66|Community 66]]
- [[_COMMUNITY_Community 67|Community 67]]
- [[_COMMUNITY_Community 68|Community 68]]
- [[_COMMUNITY_Community 69|Community 69]]
- [[_COMMUNITY_Community 70|Community 70]]
- [[_COMMUNITY_Community 71|Community 71]]
- [[_COMMUNITY_Community 72|Community 72]]
- [[_COMMUNITY_Community 73|Community 73]]
- [[_COMMUNITY_Community 74|Community 74]]
- [[_COMMUNITY_Community 75|Community 75]]
- [[_COMMUNITY_Community 76|Community 76]]
- [[_COMMUNITY_Community 77|Community 77]]
- [[_COMMUNITY_Community 78|Community 78]]
- [[_COMMUNITY_Community 101|Community 101]]
- [[_COMMUNITY_Community 102|Community 102]]
- [[_COMMUNITY_Community 143|Community 143]]
- [[_COMMUNITY_Community 144|Community 144]]
- [[_COMMUNITY_Community 145|Community 145]]
- [[_COMMUNITY_Community 147|Community 147]]
- [[_COMMUNITY_Community 148|Community 148]]
- [[_COMMUNITY_Community 149|Community 149]]
- [[_COMMUNITY_Community 150|Community 150]]
- [[_COMMUNITY_Community 151|Community 151]]
- [[_COMMUNITY_Community 152|Community 152]]
- [[_COMMUNITY_Community 191|Community 191]]
- [[_COMMUNITY_Community 192|Community 192]]
- [[_COMMUNITY_Community 196|Community 196]]
- [[_COMMUNITY_Community 197|Community 197]]
- [[_COMMUNITY_Community 198|Community 198]]
- [[_COMMUNITY_Community 199|Community 199]]
- [[_COMMUNITY_Community 200|Community 200]]
- [[_COMMUNITY_Community 201|Community 201]]
- [[_COMMUNITY_Community 202|Community 202]]
- [[_COMMUNITY_Community 203|Community 203]]
- [[_COMMUNITY_Community 204|Community 204]]
- [[_COMMUNITY_Community 205|Community 205]]
- [[_COMMUNITY_Community 206|Community 206]]
- [[_COMMUNITY_Community 207|Community 207]]
- [[_COMMUNITY_Community 208|Community 208]]
- [[_COMMUNITY_Community 209|Community 209]]
- [[_COMMUNITY_Community 210|Community 210]]
- [[_COMMUNITY_Community 211|Community 211]]
- [[_COMMUNITY_Community 212|Community 212]]
- [[_COMMUNITY_Community 213|Community 213]]
- [[_COMMUNITY_Community 214|Community 214]]
- [[_COMMUNITY_Community 215|Community 215]]
- [[_COMMUNITY_Community 216|Community 216]]
- [[_COMMUNITY_Community 217|Community 217]]
- [[_COMMUNITY_Community 218|Community 218]]
- [[_COMMUNITY_Community 219|Community 219]]
- [[_COMMUNITY_Community 220|Community 220]]
- [[_COMMUNITY_Community 221|Community 221]]

## God Nodes (most connected - your core abstractions)
1. `MemoryMiddleware` - 207 edges
2. `User` - 118 edges
3. `MemoryProactive` - 107 edges
4. `MemoryAssociative` - 98 edges
5. `MemoryEpisodic` - 93 edges
6. `MemoryCore` - 90 edges
7. `Subscription` - 83 edges
8. `AgentRunLog` - 77 edges
9. `UserProfile` - 77 edges
10. `MemoryRelation` - 65 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
- `Subscription` --uses--> `Tier manager: feature matrix and quota enforcement.  ``TierManager`` is the si`  [INFERRED]
  api\app\models.py → api\app\billing\tier_manager.py
- `Subscription` --uses--> `Centralises tier feature-gating, rate-limit lookups, and quota checks.`  [INFERRED]
  api\app\models.py → api\app\billing\tier_manager.py
- `Subscription` --uses--> `Return the current billing tier for ``user_id`` from the DB.          Falls ba`  [INFERRED]
  api\app\models.py → api\app\billing\tier_manager.py
- `Subscription` --uses--> `Return ``True`` if ``tier`` has ``feature`` enabled.          For numeric feat`  [INFERRED]
  api\app\models.py → api\app\billing\tier_manager.py

## Hyperedges (group relationships)
- **Email Classification Test Fixtures â€” action/info/date/no-project types across all test harnesses** — concept_email_action_type, concept_email_info_type, concept_email_date_type, concept_email_no_project_type [INFERRED 0.90]
- **adiuvAI Visual Design System â€” compass mark, color palette, typography** — brand_showcase_compass_concept, brand_showcase_color_palette, brand_showcase_typography [EXTRACTED 0.95]
- **Preprocessor Content Type Coverage â€” email variants, generic page, plain text fallback** — concept_email_parsing, concept_preprocessor_pipeline, fixture_preprocessors_fallback [INFERRED 0.80]

## Communities

### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (220): Base, Shared declarative base for all ORM models., ExtractionQueue, MemoryAssociative, MemoryCore, MemoryEpisodic, MemoryProactive, MemoryRelation (+212 more)

### Community 1 - "Community 1"
Cohesion: 0.04
Nodes (124): AgentRunLog, CloudAgentConfig, LocalAgentConfig, AgentCatalogItem, AgentCreationCheckRequest, AgentCreationCheckResponse, AgentRunLogResponse, AgentTriggerRequest (+116 more)

### Community 2 - "Community 2"
Cohesion: 0.03
Nodes (133): make_query_relations_tool(), Relations agent — read-only tool wrapping MemoryMiddleware.query_relations., Return a query_relations tool bound to *user_id*., _run_agent_with_tools(), _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 (+125 more)

### Community 3 - "Community 3"
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 4 - "Community 4"
Cohesion: 0.04
Nodes (108): ChatContext, ChatResponse, ContentTypeConfig, FormatPrefsModel, OAuthAccountInfo, Pydantic schemas — API request/response contracts.  Mirrors the TypeScript typ, Client → Server: result of a CRUD/vector operation., Server → Client: incremental LLM response text. (+100 more)

### Community 5 - "Community 5"
Cohesion: 0.04
Nodes (74): _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() (+66 more)

### Community 6 - "Community 6"
Cohesion: 0.03
Nodes (87): 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. (+79 more)

### Community 7 - "Community 7"
Cohesion: 0.04
Nodes (71): _uuid(), embed_text(), OpenAI embedding helper for associative memory tier.  Single public function:, Call OpenAI text-embedding-3-small. Return None on failure (caller falls back to, Seed script: inserts fake clients, projects, tasks, timeline events, and notes, Timestamp in ms, optionally shifted into the past., ts(), uid() (+63 more)

### Community 8 - "Community 8"
Cohesion: 0.05
Nodes (40): startAgentScheduler(), tickAgentScheduler(), checkConnectivity(), dailyBrief(), generateAndCacheBrief(), getBriefTimeSlot(), getCachedBrief(), getCurrentSlotKey() (+32 more)

### Community 9 - "Community 9"
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, _SessionBuffer, audit_memory() (+35 more)

### Community 10 - "Community 10"
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 11 - "Community 11"
Cohesion: 0.04
Nodes (31): 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., OriginValidator, Security middleware stack.  1. RequestSizeLimiter — reject bodies > 4 KB (wait, Reject request bodies larger than max_bytes., In production, only allow requests whose Origin or Referer     matches the allo (+23 more)

### Community 12 - "Community 12"
Cohesion: 0.07
Nodes (7): AuthError, AuthManager, getAuthManager(), handleDeepLink(), deepConvertKeys(), toCamelCase(), toSnakeCase()

### Community 13 - "Community 13"
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 14 - "Community 14"
Cohesion: 0.09
Nodes (15): _auth_header(), _make_jwt(), _override_db(), Tests for Step 9 middleware: auth, rate limiting, and sanitizer.  Auth tests:, Each test uses a fresh unique user_id so windows never collide., POST /auth/register is exempt — 25 calls should never return 429., POST /auth/login is exempt — multiple failed attempts are not rate-limited., Mock ``run_home`` to inject controlled strings into chat responses. (+7 more)

### Community 15 - "Community 15"
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 16 - "Community 16"
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 17 - "Community 17"
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 18 - "Community 18"
Cohesion: 0.12
Nodes (25): _apply_candidate(), _content_to_key(), decide_action(), MemoryCandidate, Mem0-style Extract/Update pipeline — Phase 2.  Runs after every ``store_episod, Decide what to do with a candidate given existing memories in the same tier., Full Mem0-style extract/update pipeline for one conversation turn.      Steps:, Fetch neighbours, decide action, apply to the appropriate tier. (+17 more)

### Community 19 - "Community 19"
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 20 - "Community 20"
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 21 - "Community 21"
Cohesion: 0.15
Nodes (6): buildConditions(), buildOrderBy(), DrizzleExecutor, ExecutorError, getDb(), backfillNoteSummaries()

### Community 22 - "Community 22"
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 23 - "Community 23"
Cohesion: 0.16
Nodes (16): AdiuvAI Brand, Pinkish-Lavender Rounded Square Background, Brand Value: Calm, Intelligent, Warm, Brand Value: Precision and Clarity, Color: Golden Amber (#F5C07A), Color: Pinkish-Lavender Background (#F0EBF4), Color: Near-Black (#1A1A1A), Design Style: Flat Minimal Geometric (+8 more)

### Community 24 - "Community 24"
Cohesion: 0.18
Nodes (14): BeautifulSoup4 + lxml (HTML parsing), Google Auth Libraries (OAuth), Agent Runner V2 â€” agent execution test harness, Email Type: Action â€” requires task creation, Email Parsing Pattern â€” extract headers, type, project linkage, Journey V2 â€” user journey / end-to-end flow test harness, Content Preprocessor Pipeline â€” HTML/text normalization before agent processing, Test Fixture: Action Email (agent_runner_v2) â€” login bug fix request (+6 more)

### Community 25 - "Community 25"
Cohesion: 0.23
Nodes (8): handler(), clampPosition(), computeAnchorPosition(), computeDualAnchor(), FloatingChatProvider(), getChatWidth(), useFloatingChat(), useDoubleClickAI()

### Community 26 - "Community 26"
Cohesion: 0.22
Nodes (9): detectBrowserFormatPrefs(), formatDate(), formatDateTime(), formatDueDate(), formatTime(), formatTs(), inferDateFormat(), useFormatPrefs() (+1 more)

### Community 27 - "Community 27"
Cohesion: 0.17
Nodes (11): cancel_subscription(), create_checkout(), get_subscription(), list_invoices(), Billing routes: Stripe checkout, webhook, subscription management.  Business l, Create a Stripe checkout session for a tier upgrade.      Returns a stub URL w, Handle Stripe webhook events.      No JWT auth — authenticated via Stripe sign, Return the current subscription info for the authenticated user. (+3 more)

### Community 28 - "Community 28"
Cohesion: 0.18
Nodes (7): Tier manager: feature matrix and quota enforcement.  ``TierManager`` is the si, Return ``True`` if ``tier`` has ``feature`` enabled.          For numeric feat, Raise ``HTTP 403`` if ``tier`` does not have ``feature``., Return the requests-per-minute limit for ``tier``., Centralises tier feature-gating, rate-limit lookups, and quota checks., Return the current billing tier for ``user_id`` from the DB.          Falls ba, TierManager

### Community 30 - "Community 30"
Cohesion: 0.25
Nodes (4): ABC, BaseAgent, Minimal agent base types retained for compatibility with batch runners., Common base for non-chat agents still using the old base contract.

### Community 31 - "Community 31"
Cohesion: 0.32
Nodes (4): handleCreateInlineProject(), handleSubmit(), resetAndClose(), resetProjectCreation()

### Community 39 - "Community 39"
Cohesion: 0.33
Nodes (2): SidebarMenuButton(), useSidebar()

### Community 42 - "Community 42"
Cohesion: 0.33
Nodes (3): useNotify(), CloudAgentConfigPanel(), LocalAgentConfigPanel()

### Community 45 - "Community 45"
Cohesion: 0.6
Nodes (3): isBriefRelevantTask(), isBriefRelevantTimeline(), isInCurrentWeek()

### Community 49 - "Community 49"
Cohesion: 0.4
Nodes (2): useTheme(), Toaster()

### Community 52 - "Community 52"
Cohesion: 0.67
Nodes (2): detectFormatPrefs(), inferDateFormat()

### Community 65 - "Community 65"
Cohesion: 0.5
Nodes (1): Initial schema: users, refresh_tokens, subscriptions.  Revision ID: 001 Revis

### Community 66 - "Community 66"
Cohesion: 0.5
Nodes (1): Add agent config and run log tables: local_agent_configs, cloud_agent_configs, a

### Community 67 - "Community 67"
Cohesion: 0.5
Nodes (1): Add memory tables and user encryption_key column.  Memory tables:   memory_co

### Community 68 - "Community 68"
Cohesion: 0.5
Nodes (1): Phase 1 — confirm pgvector activation on memory_associative.  Migration 004 cr

### Community 69 - "Community 69"
Cohesion: 0.5
Nodes (1): Add memory_relations table (Phase 3 — relational tier).  Revision ID: 006 Rev

### Community 70 - "Community 70"
Cohesion: 0.5
Nodes (1): add extraction_queue  Revision ID: 1f5975a4f3f4 Revises: 005 Create Date: 20

### Community 71 - "Community 71"
Cohesion: 0.5
Nodes (1): add name and surname to users table  Revision ID: 818478c251dc Revises: 004

### Community 72 - "Community 72"
Cohesion: 0.5
Nodes (1): Add oauth_accounts table, nullable password_hash, avatar_url to users.  Revisi

### Community 73 - "Community 73"
Cohesion: 0.5
Nodes (1): Add onboarding_completed_at column to users table.  Revision ID: c5d1e2f3a4b5

### Community 74 - "Community 74"
Cohesion: 0.5
Nodes (1): avatar_url_varchar_to_text  Revision ID: e04100e88ace Revises: c5d1e2f3a4b5

### Community 75 - "Community 75"
Cohesion: 0.5
Nodes (1): create waitlist_entries table  Revision ID: 001 Revises: Create Date: 2026-0

### Community 76 - "Community 76"
Cohesion: 0.5
Nodes (1): add consent_given_at and anonymized_at columns  Revision ID: 002 Revises: 001

### Community 77 - "Community 77"
Cohesion: 0.5
Nodes (1): add language column to waitlist_entries  Revision ID: 003 Revises: 002 Creat

### Community 78 - "Community 78"
Cohesion: 0.83
Nodes (3): detectLang(), initI18n(), setLanguage()

### Community 101 - "Community 101"
Cohesion: 0.67
Nodes (3): LangChain + LangChain-OpenAI Dependencies, Langfuse Observability Dependency, LiteLLM Dependency (100+ LLM providers)

### Community 102 - "Community 102"
Cohesion: 1.0
Nodes (3): Email Type: Info â€” FYI only, no action required, Test Fixture: Info Email (agent_runner_v2) â€” FYI policy, no action needed, Test Fixture: Info Email (journey_v2) â€” remote work policy FYI

### Community 143 - "Community 143"
Cohesion: 1.0
Nodes (1): Expose tool modules used by deep orchestrator-worker graphs.

### Community 144 - "Community 144"
Cohesion: 1.0
Nodes (1): Shared FastAPI dependencies.  ``get_current_user`` and ``oauth2_scheme`` live

### Community 145 - "Community 145"
Cohesion: 1.0
Nodes (1): OAuth provider abstractions and utilities.

### Community 147 - "Community 147"
Cohesion: 1.0
Nodes (2): API Dev Server Command (uvicorn), FastAPI Framework Dependency

### Community 148 - "Community 148"
Cohesion: 1.0
Nodes (2): Pinecone + Qdrant Vector Store Dependencies, SQLAlchemy + asyncpg + Alembic (DB stack)

### Community 149 - "Community 149"
Cohesion: 1.0
Nodes (2): Email Type: Date â€” contains scheduled event/date, Test Fixture: Date Email (agent_runner_v2) â€” kickoff meeting with date

### Community 150 - "Community 150"
Cohesion: 1.0
Nodes (2): Email Type: No-Project â€” irrelevant to any project, Test Fixture: No-Project Email (agent_runner_v2) â€” newsletter unrelated to project

### Community 151 - "Community 151"
Cohesion: 1.0
Nodes (2): Email Type: Thread â€” nested reply chain (blockquote structure), Test Fixture: Email Thread (preprocessors) â€” nested blockquote multi-turn thread

### Community 152 - "Community 152"
Cohesion: 1.0
Nodes (2): Email Type: Heavy HTML â€” complex table-based layout email, Test Fixture: Heavy HTML Email (preprocessors) â€” complex table layout newsletter

### Community 191 - "Community 191"
Cohesion: 1.0
Nodes (1): Return updated credential dict if the access token was refreshed.          If

### Community 192 - "Community 192"
Cohesion: 1.0
Nodes (1): Return updated credential dict if the access token was refreshed.          Ret

### Community 196 - "Community 196"
Cohesion: 1.0
Nodes (1): Server → Client: requests a CRUD/vector operation on the local DB.

### Community 197 - "Community 197"
Cohesion: 1.0
Nodes (1): Client → Server: result of a CRUD/vector operation.

### Community 198 - "Community 198"
Cohesion: 1.0
Nodes (1): Server → Client: incremental LLM response text.

### Community 199 - "Community 199"
Cohesion: 1.0
Nodes (1): Server → Client: signals end of response with the complete text.

### Community 200 - "Community 200"
Cohesion: 1.0
Nodes (1): Client → Server: device identification on WS connect.

### Community 201 - "Community 201"
Cohesion: 1.0
Nodes (1): User display preferences sent by Electron on each request.

### Community 202 - "Community 202"
Cohesion: 1.0
Nodes (1): Scope for a floating request — narrows the agent to a specific entity.

### Community 203 - "Community 203"
Cohesion: 1.0
Nodes (1): Client → Server: Home chat message.

### Community 204 - "Community 204"
Cohesion: 1.0
Nodes (1): Client → Server: Floating chat message scoped to an entity.

### Community 205 - "Community 205"
Cohesion: 1.0
Nodes (1): Client → Server: Request a plain-text brief (home or project).

### Community 206 - "Community 206"
Cohesion: 1.0
Nodes (1): Server → Client: signals start of a streaming response.

### Community 207 - "Community 207"
Cohesion: 1.0
Nodes (1): Server → Client: streamed text token.

### Community 208 - "Community 208"
Cohesion: 1.0
Nodes (1): Server → Client: signals end of a streaming response.

### Community 209 - "Community 209"
Cohesion: 1.0
Nodes (1): Structured floating domain payload for UI routing decisions.

### Community 210 - "Community 210"
Cohesion: 1.0
Nodes (1): Server → Client: domain determined for a floating request.

### Community 211 - "Community 211"
Cohesion: 1.0
Nodes (1): Per-type extraction config produced by the journey chatbot.

### Community 212 - "Community 212"
Cohesion: 1.0
Nodes (1): Structured agent configuration (replaces freeform prompt_template).

### Community 213 - "Community 213"
Cohesion: 1.0
Nodes (1): List notes, optionally scoped to a project by project_id.

### Community 214 - "Community 214"
Cohesion: 1.0
Nodes (1): Fetch a single note by its UUID to read its full Markdown content.

### Community 215 - "Community 215"
Cohesion: 1.0
Nodes (1): Create a new note.     title: note heading (required)     content: Markdown bo

### Community 216 - "Community 216"
Cohesion: 1.0
Nodes (1): Update an existing note. Only pass fields that should change.     note_id: UUID

### Community 217 - "Community 217"
Cohesion: 1.0
Nodes (1): Delete a note permanently by its UUID.

### Community 218 - "Community 218"
Cohesion: 1.0
Nodes (1): Return the resolved model string for *agent_name* (for Langfuse tracking).

### Community 219 - "Community 219"
Cohesion: 1.0
Nodes (1): Return an LLM configured for *agent_name*, respecting per-agent overrides.

### Community 220 - "Community 220"
Cohesion: 1.0
Nodes (1): Return an embedding vector for *text*.      Uses ``settings.LLM_EMBED_MODEL``

### Community 221 - "Community 221"
Cohesion: 1.0
Nodes (1): Stripe Dependency (billing)

## Ambiguous Edges - Review These
- `Google Auth Libraries (OAuth)` → `Agent Runner V2 â€” agent execution test harness`  [AMBIGUOUS]
  api/requirements.txt · relation: conceptually_related_to

## Knowledge Gaps
- **297 isolated node(s):** `Seed script: inserts fake clients, projects, tasks, timeline events, and notes`, `Timestamp in ms, optionally shifted into the past.`, `Initial schema: users, refresh_tokens, subscriptions.  Revision ID: 001 Revis`, `Add agent config and run log tables: local_agent_configs, cloud_agent_configs, a`, `Add memory tables and user encryption_key column.  Memory tables:   memory_co` (+292 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **Thin community `Community 39`** (7 nodes): `sidebar.tsx`, `cn()`, `handleKeyDown()`, `SidebarMenu()`, `SidebarMenuButton()`, `SidebarMenuItem()`, `useSidebar()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 49`** (5 nodes): `theme-provider.tsx`, `sonner.tsx`, `ThemeProvider()`, `useTheme()`, `Toaster()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 52`** (4 nodes): `locale-defaults.ts`, `detectFormatPrefs()`, `detectLanguage()`, `inferDateFormat()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 65`** (4 nodes): `001_initial_schema.py`, `downgrade()`, `Initial schema: users, refresh_tokens, subscriptions.  Revision ID: 001 Revis`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 66`** (4 nodes): `003_agent_tables.py`, `downgrade()`, `Add agent config and run log tables: local_agent_configs, cloud_agent_configs, a`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 67`** (4 nodes): `004_add_memory_tables.py`, `downgrade()`, `Add memory tables and user encryption_key column.  Memory tables:   memory_co`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 68`** (4 nodes): `005_associative_pgvector.py`, `downgrade()`, `Phase 1 — confirm pgvector activation on memory_associative.  Migration 004 cr`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 69`** (4 nodes): `006_memory_relations.py`, `downgrade()`, `Add memory_relations table (Phase 3 — relational tier).  Revision ID: 006 Rev`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 70`** (4 nodes): `1f5975a4f3f4_add_extraction_queue.py`, `downgrade()`, `add extraction_queue  Revision ID: 1f5975a4f3f4 Revises: 005 Create Date: 20`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 71`** (4 nodes): `818478c251dc_add_name_and_surname_to_users_table.py`, `downgrade()`, `add name and surname to users table  Revision ID: 818478c251dc Revises: 004`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 72`** (4 nodes): `b4c0d1e2f3a4_add_oauth_and_avatar.py`, `downgrade()`, `Add oauth_accounts table, nullable password_hash, avatar_url to users.  Revisi`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 73`** (4 nodes): `c5d1e2f3a4b5_add_onboarding_completed_at.py`, `downgrade()`, `Add onboarding_completed_at column to users table.  Revision ID: c5d1e2f3a4b5`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 74`** (4 nodes): `e04100e88ace_avatar_url_varchar_to_text.py`, `downgrade()`, `avatar_url_varchar_to_text  Revision ID: e04100e88ace Revises: c5d1e2f3a4b5`, `upgrade()`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 75`** (4 nodes): `downgrade()`, `create waitlist_entries table  Revision ID: 001 Revises: Create Date: 2026-0`, `upgrade()`, `001_create_waitlist_entries.py`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 76`** (4 nodes): `downgrade()`, `add consent_given_at and anonymized_at columns  Revision ID: 002 Revises: 001`, `upgrade()`, `002_add_gdpr_fields.py`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 77`** (4 nodes): `downgrade()`, `add language column to waitlist_entries  Revision ID: 003 Revises: 002 Creat`, `upgrade()`, `003_add_language_column.py`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 143`** (2 nodes): `Expose tool modules used by deep orchestrator-worker graphs.`, `__init__.py`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 144`** (2 nodes): `deps.py`, `Shared FastAPI dependencies.  ``get_current_user`` and ``oauth2_scheme`` live`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 145`** (2 nodes): `__init__.py`, `OAuth provider abstractions and utilities.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 147`** (2 nodes): `API Dev Server Command (uvicorn)`, `FastAPI Framework Dependency`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 148`** (2 nodes): `Pinecone + Qdrant Vector Store Dependencies`, `SQLAlchemy + asyncpg + Alembic (DB stack)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 149`** (2 nodes): `Email Type: Date â€” contains scheduled event/date`, `Test Fixture: Date Email (agent_runner_v2) â€” kickoff meeting with date`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 150`** (2 nodes): `Email Type: No-Project â€” irrelevant to any project`, `Test Fixture: No-Project Email (agent_runner_v2) â€” newsletter unrelated to project`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 151`** (2 nodes): `Email Type: Thread â€” nested reply chain (blockquote structure)`, `Test Fixture: Email Thread (preprocessors) â€” nested blockquote multi-turn thread`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 152`** (2 nodes): `Email Type: Heavy HTML â€” complex table-based layout email`, `Test Fixture: Heavy HTML Email (preprocessors) â€” complex table layout newsletter`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 191`** (1 nodes): `Return updated credential dict if the access token was refreshed.          If`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 192`** (1 nodes): `Return updated credential dict if the access token was refreshed.          Ret`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 196`** (1 nodes): `Server → Client: requests a CRUD/vector operation on the local DB.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 197`** (1 nodes): `Client → Server: result of a CRUD/vector operation.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 198`** (1 nodes): `Server → Client: incremental LLM response text.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 199`** (1 nodes): `Server → Client: signals end of response with the complete text.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 200`** (1 nodes): `Client → Server: device identification on WS connect.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 201`** (1 nodes): `User display preferences sent by Electron on each request.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 202`** (1 nodes): `Scope for a floating request — narrows the agent to a specific entity.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 203`** (1 nodes): `Client → Server: Home chat message.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 204`** (1 nodes): `Client → Server: Floating chat message scoped to an entity.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 205`** (1 nodes): `Client → Server: Request a plain-text brief (home or project).`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 206`** (1 nodes): `Server → Client: signals start of a streaming response.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 207`** (1 nodes): `Server → Client: streamed text token.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 208`** (1 nodes): `Server → Client: signals end of a streaming response.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 209`** (1 nodes): `Structured floating domain payload for UI routing decisions.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 210`** (1 nodes): `Server → Client: domain determined for a floating request.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 211`** (1 nodes): `Per-type extraction config produced by the journey chatbot.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 212`** (1 nodes): `Structured agent configuration (replaces freeform prompt_template).`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 213`** (1 nodes): `List notes, optionally scoped to a project by project_id.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 214`** (1 nodes): `Fetch a single note by its UUID to read its full Markdown content.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 215`** (1 nodes): `Create a new note.     title: note heading (required)     content: Markdown bo`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 216`** (1 nodes): `Update an existing note. Only pass fields that should change.     note_id: UUID`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 217`** (1 nodes): `Delete a note permanently by its UUID.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 218`** (1 nodes): `Return the resolved model string for *agent_name* (for Langfuse tracking).`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 219`** (1 nodes): `Return an LLM configured for *agent_name*, respecting per-agent overrides.`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 220`** (1 nodes): `Return an embedding vector for *text*.      Uses ``settings.LLM_EMBED_MODEL```
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 221`** (1 nodes): `Stripe Dependency (billing)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.

## Suggested Questions
_Questions this graph is uniquely positioned to answer:_

- **What is the exact relationship between `Google Auth Libraries (OAuth)` and `Agent Runner V2 â€” agent execution test harness`?**
  _Edge tagged AMBIGUOUS (relation: conceptually_related_to) - confidence is low._
- **Why does `MemoryMiddleware` connect `Community 0` to `Community 2`, `Community 18`, `Community 4`, `Community 7`?**
  _High betweenness centrality (0.091) - this node is a cross-community bridge._
- **Why does `GoogleOAuthProvider` connect `Community 0` to `Community 10`?**
  _High betweenness centrality (0.035) - this node is a cross-community bridge._
- **Why does `execute_on_client()` connect `Community 6` to `Community 1`, `Community 2`, `Community 7`?**
  _High betweenness centrality (0.031) - this node is a cross-community bridge._
- **Are the 182 inferred relationships involving `MemoryMiddleware` (e.g. with `Relations agent — read-only tool wrapping MemoryMiddleware.query_relations.` and `Return a query_relations tool bound to *user_id*.`) actually correct?**
  _`MemoryMiddleware` has 182 INFERRED edges - model-reasoned connections that need verification._
- **Are the 116 inferred relationships involving `User` (e.g. with `Hourly cron: drain Free-tier extraction queue + mine proactive patterns for Powe` and `Base`) actually correct?**
  _`User` has 116 INFERRED edges - model-reasoned connections that need verification._
- **Are the 104 inferred relationships involving `MemoryProactive` (e.g. with `Base` and `_RegisterRequest`) actually correct?**
  _`MemoryProactive` has 104 INFERRED edges - model-reasoned connections that need verification._