Update submodules: task briefing carousel feature complete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Roberto
2026-05-04 15:10:28 +02:00
parent 064142d386
commit ba9c9a4702
8 changed files with 17585 additions and 10169 deletions

View File

@@ -9,7 +9,8 @@
"Bash(export LANGFUSE_HOST=https://langfuse.muticolturano.com)",
"Bash(npx langfuse-cli *)",
"mcp__langfuse-docs__getLangfuseDocsPage",
"Bash(python -c ' *)"
"Bash(python -c ' *)",
"WebFetch(domain:ui.shadcn.com)"
]
},
"enabledMcpjsonServers": [

Submodule adiuvAI updated: a5a6e25a89...ca231e7b7c

2
api

Submodule api updated: 6f4c68b359...67562b8092

BIN
docs/Task.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1 @@
C:\Users\PC-Roby\Documents\_adiuvai_workspace

View File

@@ -1,55 +1,51 @@
# Graph Report - adiuvAI + api (2026-04-29)
# Graph Report - _adiuvai_workspace (2026-05-04)
## Corpus Check
- 250 files · ~170,773 words
- 256 files · ~347,962 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 2072 nodes · 4462 edges · 62 communities detected
- Extraction: 55% EXTRACTED · 45% INFERRED · 0% AMBIGUOUS · INFERRED: 2009 edges (avg confidence: 0.59)
- 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_API Auth & Core Routes|API Auth & Core Routes]]
- [[_COMMUNITY_Device Agent Runner|Device Agent Runner]]
- [[_COMMUNITY_AI Agent Pipeline|AI Agent Pipeline]]
- [[_COMMUNITY_Email & Calendar Integrations|Email & Calendar Integrations]]
- [[_COMMUNITY_API Middleware & Infrastructure|API Middleware & Infrastructure]]
- [[_COMMUNITY_Agent Schemas & API|Agent Schemas & API]]
- [[_COMMUNITY_Filesystem Agent Tools|Filesystem Agent Tools]]
- [[_COMMUNITY_Electron Main Process|Electron Main Process]]
- [[_COMMUNITY_OAuth Authentication|OAuth Authentication]]
- [[_COMMUNITY_Electron Auth Manager|Electron Auth Manager]]
- [[_COMMUNITY_Agent Setup & Journey|Agent Setup & Journey]]
- [[_COMMUNITY_Middleware Test Suite|Middleware Test Suite]]
- [[_COMMUNITY_Task View UI|Task View UI]]
- [[_COMMUNITY_Projects View UI|Projects View UI]]
- [[_COMMUNITY_Local Database Layer|Local Database Layer]]
- [[_COMMUNITY_AI Chat Interface|AI Chat Interface]]
- [[_COMMUNITY_Memory Extraction Engine|Memory Extraction Engine]]
- [[_COMMUNITY_Email Preprocessors|Email Preprocessors]]
- [[_COMMUNITY_Home Screen UX|Home Screen UX]]
- [[_COMMUNITY_Brand Design System|Brand Design System]]
- [[_COMMUNITY_Stripe Billing|Stripe Billing]]
- [[_COMMUNITY_Agent Session & Migrations|Agent Session & Migrations]]
- [[_COMMUNITY_Visual Identity|Visual Identity]]
- [[_COMMUNITY_Email Parsing Pipeline|Email Parsing Pipeline]]
- [[_COMMUNITY_Floating Chat Widget|Floating Chat Widget]]
- [[_COMMUNITY_Date Utilities|Date Utilities]]
- [[_COMMUNITY_Billing API Routes|Billing API Routes]]
- [[_COMMUNITY_Subscription Tier Manager|Subscription Tier Manager]]
- [[_COMMUNITY_Database Migrations|Database Migrations]]
- [[_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 43|Community 43]]
- [[_COMMUNITY_Community 50|Community 50]]
- [[_COMMUNITY_Community 51|Community 51]]
- [[_COMMUNITY_Community 61|Community 61]]
- [[_COMMUNITY_Community 62|Community 62]]
- [[_COMMUNITY_Community 63|Community 63]]
- [[_COMMUNITY_Community 64|Community 64]]
- [[_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]]
@@ -57,45 +53,76 @@
- [[_COMMUNITY_Community 69|Community 69]]
- [[_COMMUNITY_Community 70|Community 70]]
- [[_COMMUNITY_Community 71|Community 71]]
- [[_COMMUNITY_Community 92|Community 92]]
- [[_COMMUNITY_Community 93|Community 93]]
- [[_COMMUNITY_Community 94|Community 94]]
- [[_COMMUNITY_Community 131|Community 131]]
- [[_COMMUNITY_Community 132|Community 132]]
- [[_COMMUNITY_Community 133|Community 133]]
- [[_COMMUNITY_Community 134|Community 134]]
- [[_COMMUNITY_Community 135|Community 135]]
- [[_COMMUNITY_Community 136|Community 136]]
- [[_COMMUNITY_Community 137|Community 137]]
- [[_COMMUNITY_Community 138|Community 138]]
- [[_COMMUNITY_Community 139|Community 139]]
- [[_COMMUNITY_Community 174|Community 174]]
- [[_COMMUNITY_Community 175|Community 175]]
- [[_COMMUNITY_Community 177|Community 177]]
- [[_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` - 179 edges
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. `UserProfile` - 70 edges
9. `MemoryRelation` - 65 edges
10. `GoogleOAuthProvider` - 58 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
- `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
- `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]
@@ -104,122 +131,122 @@
## Communities
### Community 0 - "API Auth & Core Routes"
### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (209): Base, Shared declarative base for all ORM models., ExtractionQueue, MemoryAssociative, MemoryCore, MemoryEpisodic, MemoryProactive, MemoryRelation (+201 more)
Nodes (220): Base, Shared declarative base for all ORM models., ExtractionQueue, MemoryAssociative, MemoryCore, MemoryEpisodic, MemoryProactive, MemoryRelation (+212 more)
### Community 1 - "Device Agent Runner"
### 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 (148): AgentRunLog, CloudAgentConfig, LocalAgentConfig, Server → Client: signals end of a streaming response., WsFrameType, WsStreamEnd, _build_processing_tools(), _fetch_domain_entities() (+140 more)
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 2 - "AI Agent Pipeline"
Cohesion: 0.03
Nodes (149): _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, _resolve_language(), run_home_brief(), run_project_brief() (+141 more)
### Community 3 - "Email & Calendar Integrations"
### 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 - "API Middleware & Infrastructure"
Cohesion: 0.03
Nodes (74): _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, _uuid(), BaseHTTPMiddleware, _as_text(), _normalize_domain_payload() (+66 more)
### Community 5 - "Agent Schemas & API"
### Community 4 - "Community 4"
Cohesion: 0.04
Nodes (75): AgentCatalogItem, AgentCreationCheckRequest, AgentCreationCheckResponse, AgentRunLogResponse, AgentTriggerRequest, ChatContext, ChatResponse, ContentTypeConfig (+67 more)
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 6 - "Filesystem Agent Tools"
### 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 (76): get_file_metadata(), list_directory(), Filesystem agent — tools for reading local directories and files on Electron., Resolve *path* against *base* when *path* is relative. The LLM often pass, List files and folders in a local directory on the user's device. Returns, Read the text content of a local file on the user's device. Returns the f, Get metadata for a local file: size, creation date, modification date, extension, read_file_content() (+68 more)
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 - "Electron Main Process"
### 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 (39): startAgentScheduler(), tickAgentScheduler(), checkConnectivity(), dailyBrief(), generateAndCacheBrief(), getBriefTimeSlot(), getCachedBrief(), getCurrentSlotKey() (+31 more)
Nodes (40): startAgentScheduler(), tickAgentScheduler(), checkConnectivity(), dailyBrief(), generateAndCacheBrief(), getBriefTimeSlot(), getCachedBrief(), getCurrentSlotKey() (+32 more)
### Community 8 - "OAuth Authentication"
### 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 9 - "Electron Auth Manager"
### 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 10 - "Agent Setup & Journey"
### 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 11 - "Middleware Test Suite"
### 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 12 - "Task View UI"
### 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 13 - "Projects View UI"
### 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 14 - "Local Database Layer"
Cohesion: 0.12
Nodes (11): buildConditions(), buildOrderBy(), DrizzleExecutor, ExecutorError, getDb(), getConn(), migrateNotesIfNeeded(), searchNotes() (+3 more)
### Community 15 - "AI Chat Interface"
### 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 16 - "Memory Extraction Engine"
Cohesion: 0.11
Nodes (27): _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. (+19 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 17 - "Email Preprocessors"
### 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 18 - "Home Screen UX"
### 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 19 - "Brand Design System"
Cohesion: 0.14
Nodes (22): 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 (+14 more)
### Community 21 - "Community 21"
Cohesion: 0.15
Nodes (6): buildConditions(), buildOrderBy(), DrizzleExecutor, ExecutorError, getDb(), backfillNoteSummaries()
### Community 20 - "Stripe Billing"
Cohesion: 0.18
Nodes (8): Stripe service: checkout sessions, webhook handling, subscription management., Return the subscription record for ``user_id``, or ``None`` if absent., Cancel the user's Stripe subscription and downgrade them to free. Rai, Return recent invoices for the user from Stripe. Returns an empty lis, Wraps all Stripe interactions and owns subscription persistence., Create a Stripe checkout session and return the URL. Returns a stub U, Process a Stripe webhook event. Verifies the signature, then dispatch, StripeService
### 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 21 - "Agent Session & Migrations"
Cohesion: 0.13
Nodes (6): In-process TTL buffer for per-session LangChain message history. Stores the ful, _SessionBuffer, Deprecate backend agent config tables. The Electron client is now the source, upgrade(), Restore agent config tables and add agent_config column. 9a1f2d0b6c7e dropped, upgrade()
### Community 22 - "Visual Identity"
### 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 23 - "Email Parsing Pipeline"
### 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 24 - "Floating Chat Widget"
### Community 25 - "Community 25"
Cohesion: 0.23
Nodes (8): handler(), clampPosition(), computeAnchorPosition(), computeDualAnchor(), FloatingChatProvider(), getChatWidth(), useFloatingChat(), useDoubleClickAI()
### Community 25 - "Date Utilities"
### Community 26 - "Community 26"
Cohesion: 0.22
Nodes (9): detectBrowserFormatPrefs(), formatDate(), formatDateTime(), formatDueDate(), formatTime(), formatTs(), inferDateFormat(), useFormatPrefs() (+1 more)
### Community 26 - "Billing API Routes"
### 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 27 - "Subscription Tier Manager"
### 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 28 - "Database Migrations"
Cohesion: 0.24
Nodes (9): _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() (+1 more)
### 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.
@@ -236,119 +263,227 @@ Nodes (2): SidebarMenuButton(), useSidebar()
Cohesion: 0.33
Nodes (3): useNotify(), CloudAgentConfigPanel(), LocalAgentConfigPanel()
### Community 43 - "Community 43"
### Community 45 - "Community 45"
Cohesion: 0.6
Nodes (3): isBriefRelevantTask(), isBriefRelevantTimeline(), isInCurrentWeek()
### Community 49 - "Community 49"
Cohesion: 0.4
Nodes (2): useTheme(), Toaster()
### Community 50 - "Community 50"
### Community 52 - "Community 52"
Cohesion: 0.67
Nodes (2): detectFormatPrefs(), inferDateFormat()
### Community 51 - "Community 51"
Cohesion: 0.83
Nodes (3): isBriefRelevantTask(), isBriefRelevantTimeline(), isInCurrentWeek()
### Community 61 - "Community 61"
### Community 65 - "Community 65"
Cohesion: 0.5
Nodes (1): Initial schema: users, refresh_tokens, subscriptions. Revision ID: 001 Revis
### Community 62 - "Community 62"
### Community 66 - "Community 66"
Cohesion: 0.5
Nodes (1): Add agent config and run log tables: local_agent_configs, cloud_agent_configs, a
### Community 63 - "Community 63"
### Community 67 - "Community 67"
Cohesion: 0.5
Nodes (1): Add memory tables and user encryption_key column. Memory tables: memory_co
### Community 64 - "Community 64"
### Community 68 - "Community 68"
Cohesion: 0.5
Nodes (1): Phase 1 — confirm pgvector activation on memory_associative. Migration 004 cr
### Community 65 - "Community 65"
### Community 69 - "Community 69"
Cohesion: 0.5
Nodes (1): Add memory_relations table (Phase 3 — relational tier). Revision ID: 006 Rev
### Community 66 - "Community 66"
### Community 70 - "Community 70"
Cohesion: 0.5
Nodes (1): add extraction_queue Revision ID: 1f5975a4f3f4 Revises: 005 Create Date: 20
### Community 67 - "Community 67"
### Community 71 - "Community 71"
Cohesion: 0.5
Nodes (1): add name and surname to users table Revision ID: 818478c251dc Revises: 004
### Community 68 - "Community 68"
### Community 72 - "Community 72"
Cohesion: 0.5
Nodes (1): Add oauth_accounts table, nullable password_hash, avatar_url to users. Revisi
### Community 69 - "Community 69"
### Community 73 - "Community 73"
Cohesion: 0.5
Nodes (1): Add onboarding_completed_at column to users table. Revision ID: c5d1e2f3a4b5
### Community 70 - "Community 70"
### Community 74 - "Community 74"
Cohesion: 0.5
Nodes (1): avatar_url_varchar_to_text Revision ID: e04100e88ace Revises: c5d1e2f3a4b5
### Community 71 - "Community 71"
### Community 75 - "Community 75"
Cohesion: 0.5
Nodes (3): 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.
Nodes (1): create waitlist_entries table Revision ID: 001 Revises: Create Date: 2026-0
### Community 92 - "Community 92"
Cohesion: 0.67
Nodes (2): BaseSettings, Settings
### Community 76 - "Community 76"
Cohesion: 0.5
Nodes (1): add consent_given_at and anonymized_at columns Revision ID: 002 Revises: 001
### Community 93 - "Community 93"
### 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 94 - "Community 94"
### 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 131 - "Community 131"
### Community 143 - "Community 143"
Cohesion: 1.0
Nodes (1): Expose tool modules used by deep orchestrator-worker graphs.
### Community 132 - "Community 132"
### Community 144 - "Community 144"
Cohesion: 1.0
Nodes (1): Shared FastAPI dependencies. ``get_current_user`` and ``oauth2_scheme`` live
### Community 133 - "Community 133"
### Community 145 - "Community 145"
Cohesion: 1.0
Nodes (1): OAuth provider abstractions and utilities.
### Community 134 - "Community 134"
### Community 147 - "Community 147"
Cohesion: 1.0
Nodes (2): API Dev Server Command (uvicorn), FastAPI Framework Dependency
### Community 135 - "Community 135"
### Community 148 - "Community 148"
Cohesion: 1.0
Nodes (2): Pinecone + Qdrant Vector Store Dependencies, SQLAlchemy + asyncpg + Alembic (DB stack)
### Community 136 - "Community 136"
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 137 - "Community 137"
Cohesion: 1.0
Nodes (2): Email Type: Thread — nested reply chain (blockquote structure), Test Fixture: Email Thread (preprocessors) — nested blockquote multi-turn thread
### Community 138 - "Community 138"
### 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 139 - "Community 139"
### 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 174 - "Community 174"
### 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 175 - "Community 175"
### Community 192 - "Community 192"
Cohesion: 1.0
Nodes (1): Return updated credential dict if the access token was refreshed. Ret
### Community 177 - "Community 177"
### 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)
@@ -357,59 +492,113 @@ Nodes (1): Stripe Dependency (billing)
api/requirements.txt · relation: conceptually_related_to
## Knowledge Gaps
- **245 isolated node(s):** `Seed script: inserts fake clients, projects, tasks, timeline events, and notes`, `Timestamp in ms, optionally shifted into the past.`, `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.` (+240 more)
- **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 43`** (5 nodes): `theme-provider.tsx`, `sonner.tsx`, `ThemeProvider()`, `useTheme()`, `Toaster()`
- **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 50`** (4 nodes): `locale-defaults.ts`, `detectFormatPrefs()`, `detectLanguage()`, `inferDateFormat()`
- **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 61`** (4 nodes): `001_initial_schema.py`, `downgrade()`, `Initial schema: users, refresh_tokens, subscriptions. Revision ID: 001 Revis`, `upgrade()`
- **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 62`** (4 nodes): `003_agent_tables.py`, `downgrade()`, `Add agent config and run log tables: local_agent_configs, cloud_agent_configs, a`, `upgrade()`
- **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 63`** (4 nodes): `004_add_memory_tables.py`, `downgrade()`, `Add memory tables and user encryption_key column. Memory tables: memory_co`, `upgrade()`
- **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 64`** (4 nodes): `005_associative_pgvector.py`, `downgrade()`, `Phase 1 — confirm pgvector activation on memory_associative. Migration 004 cr`, `upgrade()`
- **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 65`** (4 nodes): `006_memory_relations.py`, `downgrade()`, `Add memory_relations table (Phase 3 — relational tier). Revision ID: 006 Rev`, `upgrade()`
- **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 66`** (4 nodes): `1f5975a4f3f4_add_extraction_queue.py`, `downgrade()`, `add extraction_queue Revision ID: 1f5975a4f3f4 Revises: 005 Create Date: 20`, `upgrade()`
- **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 67`** (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()`
- **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 68`** (4 nodes): `b4c0d1e2f3a4_add_oauth_and_avatar.py`, `downgrade()`, `Add oauth_accounts table, nullable password_hash, avatar_url to users. Revisi`, `upgrade()`
- **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 69`** (4 nodes): `c5d1e2f3a4b5_add_onboarding_completed_at.py`, `downgrade()`, `Add onboarding_completed_at column to users table. Revision ID: c5d1e2f3a4b5`, `upgrade()`
- **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 70`** (4 nodes): `e04100e88ace_avatar_url_varchar_to_text.py`, `downgrade()`, `avatar_url_varchar_to_text Revision ID: e04100e88ace Revises: c5d1e2f3a4b5`, `upgrade()`
- **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 92`** (3 nodes): `settings.py`, `BaseSettings`, `Settings`
- **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 131`** (2 nodes): `Expose tool modules used by deep orchestrator-worker graphs.`, `__init__.py`
- **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 132`** (2 nodes): `deps.py`, `Shared FastAPI dependencies. ``get_current_user`` and ``oauth2_scheme`` live`
- **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 133`** (2 nodes): `__init__.py`, `OAuth provider abstractions and utilities.`
- **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 134`** (2 nodes): `API Dev Server Command (uvicorn)`, `FastAPI Framework Dependency`
- **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 135`** (2 nodes): `Pinecone + Qdrant Vector Store Dependencies`, `SQLAlchemy + asyncpg + Alembic (DB stack)`
- **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 136`** (2 nodes): `Email Type: Heavy HTML — complex table-based layout email`, `Test Fixture: Heavy HTML Email (preprocessors) — complex table layout newsletter`
- **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 137`** (2 nodes): `Email Type: Thread — nested reply chain (blockquote structure)`, `Test Fixture: Email Thread (preprocessors) — nested blockquote multi-turn thread`
- **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 138`** (2 nodes): `Email Type: Date — contains scheduled event/date`, `Test Fixture: Date Email (agent_runner_v2) — kickoff meeting with date`
- **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 139`** (2 nodes): `Email Type: No-Project — irrelevant to any project`, `Test Fixture: No-Project Email (agent_runner_v2) — newsletter unrelated to project`
- **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 174`** (1 nodes): `Return updated credential dict if the access token was refreshed. If`
- **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 175`** (1 nodes): `Return updated credential dict if the access token was refreshed. Ret`
- **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 177`** (1 nodes): `Stripe Dependency (billing)`
- **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
@@ -417,14 +606,14 @@ _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 `API Auth & Core Routes` to `Memory Extraction Engine`, `Device Agent Runner`, `AI Agent Pipeline`, `API Middleware & Infrastructure`?**
_High betweenness centrality (0.073) - this node is a cross-community bridge._
- **Why does `test_pagination_stops_at_max_emails()` connect `Email & Calendar Integrations` to `API Middleware & Infrastructure`?**
_High betweenness centrality (0.044) - this node is a cross-community bridge._
- **Why does `run_cloud_agent()` connect `Device Agent Runner` to `AI Agent Pipeline`, `Email & Calendar Integrations`, `API Middleware & Infrastructure`?**
_High betweenness centrality (0.042) - this node is a cross-community bridge._
- **Are the 154 inferred relationships involving `MemoryMiddleware` (e.g. with `Auth middleware — JWT validation dependency. ``get_current_user`` is the Fast` and `Validate a Bearer JWT and return the authenticated user. The JWT is used`) actually correct?**
_`MemoryMiddleware` has 154 INFERRED edges - model-reasoned connections that need verification._
- **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?**

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff