diff --git a/99 Daily/2026-05-18.md b/99 Daily/2026-05-18.md index 99fba4b..ce4b95e 100644 --- a/99 Daily/2026-05-18.md +++ b/99 Daily/2026-05-18.md @@ -76,3 +76,4 @@ tags: [daily] - 18:56 — session ended | `pimco-charts` - 18:57 — session ended | `pimco-charts` - 19:07 (1min) — session ended | `ai_leed` +- 19:08 — session ended | `ai_leed` diff --git a/wiki/architecture/3m-portal-structure.md b/wiki/architecture/3m-portal-structure.md deleted file mode 100644 index 36d251e..0000000 --- a/wiki/architecture/3m-portal-structure.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -tags: [architecture, graphify, 3m-portal] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/3m-portal (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 210 nodes · 393 edges · 14 communities (13 shown, 1 thin omitted) -- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 1 edges (avg confidence: 0.8) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 12|Community 12]] - -## God Nodes (most connected - your core abstractions) -1. `jsonError()` - 15 edges -2. `getClientIp()` - 14 edges -3. `log()` - 13 edges -4. `patchUser()` - 11 edges -5. `getUserById()` - 10 edges -6. `requireAuth()` - 10 edges -7. `login()` - 10 edges -8. `requireAdmin()` - 9 edges -9. `changePassword()` - 9 edges -10. `createUserHandler()` - 9 edges - -## Surprising Connections (you probably didn't know these) -- `parseJobFromXML()` --calls--> `get()` [INFERRED] - dashboard.js → lib/session.js -- `main()` --calls--> `getUserByEmail()` [EXTRACTED] - scripts/create-admin.js → lib/db.js -- `main()` --calls--> `setPassword()` [EXTRACTED] - scripts/create-admin.js → lib/db.js -- `main()` --calls--> `createUser()` [EXTRACTED] - scripts/create-admin.js → lib/db.js -- `handleProxy()` --calls--> `requireAuth()` [EXTRACTED] - lib/proxy.js → lib/auth-middleware.js - -## Communities (14 total, 1 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.11 -Nodes (31): invalidState, inviteEmail, inviteForm, loading, token, log(), getClientIp(), getUserByEmail() (+23 more) - -### Community 1 - "Community 1" -Cohesion: 0.17 -Nodes (25): { getUserById }, jsonError(), requireAdmin(), requireAuth(), requireFullSession(), session, adminCount(), getUserById() (+17 more) - -### Community 2 - "Community 2" -Cohesion: 0.09 -Nodes (20): { bootstrapInitialAdmin }, { createRouter }, dispatch, eq, fs, { handleProxy, CORS_HEADERS }, http, key (+12 more) - -### Community 3 - "Community 3" -Cohesion: 0.16 -Nodes (19): allJobs, applyFilters(), createJobCard(), escapeHtml(), filteredJobs, formatLocalDate(), getSession(), handlePDF() (+11 more) - -### Community 4 - "Community 4" -Cohesion: 0.15 -Nodes (16): { db }, stmt, bootstrapInitialAdmin(), createUser(), Database, db, fs, path (+8 more) - -### Community 5 - "Community 5" -Cohesion: 0.14 -Nodes (7): parseJobFromXML(), crypto, { db }, get(), getTokenFromRequest(), parseCookieHeader(), stmts - -### Community 6 - "Community 6" -Cohesion: 0.27 -Nodes (11): apiFetch(), badge(), buildActionButtons(), el(), handleAction(), loadUsers(), makeBtn(), patchUser() (+3 more) - -### Community 7 - "Community 7" -Cohesion: 0.14 -Nodes (13): author, dependencies, better-sqlite3, description, engines, node, keywords, license (+5 more) - -### Community 8 - "Community 8" -Cohesion: 0.32 -Nodes (12): attachTimeout(), handleApiResponse(), handleProxy(), handleProxyError(), https, injectCredentials(), logParams(), proxyGet() (+4 more) - -### Community 9 - "Community 9" -Cohesion: 0.36 -Nodes (7): BASE(), DOMAIN(), FROM(), https, mailgunSend(), sendInvite(), sendReset() - -### Community 10 - "Community 10" -Cohesion: 0.42 -Nodes (8): apiRequest(), externSessionAdd(), externSessionRemove(), https, parseXml(), SERVICE_PASSWORD(), SERVICE_USERNAME(), userInfo() - -## Knowledge Gaps -- **73 isolated node(s):** `token`, `loading`, `invalidState`, `inviteForm`, `inviteEmail` (+68 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `parseJobFromXML()` connect `Community 5` to `Community 3`?** - _High betweenness centrality (0.151) - this node is a cross-community bridge._ -- **Why does `getClientIp()` connect `Community 0` to `Community 8`, `Community 1`?** - _High betweenness centrality (0.025) - this node is a cross-community bridge._ -- **What connects `token`, `loading`, `invalidState` to the rest of the system?** - _73 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.11428571428571428 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.09486166007905138 - nodes in this community are weakly interconnected._ -- **Should `Community 4` be split into smaller, more focused modules?** - _Cohesion score 0.14619883040935672 - nodes in this community are weakly interconnected._ -- **Should `Community 5` be split into smaller, more focused modules?** - _Cohesion score 0.14285714285714285 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/Barclays-banner-builder-structure.md b/wiki/architecture/Barclays-banner-builder-structure.md deleted file mode 100644 index 852c332..0000000 --- a/wiki/architecture/Barclays-banner-builder-structure.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -tags: [architecture, graphify, Barclays-banner-builder] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/Barclays-banner-builder (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 377 nodes · 623 edges · 36 communities (34 shown, 2 thin omitted) -- Extraction: 76% EXTRACTED · 24% INFERRED · 0% AMBIGUOUS · INFERRED: 147 edges (avg confidence: 0.65) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 23|Community 23]] - -## God Nodes (most connected - your core abstractions) -1. `User` - 20 edges -2. `compilerOptions` - 18 edges -3. `ApiClient` - 17 edges -4. `ChatBrief()` - 17 edges -5. `get_settings()` - 17 edges -6. `BannerPreview()` - 15 edges -7. `Base` - 15 edges -8. `BannerVariant` - 14 edges -9. `Conversation` - 11 edges -10. `SystemPrompt` - 11 edges - -## Surprising Connections (you probably didn't know these) -- `cn()` --calls--> `clsx` [INFERRED] - frontend/src/lib/utils.ts → frontend/package.json -- `_validate_limits()` --calls--> `ctaWordCount()` [EXTRACTED] - backend/app/services/copy_generation.py → frontend/src/pages/VariantsGrid.tsx -- `_validate_pair()` --calls--> `ctaWordCount()` [EXTRACTED] - backend/app/services/copy_generation.py → frontend/src/pages/VariantsGrid.tsx -- `create_engine()` --calls--> `get_settings()` [INFERRED] - backend/app/database.py → backend/app/config.py -- `get_current_user()` --calls--> `get_settings()` [INFERRED] - backend/app/api/auth.py → backend/app/config.py - -## Communities (36 total, 2 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.08 -Nodes (41): Config, create_user(), Admin panel API — System Prompt, TOV configuration, and User management. Only u, Update creates a new version (immutable audit trail) and deactivates old., SystemPromptCreate, SystemPromptOut, update_system_prompt(), UserCreate (+33 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (38): CREATION_ROUTES, Layout(), NAV_ITEMS, useJourneySteps(), dependencies, class-variance-authority, clsx, konva (+30 more) - -### Community 2 - "Community 2" -Cohesion: 0.07 -Nodes (36): BannerPreview(), FORMAT_DIMS, Layout, LEGACY_THEME_STYLES, LINK_CTA_FORMATS, Props, THEME_STYLES, CharCountProps (+28 more) - -### Community 3 - "Community 3" -Cohesion: 0.10 -Nodes (18): get_url(), run_migrations_offline(), run_migrations_online(), create_access_token(), get_current_user(), login(), me(), verify_password() (+10 more) - -### Community 4 - "Community 4" -Cohesion: 0.11 -Nodes (22): add_custom_size(), download_contact_sheet(), get_banner_set(), Create Custom-format variants (one per copy-set pair) at the given dimensions., request_contact_sheet(), update_status(), create_brief(), get_brief() (+14 more) - -### Community 5 - "Community 5" -Cohesion: 0.13 -Nodes (14): ABC, get_asset(), search_dam(), Settings, BaseSettings, BaseDamClient, get_asset(), get_dam_client() (+6 more) - -### Community 6 - "Community 6" -Cohesion: 0.10 -Nodes (20): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleDetection (+12 more) - -### Community 7 - "Community 7" -Cohesion: 0.10 -Nodes (19): devDependencies, autoprefixer, eslint, postcss, tailwindcss, @types/node, @types/react, typescript (+11 more) - -### Community 8 - "Community 8" -Cohesion: 0.18 -Nodes (15): match_icon(), Find the best icon for a keyword using pgvector cosine similarity., chat_turn(), _chat_turn_async(), generate_copy(), _generate_copy_async(), _persist_banner_set(), RQ worker tasks. All tasks are synchronous functions (RQ requires sync) that cr (+7 more) - -### Community 9 - "Community 9" -Cohesion: 0.21 -Nodes (14): ctaWordCount(), Return top_k RAG chunk texts most similar to query via pgvector cosine distance., retrieve_chunks(), BannerCopy, CopyVariant, generate_copy(), get_active_prompt(), Copy generation service. Reads the active SystemPrompt from DB, retrieves RAG c (+6 more) - -### Community 10 - "Community 10" -Cohesion: 0.26 -Nodes (5): download_csv(), ApiClient, chunk_text(), extract_text_from_docx(), main() - -### Community 11 - "Community 11" -Cohesion: 0.39 -Nodes (7): _banner_html(), export_workfront_csv(), _get_variants(), _px(), Export service: PDF contact sheet and Workfront CSV., Render one BannerVariant as an HTML snippet that looks like the actual banner., render_contact_sheet_pdf() - -## Knowledge Gaps -- **82 isolated node(s):** `config`, `name`, `private`, `version`, `type` (+77 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `AdminPage()` connect `Community 1` to `Community 0`, `Community 10`?** - _High betweenness centrality (0.181) - this node is a cross-community bridge._ -- **Why does `dependencies` connect `Community 1` to `Community 7`?** - _High betweenness centrality (0.156) - this node is a cross-community bridge._ -- **Are the 26 inferred relationships involving `str` (e.g. with `retrieve_chunks()` and `login()`) actually correct?** - _`str` has 26 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 18 inferred relationships involving `User` (e.g. with `Base` and `Token`) actually correct?** - _`User` has 18 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `config`, `name`, `private` to the rest of the system?** - _108 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.07890122735242548 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05697278911564626 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/DevOps_Click_UP_sync-structure.md b/wiki/architecture/DevOps_Click_UP_sync-structure.md deleted file mode 100644 index f8d8958..0000000 --- a/wiki/architecture/DevOps_Click_UP_sync-structure.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -tags: [architecture, graphify, DevOps_Click_UP_sync] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/DevOps_Click_UP_sync (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 149 nodes · 197 edges · 16 communities (11 shown, 5 thin omitted) -- Extraction: 87% EXTRACTED · 13% INFERRED · 0% AMBIGUOUS · INFERRED: 25 edges (avg confidence: 0.79) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] - -## God Nodes (most connected - your core abstractions) -1. `ClickUpClient` - 21 edges -2. `ADOClient` - 17 edges -3. `_handle_ado_workitem()` - 10 edges -4. `log_sync_event()` - 8 edges -5. `_handle_clickup_task()` - 7 edges -6. `Base` - 6 edges -7. `_handle_ado_comment()` - 6 edges -8. `_handle_clickup_comment()` - 6 edges -9. `is_echo_event()` - 6 edges -10. `loadLog()` - 5 edges - -## Surprising Connections (you probably didn't know these) -- `_handle_clickup_task()` --calls--> `clickup_task_to_ado_patch()` [INFERRED] - src/sync/engine.py → src/sync/mapper.py -- `start_initial_sync()` --calls--> `_syncDone()` [EXTRACTED] - src/api/setup.py → frontend/app.js -- `start_initial_sync()` --calls--> `pollInitialSync()` [EXTRACTED] - src/api/setup.py → frontend/app.js -- `run_initial_sync()` --calls--> `SyncMap` [INFERRED] - src/sync/initial.py → src/database.py -- `_handle_ado_workitem()` --calls--> `SyncMap` [INFERRED] - src/sync/engine.py → src/database.py - -## Communities (16 total, 5 thin omitted) - -### Community 1 - "Community 1" -Cohesion: 0.15 -Nodes (13): start_initial_sync(), adoUrl, closeMappingModal(), deleteMapping(), loadLog(), loadMappings(), loadStatus(), logNext() (+5 more) - -### Community 2 - "Community 2" -Cohesion: 0.20 -Nodes (19): CommentMap, is_echo_event(), log_sync_event(), Loop prevention: detect echo events caused by our own sync writes., Returns True if we recently synced this entity in the OPPOSITE direction, me, _find_clickup_user_id(), _find_list_for_ado_project(), _get_sync_map_by_ado() (+11 more) - -### Community 4 - "Community 4" -Cohesion: 0.14 -Nodes (9): cancel_initial_sync(), list_ado_webhooks(), Setup and configuration endpoints., Register ClickUp webhook pointing to this service., Register ADO Service Hooks for all projects (or specified ones). Creates sub, List all existing ADO Service Hook subscriptions., setup_ado_webhooks(), setup_webhooks() (+1 more) - -### Community 5 - "Community 5" -Cohesion: 0.19 -Nodes (9): create_mapping(), DeclarativeBase, Base, init_db(), ProjectMap, SyncLog, SyncMap, lifespan() (+1 more) - -### Community 6 - "Community 6" -Cohesion: 0.22 -Nodes (8): ProjectMappingRequest, ado_webhook(), clickup_webhook(), Webhook endpoints for ADO and ClickUp., BaseModel, ADOResource, ADOWebhookPayload, ClickUpWebhookPayload - -### Community 7 - "Community 7" -Cohesion: 0.27 -Nodes (8): Bulk initial sync: import work items assigned to the configured user., reset_cancel(), run_initial_sync(), ado_work_item_to_clickup_task(), clickup_task_to_ado_patch(), html_to_markdown(), _priority_name_to_int(), Field mapping between Azure DevOps and ClickUp. - -## Knowledge Gaps -- **2 isolated node(s):** `adoUrl`, `allow` - These have ≤1 connection - possible missing edges or undocumented components. -- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `ProjectMap` connect `Community 5` to `Community 6`?** - _High betweenness centrality (0.164) - this node is a cross-community bridge._ -- **Why does `ProjectMappingRequest` connect `Community 6` to `Community 4`, `Community 5`?** - _High betweenness centrality (0.141) - this node is a cross-community bridge._ -- **Why does `SyncMap` connect `Community 5` to `Community 2`, `Community 7`?** - _High betweenness centrality (0.082) - this node is a cross-community bridge._ -- **Are the 4 inferred relationships involving `_handle_ado_workitem()` (e.g. with `SyncMap` and `ado_work_item_to_clickup_task()`) actually correct?** - _`_handle_ado_workitem()` has 4 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 7 inferred relationships involving `log_sync_event()` (e.g. with `SyncLog` and `run_initial_sync()`) actually correct?** - _`log_sync_event()` has 7 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 4 inferred relationships involving `_handle_clickup_task()` (e.g. with `SyncMap` and `clickup_task_to_ado_patch()`) actually correct?** - _`_handle_clickup_task()` has 4 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `adoUrl`, `allow`, `FastAPI application entry point.` to the rest of the system?** - _15 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/Oliver-ai-bot_2.0-structure.md b/wiki/architecture/Oliver-ai-bot_2.0-structure.md deleted file mode 100644 index fde0a38..0000000 --- a/wiki/architecture/Oliver-ai-bot_2.0-structure.md +++ /dev/null @@ -1,505 +0,0 @@ ---- -tags: [architecture, graphify, Oliver-ai-bot_2.0] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/Oliver-ai-bot_2.0 (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1455 nodes · 2348 edges · 169 communities (114 shown, 55 thin omitted) -- Extraction: 88% EXTRACTED · 12% INFERRED · 0% AMBIGUOUS · INFERRED: 283 edges (avg confidence: 0.6) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 46 edges -2. `SharePointSource` - 36 edges -3. `SharePointBrowser()` - 28 edges -4. `Button` - 24 edges -5. `AgentPanel()` - 24 edges -6. `ToolResult` - 24 edges -7. `SharePointGraphClient` - 24 edges -8. `User` - 23 edges -9. `AgentsTab()` - 19 edges -10. `Badge()` - 18 edges - -## Surprising Connections (you probably didn't know these) -- `FastAPI Dependencies for Authentication and RBAC` --rationale_for--> `dependencies` [EXTRACTED] - backend/app/core/dependencies.py → frontend/package.json -- `cn()` --calls--> `clsx` [INFERRED] - frontend/lib/utils.ts → frontend/package.json -- `upload_knowledge_document()` --calls--> `next` [INFERRED] - backend/app/api/v1/endpoints/knowledge.py → frontend/package.json -- `Conversation and Message models for chat functionality` --rationale_for--> `Conversation` [EXTRACTED] - backend/app/models/conversation.py → frontend/types/index.ts -- `Knowledge Base document model for admin-uploaded RAG documents` --rationale_for--> `KnowledgeDocument` [EXTRACTED] - backend/app/models/knowledge_document.py → frontend/types/index.ts - -## Communities (169 total, 55 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (48): get_agent_analytics(), _is_visible(), Per-agent analytics endpoint GET /agents/{slug}/analytics?days=30 Returns usag, Same visibility check as agents.py., Get usage analytics for a specific agent. Returns total messages, tokens, c, _agent_to_list_item(), _agent_to_response(), _can_manage() (+40 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (34): metadata, montserrat, AnnouncementModal(), formatDate(), greeting(), HomePage(), ProtectedRoute(), PUBLIC_ROUTES (+26 more) - -### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (39): AnalyticsTab(), Announcement, AnnouncementsTab(), FormState, ApiKey, ApiKeysTab(), DepartmentsTab(), CATEGORY_CONFIG (+31 more) - -### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (43): loginWithMicrosoft(), AdminUserListResponse, AdminUserResponse, AgentProvider, AgentStatus, AgentVisibility, AnalyticsOverview, AnalyticsResponse (+35 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (26): DocumentProcessingError, _qdrant(), Document Processor for SharePoint RAG Pipeline Handles the full lifecycle of a, Embed chunks and upsert to Qdrant. Requires Qdrant + OpenAI access. Use, Full ingestion pipeline: extract → chunk → embed → upsert., Dispatch to the appropriate extractor based on file type., Extract text from any supported format using MarkItDown., Raised when document text extraction or embedding fails. (+18 more) - -### Community 5 - "Community 5" -Cohesion: 0.19 -Nodes (34): Raised when URL scraping fails., WebScraperError, BulkDeleteRequest, crawl_url_confirm(), crawl_url_preview(), CrawlConfirmRequest, CrawlConfirmResponse, CrawlPreviewPage (+26 more) - -### Community 6 - "Community 6" -Cohesion: 0.09 -Nodes (24): AgentEditorModal(), AgentCard(), AgentCardProps, AgentsTab(), STATUS_COLORS, VISIBILITY_ICON, AgentCard(), AgentCardProps (+16 more) - -### Community 7 - "Community 7" -Cohesion: 0.10 -Nodes (16): RAGRetriever, RAG Retriever - Query Qdrant with filters and format retrieved docs Handles vect, Rerank documents by LLM relevance score (0-10) using Claude Haiku. Retur, Rephrase user query for better web search results., Search the web using Tavily API as fallback when local docs are insufficient., Format retrieved documents into a context string with numbered citations., Format citations as a markdown-style source list, Compute a heuristic trust score for RAG responses. Components: (+8 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (29): FastAPI Dependencies for Authentication and RBAC, Dependency to require admin role (Super Admin or Content Manager) Args:, Dependency factory: require user to have a specific feature access., require_admin(), require_feature(), dependencies, axios, class-variance-authority (+21 more) - -### Community 9 - "Community 9" -Cohesion: 0.11 -Nodes (18): FeedbackItem, FeedbackTab(), AttachedFile, ChatInput(), ChatInputProps, IframeModal(), IframeModalProps, cn() (+10 more) - -### Community 10 - "Community 10" -Cohesion: 0.11 -Nodes (22): AgentsPage(), ToolCard, ChatList(), ChatListProps, Message, ChatMessage(), ChatMessageProps, CitationCard() (+14 more) - -### Community 11 - "Community 11" -Cohesion: 0.09 -Nodes (26): BreadcrumbEntry, Drive, DriveItem, Props, SharePointBrowser(), Site, create_sharepoint_source(), delete_sharepoint_source() (+18 more) - -### Community 12 - "Community 12" -Cohesion: 0.10 -Nodes (24): export_feedback(), get_conversation_feedback(), get_feedback_stats(), get_message_feedback(), list_feedback(), Feedback Endpoints — user ratings on RAG/assistant responses. User routes: submi, Get the current user's feedback for a specific message., Get all feedback the current user has given in a conversation (batch load). (+16 more) - -### Community 13 - "Community 13" -Cohesion: 0.09 -Nodes (25): chat(), create_conversation(), delete_conversation(), _get_attachment_dir(), _get_conversation_history(), get_conversation_messages(), list_conversations(), Chat endpoint with RAG and Personal Assistant modes, multi-turn support Phase 3: (+17 more) - -### Community 14 - "Community 14" -Cohesion: 0.12 -Nodes (14): Execute an authenticated HTTP request with automatic retry on throttling., Search SharePoint sites by keyword. Args: query: Search ter, Resolve a SharePoint site URL to its Graph API site object. Args:, List all document libraries (drives) for a SharePoint site. Args:, List files in a drive folder. Args: drive_id: MS Graph driv, Fetch all pages from a paginated Graph API endpoint. Follows @odata.nex, Fetch changed items using the Graph Delta API (incremental sync). Args:, Get metadata for a specific file. Returns: id, name, webUrl, file.mimeT (+6 more) - -### Community 15 - "Community 15" -Cohesion: 0.20 -Nodes (18): GraphBaseTool, CalendarCreateEventTool, CalendarFindSlotsTool, CalendarListUpcomingTool, GraphBaseTool, Base class for Microsoft Graph API tools, Base class providing Graph API request helpers, Make an authenticated request to the Microsoft Graph API. Raises httpx.H (+10 more) - -### Community 16 - "Community 16" -Cohesion: 0.11 -Nodes (21): fetch_ad_groups(), AD Group Sync — Fetch user's AD groups and sync allowed_features, Fetch AD group memberships for the current user via Microsoft Graph. Returns, Sync user's allowed_features based on AD group memberships. - If features_o, sync_user_features_from_groups(), create_access_token(), create_refresh_token(), JWT Token Generation and Validation (+13 more) - -### Community 17 - "Community 17" -Cohesion: 0.15 -Nodes (21): BaseModel, AdminUserListResponse, AdminUserResponse, AdminUserUpdateRequest, AnalyticsOverview, AnalyticsResponse, Config, DailyConversations (+13 more) - -### Community 18 - "Community 18" -Cohesion: 0.11 -Nodes (15): lifespan(), BaseTool, create_agent(), Create a new agent. - Regular users: forced to visibility=private, status=dr, Agent, Configurable AI agent entity. Replaces the hardcoded rag/assistant mode sys, ListAgentsTool, Agent Builder tools for Personal Assistant conversational agent creation. Regist (+7 more) - -### Community 19 - "Community 19" -Cohesion: 0.16 -Nodes (9): delete_document_remote(), _get_auth_headers(), _get_identity_token(), HTTP client for calling the Cloud Run document processor service. If CLOUD_RUN_, Get a Google OIDC identity token for authenticating to Cloud Run., Get authorization headers for Cloud Run requests., Delete document vectors via Cloud Run service., Remove all Qdrant vectors for a SharePoint document. Called when a docu (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.14 -Nodes (20): _async_refresh_all_graph_tokens(), _async_renew_expiring_webhooks(), _async_sync_all_active_sources(), process_single_document(), process_webhook_notification(), Celery Tasks for SharePoint Document Synchronization Tasks: sync_sharepoint, Download and index a single SharePoint document. Used for webhook-triggered, Process an incoming Microsoft Graph change notification. The notification c (+12 more) - -### Community 21 - "Community 21" -Cohesion: 0.10 -Nodes (19): aliases, components, hooks, lib, ui, utils, iconLibrary, registries (+11 more) - -### Community 22 - "Community 22" -Cohesion: 0.15 -Nodes (18): AssistantPage(), LLMFactory, Factory to create LLM instances based on mode, ActionsResponse, AssistantResponse, extract_action_items(), ExtractActionsRequest, Assistant Mode Endpoints Provides productivity tools: summarization, translation (+10 more) - -### Community 23 - "Community 23" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+10 more) - -### Community 24 - "Community 24" -Cohesion: 0.14 -Nodes (12): AdminPage(), ChatPageInner(), resolveIcon(), SYSTEM_FALLBACK, CodeInterpreterAdminPage(), ProfilePage(), SettingsPage(), AuthState (+4 more) - -### Community 25 - "Community 25" -Cohesion: 0.16 -Nodes (15): DEFAULT_FORM, Department, FormState, PROVIDER_MODELS, ToolDef, tools, AgentPanel(), AgentPanelProps (+7 more) - -### Community 27 - "Community 27" -Cohesion: 0.18 -Nodes (13): create_api_key(), delete_api_key(), _generate_key(), _key_to_response(), list_api_keys(), API Key Management Endpoints (super_admin only) Allows super admins to generate, Deactivate an API key without deleting it., Permanently delete an API key. (+5 more) - -### Community 29 - "Community 29" -Cohesion: 0.16 -Nodes (5): _md_to_teams_html(), Get or create a 1:1 Teams chat with the recipient. POST /chats is idempo, Convert basic markdown to Teams-compatible HTML. Teams chat supports a limit, Load attachment from disk cache or LibreCodeInterpreter service., TeamsSendMessageTool - -### Community 30 - "Community 30" -Cohesion: 0.14 -Nodes (5): ABC, BaseTool, BaseTool ABC and supporting dataclasses for the tool framework, Abstract base class for all tools, Convert to OpenAI/Anthropic function calling format - -### Community 31 - "Community 31" -Cohesion: 0.14 -Nodes (13): generate_conversation_title(), Auto-generate a title based on the first user message, ChatRequest, ConversationCreate, ConversationUpdate, GenerateTitleResponse, MessageResponse, Pydantic schemas for chat endpoints (+5 more) - -### Community 32 - "Community 32" -Cohesion: 0.19 -Nodes (8): BaseHTTPMiddleware, generate_request_id(), _get_key(), RateLimitMiddleware, Redis-based sliding window rate limiter middleware., Security headers and Request ID middleware., RequestIdMiddleware, SecurityHeadersMiddleware - -### Community 33 - "Community 33" -Cohesion: 0.15 -Nodes (7): loginDev(), LoginPage(), DEFAULT_MARKERS, Globe(), GlobeProps, NexusAnimation(), NexusAnimationProps - -### Community 34 - "Community 34" -Cohesion: 0.23 -Nodes (9): _decrypt(), _encrypt(), _get_fernet(), get_valid_token(), Graph Token Manager - Encrypts, stores, and refreshes Microsoft Graph delegated, Manages encrypted Graph API tokens per user, store_tokens(), User Graph Token model - stores encrypted Microsoft Graph delegated tokens (+1 more) - -### Community 35 - "Community 35" -Cohesion: 0.18 -Nodes (12): Base, Conversation, ConversationMode, Message, MessageRole, Conversation and Message models for chat functionality, MessageToolCall, Tool Definition and Message Tool Call models (+4 more) - -### Community 36 - "Community 36" -Cohesion: 0.15 -Nodes (11): create_department(), delete_department(), delete_region(), get_all_slash_commands(), Admin Endpoints - User management, taxonomy CRUD, analytics Only accessible to s, Delete a region (cascades to departments), Create a new department, Delete a department. Returns 409 if users are assigned to it. (+3 more) - -### Community 37 - "Community 37" -Cohesion: 0.22 -Nodes (12): chunk_text(), ensure_collection(), extract_text_from_file(), generate_embeddings(), main(), Ensure Qdrant collection exists, create if it doesn't Args: client:, Upload chunks and embeddings to Qdrant Args: client: Qdrant client, Main execution function (+4 more) - -### Community 38 - "Community 38" -Cohesion: 0.20 -Nodes (12): Tracks individual documents synced from SharePoint Links to Qdrant vector po, SharePointDocument, _async_process_single_document(), _async_process_webhook_notification(), _async_sync_sharepoint_source(), _get_document_by_sharepoint_id(), _get_source(), _process_delta_item() (+4 more) - -### Community 39 - "Community 39" -Cohesion: 0.27 -Nodes (9): AuthCallbackContent(), clearCodeVerifier(), exchangeCodeForToken(), generateCodeChallenge(), generateCodeVerifier(), getAuthCodeFromUrl(), getAuthErrorFromUrl(), getCodeVerifier() (+1 more) - -### Community 40 - "Community 40" -Cohesion: 0.24 -Nodes (9): _build_history(), execute_agent(), _is_visible(), Programmatic Agent Execution Endpoint POST /agents/{slug}/execute Synchronous, Programmatically execute an agent with a message and receive a synchronous JSON, AgentExecuteRequest, AgentExecuteResponse, Pydantic schemas for programmatic agent execution API (+1 more) - -### Community 41 - "Community 41" -Cohesion: 0.18 -Nodes (10): Config, DevLoginRequest, LoginRequest, Pydantic Schemas for Authentication, Request body for login endpoint, Request body for token refresh, Response for token refresh, Request body for dev login endpoint (development only) (+2 more) - -### Community 42 - "Community 42" -Cohesion: 0.20 -Nodes (7): Update region_code and department_id payload on all Qdrant vectors for a documen, Mark all vectors for a document as is_active=False (soft delete). Allow, Structured Logging Configuration JSON logging for production, text logging for, RequestIdFilter, setup_logging(), purge_orphaned_vectors(), Delete Qdrant vectors whose sharepoint_id has no matching document in the DB. - -### Community 43 - "Community 43" -Cohesion: 0.18 -Nodes (4): download_code_interpreter_file(), Code Interpreter File Proxy Proxies file download requests from frontend to the, Serve a code interpreter file — from disk cache if available, else live proxy., Code Interpreter Tool Executes code in a sandboxed environment via the LibreCod - -### Community 44 - "Community 44" -Cohesion: 0.22 -Nodes (10): consent_callback(), consent_revoke(), consent_start(), consent_status(), _get_msal_app(), Graph Consent Endpoints - Manage Microsoft 365 delegated token consent, Get the Microsoft authorization URL for Graph consent. Frontend should redir, Exchange the authorization code for Graph tokens and store them. (+2 more) - -### Community 45 - "Community 45" -Cohesion: 0.20 -Nodes (8): AgentCreate, AgentListItem, AgentResponse, AgentStatusUpdate, AgentUpdate, Pydantic schemas for Agent CRUD, Full agent response including system_prompt (for editor), Lightweight agent representation for sidebar/catalog (no system_prompt) - -### Community 46 - "Community 46" -Cohesion: 0.29 -Nodes (9): _call_claude(), _call_gemini(), _call_llm(), AI content refiner — structures raw scraped content into clean knowledge base do, Call Claude or Gemini to process the prompt., Structure a single scraped page with AI., Merge and structure multiple crawled pages into one document with AI. Pages, refine_and_merge() (+1 more) - -### Community 47 - "Community 47" -Cohesion: 0.20 -Nodes (10): process_document_remote(), Send document to Cloud Run for processing. Returns: dict with statu, _index_page(), _process_doc_background(), Save a single crawled page as a KnowledgeDocument and start processing., Scrape a URL and add its content to the knowledge base., Background task: process document with its own DB session (no held HTTP session), Accept pre-scraped content (from scrape-preview) and index it into RAG. Save (+2 more) - -### Community 48 - "Community 48" -Cohesion: 0.20 -Nodes (9): name, private, scripts, build, dev, lint, start, type-check (+1 more) - -### Community 49 - "Community 49" -Cohesion: 0.25 -Nodes (7): Alembic Environment Configuration with Async Support, Run migrations in 'offline' mode. This configures the context with just a U, Run migrations in 'online' mode with async support. In this scenario we nee, Run migrations in 'online' mode., run_async_migrations(), run_migrations_offline(), run_migrations_online() - -### Community 51 - "Community 51" -Cohesion: 0.22 -Nodes (9): _doc_to_response(), get_knowledge_document(), list_knowledge_documents(), List knowledge base documents with pagination and optional status filter., Get a single knowledge base document by ID., Update region_code, department_id or description on a knowledge document. Re, Re-send a document to Cloud Run for reprocessing (e.g. completed with 0 chunks)., reprocess_knowledge_document() (+1 more) - -### Community 52 - "Community 52" -Cohesion: 0.22 -Nodes (5): Agent model — configurable AI agents replacing hardcoded chat modes, ApiKey, API Key model for programmatic access to the agent execution endpoint. Keys are, MessageFeedback model — user ratings on assistant responses, SQLAlchemy ORM Models All models must be imported here so SQLAlchemy can resolv - -### Community 53 - "Community 53" -Cohesion: 0.36 -Nodes (8): generate_completion(), get_llm(), get_llm_from_config(), LLM Factory - Switches between OpenAI, Anthropic, and Google based on mode Suppo, stream_completion(), stream_with_tools(), _to_lc_messages(), Get current LLM config status (masked keys) - -### Community 54 - "Community 54" -Cohesion: 0.25 -Nodes (5): Config, Application Configuration using Pydantic Settings Loads configuration from envir, Application settings loaded from environment variables, Settings, BaseSettings - -### Community 55 - "Community 55" -Cohesion: 0.29 -Nodes (7): Config, Pydantic Schemas for User operations, Schema for creating a new user, Schema for updating user, UserBase, UserCreate, UserUpdate - -### Community 56 - "Community 56" -Cohesion: 0.29 -Nodes (7): import_items(), Download and index selected SharePoint files into the knowledge base. Return, _async_process_knowledge_document(), process_knowledge_document(), Celery Task for processing Knowledge Base documents uploaded via admin panel. R, Process an uploaded knowledge base document. Args: document_id: UUI, Async implementation of process_knowledge_document. - -### Community 57 - "Community 57" -Cohesion: 0.25 -Nodes (7): Microsoft Graph API Client for SharePoint Integration Handles authentication (C, JobStatus, JobType, SharePoint integration models for document sync and RAG, Tracks sync operations for monitoring and debugging Stores statistics and er, Job execution status enum, SyncJob - -### Community 58 - "Community 58" -Cohesion: 0.25 -Nodes (8): Verify and decode JWT token Args: token: JWT token string Retu, verify_token(), get_current_user(), get_current_user_flexible(), get_current_user_or_api_key(), Dependency that accepts either: - Bearer JWT token (Authorization: Bearer, Dependency to get current authenticated user Args: credentials: Bea, Dependency to get current user - supports both header and query string token - -### Community 59 - "Community 59" -Cohesion: 0.25 -Nodes (8): devDependencies, eslint, eslint-config-next, postcss, tailwindcss, @types/node, @types/react, typescript - -### Community 62 - "Community 62" -Cohesion: 0.33 -Nodes (6): ApiKeyCreate, ApiKeyCreatedResponse, ApiKeyResponse, Pydantic schemas for API key management, Response for listing — never includes the raw key or hash., Returned only once at creation — includes the full raw key. - -### Community 63 - "Community 63" -Cohesion: 0.38 -Nodes (6): _auth_headers(), crawl_url_firecrawl(), Firecrawl API client for scraping complex websites. Firecrawl is a managed serv, Scrape a single URL via Firecrawl API. Returns dict with: markdown, title,, Recursively crawl a URL and all linked pages via Firecrawl /v1/crawl. Retur, scrape_url_firecrawl() - -### Community 64 - "Community 64" -Cohesion: 0.29 -Nodes (4): GraphAPIError, Raised when Microsoft Graph API returns an error response., Download file content as bytes. Args: drive_id: MS Graph dr, Return a valid access token. Uses the delegated user token if provided, - -### Community 65 - "Community 65" -Cohesion: 0.29 -Nodes (6): list_tools(), Admin Tool Management Endpoints, List all tool definitions with their enabled status, Enable/disable a tool or change its allowed modes, ToolUpdateRequest, update_tool() - -### Community 66 - "Community 66" -Cohesion: 0.33 -Nodes (5): Department, Taxonomy Models: Region and Department Defines the organizational hierarchy, Regions represent geographical areas (e.g., UK, US, APAC), Departments within regions (e.g., UK/HR, US/IT) Unique constraint ensures UK, Region - -### Community 67 - "Community 67" -Cohesion: 0.29 -Nodes (5): User Model with Role-Based Access Control (RBAC), User role enum for RBAC, User model with Microsoft Entra ID integration Auto-provisioned on first log, User, UserRole - -### Community 68 - "Community 68" -Cohesion: 0.33 -Nodes (5): Department, KnowledgeUploader(), Region, UploadItem, Progress - -### Community 69 - "Community 69" -Cohesion: 0.33 -Nodes (5): health_check(), liveness(), Health Check Endpoints - System Status Monitoring, Simple liveness probe — no dependency checks., Readiness check — verifies PostgreSQL, Redis, Qdrant. Returns 503 when any s - -### Community 70 - "Community 70" -Cohesion: 0.40 -Nodes (5): Web Scraper — extract clean text from URLs using trafilatura, Validate and normalize URL., Fetch and extract main content from a URL. Args: url: The URL to sc, scrape_url(), validate_url() - -### Community 71 - "Community 71" -Cohesion: 0.33 -Nodes (5): Announcement, Announcement, Announcement model — feature announcements shown in notification bell, AnnouncementCreate, Config - -### Community 72 - "Community 72" -Cohesion: 0.33 -Nodes (6): _ann_out(), create_announcement(), get_announcements(), Get published announcements — all authenticated users, Get all announcements including drafts — super_admin only, update_announcement() - -### Community 73 - "Community 73" -Cohesion: 0.40 -Nodes (3): process_document(), Cloud Run HTTP service for document processing. Endpoints: GET /health, Extract text and chunk a document. Returns chunks as JSON — no Qdrant, no embedd - -### Community 74 - "Community 74" -Cohesion: 0.40 -Nodes (4): Update LLM provider API keys (super_admin only). Saves to DB., update_llm_config(), AppSetting, App Settings model for runtime configuration (API keys, etc.) - -### Community 75 - "Community 75" -Cohesion: 0.40 -Nodes (4): SystemPrompt Model — Configurable system prompts per mode, System prompts for different conversation modes, SystemPrompt, SystemPrompt - -### Community 76 - "Community 76" -Cohesion: 0.40 -Nodes (5): get_all_users(), Update user features and settings (super_admin only), Get all users with filtering and pagination (super_admin only), update_user(), _user_to_response() - -### Community 77 - "Community 77" -Cohesion: 0.40 -Nodes (5): create_region(), get_regions(), Get all regions with department counts, update_region(), RegionResponse - -### Community 78 - "Community 78" -Cohesion: 0.40 -Nodes (4): downgrade(), Update notebook_sessions and uploaded_files tables to match the actual Noteb, Revert changes back to original structure, upgrade() - -### Community 79 - "Community 79" -Cohesion: 0.50 -Nodes (3): get_db(), Database configuration and session management Uses async SQLAlchemy with asyncpg, Dependency for FastAPI to get database session Usage: db: AsyncSession = Dep - -### Community 81 - "Community 81" -Cohesion: 0.50 -Nodes (3): celery_healthcheck(), Celery Application Configuration Broker: Redis Result backend: Redis Usage (in, Simple task used to verify worker is alive. - -## Knowledge Gaps -- **215 isolated node(s):** `config`, `config`, `name`, `version`, `private` (+210 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **55 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `SharePointSource` connect `Community 2` to `Community 34`, `Community 35`, `Community 4`, `Community 5`, `Community 11`, `Community 14`, `Community 17`, `Community 25`, `Community 57`?** - _High betweenness centrality (0.160) - this node is a cross-community bridge._ -- **Why does `LLMFactory` connect `Community 22` to `Community 4`, `Community 7`, `Community 15`, `Community 53`, `Community 30`?** - _High betweenness centrality (0.147) - this node is a cross-community bridge._ -- **Why does `ToolResult` connect `Community 15` to `Community 18`, `Community 29`, `Community 30`, `Community 22`?** - _High betweenness centrality (0.058) - this node is a cross-community bridge._ -- **Are the 10 inferred relationships involving `SharePointSource` (e.g. with `SharePointGraphClient` and `document_processor.py`) actually correct?** - _`SharePointSource` has 10 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `config`, `config`, `name` to the rest of the system?** - _575 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.052525252525252523 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05052790346907994 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/_index.md b/wiki/architecture/_index.md index 8ab7fd6..1a7ea78 100644 --- a/wiki/architecture/_index.md +++ b/wiki/architecture/_index.md @@ -25,48 +25,6 @@ Cross-cutting architectural decisions that appear in multiple Oliver projects. | [[wiki/architecture/troubleshooting-playbooks\|troubleshooting-playbooks]] | Failure → diagnosis → fix for FastAPI, Docker, React/Vite, Azure AD, Apache, PostgreSQL | All Oliver projects | | [[wiki/architecture/adr-log\|adr-log]] | Architecture Decision Records — why HTTP polling, Docker Compose, FastAPI, Azure AD, cost tracker were chosen | All Oliver projects | | [[wiki/architecture/cloud-run-jobs-celery\|cloud-run-jobs-celery]] | Moving heavy Celery tasks (ffmpeg, TTS, Whisper) to Cloud Run Jobs — finite execution, pay-per-use, env-specific compose, chain dispatch pattern | Video Accessibility | -| [[wiki/architecture/3m-portal-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/3m-portal (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/Barclays-banner-builder-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/Barclays-banner-builder (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/DevOps_Click_UP_sync-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/DevOps_Click_UP_sync (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/Oliver-ai-bot_2.0-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/Oliver-ai-bot_2.0 (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ac-helper-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ac-helper (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ac-tool-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ac-tool (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/amazon-transcreation-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/amazon-transcreation (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/baic_dashboard-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/baic_dashboard (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/barclays-rag-report-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/barclays-rag-report (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/build-a-squad-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/build-a-squad (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/cc-dashboard-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cc-dashboard (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/cinema-studio-pro-kling-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cinema-studio-pro-kling (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/cinema-studio-pro-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cinema-studio-pro (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/enterprise-ai-hub-nexus-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/enterprise-ai-hub-nexus (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ferrero-ac-creator-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ferrero-ac-creator (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ford-gechub-sftp-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ford-gechub-sftp (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ford_qc-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ford_qc (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/gmal-scope-builder-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/gmal-scope-builder (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/hm-o2e-tool-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hm-o2e-tool (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/hm_ems_report-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hm_ems_report (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/homepage-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/homepage (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/hp-prod-tracker-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hp-prod-tracker (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/loreal-global-kickoff-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-global-kickoff (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/loreal-sla-calculator-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-sla-calculator (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/loreal-timelog-viewer-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-timelog-viewer (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/lusa-back-planner-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/lusa-back-planner (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/modcomms-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/modcomms (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/olivas-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/olivas (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/oliver-ai-assistant-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/oliver-ai-assistant (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/oliver-sales-ops-platform-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/oliver-sales-ops-platform (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/pdf-accessibility-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/pdf-accessibility (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/pimco-charts-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/pimco-charts (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/ppt-tool-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ppt-tool (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/presenton-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/presenton (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/sandbox-notebookllamalm-nextjs-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/sandbox-notebookllamalm-nextjs (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/semblance-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/semblance (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/smartcrop26-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/smartcrop26 (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/social-reporting-tool-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/social-reporting-tool (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/solventum-image-metadata-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/solventum-image-metadata (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/video-accessibility-old-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/video-accessibility-old (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/video-accessibility-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/video-accessibility (2026-05-18)]] | - cluster-only mode — file stats not available | — | -| [[wiki/architecture/wsj-filenaming-structure\|Graph Report - /Users/ai_leed/Documents/Projects/Oliver/wsj-filenaming (2026-05-18)]] | - cluster-only mode — file stats not available | — | ## Key Architectural Decisions diff --git a/wiki/architecture/ac-helper-structure.md b/wiki/architecture/ac-helper-structure.md deleted file mode 100644 index 558f13e..0000000 --- a/wiki/architecture/ac-helper-structure.md +++ /dev/null @@ -1,326 +0,0 @@ ---- -tags: [architecture, graphify, ac-helper] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ac-helper (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 955 nodes · 1533 edges · 85 communities (69 shown, 16 thin omitted) -- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 65 edges (avg confidence: 0.56) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] - -## God Nodes (most connected - your core abstractions) -1. `get_pool()` - 29 edges -2. `get_user_id()` - 24 edges -3. `AdminClientsPage()` - 21 edges -4. `OpenAIProvider` - 21 edges -5. `compilerOptions` - 20 edges -6. `DocumentAnalyzer` - 20 edges -7. `JobManager` - 20 edges -8. `GoogleProvider` - 19 edges -9. `compilerOptions` - 18 edges -10. `WebSocketManager` - 18 edges - -## Surprising Connections (you probably didn't know these) -- `process_batch_documents()` --calls--> `Print` [INFERRED] - backend/core/process_brief_enhanced.py → categories/default_categories.json -- `process_single_document()` --calls--> `Print` [INFERRED] - backend/core/process_brief_enhanced.py → categories/default_categories.json -- `load_clients()` --calls--> `applyClient()` [EXTRACTED] - backend/server/api/clients.py → script.js -- `create_new_sheet()` --calls--> `loadSheetList()` [EXTRACTED] - backend/server/api/sheets.py → script.js -- `renameSheet()` --calls--> `loadSheetList()` [EXTRACTED] - frontend/src/api/sheets.ts → script.js - -## Communities (85 total, 16 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (63): deleteSheet(), duplicateSheet(), getMetadataPath(), getSheetPath(), loadMetadata(), renameSheet(), saveMetadata(), get_users() (+55 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (61): AdminClientsPage(), ClientCardProps, UploadState, AdminDropdownsPage(), AdminUsersPage(), FIELD_LABELS, Props, ColumnMapping (+53 more) - -### Community 2 - "Community 2" -Cohesion: 0.06 -Nodes (48): aiModal, aiModalInput, aiModalMicBtn, aiModalSendBtn, aiModalYoloBtn, answer, applyClient(), blob (+40 more) - -### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (26): cleanup_expired(), Manually trigger cleanup of expired jobs and files (Admin/maintenance endpoi, JobManager, Update job attributes Args: job_id: Job identifier, Get jobs for a specific user Args: user_id: User identifier, Get all jobs (admin function) Args: limit: Maximum number o, Manages job lifecycle, queue, and in-memory registry Thread-safe singleton f, Delete a job and clean up its files Args: job_id: Job ident (+18 more) - -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (38): dependencies, autoprefixer, axios, @azure/msal-browser, @azure/msal-react, handsontable, @handsontable/react, postcss (+30 more) - -### Community 5 - "Community 5" -Cohesion: 0.09 -Nodes (16): Anthropic provider implementation for Claude Opus 4.5 and Sonnet 4.5, Execute single-call pattern: existing behavior for when thinking=0 or no schema, Anthropic Claude provider supporting Opus and Sonnet models, Add schema guidance to the last user message for Call A, Extract text content from Anthropic response, ignoring thinking blocks, Separate system messages from user/assistant messages for Anthropic format, Convert JSON schema to Anthropic tool format for structured output, Extract structured data from tool use response (+8 more) - -### Community 6 - "Community 6" -Cohesion: 0.21 -Nodes (24): items, description, properties, required, type, name, asset_type, assets (+16 more) - -### Community 7 - "Community 7" -Cohesion: 0.10 -Nodes (12): DocumentAnalyzer, Validate that specified models are available and configured, Load prompt from external file asynchronously., Save intermediate base deliverables with multiplier arrays as JSON., Encode file content for OpenAI API., Perform parallel analysis across multiple models, Get provider name from model key, Get display name for model (+4 more) - -### Community 8 - "Community 8" -Cohesion: 0.11 -Nodes (17): Job runners module for processing document analysis jobs, create_job_summary(), process_job_queue(), Job runner that orchestrates document processing with progress reporting, Background worker that processes jobs from the queue Args: job_mana, Start background worker tasks for job processing Args: job_manager:, Execute a document processing job with progress reporting Args: job, Stop background worker tasks Args: workers: List of worker tasks to (+9 more) - -### Community 9 - "Community 9" -Cohesion: 0.11 -Nodes (10): TopBar(), HelpPage(), Section, SECTIONS, LoginPage(), AdminRoute(), AuthGate(), msalInstance (+2 more) - -### Community 10 - "Community 10" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 11 - "Community 11" -Cohesion: 0.11 -Nodes (11): LLM Service module for Enhanced Brief Processing System Provides abstracted acce, Provider manager for coordinating parallel execution across multiple LLM provide, Count the number of deliverables in a model's JSON response, Manages multiple LLM providers and coordinates parallel execution, Execute analysis with a single provider, Create provider instance for given model key, Estimate total cost for all models, Aggregate token usage from multiple responses (+3 more) - -### Community 12 - "Community 12" -Cohesion: 0.13 -Nodes (9): AppShell(), Props, Sidebar(), BriefReviewPage(), EDITABLE_FIELDS, SheetStore, useSheetStore, Deliverable (+1 more) - -### Community 13 - "Community 13" -Cohesion: 0.14 -Nodes (11): ConsolidationResult, Consolidation processor for merging multiple LLM analysis results, Count the number of deliverables in a model's JSON response, Result of consolidation process, Format analysis results from multiple models for consolidation prompt, Prepare the consolidation prompt with model results, Load system prompt for consolidation, Save debug information about failed consolidation (+3 more) - -### Community 14 - "Community 14" -Cohesion: 0.10 -Nodes (19): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+11 more) - -### Community 15 - "Community 15" -Cohesion: 0.12 -Nodes (11): BaseLLMProvider, GoogleProvider, Google provider implementation for Gemini 2.5 Pro using the new google-genai SDK, Convert standard messages to Google GenAI format, Convert OpenAI JSON schema to Google GenAI format, Google Gemini 2.5 Pro provider using new google-genai SDK, Validate Google configuration, Estimate cost using Google Gemini pricing (+3 more) - -### Community 16 - "Community 16" -Cohesion: 0.12 -Nodes (12): LLMResponse, Standardized response format across all providers, OpenAIProvider, OpenAI provider implementation for GPT-5 with reasoning effort support, OpenAI GPT-5 provider with reasoning effort support, Create Pydantic model from JSON schema for structured output, Validate OpenAI configuration, Estimate cost using OpenAI GPT-5.1 pricing (+4 more) - -### Community 17 - "Community 17" -Cohesion: 0.11 -Nodes (13): ProviderUpdate, Update information for a specific LLM provider during processing, JobLogHandler, ProgressReporter, Emit log message with WebSocket streaming Args: level: Log, Reports progress updates for job processing with WebSocket broadcasting, Calculate progress percentage for LLM analysis phase Args:, Emit job completion event Args: result_csv_url: URL to down (+5 more) - -### Community 18 - "Community 18" -Cohesion: 0.12 -Nodes (15): discover_supported_files(), generate_output_file(), main(), parse_arguments(), process_batch_documents(), process_single_document(), Parse command line arguments, Process all supported documents in a folder (+7 more) - -### Community 19 - "Community 19" -Cohesion: 0.13 -Nodes (9): Broadcast message to all connected clients Args: message: M, Broadcast job-specific update Args: job_id: Job identifier, Get WebSocket connection statistics Returns: Statistics dic, Background task to ping clients periodically, Background task to clean up disconnected clients, Manages WebSocket connections and broadcasts Singleton for coordinating real, Start background maintenance tasks, Stop background maintenance tasks (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.17 -Nodes (12): JobProgressCard(), PHASE_LABELS, Props, useWebSocket(), BriefUploadPage(), JobStore, useJobStore, Job (+4 more) - -### Community 21 - "Community 21" -Cohesion: 0.18 -Nodes (13): update_user(), get_current_user_info(), me(), Return current user profile including role., validate_token(), get_user(), list_users(), User store — PostgreSQL-backed. Keyed by Azure AD oid (object ID). (+5 more) - -### Community 22 - "Community 22" -Cohesion: 0.18 -Nodes (15): statusOptions, ExportTemplateEditor(), Props, DetectTemplateResult, ExportTemplateColumn, deleteUserExportTemplate(), detectUserExportTemplate(), getUserExportTemplate() (+7 more) - -### Community 23 - "Community 23" -Cohesion: 0.22 -Nodes (15): BaseModel, AssetExtractionResult, BaseDeliverable, BaseExtractionResult, create_unique_title(), DocumentType, expand_deliverables(), _load_universal_schema() (+7 more) - -### Community 24 - "Community 24" -Cohesion: 0.30 -Nodes (13): createClient(), deleteClient(), get_client_by_id(), listClients(), load_clients(), Client management API — PostgreSQL-backed., _row_to_dict(), set_client_custom_dropdowns() (+5 more) - -### Community 25 - "Community 25" -Cohesion: 0.15 -Nodes (6): ABC, BaseLLMProvider, ModelType, Base provider class for LLM service abstraction Defines common interface that al, Prepare messages in standard format, Abstract base class for all LLM providers - -### Community 26 - "Community 26" -Cohesion: 0.16 -Nodes (11): async_main(), main(), Async main function with proper signal handling, _apply_schema(), create_app(), Main Quart application — AC Tool (AC Helper + Brief Extractor unified), Create tables if they don't exist (idempotent)., Seed global dropdown categories if the DB table is empty. (+3 more) - -### Community 27 - "Community 27" -Cohesion: 0.18 -Nodes (8): ProcessingResult, DocumentAnalyzer, EnhancedDocumentAnalyzer, Perform parallel analysis with progress reporting Args: doc, Enhanced DocumentAnalyzer with progress reporting capabilities Extends the b, Get provider name from model key, Get display name for model, Process document with progress reporting integration Args: - -### Community 28 - "Community 28" -Cohesion: 0.21 -Nodes (7): getClientCategoryPath(), getClientsPath(), getUsersPath(), loadClientCategories(), loadUsers(), saveClients(), saveUsers() - -### Community 29 - "Community 29" -Cohesion: 0.18 -Nodes (5): Job management module for Brief Extractor GUI, Job manager for handling job queue, registry, and lifecycle, File storage management for uploads and outputs, Runtime configuration for AC Tool server, ServerConfig - -### Community 30 - "Community 30" -Cohesion: 0.24 -Nodes (11): Digital, Community management, Out of Home, Print, Direct Mail, Packaging, POS, Video (+3 more) - -### Community 31 - "Community 31" -Cohesion: 0.18 -Nodes (8): migrate(), _parse_dt(), One-time migration: import existing JSON file data into PostgreSQL. Run inside, Parse an ISO timestamp string (or None) into a timezone-aware datetime., _init_conn(), init_pool(), asyncpg connection pool with JSONB codec registration. Call init_pool() once at, Register JSONB/JSON codecs so Python dicts/lists are passed transparently. - -### Community 32 - "Community 32" -Cohesion: 0.18 -Nodes (11): estimate_processing_cost(), get_available_models(), get_default_config(), get_system_info(), Configuration API endpoints for model selection and system settings, Validate a model configuration Expects: { "modelConfig", Get list of available models with pricing and capabilities Returns:, Get system configuration and status information Returns: System inf (+3 more) - -### Community 33 - "Community 33" -Cohesion: 0.18 -Nodes (7): Unregister a WebSocket client Args: client_id: Client ident, Broadcast message to all connections for a specific user Args:, Represents a connected WebSocket client, Send initial queue snapshot to a client Args: client: WebSo, Send a message to this client, Register a new WebSocket client Args: user_id: User identif, WebSocketClient - -### Community 34 - "Community 34" -Cohesion: 0.22 -Nodes (5): create(), ModelConfiguration, Data models for job management and processing, Model selection configuration for a job, Enhanced DocumentAnalyzer with progress reporting for GUI integration Extends th - -### Community 35 - "Community 35" -Cohesion: 0.25 -Nodes (3): _get_jwks_client(), MSALAuthenticator, MSAL / Azure AD token validator (SPA PKCE flow). Backend only validates incoming - -### Community 36 - "Community 36" -Cohesion: 0.22 -Nodes (3): Config, Configuration management for Enhanced Brief Processing System Loads environment, Centralized configuration management - -### Community 37 - "Community 37" -Cohesion: 0.22 -Nodes (5): Job, Main job model representing a document processing job, Update status for a specific provider, Mark job as completed with results, Mark job as failed with error message - -### Community 38 - "Community 38" -Cohesion: 0.22 -Nodes (6): CommandResult, sendCommand(), api, registerTokenRefresher(), token, TokenRefresher - -### Community 39 - "Community 39" -Cohesion: 0.25 -Nodes (5): Config, Deliverable, Pydantic models for sheets and deliverables., Sheet, SheetMeta - -### Community 40 - "Community 40" -Cohesion: 0.25 -Nodes (7): get_available_models(), JobSummary, ModelInfo, Information about an available LLM model, Convert job to dictionary for JSON serialization, Convert to dictionary for JSON serialization, Summary information for a completed job - -### Community 41 - "Community 41" -Cohesion: 0.29 -Nodes (6): DATA_DIR, DROPDOWNS_FILE, OUTPUTS_DIR, SHEETS_DIR, UPLOADS_DIR, USERS_FILE - -### Community 42 - "Community 42" -Cohesion: 0.33 -Nodes (4): Add token usage from OpenAI Responses API, Calculate total cost based on GPT-5 pricing, Get detailed cost breakdown, TokenUsage - -### Community 43 - "Community 43" -Cohesion: 0.33 -Nodes (3): SpeechRecognitionHook, CommandBar(), Props - -### Community 45 - "Community 45" -Cohesion: 0.33 -Nodes (4): Token usage tracking across different providers, Add token usage from provider response, Get total token count, TokenUsage - -### Community 46 - "Community 46" -Cohesion: 0.33 -Nodes (3): ErrorBoundary, Props, State - -### Community 47 - "Community 47" -Cohesion: 0.50 -Nodes (3): LogEntry, Add a log entry to this job, Individual log entry for job processing - -### Community 51 - "Community 51" -Cohesion: 0.67 -Nodes (3): ACCEPTED, FileDropzone(), Props - -## Knowledge Gaps -- **155 isolated node(s):** `spreadsheetDiv`, `commandInput`, `sendBtn`, `saveBtn`, `exportBtn` (+150 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **16 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `JobPhase` connect `Community 23` to `Community 34`, `Community 3`, `Community 7`, `Community 42`, `Community 17`, `Community 27`?** - _High betweenness centrality (0.133) - this node is a cross-community bridge._ -- **Why does `get_user_id()` connect `Community 0` to `Community 1`?** - _High betweenness centrality (0.084) - this node is a cross-community bridge._ -- **Why does `getJobDeliverables()` connect `Community 0` to `Community 20`, `Community 12`?** - _High betweenness centrality (0.072) - this node is a cross-community bridge._ -- **Are the 3 inferred relationships involving `get_pool()` (e.g. with `_apply_schema()` and `_seed_dropdowns_if_needed()`) actually correct?** - _`get_pool()` has 3 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `OpenAIProvider` (e.g. with `BaseExtractionResult` and `provider_manager.py`) actually correct?** - _`OpenAIProvider` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `spreadsheetDiv`, `commandInput`, `sendBtn` to the rest of the system?** - _386 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05711849957374254 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/ac-tool-structure.md b/wiki/architecture/ac-tool-structure.md deleted file mode 100644 index 75d9e3f..0000000 --- a/wiki/architecture/ac-tool-structure.md +++ /dev/null @@ -1,311 +0,0 @@ ---- -tags: [architecture, graphify, ac-tool] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ac-tool (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 868 nodes · 1394 edges · 71 communities (55 shown, 16 thin omitted) -- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 62 edges (avg confidence: 0.55) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] - -## God Nodes (most connected - your core abstractions) -1. `get_pool()` - 29 edges -2. `get_user_id()` - 24 edges -3. `AdminClientsPage()` - 21 edges -4. `OpenAIProvider` - 21 edges -5. `compilerOptions` - 20 edges -6. `DocumentAnalyzer` - 20 edges -7. `JobManager` - 20 edges -8. `GoogleProvider` - 19 edges -9. `compilerOptions` - 18 edges -10. `WebSocketManager` - 18 edges - -## Surprising Connections (you probably didn't know these) -- `createClient()` --calls--> `get_pool()` [EXTRACTED] - frontend/src/api/clients.ts → backend/server/db/pool.py -- `deleteClient()` --calls--> `get_pool()` [EXTRACTED] - frontend/src/api/clients.ts → backend/server/db/pool.py -- `updateClient()` --calls--> `get_pool()` [EXTRACTED] - frontend/src/api/clients.ts → backend/server/db/pool.py -- `uploadDropdowns()` --calls--> `_row_to_cat()` [EXTRACTED] - frontend/src/api/admin.ts → backend/server/api/dropdowns.py -- `Load categories from DB. If client_id is given, tries per-client rows first,` --rationale_for--> `uploadDropdowns()` [EXTRACTED] - backend/server/api/dropdowns.py → frontend/src/api/admin.ts - -## Communities (71 total, 16 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.07 -Nodes (50): AdminClientsPage(), ClientCardProps, UploadState, AdminDropdownsPage(), AdminUsersPage(), FIELD_LABELS, Props, ColumnMapping (+42 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (26): cleanup_expired(), Manually trigger cleanup of expired jobs and files (Admin/maintenance endpoi, JobManager, Update job attributes Args: job_id: Job identifier, Get jobs for a specific user Args: user_id: User identifier, Get all jobs (admin function) Args: limit: Maximum number o, Manages job lifecycle, queue, and in-memory registry Thread-safe singleton f, Delete a job and clean up its files Args: job_id: Job ident (+18 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (38): dependencies, autoprefixer, axios, @azure/msal-browser, @azure/msal-react, handsontable, @handsontable/react, postcss (+30 more) - -### Community 3 - "Community 3" -Cohesion: 0.08 -Nodes (18): WebSocket module for real-time communication, WebSocket connection and message management, Unregister a WebSocket client Args: client_id: Client ident, Broadcast message to all connected clients Args: message: M, Broadcast message to all connections for a specific user Args:, Broadcast job-specific update Args: job_id: Job identifier, Represents a connected WebSocket client, Send initial queue snapshot to a client Args: client: WebSo (+10 more) - -### Community 4 - "Community 4" -Cohesion: 0.09 -Nodes (16): Anthropic provider implementation for Claude Opus 4.5 and Sonnet 4.5, Execute single-call pattern: existing behavior for when thinking=0 or no schema, Anthropic Claude provider supporting Opus and Sonnet models, Add schema guidance to the last user message for Call A, Extract text content from Anthropic response, ignoring thinking blocks, Separate system messages from user/assistant messages for Anthropic format, Convert JSON schema to Anthropic tool format for structured output, Extract structured data from tool use response (+8 more) - -### Community 5 - "Community 5" -Cohesion: 0.08 -Nodes (16): DocumentAnalyzer, Validate that specified models are available and configured, Load prompt from external file asynchronously., Save intermediate base deliverables with multiplier arrays as JSON., Classify document type based on extension and content., Encode file content for OpenAI API., Local fallback extraction using PyMuPDF / python-pptx / python-docx / openpyxl., Extract content from document — LlamaParser if key is configured, else local fal (+8 more) - -### Community 6 - "Community 6" -Cohesion: 0.10 -Nodes (20): ExportTemplateEditor(), Props, DetectTemplateResult, ExportTemplateColumn, CommandResult, sendCommand(), deleteUserExportTemplate(), detectUserExportTemplate() (+12 more) - -### Community 7 - "Community 7" -Cohesion: 0.09 -Nodes (22): estimate_processing_cost(), get_available_models(), get_default_config(), get_system_info(), Configuration API endpoints for model selection and system settings, Validate a model configuration Expects: { "modelConfig", Get list of available models with pricing and capabilities Returns:, Get system configuration and status information Returns: System inf (+14 more) - -### Community 8 - "Community 8" -Cohesion: 0.14 -Nodes (19): get_users(), createSheet(), delete_sheet_route(), duplicate_sheet_route(), duplicateSheet(), get_sheet(), importDeliverables(), Sheet CRUD API — PostgreSQL-backed. All routes scoped to the authenticated user. (+11 more) - -### Community 9 - "Community 9" -Cohesion: 0.21 -Nodes (24): items, description, properties, required, type, name, asset_type, assets (+16 more) - -### Community 10 - "Community 10" -Cohesion: 0.14 -Nodes (22): batch_download(), create_jobs(), delete_job(), download_job_result(), get_job(), get_job_logs(), getJobDeliverables(), getJobStats() (+14 more) - -### Community 11 - "Community 11" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 12 - "Community 12" -Cohesion: 0.11 -Nodes (13): BaseLLMProvider, LLMResponse, Standardized response format across all providers, GoogleProvider, Google provider implementation for Gemini 2.5 Pro using the new google-genai SDK, Convert standard messages to Google GenAI format, Convert OpenAI JSON schema to Google GenAI format, Google Gemini 2.5 Pro provider using new google-genai SDK (+5 more) - -### Community 13 - "Community 13" -Cohesion: 0.14 -Nodes (12): ConsolidationResult, Consolidation processor for merging multiple LLM analysis results, Count the number of deliverables in a model's JSON response, Result of consolidation process, Format analysis results from multiple models for consolidation prompt, Prepare the consolidation prompt with model results, Load system prompt for consolidation, Save debug information about failed consolidation (+4 more) - -### Community 14 - "Community 14" -Cohesion: 0.13 -Nodes (15): ACCEPTED, FileDropzone(), Props, JobProgressCard(), PHASE_LABELS, Props, BriefUploadPage(), JobStore (+7 more) - -### Community 15 - "Community 15" -Cohesion: 0.10 -Nodes (19): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+11 more) - -### Community 16 - "Community 16" -Cohesion: 0.12 -Nodes (11): LLM Service module for Enhanced Brief Processing System Provides abstracted acce, OpenAIProvider, OpenAI provider implementation for GPT-5 with reasoning effort support, OpenAI GPT-5 provider with reasoning effort support, Create Pydantic model from JSON schema for structured output, Validate OpenAI configuration, Estimate cost using OpenAI GPT-5.1 pricing, Update reasoning effort setting (+3 more) - -### Community 17 - "Community 17" -Cohesion: 0.13 -Nodes (10): Provider manager for coordinating parallel execution across multiple LLM provide, Count the number of deliverables in a model's JSON response, Manages multiple LLM providers and coordinates parallel execution, Execute analysis with a single provider, Create provider instance for given model key, Estimate total cost for all models, Aggregate token usage from multiple responses, Calculate actual costs from responses (+2 more) - -### Community 18 - "Community 18" -Cohesion: 0.15 -Nodes (18): create_unique_title(), discover_supported_files(), expand_deliverables(), generate_output_file(), _load_universal_schema(), main(), MarketingAsset, parse_arguments() (+10 more) - -### Community 19 - "Community 19" -Cohesion: 0.14 -Nodes (12): api, registerTokenRefresher(), token, TokenRefresher, TopBar(), HelpPage(), LoginPage(), AdminRoute() (+4 more) - -### Community 20 - "Community 20" -Cohesion: 0.20 -Nodes (14): update_user(), get_current_user_info(), me(), Return current user profile including role., validate_token(), get_user(), list_users(), User store — PostgreSQL-backed. Keyed by Azure AD oid (object ID). (+6 more) - -### Community 21 - "Community 21" -Cohesion: 0.14 -Nodes (13): get_available_models(), create(), JobSummary, ModelConfiguration, ModelInfo, ProviderUpdate, Data models for job management and processing, Information about an available LLM model (+5 more) - -### Community 22 - "Community 22" -Cohesion: 0.17 -Nodes (7): useWebSocket(), AppShell(), Props, Sidebar(), SheetPage(), SheetStore, useSheetStore - -### Community 23 - "Community 23" -Cohesion: 0.18 -Nodes (8): ProcessingResult, DocumentAnalyzer, EnhancedDocumentAnalyzer, Perform parallel analysis with progress reporting Args: doc, Enhanced DocumentAnalyzer with progress reporting capabilities Extends the b, Get provider name from model key, Get display name for model, Process document with progress reporting integration Args: - -### Community 24 - "Community 24" -Cohesion: 0.15 -Nodes (9): Enhanced DocumentAnalyzer with progress reporting for GUI integration Extends th, Job runners module for processing document analysis jobs, create_job_logger(), JobLogHandler, Progress reporting for job processing with WebSocket integration, Custom logging handler that routes job-specific logs to WebSocket clients, Process a log record and send it via WebSocket Args: record, Create a job-specific logger with WebSocket streaming Args: job_id: (+1 more) - -### Community 25 - "Community 25" -Cohesion: 0.18 -Nodes (5): Job management module for Brief Extractor GUI, Job manager for handling job queue, registry, and lifecycle, File storage management for uploads and outputs, Runtime configuration for AC Tool server, ServerConfig - -### Community 26 - "Community 26" -Cohesion: 0.15 -Nodes (8): Job, LogEntry, Main job model representing a document processing job, Add a log entry to this job, Update status for a specific provider, Mark job as completed with results, Mark job as failed with error message, Individual log entry for job processing - -### Community 27 - "Community 27" -Cohesion: 0.19 -Nodes (11): create_job_summary(), process_job_queue(), Job runner that orchestrates document processing with progress reporting, Background worker that processes jobs from the queue Args: job_mana, Start background worker tasks for job processing Args: job_manager:, Execute a document processing job with progress reporting Args: job, Stop background worker tasks Args: workers: List of worker tasks to, Create job summary from processing result Args: result: ProcessingR (+3 more) - -### Community 28 - "Community 28" -Cohesion: 0.26 -Nodes (11): _build_csv(), delete_export_template(), delete_user_template(), export_csv(), get_user_template(), has_export_template(), load_export_template(), CSV export — Activation Calendar format. Supports custom export templates: clien (+3 more) - -### Community 29 - "Community 29" -Cohesion: 0.18 -Nodes (11): admin_required(), auth_required(), _check_emergency_token(), _extract_token_user(), Authentication middleware — decorators for Quart routes. Includes @auth_required, Require admin role. Must be used after @auth_required., If EMERGENCY_TOKEN is configured and matches, return a synthetic admin user., Extract and validate Bearer token from Authorization header or ?_token= query pa (+3 more) - -### Community 30 - "Community 30" -Cohesion: 0.17 -Nodes (7): ProgressReporter, Emit log message with WebSocket streaming Args: level: Log, Reports progress updates for job processing with WebSocket broadcasting, Calculate progress percentage for LLM analysis phase Args:, Emit job completion event Args: result_csv_url: URL to down, Emit job failure event Args: error: Error message, Emit provider-specific update Args: model_key: Model identi - -### Community 31 - "Community 31" -Cohesion: 0.35 -Nodes (10): createClient(), deleteClient(), listClients(), load_clients(), Client management API — PostgreSQL-backed., _row_to_dict(), updateClient(), ClientStore (+2 more) - -### Community 32 - "Community 32" -Cohesion: 0.22 -Nodes (6): DocumentType, Enum, JobPhase, Processing phases for a job, ModelType, Base provider class for LLM service abstraction Defines common interface that al - -### Community 33 - "Community 33" -Cohesion: 0.22 -Nodes (8): BaseModel, AssetExtractionResult, BaseExtractionResult, Config, Deliverable, Pydantic models for sheets and deliverables., Sheet, SheetMeta - -### Community 34 - "Community 34" -Cohesion: 0.31 -Nodes (9): _build_hierarchy_rules(), _call_gemini(), _extract_json(), _load_prompt_template(), _preprocess(), AI command API — processes natural language commands against a sheet., run_command(), updateSheetClient() (+1 more) - -### Community 36 - "Community 36" -Cohesion: 0.22 -Nodes (8): dev-user-id, active, created, email, id, last_seen, name, role - -### Community 37 - "Community 37" -Cohesion: 0.25 -Nodes (3): _get_jwks_client(), MSALAuthenticator, MSAL / Azure AD token validator (SPA PKCE flow). Backend only validates incoming - -### Community 38 - "Community 38" -Cohesion: 0.22 -Nodes (3): Config, Configuration management for Enhanced Brief Processing System Loads environment, Centralized configuration management - -### Community 39 - "Community 39" -Cohesion: 0.29 -Nodes (4): ABC, BaseLLMProvider, Prepare messages in standard format, Abstract base class for all LLM providers - -### Community 40 - "Community 40" -Cohesion: 0.29 -Nodes (6): DATA_DIR, DROPDOWNS_FILE, OUTPUTS_DIR, SHEETS_DIR, UPLOADS_DIR, USERS_FILE - -### Community 41 - "Community 41" -Cohesion: 0.33 -Nodes (4): Add token usage from OpenAI Responses API, Calculate total cost based on GPT-5 pricing, Get detailed cost breakdown, TokenUsage - -### Community 42 - "Community 42" -Cohesion: 0.33 -Nodes (3): _init_conn(), asyncpg connection pool with JSONB codec registration. Call init_pool() once at, Register JSONB/JSON codecs so Python dicts/lists are passed transparently. - -### Community 43 - "Community 43" -Cohesion: 0.40 -Nodes (5): migrate(), _parse_dt(), One-time migration: import existing JSON file data into PostgreSQL. Run inside, Parse an ISO timestamp string (or None) into a timezone-aware datetime., init_pool() - -### Community 45 - "Community 45" -Cohesion: 0.33 -Nodes (3): ErrorBoundary, Props, State - -### Community 46 - "Community 46" -Cohesion: 0.33 -Nodes (4): Token usage tracking across different providers, Add token usage from provider response, Get total token count, TokenUsage - -## Knowledge Gaps -- **125 isolated node(s):** `DATA_DIR`, `UPLOADS_DIR`, `OUTPUTS_DIR`, `SHEETS_DIR`, `USERS_FILE` (+120 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **16 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `JobPhase` connect `Community 32` to `Community 33`, `Community 1`, `Community 5`, `Community 41`, `Community 13`, `Community 18`, `Community 21`, `Community 23`, `Community 24`, `Community 30`?** - _High betweenness centrality (0.146) - this node is a cross-community bridge._ -- **Why does `getJobDeliverables()` connect `Community 10` to `Community 8`, `Community 14`?** - _High betweenness centrality (0.084) - this node is a cross-community bridge._ -- **Why does `BriefReviewPage()` connect `Community 8` to `Community 10`, `Community 19`, `Community 14`, `Community 22`?** - _High betweenness centrality (0.063) - this node is a cross-community bridge._ -- **Are the 3 inferred relationships involving `get_pool()` (e.g. with `_apply_schema()` and `_seed_dropdowns_if_needed()`) actually correct?** - _`get_pool()` has 3 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `OpenAIProvider` (e.g. with `BaseExtractionResult` and `provider_manager.py`) actually correct?** - _`OpenAIProvider` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `DATA_DIR`, `UPLOADS_DIR`, `OUTPUTS_DIR` to the rest of the system?** - _356 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.07142857142857142 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/amazon-transcreation-structure.md b/wiki/architecture/amazon-transcreation-structure.md deleted file mode 100644 index 27f7b5a..0000000 --- a/wiki/architecture/amazon-transcreation-structure.md +++ /dev/null @@ -1,705 +0,0 @@ ---- -tags: [architecture, graphify, amazon-transcreation] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/amazon-transcreation (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1685 nodes · 2519 edges · 267 communities (132 shown, 135 thin omitted) -- Extraction: 90% EXTRACTED · 10% INFERRED · 0% AMBIGUOUS · INFERRED: 247 edges (avg confidence: 0.59) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 192|Community 192]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 194|Community 194]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 37 edges -2. `Agent4Transcreator` - 35 edges -3. `instructions` - 31 edges -4. `UserTable()` - 27 edges -5. `Base` - 25 edges -6. `AgentSingle` - 24 edges -7. `Agent2TMRetrieval` - 24 edges -8. `Agent3Ranker` - 22 edges -9. `Agent5Compliance` - 22 edges -10. `config` - 21 edges - -## Surprising Connections (you probably didn't know these) -- `seed_test_users()` --calls--> `JWTAuthProvider` [INFERRED] - seed/create_test_users.py → backend/app/auth/providers/jwt_provider.py -- `seed_test_users()` --calls--> `UserClient` [INFERRED] - seed/create_test_users.py → backend/app/models/user.py -- `register_files()` --calls--> `TMFileRegistry` [INFERRED] - seed/register_storage_files.py → backend/app/models/files.py -- `cn()` --calls--> `clsx` [INFERRED] - frontend/src/lib/utils.ts → frontend/package.json -- `parse_source_file()` --calls--> `next` [INFERRED] - backend/app/pipeline/modules/source_file_parser.py → frontend/package.json - -## Communities (267 total, 135 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (53): Agent4Transcreator, _build_fallback_user_message(), build_system_prompt(), build_user_message_for_batch(), _extract_json_array(), _format_blacklist_section(), _format_glossary_section(), _format_locale_considerations_section() (+45 more) - -### Community 1 - "Community 1" -Cohesion: 0.04 -Nodes (44): get_current_user(), get_db(), Yield an async database session., Decode JWT from Authorization header and return user claims., Dependency factory that enforces role-based access., require_role(), axios, @azure/msal-browser (+36 more) - -### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (23): Agent1Validator, Agent 1: Validator Validates source file, loads reference files, and builds the, Validates inputs and builds the initial pipeline context., Validate inputs and populate the pipeline context. 1. Parse source file, FileManifest, JobParams, ParsedJob, PipelineContext (+15 more) - -### Community 3 - "Community 3" -Cohesion: 0.11 -Nodes (24): Base, DeclarativeBase, TokenUsageLog, Base, Mixin that adds created_at and updated_at columns., Base class for all SQLAlchemy models., TimestampMixin, Client (+16 more) - -### Community 4 - "Community 4" -Cohesion: 0.15 -Nodes (23): useAuth(), useJob(), JobMonitoringPage(), statusConfig, StepReview(), StepReviewProps, downloadOutput(), LocaleInstance (+15 more) - -### Community 5 - "Community 5" -Cohesion: 0.10 -Nodes (26): api, AuditLogEntry, cancelJob(), createJob(), createUser(), deleteJob(), getAuditLogs(), getJob() (+18 more) - -### Community 6 - "Community 6" -Cohesion: 0.12 -Nodes (23): roleVariant, UserTable(), UserTableProps, FILE_TYPE_LABELS, FILE_TYPES, LOCALES, RefFileRow, DropdownMenuCheckboxItem (+15 more) - -### Community 7 - "Community 7" -Cohesion: 0.11 -Nodes (21): Agent2TMRetrieval, _empty_results(), _format_source_lines_for_prompt(), _format_tm_entries_for_prompt(), _load_all_tm_entries(), Agent 2: TM Retrieval Loads Translation Memory files and uses the LLM to find s, Format source lines into a numbered list for the LLM prompt., Return no_match=True results for every source line. (+13 more) - -### Community 8 - "Community 8" -Cohesion: 0.11 -Nodes (22): Agent5Compliance, _check_blacklist(), _check_domains(), _get_option_texts(), _load_blacklist_entries(), Agent 5: Compliance Checker (Hybrid) Runs deterministic compliance checks again, Scan each option for blacklisted terms., Flag options that still contain the source domain (Amazon.co.uk) when the ta (+14 more) - -### Community 9 - "Community 9" -Cohesion: 0.10 -Nodes (23): deleteTMFile(), uploadTMFile(), load_multiple_tm_files(), _parse_compact_entry(), _parse_entry(), Translation Memory file loader. Reads JSONL files in two formats: 1. Compact: {, Attempt to split combined EN/TX text from compact TM entries. The compact f, Parse the compact 't' field format used in real TM files. Format: '{seg_key (+15 more) - -### Community 10 - "Community 10" -Cohesion: 0.10 -Nodes (21): AgentSingle, _format_ref_data_for_prompt(), _format_source_lines_for_prompt(), _format_tm_for_prompt(), _parse_markdown_table(), Single Agent: Consolidated Transcreation Pipeline Uses the complete V25 Agent I, Format all reference files into a single block for the user message., Parse the V25 markdown table output into structured rows. Returns: (+13 more) - -### Community 11 - "Community 11" -Cohesion: 0.14 -Nodes (13): AppShell(), AppShellProps, getBreadcrumbs(), getPageTitle(), OutputRow, ACTION_LABELS, levelBadge, Button (+5 more) - -### Community 12 - "Community 12" -Cohesion: 0.13 -Nodes (20): Agent3Ranker, _channel_matches(), _classify_confidence(), _extract_year(), _option_count_for_tier(), _rank_line(), Agent 3: Ranker Ranks TM matches and declares confidence tiers for each source, Return the number of draft options required for a tier. (+12 more) - -### Community 13 - "Community 13" -Cohesion: 0.14 -Nodes (16): JobCard(), JobCardProps, localeStatusColor, statusConfig, cn(), formatDate(), ProgressBar(), ProgressBarProps (+8 more) - -### Community 14 - "Community 14" -Cohesion: 0.15 -Nodes (18): NavItem, navItems, Sidebar(), login(), clearAuth(), decodeJwtPayload(), getRoleDisplayName(), getUser() (+10 more) - -### Community 15 - "Community 15" -Cohesion: 0.30 -Nodes (23): brand_program, seg_key_id, tm_file, tov_overlay, type, BDA, BLS Quest, EU Selection (+15 more) - -### Community 16 - "Community 16" -Cohesion: 0.16 -Nodes (13): mockClients, Client, User, CHANNELS, LOCALES, TMFileRow, DialogContent, DialogDescription (+5 more) - -### Community 17 - "Community 17" -Cohesion: 0.11 -Nodes (19): Channel, ColumnCheck, ConfidenceTier, CreateJobRequest, Feedback, JobStatus, JobType, LocaleInstanceStatus (+11 more) - -### Community 18 - "Community 18" -Cohesion: 0.12 -Nodes (16): DataKey, ReportChart(), ReportChartProps, getJobsOverTime(), getLocaleStats(), getQualityMetrics(), getUsageStats(), JobsOverTimeEntry (+8 more) - -### Community 19 - "Community 19" -Cohesion: 0.15 -Nodes (16): get_me(), Return the current authenticated user's claims., LoginRequest, RefreshRequest, SSOLoginRequest, UserClaims, BaseModel, ReferenceFileType (+8 more) - -### Community 20 - "Community 20" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+10 more) - -### Community 21 - "Community 21" -Cohesion: 0.11 -Nodes (19): file_search_scoping, tm_files, sub_event_preference, exception, format, project_channel_note, output_format, output_suppression (+11 more) - -### Community 22 - "Community 22" -Cohesion: 0.15 -Nodes (18): rerunLocale(), uploadSource(), cancel_job(), create_job(), delete_job(), _enrich_job_response(), get_job(), launch_job() (+10 more) - -### Community 23 - "Community 23" -Cohesion: 0.16 -Nodes (11): ClientForm(), ClientFormProps, getMsalInstance(), loginRequest, msalConfig, Input, InputProps, Label (+3 more) - -### Community 24 - "Community 24" -Cohesion: 0.11 -Nodes (18): instructions, authoritative_sources_by_filename, confidentiality, retrieval_status_labels, role, search_behaviour, similar_tm_line_deviation, three_pass_deep_dive_protocol (+10 more) - -### Community 25 - "Community 25" -Cohesion: 0.12 -Nodes (9): AbstractAuthProvider, JWTAuthProvider, JWT-based authentication provider with bcrypt password hashing., Not used directly - authentication happens through AuthService., Create a JWT access token (8-hour expiry by default)., Create a JWT refresh token (7-day expiry)., Validate a JWT and return its claims, or None if invalid., Hash a password using bcrypt. (+1 more) - -### Community 26 - "Community 26" -Cohesion: 0.14 -Nodes (12): ALL_LOCALES, CHANNELS, LLM_MODELS, StepConfigure(), StepConfigureProps, TM_CHANNELS, StepUpload(), WizardStepper() (+4 more) - -### Community 27 - "Community 27" -Cohesion: 0.14 -Nodes (9): JobService, Validate and queue a job for processing., Service for Job CRUD and launch logic., Cancel a running job., Re-run a single locale instance., Create a new job with locale instances., Delete a job and all related data (cascade). Returns True if deleted, F, Get a job by ID with locale instances and related data. (+1 more) - -### Community 28 - "Community 28" -Cohesion: 0.17 -Nodes (8): useWebSocket(), UseWebSocketOptions, getToken(), ProgressUpdate, WSMessage, getWsBaseUrl(), MessageHandler, WebSocketClient - -### Community 29 - "Community 29" -Cohesion: 0.13 -Nodes (13): Generate output xlsx and return updated context with file path. Returns, _find_source_line(), generate_output_xlsx(), Generate output xlsx files with structured output and summary tabs. Tab 1: 11-c, Find the source line matching an output row by row_order or line_id., Generate the output xlsx file. Args: output_path: Absolute path whe, normalise_for_excel(), normalise_for_query() (+5 more) - -### Community 30 - "Community 30" -Cohesion: 0.19 -Nodes (11): ConfidenceTier, FeedbackSummary, OutputPreviewResponse, OutputRowResponse, Lightweight feedback info embedded in output row responses., SourceLinePreview, OutputService, Service for assembling output preview data and triggering exports. (+3 more) - -### Community 31 - "Community 31" -Cohesion: 0.13 -Nodes (15): locale_code_normalization, ca-ES, de-AT, de-DE, es-ES, fr-BE, fr-FR, it-IT (+7 more) - -### Community 32 - "Community 32" -Cohesion: 0.13 -Nodes (8): FileService, List TM files for a client with optional filters., Service for file upload, download, path resolution, and storage management., List reference files for a client with optional filters., Resolve a stored file path and verify it exists., Delete a TM file from storage and database., Delete a reference file from storage and database., Validate that a file has an allowed extension. - -### Community 33 - "Community 33" -Cohesion: 0.21 -Nodes (13): classify_file(), extract_tm_locale_from_filename(), folder_to_tm_locale(), import_global_files(), import_locale_files(), main(), print_db_summary(), Import files from the global directory. (+5 more) - -### Community 34 - "Community 34" -Cohesion: 0.15 -Nodes (7): ConnectionManager, Accept a websocket connection and register it for a job., Remove a websocket connection from a job's connection list., Broadcast a JSON message to all connections for a job., Send a message to a specific websocket., Get the number of active connections for a job., Manage WebSocket connections grouped by job_id. - -### Community 35 - "Community 35" -Cohesion: 0.15 -Nodes (12): aliases, components, utils, rsc, $schema, style, tailwind, baseColor (+4 more) - -### Community 36 - "Community 36" -Cohesion: 0.24 -Nodes (11): FileUploader(), LOCALES, DashboardPage(), useJobs(), SelectContent, SelectItem, SelectLabel, SelectScrollDownButton (+3 more) - -### Community 37 - "Community 37" -Cohesion: 0.51 -Nodes (11): LocaleStat, JobStatus, JobType, LocaleType, Programme, JobCreate, JobListResponse, JobResponse (+3 more) - -### Community 38 - "Community 38" -Cohesion: 0.17 -Nodes (13): allow_hypernyms, allow_synonyms, enabled, parts_of_speech, semantic_tm_matching, accept_low_fuzzy_when_semantic_true, order, similarity_threshold_2 (+5 more) - -### Community 39 - "Community 39" -Cohesion: 0.19 -Nodes (13): tiebreaker, truncation_caveat, priority_order, table_column_rule, tiers, bvo_super_alignment_rule, character_limit_relaxation_rule, confidence_based_option_count_rule (+5 more) - -### Community 40 - "Community 40" -Cohesion: 0.18 -Nodes (13): forbidden_outputs, hedge_preservation_rule, required_approach, primary, secondary, pre_output_check, cultural_adaptation_rule, date_percent_format_authority (+5 more) - -### Community 41 - "Community 41" -Cohesion: 0.15 -Nodes (13): channel_applicability, ordered_campaigns, rank_interpretation, unranked_entries, campaign_calendar_order, dda_same_event_rule, lmg_lmd_equivalence, root_match (+5 more) - -### Community 42 - "Community 42" -Cohesion: 0.23 -Nodes (11): Exception, next, validateSource(), parse_source_file(), Parse source xlsx files into structured source line data. Validates the expecte, Raised when the source file has validation errors., Match raw file headers to canonical field names using aliases. Returns a di, Parse a source xlsx file and return a list of source line dicts. Args: (+3 more) - -### Community 43 - "Community 43" -Cohesion: 0.17 -Nodes (11): _check_job_completion(), _get_async_session_factory(), process_job(), process_locale_instance(), Celery tasks for job processing., Fan out locale instance processing for a job. For each locale instance in t, Process a single locale instance through the pipeline. Runs the pipeline or, Resolve all reference and TM file paths for a locale. File layout in storag (+3 more) - -### Community 44 - "Community 44" -Cohesion: 0.18 -Nodes (5): AuthService, Validate a token and return claims., Authentication service wrapping the JWT provider., Authenticate a user and return tokens, or None if invalid., Validate an Azure AD token, auto-provision the user, and return app tokens. - -### Community 45 - "Community 45" -Cohesion: 0.22 -Nodes (11): approved_event_name, new_event_name, summary, event_name_rule, deals_inclusion_preference, program_voice_guidance, tm_reference_under_character_limits, action (+3 more) - -### Community 46 - "Community 46" -Cohesion: 0.18 -Nodes (11): character_names, date_percent, grammar_normalisation, product_references, term_locks, hard_locks, inflected_locale_note, morphological_adaptation_rationale (+3 more) - -### Community 47 - "Community 47" -Cohesion: 0.18 -Nodes (11): distinctive_rules, overview, tm_evaluation_note, tov_source, transcreation_orientation, what_brand_is_not, brand_channel_tov_rules, required_output (+3 more) - -### Community 48 - "Community 48" -Cohesion: 0.18 -Nodes (10): t, t, t, t, t, t, t, t (+2 more) - -### Community 49 - "Community 49" -Cohesion: 0.18 -Nodes (10): create_user(), delete_user(), get_user(), list_users(), Soft-delete a user by setting status to inactive (admin only)., Create a new user (admin only)., List all users (admin only)., Get a user by ID (admin only). (+2 more) - -### Community 50 - "Community 50" -Cohesion: 0.22 -Nodes (3): ABC, AbstractAuthProvider, Abstract base for authentication providers. - -### Community 51 - "Community 51" -Cohesion: 0.22 -Nodes (5): Service for feedback CRUD operations., Create a new feedback entry., List feedback entries with optional filters., Get a single feedback entry by ID., Delete a feedback entry. - -### Community 52 - "Community 52" -Cohesion: 0.20 -Nodes (9): get_locale_domain(), is_emerging_locale(), Domain substitution for Amazon locales. Maps Amazon.co.uk (source domain) to th, Check if a locale is classified as emerging., Replace Amazon.co.uk with the locale-specific domain. Args: text: T, Handle bare 'Amazon' references based on locale type. For emerging locales:, Get the domain for a locale code. Args: locale_code: The target loc, substitute_bare_amazon() (+1 more) - -### Community 53 - "Community 53" -Cohesion: 0.20 -Nodes (6): Agent6Formatter, Agent 6: Formatter Generates the output xlsx file and builds output row data. T, Formats pipeline output into xlsx and structured data., BaseAgent, Abstract base class for pipeline agents. Each agent in the pipeline impleme, BaseAgent - -### Community 54 - "Community 54" -Cohesion: 0.20 -Nodes (9): config, active_locale, brand_guidelines_file, channel, date_percent_examples_file, forbidden_terms_file, target_locales, term_memory_files_primary (+1 more) - -### Community 55 - "Community 55" -Cohesion: 0.29 -Nodes (9): detect_format(), extract_channel_from_filename(), main(), Validate all TM files in a directory and print a report., Detect whether an entry is compact or multi-field format., Extract channel name from a TM filename. Expected pattern: flat_{Channel}_{, Validate a single TM file and return statistics., validate_directory() (+1 more) - -### Community 56 - "Community 56" -Cohesion: 0.20 -Nodes (6): Upload a reference file and create a registry entry., Resolve a storage path and ensure parent directories exist., Upload and parse a source xlsx file, creating SourceLine records., Upload a supplementary file (TM, glossary, etc.) for a job., Upload a TM file and create a registry entry., Upload supplementary files for a job. - -### Community 57 - "Community 57" -Cohesion: 0.28 -Nodes (8): login(), Authenticate user and return access + refresh tokens., Authenticate via Azure AD ID token (SPA flow) and return app tokens., Exchange a valid refresh token for a new token pair., refresh_token(), sso_login(), TokenResponse, Validate a refresh token and issue new token pair. - -### Community 58 - "Community 58" -Cohesion: 0.31 -Nodes (8): _fetch_jwks(), _find_key(), _jwks_url(), Azure AD token validation via JWKS. Validates ID tokens issued by Azure AD for, Fetch and cache Azure AD JWKS. Re-fetches if TTL expired or force=True., Find the signing key matching the given key ID., Validate an Azure AD ID token and return its claims. Raises HTTPException(4, validate_azure_token() - -### Community 59 - "Community 59" -Cohesion: 0.22 -Nodes (6): createClient(), updateClient(), delete_client(), Create a new client (admin only)., Update a client (admin only)., Delete a client (admin only). - -### Community 60 - "Community 60" -Cohesion: 0.22 -Nodes (5): LLMClient, Anthropic SDK wrapper with retry logic and token tracking., Async version of create_message using the async client. Same interface, Wrapper around the Anthropic SDK with retry and token tracking. Provides ex, Send a message to Claude and return the response with usage data. Args: - -### Community 61 - "Community 61" -Cohesion: 0.33 -Nodes (9): display_ooh_rule, dual_form_explanation, flat_form_rule, tv_super_rule, display_ooh_linebreak_rule, cross_contamination_guard, note_type_lock, output (+1 more) - -### Community 62 - "Community 62" -Cohesion: 0.22 -Nodes (8): entries, locale, entries, locale, entries, locale, entries, locale - -### Community 63 - "Community 63" -Cohesion: 0.22 -Nodes (8): getOutputPreview(), create_feedback(), export_output(), list_feedback_for_output(), Get preview data for a locale instance output., Submit feedback on an output row., List all feedback for a specific output row., Export output as xlsx for a locale instance. - -### Community 64 - "Community 64" -Cohesion: 0.29 -Nodes (5): AuditLog, AuditService, Service for audit log creation and retrieval., Create an audit log entry., List audit logs with filters and pagination. - -### Community 65 - "Community 65" -Cohesion: 0.32 -Nodes (7): BlacklistViolation, Blacklist scanner for forbidden terms and brand violations. Supports: - Exact m, A detected blacklist violation., Scan text against blacklist entries for violations. Args: text: The, Scan multiple text options against the blacklist. Args: options: Li, scan_all_options(), scan_text() - -### Community 66 - "Community 66" -Cohesion: 0.32 -Nodes (7): FormatViolation, Validate date and percentage format strings against approved locale formats. Ch, A detected date/percentage format violation., Validate date strings in text against approved formats. Args: text:, Validate percentage strings in text against approved formats. Args:, validate_date_formats(), validate_percentage_formats() - -### Community 67 - "Community 67" -Cohesion: 0.25 -Nodes (8): reference_file_registry, blacklist, date_percent_formats, glossary, local_considerations, de_tov_routing, patterns, resolution_example - -### Community 68 - "Community 68" -Cohesion: 0.25 -Nodes (8): null_channels, subtypes, channel_subtype, tm_channel_registry, brand_tov_note, mass_fallback_rule, resolution_rule, description - -### Community 69 - "Community 69" -Cohesion: 0.25 -Nodes (8): dda_sub_event, en_source, locale, note_type, seg_key, seg_key_year, tx, parsing_rules - -### Community 70 - "Community 70" -Cohesion: 0.54 -Nodes (8): attributes, core_job, preferred_structure, register, Brand, Prime, Retail, profiles - -### Community 71 - "Community 71" -Cohesion: 0.36 -Nodes (7): main(), migrate_directory(), migrate_file(), parse_compact_line(), Migrate a single compact TM file to multi-field JSONL format. Returns a sta, Recursively migrate all .json TM files from input_dir to output_dir., Parse a compact TM entry's 't' field into structured fields. Returns a dict - -### Community 72 - "Community 72" -Cohesion: 0.38 -Nodes (5): Run migrations in 'offline' mode., Run migrations in 'online' mode with async engine., run_async_migrations(), run_migrations_offline(), run_migrations_online() - -### Community 73 - "Community 73" -Cohesion: 0.52 -Nodes (5): UserRole, UserStatus, UserCreate, UserResponse, UserUpdate - -### Community 74 - "Community 74" -Cohesion: 0.29 -Nodes (7): tm_file_format, cases, tm_citation_format, t, rules, example, keys - -### Community 75 - "Community 75" -Cohesion: 0.33 -Nodes (7): post_sweep_ranking_declaration, pre_transcreation_tm_sweep, steps, recency_ceiling_probe, label, priority_list_override, usage - -### Community 76 - "Community 76" -Cohesion: 0.29 -Nodes (6): all_locales, ES-ES, locale, all_locales, locale, SV-SE - -### Community 78 - "Community 78" -Cohesion: 0.33 -Nodes (5): get_total_usage_for_instance(), Token usage tracking - records LLM usage to the database., Record token usage from an LLM call to the database. Args: db: Asyn, Get aggregated token usage for a locale instance. Args: db: Async d, record_token_usage() - -### Community 79 - "Community 79" -Cohesion: 0.33 -Nodes (6): rationale_style_rule, confidence_flag, creative_reasoning, forbidden_constructions, redundancy_suppression_rule, tm_citations - -### Community 80 - "Community 80" -Cohesion: 0.47 -Nodes (5): create_amazon_client(), main(), Create or update the Amazon client record., Run the full seed process., seed() - -### Community 81 - "Community 81" -Cohesion: 0.53 -Nodes (5): _count_jsonl_lines(), _extract_channel(), _extract_ref_locale(), Count non-empty lines in a JSONL file., register_files() - -### Community 82 - "Community 82" -Cohesion: 0.33 -Nodes (5): document, scope, sections, title, version_date - -### Community 83 - "Community 83" -Cohesion: 0.50 -Nodes (3): FlagType, FeedbackCreate, FeedbackResponse - -### Community 84 - "Community 84" -Cohesion: 0.40 -Nodes (5): lemmatize, stopwords_en, strip_proper_names, strip_punctuation, normalization - -### Community 85 - "Community 85" -Cohesion: 0.40 -Nodes (4): entries, locale, entries, locale - -### Community 86 - "Community 86" -Cohesion: 0.40 -Nodes (4): entries, locale, entries, locale - -### Community 87 - "Community 87" -Cohesion: 0.40 -Nodes (4): document, sections, title, version_note - -### Community 88 - "Community 88" -Cohesion: 0.50 -Nodes (3): Application settings loaded from environment variables., Settings, BaseSettings - -### Community 89 - "Community 89" -Cohesion: 0.50 -Nodes (3): Seed script: Create test users (admin and tm_manager)., Create test users if they don't exist., seed_test_users() - -### Community 92 - "Community 92" -Cohesion: 0.50 -Nodes (3): t, t, t - -### Community 94 - "Community 94" -Cohesion: 0.50 -Nodes (3): all_locales, CA-ES, locale - -### Community 95 - "Community 95" -Cohesion: 0.50 -Nodes (3): all_locales, DE-AT, locale - -### Community 96 - "Community 96" -Cohesion: 0.50 -Nodes (3): all_locales, DE-DE, locale - -### Community 97 - "Community 97" -Cohesion: 0.50 -Nodes (3): all_locales, FR-BE, locale - -### Community 98 - "Community 98" -Cohesion: 0.50 -Nodes (3): all_locales, FR-FR, locale - -### Community 99 - "Community 99" -Cohesion: 0.50 -Nodes (3): all_locales, IT-IT, locale - -### Community 100 - "Community 100" -Cohesion: 0.50 -Nodes (3): all_locales, locale, NL-BE - -### Community 101 - "Community 101" -Cohesion: 0.50 -Nodes (3): all_locales, locale, NL-NL - -### Community 102 - "Community 102" -Cohesion: 0.50 -Nodes (3): all_locales, locale, PL-PL - -### Community 103 - "Community 103" -Cohesion: 0.50 -Nodes (3): all_locales, locale, PT-PT - -## Knowledge Gaps -- **480 isolated node(s):** `config`, `name`, `version`, `private`, `dev` (+475 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **135 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Agent4Transcreator` connect `Community 0` to `Community 2`, `Community 10`, `Community 12`, `Community 53`, `Community 60`?** - _High betweenness centrality (0.058) - this node is a cross-community bridge._ -- **Why does `uploadReferenceFile()` connect `Community 0` to `Community 9`, `Community 19`, `Community 5`, `Community 6`?** - _High betweenness centrality (0.057) - this node is a cross-community bridge._ -- **Why does `LocaleStat` connect `Community 37` to `Community 27`, `Community 18`, `Community 3`, `Community 5`?** - _High betweenness centrality (0.047) - this node is a cross-community bridge._ -- **Are the 11 inferred relationships involving `Agent4Transcreator` (e.g. with `PipelineState` and `PipelineOrchestrator`) actually correct?** - _`Agent4Transcreator` has 11 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Seed script: Create test users (admin and tm_manager).`, `Create test users if they don't exist.`, `Count non-empty lines in a JSONL file.` to the rest of the system?** - _762 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05201636469900643 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.043478260869565216 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/baic_dashboard-structure.md b/wiki/architecture/baic_dashboard-structure.md deleted file mode 100644 index ee0c780..0000000 --- a/wiki/architecture/baic_dashboard-structure.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -tags: [architecture, graphify, baic_dashboard] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/baic_dashboard (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 115 nodes · 137 edges · 16 communities (12 shown, 4 thin omitted) -- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 14|Community 14]] - -## God Nodes (most connected - your core abstractions) -1. `Dashboard()` - 12 edges -2. `scripts` - 5 edges -3. `FilterPanel()` - 5 edges -4. `analyze_emails()` - 4 edges -5. `UserReport()` - 4 edges -6. `VolumeGraph()` - 4 edges -7. `getAssistantDisplayName()` - 4 edges -8. `hasAssistantFriendlyName()` - 4 edges -9. `fetch_data()` - 3 edges -10. `extract_display_name()` - 3 edges - -## Surprising Connections (you probably didn't know these) -- `FilterPanel()` --calls--> `getFilteredUsers()` [EXTRACTED] - frontend/src/components/FilterPanel.jsx → frontend/src/services/userMapping.js - -## Communities (16 total, 4 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.16 -Nodes (9): FilterPanel(), userDisplayNameMap, getFilteredUsers(), getFriendlyNameFromEmail(), processUserData(), stripTechnicalSuffixes(), BRAND_DISPLAY_MAPPING, DISPLAY_TO_BRAND_MAPPING (+1 more) - -### Community 1 - "Community 1" -Cohesion: 0.18 -Nodes (10): fetch_from_make(), get_all_data(), get_public_keys(), Decorator to require authentication for routes, Fetch data from the Make.com webhook Args: data_type (str): Eit, API endpoint to get all data (conversations and messages) Returns:, Fetch public keys from Microsoft's JWKS endpoint, Verify JWT token from Azure AD (+2 more) - -### Community 2 - "Community 2" -Cohesion: 0.20 -Nodes (9): name, private, scripts, build, dev, lint, preview, type (+1 more) - -### Community 3 - "Community 3" -Cohesion: 0.42 -Nodes (7): Dashboard(), ExportButton(), VolumeGraph(), getAssistantDisplayName(), hasAssistantFriendlyName(), generateAggregatedData(), generateExportData() - -### Community 4 - "Community 4" -Cohesion: 0.22 -Nodes (9): dependencies, axios, @azure/msal-browser, @azure/msal-react, date-fns, papaparse, react, react-dom (+1 more) - -### Community 5 - "Community 5" -Cohesion: 0.22 -Nodes (9): devDependencies, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, @types/react, vite (+1 more) - -### Community 6 - "Community 6" -Cohesion: 0.31 -Nodes (5): LoginComponent(), graphConfig, loginRequest, msalConfig, msalInstance - -### Community 7 - "Community 7" -Cohesion: 0.38 -Nodes (6): analyze_emails(), extract_display_name(), fetch_data(), Fetch data from Make.com endpoint, Extract display name from email address, Main analysis function - -### Community 10 - "Community 10" -Cohesion: 0.40 -Nodes (5): friendly, getFriendlyNameFromEmail(), stripped, stripTechnicalSuffixes(), testEmails - -### Community 11 - "Community 11" -Cohesion: 0.60 -Nodes (3): BAR_COLORS, UserReport(), aggregateMessagesByUser() - -## Knowledge Gaps -- **34 isolated node(s):** `testEmails`, `stripped`, `friendly`, `env`, `name` (+29 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **4 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Dashboard()` connect `Community 3` to `Community 0`, `Community 9`, `Community 11`?** - _High betweenness centrality (0.104) - this node is a cross-community bridge._ -- **Why does `FilterPanel()` connect `Community 0` to `Community 3`?** - _High betweenness centrality (0.036) - this node is a cross-community bridge._ -- **Why does `dependencies` connect `Community 4` to `Community 2`?** - _High betweenness centrality (0.028) - this node is a cross-community bridge._ -- **What connects `Fetch data from Make.com endpoint`, `Extract display name from email address`, `Main analysis function` to the rest of the system?** - _42 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/barclays-rag-report-structure.md b/wiki/architecture/barclays-rag-report-structure.md deleted file mode 100644 index 90c5f3b..0000000 --- a/wiki/architecture/barclays-rag-report-structure.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -tags: [architecture, graphify, barclays-rag-report] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/barclays-rag-report (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 247 nodes · 221 edges · 41 communities (20 shown, 21 thin omitted) -- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 4 edges (avg confidence: 0.73) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] - -## God Nodes (most connected - your core abstractions) -1. `RAGTester` - 17 edges -2. `process_single_config()` - 5 edges -3. `main()` - 5 edges -4. `TestRAGTester` - 5 edges -5. `load_config()` - 3 edges -6. `create_config_template()` - 3 edges -7. `tester()` - 2 edges -8. `permissions` - 2 edges -9. `Load configuration from a JSON file` - 1 edges -10. `Process a single configuration file. Returns True if successful, False other` - 1 edges - -## Surprising Connections (you probably didn't know these) -- `tester()` --calls--> `RAGTester` [INFERRED] - rag_test_app/tests/test_main.py → rag_test_app/main.py -- `process_single_config()` --calls--> `RAGTester` [INFERRED] - rag_test_app/cli.py → rag_test_app/main.py -- `main()` --calls--> `RAGTester` [INFERRED] - rag_test_app/cli.py → rag_test_app/main.py -- `TestRAGTester` --uses--> `RAGTester` [INFERRED] - rag_test_app/tests/test_main.py → rag_test_app/main.py - -## Communities (41 total, 21 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.11 -Nodes (13): RAGTester, Generate an HTML report, Log a message if verbose mode is enabled, Generate test questions from the document. Args: num_questi, Initialize the RAG tester. Args: api_key: OpenAI API key, Load questions from a JSON file, Run a single test for a question Args: question_dat, Run tests for each question multiple times in parallel. Args: (+5 more) - -### Community 1 - "Community 1" -Cohesion: 0.15 -Nodes (12): api_key, assistant_id, batch_size, documents, generate_only, iterations, model, num_questions (+4 more) - -### Community 2 - "Community 2" -Cohesion: 0.15 -Nodes (12): api_key, assistant_id, batch_size, documents, generate_only, iterations, model, num_questions (+4 more) - -### Community 3 - "Community 3" -Cohesion: 0.15 -Nodes (12): api_key, assistant_id, batch_size, documents, generate_only, iterations, model, num_questions (+4 more) - -### Community 4 - "Community 4" -Cohesion: 0.15 -Nodes (12): api_key, assistant_id, batch_size, documents, generate_only, iterations, model, num_questions (+4 more) - -### Community 5 - "Community 5" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 6 - "Community 6" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 7 - "Community 7" -Cohesion: 0.31 -Nodes (8): create_config_template(), load_config(), main(), process_single_config(), Create a configuration template file at the specified path, Load configuration from a JSON file, Main entry point for the RAG Testing CLI, Process a single configuration file. Returns True if successful, False other - -### Community 8 - "Community 8" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 9 - "Community 9" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 10 - "Community 10" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 11 - "Community 11" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 12 - "Community 12" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 13 - "Community 13" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 14 - "Community 14" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 15 - "Community 15" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 16 - "Community 16" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 17 - "Community 17" -Cohesion: 0.22 -Nodes (8): avg_accuracy_score, avg_completeness_score, avg_consistency_score, avg_quality_score, avg_response_time, question_metrics, total_questions, total_tests - -### Community 18 - "Community 18" -Cohesion: 0.22 -Nodes (4): Test that the tester initializes correctly, Test question generation, tester(), TestRAGTester - -## Knowledge Gaps -- **165 isolated node(s):** `questions`, `total_questions`, `total_tests`, `avg_response_time`, `question_metrics` (+160 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **21 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `RAGTester` connect `Community 0` to `Community 18`, `Community 7`?** - _High betweenness centrality (0.024) - this node is a cross-community bridge._ -- **Why does `TestRAGTester` connect `Community 18` to `Community 0`?** - _High betweenness centrality (0.008) - this node is a cross-community bridge._ -- **Why does `process_single_config()` connect `Community 7` to `Community 0`?** - _High betweenness centrality (0.004) - this node is a cross-community bridge._ -- **Are the 4 inferred relationships involving `RAGTester` (e.g. with `process_single_config()` and `main()`) actually correct?** - _`RAGTester` has 4 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Load configuration from a JSON file`, `Process a single configuration file. Returns True if successful, False other`, `Create a configuration template file at the specified path` to the rest of the system?** - _183 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.10666666666666667 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/build-a-squad-structure.md b/wiki/architecture/build-a-squad-structure.md deleted file mode 100644 index df9c61b..0000000 --- a/wiki/architecture/build-a-squad-structure.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -tags: [architecture, graphify, build-a-squad] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/build-a-squad (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 208 nodes · 636 edges · 12 communities (9 shown, 3 thin omitted) -- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] - -## God Nodes (most connected - your core abstractions) -1. `Senior Project Manager` - 38 edges -2. `Creative Director` - 37 edges -3. `Senior Copywriter` - 37 edges -4. `Programme Director` - 34 edges -5. `Senior Planner / Strategist` - 34 edges -6. `QA Manager` - 34 edges -7. `Senior Account Manager` - 28 edges -8. `Account Director / Content Team Leader` - 24 edges -9. `Planning Director / Strategy Director` - 24 edges -10. `Group Account Director` - 23 edges - -## Surprising Connections (you probably didn't know these) -- None detected - all connections are within the same source files. - -## Communities (12 total, 3 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.34 -Nodes (41): Asset101 - Brand Communication Idea (BCI) - Simple, Executive Creative Director, Planner / Strategist, Asset104 - Brand Love Key - Simple, Asset104_Pencil Pro - Brand Love Key - Simple, Asset105 - Brand Love Key - Medium, Asset105_Pencil Pro - Brand Love Key - Medium, Asset106 - Brand Love Key - Complex (+33 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (37): Account Director, Account Director / Content Team Leader, Account Manager, Art Director, Associate Creative Director, Business Director, CGI Operator (Medium), Conceptual Copywriter (+29 more) - -### Community 2 - "Community 2" -Cohesion: 0.07 -Nodes (26): allRoles, Asset, assetName, assets, BASE_ROLE_DISCIPLINE_MAP, catalogId, categories, cleanText() (+18 more) - -### Community 3 - "Community 3" -Cohesion: 0.12 -Nodes (17): AppProps, ScopingResult, TabType, loginScopes, msalConfig, msalInstance, rootElement, ASSETS_DATA (+9 more) - -### Community 4 - "Community 4" -Cohesion: 0.09 -Nodes (22): dependencies, @azure/msal-browser, @azure/msal-react, @google/genai, lucide-react, react, react-dom, devDependencies (+14 more) - -### Community 5 - "Community 5" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowImportingTsExtensions, allowJs, experimentalDecorators, isolatedModules, jsx, lib, module (+10 more) - -### Community 6 - "Community 6" -Cohesion: 0.39 -Nodes (18): Asset101_Pencil Pro - Brand Communication Idea (BCI) - Simple, Asset102 - Brand Communication Idea (BCI) - Medium, Senior Creative Director, Asset102_Pencil Pro - Brand Communication Idea (BCI) - Medium, Asset103 - Brand Communication Idea (BCI) - Complex, Asset103_Pencil Pro - Brand Communication Idea (BCI) - Complex, Account Director / Content Team Leader, Planning Director / Strategy Director (+10 more) - -### Community 7 - "Community 7" -Cohesion: 0.50 -Nodes (3): description, name, requestFramePermissions - -## Knowledge Gaps -- **110 isolated node(s):** `rootElement`, `TabType`, `ScopingResult`, `AppProps`, `name` (+105 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **3 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Asset101 - Brand Communication Idea (BCI) - Simple` connect `Community 0` to `Community 6`?** - _High betweenness centrality (0.016) - this node is a cross-community bridge._ -- **Why does `Senior Project Manager` connect `Community 0` to `Community 6`?** - _High betweenness centrality (0.006) - this node is a cross-community bridge._ -- **What connects `rootElement`, `TabType`, `ScopingResult` to the rest of the system?** - _110 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.07142857142857142 - nodes in this community are weakly interconnected._ -- **Should `Community 3` be split into smaller, more focused modules?** - _Cohesion score 0.11692307692307692 - nodes in this community are weakly interconnected._ -- **Should `Community 4` be split into smaller, more focused modules?** - _Cohesion score 0.08695652173913043 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/cc-dashboard-structure.md b/wiki/architecture/cc-dashboard-structure.md deleted file mode 100644 index eb47bf8..0000000 --- a/wiki/architecture/cc-dashboard-structure.md +++ /dev/null @@ -1,739 +0,0 @@ ---- -tags: [architecture, graphify, cc-dashboard] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cc-dashboard (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 3830 nodes · 9649 edges · 277 communities (243 shown, 34 thin omitted) -- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 62 edges (avg confidence: 0.67) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 174|Community 174]] - -## God Nodes (most connected - your core abstractions) -1. `constructor()` - 103 edges -2. `t` - 89 edges -3. `J()` - 86 edges -4. `set()` - 78 edges -5. `Eu()` - 62 edges -6. `Di` - 58 edges -7. `aC` - 55 edges -8. `r()` - 46 edges -9. `fI()` - 46 edges -10. `$d()` - 45 edges - -## Surprising Connections (you probably didn't know these) -- `Ha()` --calls--> `rm()` [INFERRED] - src/static/assets/index-KShM4wwu.js → .claude/worktrees/agent-abaceb40848f4ed6e/src/static/assets/index-B9hhyP-T.js -- `xg()` --calls--> `Sr` [INFERRED] - src/static/assets/index-KShM4wwu.js → .claude/worktrees/agent-abaceb40848f4ed6e/src/static/assets/index-B9hhyP-T.js -- `mf()` --calls--> `Sr` [INFERRED] - src/static/assets/index-KShM4wwu.js → .claude/worktrees/agent-abaceb40848f4ed6e/src/static/assets/index-B9hhyP-T.js -- `Fo()` --calls--> `$r()` [INFERRED] - src/static/assets/index-KShM4wwu.js → .claude/worktrees/agent-abaceb40848f4ed6e/src/static/assets/index-B9hhyP-T.js -- `Or()` --calls--> `mS()` [INFERRED] - .claude/worktrees/agent-abaceb40848f4ed6e/src/static/assets/index-B9hhyP-T.js → src/static/assets/index-KShM4wwu.js - -## Communities (277 total, 34 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.01 -Nodes (137): Ae, al(), am, Au(), ay, bg(), bh(), bp (+129 more) - -### Community 1 - "Community 1" -Cohesion: 0.01 -Nodes (134): accessor(), aE, al(), aO, BE, bf, bg(), Bm (+126 more) - -### Community 2 - "Community 2" -Cohesion: 0.07 -Nodes (21): aC, add(), aP(), ar(), Cp, ed, ey(), ho (+13 more) - -### Community 3 - "Community 3" -Cohesion: 0.07 -Nodes (78): Base, BaseModel, DeclarativeBase, CalendarBlock, get_calendar(), _hue_for_project(), Calendar endpoint — unified session/planned/manual blocks., Deterministic hue 0-359 from project UUID. (+70 more) - -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (71): _n, add(), af, ah(), bf, Bm(), Bs(), cf (+63 more) - -### Community 5 - "Community 5" -Cohesion: 0.07 -Nodes (66): aA, ag(), bc, Bo(), Ce(), cg(), Cn(), dp() (+58 more) - -### Community 6 - "Community 6" -Cohesion: 0.13 -Nodes (13): Eo(), Ep(), Eu(), Fo(), Hy(), iu(), J(), jk (+5 more) - -### Community 7 - "Community 7" -Cohesion: 0.04 -Nodes (48): Ae, at, bt, ct, dt, et, Fe, ft (+40 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (55): aa(), Ad(), ai(), bn(), ch(), ci(), Ct(), dt() (+47 more) - -### Community 9 - "Community 9" -Cohesion: 0.04 -Nodes (42): $, an, at, bn, bt, cn, dn, et (+34 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (3): ck, Di, Dt - -### Community 11 - "Community 11" -Cohesion: 0.04 -Nodes (52): Ae, at, be, bt, ce, ct, De, dt (+44 more) - -### Community 12 - "Community 12" -Cohesion: 0.11 -Nodes (4): fI(), Ko(), set(), Vl() - -### Community 13 - "Community 13" -Cohesion: 0.08 -Nodes (44): _(), A, b(), bt, ct, D(), dt, et (+36 more) - -### Community 14 - "Community 14" -Cohesion: 0.05 -Nodes (47): dependencies, axios, @azure/msal-browser, class-variance-authority, clsx, date-fns, date-fns-tz, lucide-vue-next (+39 more) - -### Community 15 - "Community 15" -Cohesion: 0.11 -Nodes (46): _a(), An(), bu(), cA(), dh(), ds(), Dy(), $e (+38 more) - -### Community 16 - "Community 16" -Cohesion: 0.09 -Nodes (15): Cy(), dC(), hC, Hp(), jl(), Ld(), My(), nd() (+7 more) - -### Community 17 - "Community 17" -Cohesion: 0.04 -Nodes (40): A, Ae, At, Bt, C, dt, Et, ft (+32 more) - -### Community 18 - "Community 18" -Cohesion: 0.05 -Nodes (40): i, C, D, E, F, H, j, N (+32 more) - -### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (40): ae, ce, de, ee, I, ie, le, ne (+32 more) - -### Community 20 - "Community 20" -Cohesion: 0.07 -Nodes (10): ad, Dd(), Dn, ff(), jf(), pC, Sd, Vi() (+2 more) - -### Community 21 - "Community 21" -Cohesion: 0.05 -Nodes (40): ae, de, E, ee, F, G, J, K (+32 more) - -### Community 22 - "Community 22" -Cohesion: 0.05 -Nodes (39): _(), at, be, bt, C, ct, dt, E (+31 more) - -### Community 23 - "Community 23" -Cohesion: 0.08 -Nodes (40): As, ba(), bc(), Br, cd(), Cs(), dd(), dg (+32 more) - -### Community 24 - "Community 24" -Cohesion: 0.08 -Nodes (34): ai(), au(), Ba(), cC, cf, Ci(), cs(), cu() (+26 more) - -### Community 25 - "Community 25" -Cohesion: 0.05 -Nodes (35): o, at, bt, ct, dt, E, et, ft (+27 more) - -### Community 26 - "Community 26" -Cohesion: 0.07 -Nodes (26): chat(), AI assistant router — streaming chat + flag management + session categorization., Run anomaly detection for a specific date and persist results., Stream chat response as SSE. Each event is a JSON object on a `data:` line., scan_day(), Generates concise AI title and result for a session using Claude., chat_stream(), detect_day_anomalies() (+18 more) - -### Community 27 - "Community 27" -Cohesion: 0.08 -Nodes (30): addObserver(), bp(), cancel(), clearGcTimeout(), CT, destroy(), df(), fetch() (+22 more) - -### Community 28 - "Community 28" -Cohesion: 0.09 -Nodes (23): be(), c(), ce(), de(), $e(), fe(), G(), Ge() (+15 more) - -### Community 29 - "Community 29" -Cohesion: 0.10 -Nodes (6): af(), gm, jy(), Mo(), t, xC - -### Community 30 - "Community 30" -Cohesion: 0.07 -Nodes (35): addObserver(), cancel(), canRun(), clearGcTimeout(), clearTimeout(), continue(), destroy(), dh (+27 more) - -### Community 31 - "Community 31" -Cohesion: 0.06 -Nodes (35): bi(), cc(), Dl(), ec(), f0(), fe(), Fl(), gc() (+27 more) - -### Community 32 - "Community 32" -Cohesion: 0.08 -Nodes (34): am(), bi(), bl(), cl(), cr(), Da(), dE(), ensureInfiniteQueryData() (+26 more) - -### Community 33 - "Community 33" -Cohesion: 0.11 -Nodes (26): f, y, z, _c(), Gn(), _h(), $i, Mn() (+18 more) - -### Community 34 - "Community 34" -Cohesion: 0.09 -Nodes (27): B(), be(), c(), ce(), de(), $e(), ee(), Fe (+19 more) - -### Community 35 - "Community 35" -Cohesion: 0.07 -Nodes (33): accessor(), Ag(), an, Bl(), Cg(), Cn(), concat(), delete() (+25 more) - -### Community 36 - "Community 36" -Cohesion: 0.06 -Nodes (31): t, e, ae, be, ce, de, _e, Ee (+23 more) - -### Community 37 - "Community 37" -Cohesion: 0.08 -Nodes (16): fT, hI(), Iv(), mp(), nk, normalize(), oT(), pI (+8 more) - -### Community 38 - "Community 38" -Cohesion: 0.07 -Nodes (24): a, _, ae(), Ce, _e(), Fe, He, I() (+16 more) - -### Community 39 - "Community 39" -Cohesion: 0.11 -Nodes (7): clearTimeout(), ea(), hn, jn(), qk(), r(), Uv() - -### Community 40 - "Community 40" -Cohesion: 0.09 -Nodes (30): _(), build(), defaultQueryOptions(), Ec(), eI(), fs(), get(), getQueryData() (+22 more) - -### Community 41 - "Community 41" -Cohesion: 0.06 -Nodes (31): A, at, B, C, dt, E, et, G (+23 more) - -### Community 42 - "Community 42" -Cohesion: 0.12 -Nodes (29): _build_prompt(), _fallback_markdown(), _gather_daily_context(), _gather_weekly_context(), generate_and_send_daily_report(), generate_and_send_weekly_report(), _generate_content(), _html_wrapper() (+21 more) - -### Community 43 - "Community 43" -Cohesion: 0.11 -Nodes (30): build(), cancelQueries(), defaultMutationOptions(), defaultQueryOptions(), ensureInfiniteQueryData(), ensureQueryData(), fetchInfiniteQuery(), fetchQuery() (+22 more) - -### Community 44 - "Community 44" -Cohesion: 0.08 -Nodes (31): Ah(), as(), fg(), gh(), hu(), Ia(), is(), ji() (+23 more) - -### Community 45 - "Community 45" -Cohesion: 0.15 -Nodes (20): adminApi, BudgetPayload, budgetsApi, dashboardApi, DashboardParams, reportsApi, ActivityEvent, AiReport (+12 more) - -### Community 46 - "Community 46" -Cohesion: 0.11 -Nodes (13): clear(), constructor(), delete(), fp(), gC, hf, Op, Qr() (+5 more) - -### Community 47 - "Community 47" -Cohesion: 0.08 -Nodes (28): $, D, E, I, j, q, U, Y (+20 more) - -### Community 48 - "Community 48" -Cohesion: 0.08 -Nodes (24): d(), h(), t, Ae, Be, Ce, De, E (+16 more) - -### Community 49 - "Community 49" -Cohesion: 0.07 -Nodes (27): at, bt, ct, dt, et, ft, gt, ht (+19 more) - -### Community 50 - "Community 50" -Cohesion: 0.07 -Nodes (27): ae, be, ce, de, _e, ee, fe, ge (+19 more) - -### Community 51 - "Community 51" -Cohesion: 0.17 -Nodes (9): gp(), Ip(), kk(), kp, ok, pp(), sO, tE (+1 more) - -### Community 52 - "Community 52" -Cohesion: 0.08 -Nodes (22): _a, $i(), qg(), h, A, E, F, G (+14 more) - -### Community 53 - "Community 53" -Cohesion: 0.08 -Nodes (25): $y(), ae, be, ce, de, ee, fe, G (+17 more) - -### Community 54 - "Community 54" -Cohesion: 0.08 -Nodes (21): _, f, f, ae, ee, G, ge, h (+13 more) - -### Community 55 - "Community 55" -Cohesion: 0.08 -Nodes (21): ab(), Bd(), c0, cb(), hb(), ig(), im(), jh (+13 more) - -### Community 56 - "Community 56" -Cohesion: 0.10 -Nodes (4): ADOClient, Azure DevOps HTTP client., Account-scoped WIQL — returns work items across all projects., Org-level batch — works across all projects. - -### Community 57 - "Community 57" -Cohesion: 0.09 -Nodes (21): i, m, _f(), $r(), ae, ee, f, G (+13 more) - -### Community 58 - "Community 58" -Cohesion: 0.09 -Nodes (22): E, ee, F, G, I, ie, J, K (+14 more) - -### Community 59 - "Community 59" -Cohesion: 0.10 -Nodes (19): f, k, y, ac(), _c(), _m(), $p, G (+11 more) - -### Community 60 - "Community 60" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleResolution (+13 more) - -### Community 61 - "Community 61" -Cohesion: 0.10 -Nodes (22): Ar(), bd(), Bt(), da(), dc(), Ei(), fn(), Fr() (+14 more) - -### Community 62 - "Community 62" -Cohesion: 0.09 -Nodes (20): at, ct, dt, et, gt, it, J, lt (+12 more) - -### Community 63 - "Community 63" -Cohesion: 0.11 -Nodes (21): df, dm(), Ds, fu(), jc(), km(), ko(), lt (+13 more) - -### Community 64 - "Community 64" -Cohesion: 0.14 -Nodes (4): d(), g(), Xe(), Ye() - -### Community 65 - "Community 65" -Cohesion: 0.10 -Nodes (19): _o, unmount(), vo, c, g, D, E, G (+11 more) - -### Community 66 - "Community 66" -Cohesion: 0.19 -Nodes (11): setupInterceptors(), initMsal(), LOGIN_SCOPES, msalInstance, authStore, router, routes, app (+3 more) - -### Community 67 - "Community 67" -Cohesion: 0.10 -Nodes (18): i, ae, ee, G, H, J, k, le (+10 more) - -### Community 68 - "Community 68" -Cohesion: 0.18 -Nodes (16): _active_hours(), _build_summary(), collect(), _extract_work(), _get_repo_url(), _git_commits(), _infer_repo_path(), _infer_slug() (+8 more) - -### Community 70 - "Community 70" -Cohesion: 0.14 -Nodes (11): apiClient, refreshQueue, omgApi, OmgEntryPayload, projectsApi, TagPayload, tagsApi, useProjectsStore (+3 more) - -### Community 71 - "Community 71" -Cohesion: 0.18 -Nodes (3): Bk(), oE(), wu() - -### Community 72 - "Community 72" -Cohesion: 0.13 -Nodes (5): $, Ct, d(), ee(), Z - -### Community 73 - "Community 73" -Cohesion: 0.13 -Nodes (5): J(), L, rt, w, y - -### Community 74 - "Community 74" -Cohesion: 0.19 -Nodes (13): _admin_set(), change_password(), _clear_refresh_cookie(), login(), logout(), me(), microsoft_sso(), refresh() (+5 more) - -### Community 75 - "Community 75" -Cohesion: 0.34 -Nodes (10): BlockCreatePayload, BlockUpdatePayload, TaskCreatePayload, tasksApi, TaskUpdatePayload, snapToGrid(), useCalendarStore, useTasksStore (+2 more) - -### Community 76 - "Community 76" -Cohesion: 0.24 -Nodes (14): blockHeightPx(), blockTopPx(), BlockWithLane, getWeekDays(), packLanes(), b, b1, b2 (+6 more) - -### Community 77 - "Community 77" -Cohesion: 0.16 -Nodes (16): lm(), canRun(), continue(), execute(), find(), isFocused(), ks(), mS() (+8 more) - -### Community 78 - "Community 78" -Cohesion: 0.23 -Nodes (4): b(), be(), it(), N - -### Community 79 - "Community 79" -Cohesion: 0.23 -Nodes (13): Smoke tests for calendar utilities and manual entry model., Sessions are correctly filtered by date range., None project_id returns default hue 200., Different project IDs produce different hues (with high probability)., ManualEntry can be created and duration computed correctly., PlannedBlock correctly links to task and inherits project., _hue_for_project returns same value for same input., test_hue_for_project_deterministic() (+5 more) - -### Community 80 - "Community 80" -Cohesion: 0.13 -Nodes (13): i, C, D, E, F, G, I, j (+5 more) - -### Community 81 - "Community 81" -Cohesion: 0.17 -Nodes (15): concat(), Gd(), gu(), ib(), mw(), nh(), pr(), Pt() (+7 more) - -### Community 82 - "Community 82" -Cohesion: 0.26 -Nodes (15): aw(), fl(), fw(), jr, pg(), pw(), Ri, Tt (+7 more) - -### Community 83 - "Community 83" -Cohesion: 0.15 -Nodes (13): _, f, $g, Ki(), s(), _t(), wu(), $ (+5 more) - -### Community 84 - "Community 84" -Cohesion: 0.35 -Nodes (12): complete_task(), create_block(), create_task(), delete_block(), delete_task(), get_task(), list_tasks(), Tasks CRUD + planned blocks. (+4 more) - -### Community 85 - "Community 85" -Cohesion: 0.31 -Nodes (13): DashboardPage, ProjectDetailPage, _date_range(), day_of_week(), monthly(), projects_overview(), Dashboard aggregation endpoints., Total unique hours from potentially overlapping (start, end) pairs. (+5 more) - -### Community 86 - "Community 86" -Cohesion: 0.33 -Nodes (4): Ie, Je(), ke(), N - -### Community 87 - "Community 87" -Cohesion: 0.30 -Nodes (11): db(), engine(), event_loop(), make_project(), make_session(), make_task(), make_user(), Shared pytest fixtures. (+3 more) - -### Community 88 - "Community 88" -Cohesion: 0.25 -Nodes (11): Smoke tests for task model + CRUD helpers., Tasks can be created and retrieved by user_id., Task priority can be set from 1–5., Task status can transition todo -> doing -> done., Task can be linked to a project., Deleting a task cascades to its planned_blocks., test_create_and_fetch_task(), test_task_delete_cascades_planned_blocks() (+3 more) - -### Community 89 - "Community 89" -Cohesion: 0.26 -Nodes (10): Format Azure DevOps work item content as Markdown for task notes., render_notes_markdown(), _strip_html(), clone_work_item_to_task(), delete_integration(), get_integration(), list_work_items(), Azure DevOps integration endpoints. (+2 more) - -### Community 90 - "Community 90" -Cohesion: 0.35 -Nodes (11): create_access_token(), create_refresh_token(), decode_token(), generate_api_key(), get_admin_user(), get_current_user(), hash_password(), Returns (raw_key, prefix, hash). raw_key shown once to user. (+3 more) - -### Community 91 - "Community 91" -Cohesion: 0.17 -Nodes (13): a0(), bu(), cl(), co(), from(), getAll(), h0(), isOnline() (+5 more) - -### Community 93 - "Community 93" -Cohesion: 0.23 -Nodes (5): cO(), Ky(), lO(), Qe(), XO() - -### Community 94 - "Community 94" -Cohesion: 0.35 -Nodes (3): m(), me(), Q - -### Community 95 - "Community 95" -Cohesion: 0.31 -Nodes (3): le, st(), xe() - -### Community 96 - "Community 96" -Cohesion: 0.40 -Nodes (10): C(), ee(), Pe(), Qe(), Re(), st, tt(), ve() (+2 more) - -### Community 98 - "Community 98" -Cohesion: 0.31 -Nodes (7): Pull assigned work items from Azure DevOps into local cache., Called by scheduler — syncs all users with active integrations., Called by scheduler — syncs all users with active integrations., Sync ADO work items for a single user. Returns count of upserted items., Sync ADO work items for a single user. Returns count of upserted items., sync_all_users(), sync_user_work_items() - -### Community 99 - "Community 99" -Cohesion: 0.40 -Nodes (7): create_user(), delete_user(), list_users(), platform_stats(), Recompute all DailyStat records from raw sessions. Use this after upgrading, recompute_all_stats(), update_user() - -### Community 100 - "Community 100" -Cohesion: 0.47 -Nodes (7): assign_tag(), create_tag(), delete_tag(), list_tags(), Tags CRUD + task-tag assignment., remove_tag(), update_tag() - -### Community 101 - "Community 101" -Cohesion: 0.22 -Nodes (8): compilerOptions, allowSyntheticDefaultImports, composite, module, moduleResolution, skipLibCheck, strict, include - -### Community 102 - "Community 102" -Cohesion: 0.24 -Nodes (3): EventBus, In-memory pub/sub for SSE. One asyncio.Queue per connected client., Push event to all queues for a user. Drop if queue full (non-blocking). - -### Community 103 - "Community 103" -Cohesion: 0.44 -Nodes (7): _configure_logging(), _ensure_static_dir(), health(), lifespan(), Create src/static with a stub index.html if the frontend hasn't been built yet., spa_fallback(), spa_root() - -### Community 104 - "Community 104" -Cohesion: 0.40 -Nodes (7): ManualEntryPayload, create_entry(), delete_entry(), _entry_out(), list_entries(), Manual time entries CRUD., update_entry() - -### Community 105 - "Community 105" -Cohesion: 0.33 -Nodes (9): ct, J, Oe(), ot, Se(), te(), wt, X() (+1 more) - -### Community 106 - "Community 106" -Cohesion: 0.33 -Nodes (6): export_csv(), export_ics(), Timesheet export (CSV and ICS)., Returns CSV string with all sessions and manual entries in the date range., Returns ICS bytes for all sessions in the date range., Returns ICS bytes for all sessions in the date range. - -### Community 107 - "Community 107" -Cohesion: 0.39 -Nodes (6): cn(), formatDate(), formatDateTime(), formatDuration(), formatTime(), isoDateStr() - -### Community 108 - "Community 108" -Cohesion: 0.39 -Nodes (5): list_projects(), Keep omg_entries in sync when project job_number / name / client changes., _sync_omg_entry(), update_project(), _upsert_omg() - -### Community 109 - "Community 109" -Cohesion: 0.54 -Nodes (5): create_budget(), delete_budget(), list_budgets(), Project budget CRUD + progress., update_budget() - -### Community 110 - "Community 110" -Cohesion: 0.46 -Nodes (3): download_csv(), download_ics(), Timesheet export endpoints (CSV and ICS). - -### Community 111 - "Community 111" -Cohesion: 0.39 -Nodes (5): Upsert daily_stats after session ingest., Wall-clock hours from potentially overlapping (start, end) pairs., Recalculate daily_stats for (user, project, date) from raw sessions., recompute_daily_stat(), _union_hours() - -### Community 112 - "Community 112" -Cohesion: 0.57 -Nodes (4): devopsApi, IntegrationPayload, useDevopsStore, AzureWorkItem - -### Community 114 - "Community 114" -Cohesion: 0.57 -Nodes (4): create_key(), delete_key(), list_keys(), revoke_key() - -### Community 115 - "Community 115" -Cohesion: 0.62 -Nodes (7): Ap(), ce(), ee(), hp(), Ip(), J(), kp() - -### Community 116 - "Community 116" -Cohesion: 0.48 -Nodes (5): formatEventData(), getEventColor(), getEventIcon(), getProjectName(), recentEvents - -### Community 117 - "Community 117" -Cohesion: 0.48 -Nodes (5): contrastColor(), hslBgFromHue(), hslBorderFromHue(), hslFromHue(), tagStyle() - -### Community 118 - "Community 118" -Cohesion: 0.38 -Nodes (3): BaseHTTPMiddleware, LoggingMiddleware, structlog middleware for request context binding. - -### Community 119 - "Community 119" -Cohesion: 0.48 -Nodes (4): _get_user_from_token(), SSE endpoint — heartbeat every 25s to survive 30s LB timeout., Accept JWT via query param (EventSource can't set headers)., sse_stream() - -### Community 120 - "Community 120" -Cohesion: 0.52 -Nodes (5): collect_all(), _get_pricing(), _infer_slug(), _match_root(), _root_prefix() - -### Community 121 - "Community 121" -Cohesion: 0.67 -Nodes (3): run_async_migrations(), run_migrations_offline(), run_migrations_online() - -### Community 122 - "Community 122" -Cohesion: 0.67 -Nodes (3): ingest(), POST /api/ingest — receives session data from cc-collector.py hook., _slug_to_name() - -### Community 123 - "Community 123" -Cohesion: 0.47 -Nodes (3): push_completed_work(), Push completed work back to Azure DevOps., Post CompletedWork + comment to linked ADO work item. Idempotent. - -### Community 124 - "Community 124" -Cohesion: 0.73 -Nodes (3): decrypt(), encrypt(), _fernet() - -### Community 127 - "Community 127" -Cohesion: 0.33 -Nodes (3): cmp, col, val - -### Community 135 - "Community 135" -Cohesion: 0.60 -Nodes (4): duration, effectiveHeight, style, CalendarBlock - -### Community 138 - "Community 138" -Cohesion: 0.67 -Nodes (4): be(), k(), Ke, L() - -### Community 139 - "Community 139" -Cohesion: 0.50 -Nodes (3): maxDowHours, maxMonthlyHours, maxToolPct - -### Community 144 - "Community 144" -Cohesion: 0.50 -Nodes (3): animated, displayValue, isNumeric - -### Community 149 - "Community 149" -Cohesion: 0.67 -Nodes (3): Ae(), H(), Ie() - -## Knowledge Gaps -- **976 isolated node(s):** `composite`, `skipLibCheck`, `module`, `moduleResolution`, `allowSyntheticDefaultImports` (+971 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **34 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `_o` connect `Community 65` to `Community 0`, `Community 4`, `Community 9`, `Community 10`, `Community 16`, `Community 21`, `Community 22`, `Community 34`, `Community 35`, `Community 41`, `Community 50`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 57`, `Community 58`, `Community 59`, `Community 80`, `Community 83`?** - _High betweenness centrality (0.028) - this node is a cross-community bridge._ -- **Why does `t` connect `Community 29` to `Community 1`, `Community 129`, `Community 5`, `Community 7`, `Community 11`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 24`, `Community 25`, `Community 27`, `Community 32`, `Community 33`, `Community 36`, `Community 38`, `Community 39`, `Community 40`, `Community 46`, `Community 47`, `Community 48`, `Community 49`, `Community 51`, `Community 62`, `Community 67`, `Community 71`?** - _High betweenness centrality (0.026) - this node is a cross-community bridge._ -- **Why does `Di` connect `Community 10` to `Community 1`, `Community 2`, `Community 129`, `Community 6`, `Community 46`, `Community 16`?** - _High betweenness centrality (0.020) - this node is a cross-community bridge._ -- **What connects `composite`, `skipLibCheck`, `module` to the rest of the system?** - _1054 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.012586760592561898 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.014285714285714285 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.06501157163896487 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/cinema-studio-pro-kling-structure.md b/wiki/architecture/cinema-studio-pro-kling-structure.md deleted file mode 100644 index 2f5a7b9..0000000 --- a/wiki/architecture/cinema-studio-pro-kling-structure.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -tags: [architecture, graphify, cinema-studio-pro-kling] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cinema-studio-pro-kling (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 266 nodes · 314 edges · 43 communities (34 shown, 9 thin omitted) -- Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 10 edges (avg confidence: 0.87) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] - -## God Nodes (most connected - your core abstractions) -1. `Lux Studio` - 25 edges -2. `session_manager.php` - 23 edges -3. `AuthMiddleware.php` - 14 edges -4. `KlingAPI` - 13 edges -5. `AppContent.jsx` - 12 edges -6. `Lux Studio Deployment Guide` - 9 edges -7. `VeoVideoAPI` - 8 edges -8. `JWTValidator` - 6 edges -9. `useProjects.js` - 6 edges -10. `video_api.php (VeoVideoAPI)` - 6 edges - -## Surprising Connections (you probably didn't know these) -- `.env (Production Secrets)` --references--> `Google Gemini API` [INFERRED] - NEW_DEPLOYMENT.md → README.md -- `session_manager.php (SessionManager)` --semantically_similar_to--> `session_manager.php` [EXTRACTED] [semantically similar] - CLAUDE.md → README.md -- `Docker App Service` --conceptually_related_to--> `Lux Studio` [INFERRED] - docker-compose.prod.yml → README.md -- `video_api.php (VeoVideoAPI)` --semantically_similar_to--> `video_api.php (Video Generation)` [EXTRACTED] [semantically similar] - CLAUDE.md → README.md -- `Lux Studio Deployment Guide` --semantically_similar_to--> `NEW_DEPLOYMENT.md` [EXTRACTED] [semantically similar] - NEW_DEPLOYMENT.md → README.md - -## Communities (43 total, 9 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.09 -Nodes (30): api.php (NanoBananaProAPI), App.jsx (Root Component), enhance_prompt.php (Gemini Pro), firebase/php-jwt, session_manager.php (SessionManager), setup.sh, Veo 3.1 Fast Model, Veo 3.1 Standard Model (+22 more) - -### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (16): CinePromptStudio.jsx, @dnd-kit (Drag and Drop), @google/generative-ai, html2canvas, IndexedDB Schema (lux-studio-projects), jspdf, ProjectsTab.jsx, StoryboardEditor.jsx (+8 more) - -### Community 3 - "Community 3" -Cohesion: 0.10 -Nodes (20): dependencies, @azure/msal-browser, @azure/msal-react, @dnd-kit/core, @dnd-kit/sortable, @google/generative-ai, html2canvas, jspdf (+12 more) - -### Community 4 - "Community 4" -Cohesion: 0.15 -Nodes (8): AppContent.jsx, authConfig.js (MSAL Config), LoginPage Component, AdminSettings(), ErrorBoundary, isSSOEnabled(), loginRequest, msalConfig - -### Community 6 - "Community 6" -Cohesion: 0.15 -Nodes (12): autoload, classmap, config, optimize-autoloader, sort-packages, description, name, require (+4 more) - -### Community 7 - "Community 7" -Cohesion: 0.17 -Nodes (12): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, postcss (+4 more) - -### Community 9 - "Community 9" -Cohesion: 0.22 -Nodes (11): deploy.sh, Apache Web Server, api.php (Production), AuthMiddleware.php (Production), deploy.sh (Automated Deployment), .env (Production Secrets), .htaccess (Apache Rules), JWTValidator.php (Production) (+3 more) - -### Community 10 - "Community 10" -Cohesion: 0.31 -Nodes (6): getRequestUser(), isAdmin(), requireAdmin(), testKlingCredentials(), getKlingCredentials(), getKlingStatus() - -### Community 14 - "Community 14" -Cohesion: 0.47 -Nodes (3): check(), ok(), warn() - -### Community 15 - "Community 15" -Cohesion: 0.33 -Nodes (6): IBM Plex Mono (Google Font), IBM Plex Sans (Google Font), LUX_STUDIO_LOGO.svg (Favicon), main.jsx (Entry Point), frontend/index.html, Lux Studio Logo SVG - -### Community 16 - "Community 16" -Cohesion: 0.70 -Nodes (4): logImageGeneration(), logPromptEnhancement(), logUserAction(), sendToWebhook() - -### Community 19 - "Community 19" -Cohesion: 0.50 -Nodes (3): backendPort, env, frontendPort - -### Community 20 - "Community 20" -Cohesion: 0.50 -Nodes (4): Docker App Service, docker/Dockerfile, backend/.env.optical, Uploads Docker Volume - -## Knowledge Gaps -- **70 isolated node(s):** `env`, `frontendPort`, `backendPort`, `name`, `private` (+65 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **9 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Lux Studio` connect `Community 0` to `Community 1`, `Community 2`, `Community 7`, `Community 8`, `Community 9`, `Community 20`?** - _High betweenness centrality (0.301) - this node is a cross-community bridge._ -- **Why does `devDependencies` connect `Community 7` to `Community 3`?** - _High betweenness centrality (0.124) - this node is a cross-community bridge._ -- **Why does `Tailwind CSS` connect `Community 7` to `Community 0`?** - _High betweenness centrality (0.120) - this node is a cross-community bridge._ -- **What connects `env`, `frontendPort`, `backendPort` to the rest of the system?** - _70 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.09195402298850575 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.1038961038961039 - nodes in this community are weakly interconnected._ -- **Should `Community 3` be split into smaller, more focused modules?** - _Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/cinema-studio-pro-structure.md b/wiki/architecture/cinema-studio-pro-structure.md deleted file mode 100644 index adf48cf..0000000 --- a/wiki/architecture/cinema-studio-pro-structure.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -tags: [architecture, graphify, cinema-studio-pro] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/cinema-studio-pro (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 240 nodes · 294 edges · 40 communities (29 shown, 11 thin omitted) -- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.95) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] - -## God Nodes (most connected - your core abstractions) -1. `Lux Studio` - 27 edges -2. `session_manager.php` - 23 edges -3. `AuthMiddleware.php` - 15 edges -4. `KlingAPI` - 13 edges -5. `Lux Studio Deployment Guide` - 11 edges -6. `AppContent.jsx` - 9 edges -7. `VeoVideoAPI` - 8 edges -8. `package.json (Frontend)` - 7 edges -9. `useProjects()` - 6 edges -10. `JWTValidator` - 6 edges - -## Surprising Connections (you probably didn't know these) -- `ProjectsTab.jsx` --calls--> `useProjects()` [EXTRACTED] - CLAUDE.md → frontend/src/hooks/useProjects.js -- `VideoGenTab.jsx` --calls--> `useProjects()` [EXTRACTED] - CLAUDE.md → frontend/src/hooks/useProjects.js -- `CinePromptStudio.jsx` --calls--> `useProjects()` [EXTRACTED] - CLAUDE.md → frontend/src/hooks/useProjects.js -- `useProjects()` --calls--> `useIndexedDB.js` [EXTRACTED] - frontend/src/hooks/useProjects.js → CLAUDE.md -- `CinePromptStudio.jsx` --references--> `Google Imagen 3` [EXTRACTED] - CLAUDE.md → README.md - -## Communities (40 total, 11 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.10 -Nodes (31): LoginPage Component, NanoBananaProAPI Class, VeoVideoAPI Class, video_operations.json, vite.config.js, Apache Web Server, deploy.sh, backend/.env (Production Secrets) (+23 more) - -### Community 1 - "Community 1" -Cohesion: 0.11 -Nodes (18): CinePromptStudio.jsx, @dnd-kit (drag-and-drop), @google/generative-ai, html2canvas, IndexedDB Schema (lux-studio-projects), jspdf, lucide-react, package.json (Frontend) (+10 more) - -### Community 3 - "Community 3" -Cohesion: 0.10 -Nodes (20): dependencies, @azure/msal-browser, @azure/msal-react, @dnd-kit/core, @dnd-kit/sortable, @google/generative-ai, html2canvas, jspdf (+12 more) - -### Community 4 - "Community 4" -Cohesion: 0.17 -Nodes (5): AppContent.jsx, ErrorBoundary, isSSOEnabled(), loginRequest, msalConfig - -### Community 6 - "Community 6" -Cohesion: 0.15 -Nodes (12): autoload, classmap, config, optimize-autoloader, sort-packages, description, name, require (+4 more) - -### Community 7 - "Community 7" -Cohesion: 0.17 -Nodes (12): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, postcss (+4 more) - -### Community 12 - "Community 12" -Cohesion: 0.47 -Nodes (3): check(), ok(), warn() - -### Community 13 - "Community 13" -Cohesion: 0.33 -Nodes (5): index.html (Frontend Entry), IBM Plex Mono (Google Font), IBM Plex Sans (Google Font), LUX_STUDIO_LOGO.svg (Favicon), main.jsx - -### Community 14 - "Community 14" -Cohesion: 0.70 -Nodes (4): logImageGeneration(), logPromptEnhancement(), logUserAction(), sendToWebhook() - -### Community 16 - "Community 16" -Cohesion: 0.50 -Nodes (3): backendPort, env, frontendPort - -## Knowledge Gaps -- **64 isolated node(s):** `env`, `frontendPort`, `backendPort`, `name`, `private` (+59 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **11 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Lux Studio` connect `Community 0` to `Community 8`, `Community 1`, `Community 2`, `Community 7`?** - _High betweenness centrality (0.238) - this node is a cross-community bridge._ -- **Why does `devDependencies` connect `Community 7` to `Community 3`?** - _High betweenness centrality (0.123) - this node is a cross-community bridge._ -- **Why does `Tailwind CSS` connect `Community 7` to `Community 0`?** - _High betweenness centrality (0.117) - this node is a cross-community bridge._ -- **What connects `env`, `frontendPort`, `backendPort` to the rest of the system?** - _64 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.1010752688172043 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.10507246376811594 - nodes in this community are weakly interconnected._ -- **Should `Community 3` be split into smaller, more focused modules?** - _Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/enterprise-ai-hub-nexus-structure.md b/wiki/architecture/enterprise-ai-hub-nexus-structure.md deleted file mode 100644 index 3bbfeec..0000000 --- a/wiki/architecture/enterprise-ai-hub-nexus-structure.md +++ /dev/null @@ -1,544 +0,0 @@ ---- -tags: [architecture, graphify, enterprise-ai-hub-nexus] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/enterprise-ai-hub-nexus (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1634 nodes · 2609 edges · 181 communities (122 shown, 59 thin omitted) -- Extraction: 87% EXTRACTED · 13% INFERRED · 0% AMBIGUOUS · INFERRED: 347 edges (avg confidence: 0.65) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 180|Community 180]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 46 edges -2. `SharePointSource Model` - 42 edges -3. `SharePointBrowser()` - 28 edges -4. `SharePoint Graph Client (Planned)` - 26 edges -5. `Button` - 24 edges -6. `AgentPanel()` - 24 edges -7. `ToolResult` - 24 edges -8. `AgentsTab()` - 23 edges -9. `User` - 23 edges -10. `Badge()` - 18 edges - -## Surprising Connections (you probably didn't know these) -- `Agents Endpoints` --references--> `AgentsTab()` [INFERRED] - docs/project/api_spec.md → frontend/components/admin/agents-tab.tsx -- `Notebook Mode (NotebookLlama)` --semantically_similar_to--> `Notebook Mode` [INFERRED] [semantically similar] - implementation_plan.md → CONTEXT_HANDOVER_FRONTEND_MVP.md -- `Agent System Requirements` --conceptually_related_to--> `AgentsTab()` [INFERRED] - docs/project/requirements.md → frontend/components/admin/agents-tab.tsx -- `RAG Chat API Endpoints` --semantically_similar_to--> `Chat API Endpoints (Phase 4)` [INFERRED] [semantically similar] - CONTEXT_HANDOVER_BACKEND_COMPLETE.md → CONTEXT_HANDOVER_PHASE4.md -- `RAG Mode (Corporate RAG Agent)` --semantically_similar_to--> `RAG Chat Interface` [INFERRED] [semantically similar] - implementation_plan.md → CONTEXT_HANDOVER_FRONTEND_MVP.md - -## Communities (181 total, 59 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (48): get_agent_analytics(), _is_visible(), Per-agent analytics endpoint GET /agents/{slug}/analytics?days=30 Returns usag, Same visibility check as agents.py., Get usage analytics for a specific agent. Returns total messages, tokens, c, _agent_to_list_item(), _agent_to_response(), _can_manage() (+40 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (29): BaseHTTPMiddleware, Update region_code and department_id payload on all Qdrant vectors for a documen, Mark all vectors for a document as is_active=False (soft delete). Allow, generate_request_id(), Structured Logging Configuration JSON logging for production, text logging for, RequestIdFilter, setup_logging(), _get_key() (+21 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (34): metadata, montserrat, AnnouncementModal(), formatDate(), greeting(), HomePage(), ProtectedRoute(), PUBLIC_ROUTES (+26 more) - -### Community 3 - "Community 3" -Cohesion: 0.11 -Nodes (36): AnalyticsTab(), Announcement, AnnouncementsTab(), FormState, ApiKey, ApiKeysTab(), DepartmentsTab(), CATEGORY_CONFIG (+28 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (32): DocumentProcessingError, _qdrant(), Document Processor for SharePoint RAG Pipeline Handles the full lifecycle of a, Embed chunks and upsert to Qdrant. Requires Qdrant + OpenAI access. Use, Full ingestion pipeline: extract → chunk → embed → upsert., Dispatch to the appropriate extractor based on file type., Extract text from any supported format using MarkItDown., Raised when document text extraction or embedding fails. (+24 more) - -### Community 5 - "Community 5" -Cohesion: 0.06 -Nodes (38): chat(), create_conversation(), delete_conversation(), generate_conversation_title(), _get_attachment_dir(), _get_conversation_history(), get_conversation_messages(), list_conversations() (+30 more) - -### Community 6 - "Community 6" -Cohesion: 0.05 -Nodes (38): AdminUserListResponse, AdminUserResponse, AgentProvider, AgentStatus, AgentVisibility, AnalyticsOverview, APIError, ChatRequest (+30 more) - -### Community 7 - "Community 7" -Cohesion: 0.09 -Nodes (27): Department, KnowledgeUploader(), Region, UploadItem, ToolCard, ChatMessage(), ChatMessageProps, CitationCard() (+19 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (31): fetch_ad_groups(), AD Group Sync — Fetch user's AD groups and sync allowed_features, Fetch AD group memberships for the current user via Microsoft Graph. Returns, Sync user's allowed_features based on AD group memberships. - If features_o, sync_user_features_from_groups(), create_access_token(), create_refresh_token(), JWT Token Generation and Validation (+23 more) - -### Community 9 - "Community 9" -Cohesion: 0.17 -Nodes (33): Raised when URL scraping fails., WebScraperError, BulkDeleteRequest, crawl_url_preview(), CrawlConfirmRequest, CrawlConfirmResponse, CrawlPreviewPage, CrawlPreviewRequest (+25 more) - -### Community 10 - "Community 10" -Cohesion: 0.09 -Nodes (30): BaseModel, Update LLM provider API keys (super_admin only). Saves to DB., update_llm_config(), ToolUpdateRequest, AdminUserListResponse, AdminUserResponse, AdminUserUpdateRequest, AnalyticsOverview (+22 more) - -### Community 11 - "Community 11" -Cohesion: 0.09 -Nodes (20): GraphAPIError, Execute an authenticated HTTP request with automatic retry on throttling., Search SharePoint sites by keyword. Args: query: Search ter, Resolve a SharePoint site URL to its Graph API site object. Args:, List all document libraries (drives) for a SharePoint site. Args:, List files in a drive folder. Args: drive_id: MS Graph driv, Fetch all pages from a paginated Graph API endpoint. Follows @odata.nex, Fetch changed items using the Graph Delta API (incremental sync). Args: (+12 more) - -### Community 12 - "Community 12" -Cohesion: 0.10 -Nodes (30): _async_process_single_document(), _async_process_webhook_notification(), _async_refresh_all_graph_tokens(), _async_renew_expiring_webhooks(), _async_sync_all_active_sources(), _async_sync_sharepoint_source(), _get_document_by_sharepoint_id(), _get_source() (+22 more) - -### Community 13 - "Community 13" -Cohesion: 0.08 -Nodes (20): AgentEditorModal(), AgentCard(), AgentCardProps, AgentsTab(), STATUS_COLORS, VISIBILITY_ICON, AdminPage(), CodeInterpreterAdminPage() (+12 more) - -### Community 14 - "Community 14" -Cohesion: 0.10 -Nodes (19): DEFAULT_FORM, Department, FormState, PROVIDER_MODELS, ToolDef, FeedbackItem, FeedbackTab(), AttachedFile (+11 more) - -### Community 15 - "Community 15" -Cohesion: 0.11 -Nodes (22): AgentsPage(), AgentPanel(), AgentPanelProps, CATEGORIES, FormState, PROVIDER_MODELS, ChatList(), ChatListProps (+14 more) - -### Community 16 - "Community 16" -Cohesion: 0.10 -Nodes (24): export_feedback(), get_conversation_feedback(), get_feedback_stats(), get_message_feedback(), list_feedback(), Feedback Endpoints — user ratings on RAG/assistant responses. User routes: submi, Get the current user's feedback for a specific message., Get all feedback the current user has given in a conversation (batch load). (+16 more) - -### Community 17 - "Community 17" -Cohesion: 0.13 -Nodes (24): AssistantPage(), LLMFactory, Factory to create LLM instances based on mode, ActionsResponse, AssistantResponse, extract_action_items(), ExtractActionsRequest, Assistant Mode Endpoints Provides productivity tools: summarization, translation (+16 more) - -### Community 18 - "Community 18" -Cohesion: 0.08 -Nodes (25): FastAPI Dependencies for Authentication and RBAC, dependencies, axios, class-variance-authority, clsx, event-source-polyfill, lucide-react, @radix-ui/react-avatar (+17 more) - -### Community 19 - "Community 19" -Cohesion: 0.11 -Nodes (23): Department, FolderPickerProps, Props, Region, SPDrive, SPFolder, SPSite, STATUS_COLORS (+15 more) - -### Community 20 - "Community 20" -Cohesion: 0.11 -Nodes (17): ABC, lifespan(), Enterprise AI Hub "Nexus" - Main FastAPI Application, BaseTool, create_agent(), Create a new agent. - Regular users: forced to visibility=private, status=dr, ListAgentsTool, Tool for PA to list agents visible to the user. (+9 more) - -### Community 21 - "Community 21" -Cohesion: 0.16 -Nodes (9): delete_document_remote(), _get_auth_headers(), _get_identity_token(), HTTP client for calling the Cloud Run document processor service. If CLOUD_RUN_, Get a Google OIDC identity token for authenticating to Cloud Run., Get authorization headers for Cloud Run requests., Delete document vectors via Cloud Run service., Remove all Qdrant vectors for a SharePoint document. Called when a docu (+1 more) - -### Community 22 - "Community 22" -Cohesion: 0.13 -Nodes (16): AgentCard(), AgentCardProps, CATEGORY_COLORS, AgentPickerModal(), CATEGORIES, DEFAULT_FORM, FormState, PROVIDER_MODELS (+8 more) - -### Community 23 - "Community 23" -Cohesion: 0.11 -Nodes (21): BreadcrumbEntry, Drive, DriveItem, Props, SharePointBrowser(), Site, create_sharepoint_source(), _graph_get() (+13 more) - -### Community 24 - "Community 24" -Cohesion: 0.11 -Nodes (19): process_document_remote(), Send document to Cloud Run for processing. Returns: dict with statu, crawl_url_confirm(), _index_page(), _process_doc_background(), Save a single crawled page as a KnowledgeDocument and start processing., Index selected crawled pages into RAG. Each page becomes a separate document., Scrape a URL and add its content to the knowledge base. (+11 more) - -### Community 25 - "Community 25" -Cohesion: 0.10 -Nodes (19): aliases, components, hooks, lib, ui, utils, iconLibrary, registries (+11 more) - -### Community 26 - "Community 26" -Cohesion: 0.28 -Nodes (16): GraphBaseTool, CalendarCreateEventTool, CalendarFindSlotsTool, CalendarListUpcomingTool, GraphBaseTool, Base class providing Graph API request helpers, MailDraftTool, MailReadTool (+8 more) - -### Community 27 - "Community 27" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+10 more) - -### Community 28 - "Community 28" -Cohesion: 0.18 -Nodes (18): AD Group Sync (ad_group_sync.py), Auth Endpoint (auth.py), Celery Tasks (tasks/), Chat Endpoint (chat.py), Document Processor (document_processor.py), AGENTS.md Project Entry Point, RAG Retriever (retriever.py), Personal Assistant Tools (tools/) (+10 more) - -### Community 29 - "Community 29" -Cohesion: 0.14 -Nodes (17): ADR-001: Azure AD PKCE SPA Flow, Authentication Endpoints, PKCE Auth Flow, POST /auth/login/dev Endpoint, Dev Mode Login Implementation, DevLoginRequest Schema, ENVIRONMENT Config Setting, loginDev() Function (+9 more) - -### Community 30 - "Community 30" -Cohesion: 0.22 -Nodes (15): ADR-002: Multi-Query RAG + LLM Reranking, ADR-003: Agent-Driven Chat Architecture, ADR Index, RAGRetriever Component, RAG Knowledge Base Requirements, Anthropic SDK Dependency, Celery Dependency, FastAPI Dependency (+7 more) - -### Community 31 - "Community 31" -Cohesion: 0.18 -Nodes (13): create_api_key(), delete_api_key(), _generate_key(), _key_to_response(), list_api_keys(), API Key Management Endpoints (super_admin only) Allows super admins to generate, Deactivate an API key without deleting it., Permanently delete an API key. (+5 more) - -### Community 33 - "Community 33" -Cohesion: 0.16 -Nodes (5): _md_to_teams_html(), Get or create a 1:1 Teams chat with the recipient. POST /chats is idempo, Convert basic markdown to Teams-compatible HTML. Teams chat supports a limit, Load attachment from disk cache or LibreCodeInterpreter service., TeamsSendMessageTool - -### Community 34 - "Community 34" -Cohesion: 0.23 -Nodes (9): _decrypt(), _encrypt(), _get_fernet(), get_valid_token(), Graph Token Manager - Encrypts, stores, and refreshes Microsoft Graph delegated, Manages encrypted Graph API tokens per user, store_tokens(), User Graph Token model - stores encrypted Microsoft Graph delegated tokens (+1 more) - -### Community 35 - "Community 35" -Cohesion: 0.22 -Nodes (12): chunk_text(), ensure_collection(), extract_text_from_file(), generate_embeddings(), main(), Ensure Qdrant collection exists, create if it doesn't Args: client:, Upload chunks and embeddings to Qdrant Args: client: Qdrant client, Main execution function (+4 more) - -### Community 36 - "Community 36" -Cohesion: 0.17 -Nodes (12): Backend API Complete Reference, Notebook Mode API Endpoints, RAG Chat API Endpoints, Next.js 14 Frontend, NotebookLlama Client, Notebook Endpoints, NotebookLlama External API, Chat Page (app/chat/page.tsx) (+4 more) - -### Community 37 - "Community 37" -Cohesion: 0.21 -Nodes (10): _ann_out(), create_announcement(), delete_region(), get_announcements(), Admin Endpoints - User management, taxonomy CRUD, analytics Only accessible to s, Delete a region (cascades to departments), Delete a slash command, Get published announcements — all authenticated users (+2 more) - -### Community 38 - "Community 38" -Cohesion: 0.27 -Nodes (9): AuthCallbackContent(), clearCodeVerifier(), exchangeCodeForToken(), generateCodeChallenge(), generateCodeVerifier(), getAuthCodeFromUrl(), getAuthErrorFromUrl(), getCodeVerifier() (+1 more) - -### Community 39 - "Community 39" -Cohesion: 0.24 -Nodes (9): _build_history(), execute_agent(), _is_visible(), Programmatic Agent Execution Endpoint POST /agents/{slug}/execute Synchronous, Programmatically execute an agent with a message and receive a synchronous JSON, AgentExecuteRequest, AgentExecuteResponse, Pydantic schemas for programmatic agent execution API (+1 more) - -### Community 40 - "Community 40" -Cohesion: 0.18 -Nodes (4): download_code_interpreter_file(), Code Interpreter File Proxy Proxies file download requests from frontend to the, Serve a code interpreter file — from disk cache if available, else live proxy., Code Interpreter Tool Executes code in a sandboxed environment via the LibreCod - -### Community 41 - "Community 41" -Cohesion: 0.22 -Nodes (10): consent_callback(), consent_revoke(), consent_start(), consent_status(), _get_msal_app(), Graph Consent Endpoints - Manage Microsoft 365 delegated token consent, Get the Microsoft authorization URL for Graph consent. Frontend should redir, Exchange the authorization code for Graph tokens and store them. (+2 more) - -### Community 42 - "Community 42" -Cohesion: 0.20 -Nodes (10): File Uploader Component, Enterprise AI Hub Nexus Frontend MVP, Notebook Mode, Notebooks Page, Sidebar Component, useNotebookStore (Zustand), Frontend Design Improvement Command, OLIVER Brand Adaptation (+2 more) - -### Community 43 - "Community 43" -Cohesion: 0.22 -Nodes (10): Cloud Build - Nexus Worker, Docker Compose Production, Celery Beat Service (prod), Celery Worker Service (prod), Code Interpreter Service (prod), Documentation Hub README, Environment Variables Reference, Infrastructure Document (+2 more) - -### Community 44 - "Community 44" -Cohesion: 0.20 -Nodes (10): Agents Endpoints, API Specification Document, POST /chat/stream SSE Endpoint, Knowledge Base Admin Endpoints, SharePoint Admin Endpoints, Chat Page, RAG Chat Interface, useChatStore (Zustand) (+2 more) - -### Community 45 - "Community 45" -Cohesion: 0.20 -Nodes (6): ApiKey, API Key model for programmatic access to the agent execution endpoint. Keys are, AppSetting, App Settings model for runtime configuration (API keys, etc.), MessageFeedback model — user ratings on assistant responses, SQLAlchemy ORM Models All models must be imported here so SQLAlchemy can resolv - -### Community 46 - "Community 46" -Cohesion: 0.29 -Nodes (9): _call_claude(), _call_gemini(), _call_llm(), AI content refiner — structures raw scraped content into clean knowledge base do, Call Claude or Gemini to process the prompt., Structure a single scraped page with AI., Merge and structure multiple crawled pages into one document with AI. Pages, refine_and_merge() (+1 more) - -### Community 47 - "Community 47" -Cohesion: 0.20 -Nodes (9): name, private, scripts, build, dev, lint, start, type-check (+1 more) - -### Community 50 - "Community 50" -Cohesion: 0.25 -Nodes (7): Alembic Environment Configuration with Async Support, Run migrations in 'offline' mode. This configures the context with just a U, Run migrations in 'online' mode with async support. In this scenario we nee, Run migrations in 'online' mode., run_async_migrations(), run_migrations_offline(), run_migrations_online() - -### Community 51 - "Community 51" -Cohesion: 0.25 -Nodes (9): Assistant Mode (AI Executive Assistant), Conversations Table Schema, Docker Compose Configuration, JWT Authentication Core, Nexus Implementation Plan, Notebook Mode (NotebookLlama), Qdrant sharepoint_docs Collection, RAG Mode (Corporate RAG Agent) (+1 more) - -### Community 52 - "Community 52" -Cohesion: 0.25 -Nodes (9): System Architecture Document, Cloud Run Document Processor Service, DocumentProcessor Component, GraphTokenManager Component, LLMFactory Component, ToolRegistry Component, Cloud Run Processor Build Config, LlamaParse OCR Dependency (+1 more) - -### Community 54 - "Community 54" -Cohesion: 0.25 -Nodes (9): AI Executive Assistant, Celery + Redis Task Queue, FastAPI Backend, Enterprise AI Hub Nexus, Notebook Mode, Corporate RAG Agent (Oracle), Role-Based Access Control, SharePoint Ingestion Pipeline (+1 more) - -### Community 55 - "Community 55" -Cohesion: 0.25 -Nodes (9): Microsoft Entra ID (Azure AD), App Shell Layout, Zustand Auth Store (useAuthStore), Microsoft OAuth Utilities (microsoft-oauth.ts), Protected Route Component, Sidebar Component, Axios API Client (lib/api-client.ts), Auth Utilities (lib/auth.ts) (+1 more) - -### Community 56 - "Community 56" -Cohesion: 0.22 -Nodes (9): _doc_to_response(), get_knowledge_document(), list_knowledge_documents(), List knowledge base documents with pagination and optional status filter., Get a single knowledge base document by ID., Update region_code, department_id or description on a knowledge document. Re, Re-send a document to Cloud Run for reprocessing (e.g. completed with 0 chunks)., reprocess_knowledge_document() (+1 more) - -### Community 57 - "Community 57" -Cohesion: 0.28 -Nodes (8): _auth_headers(), crawl_url_firecrawl(), Firecrawl API client for scraping complex websites. Firecrawl is a managed serv, Scrape a single URL via Firecrawl API. Returns dict with: markdown, title,, Recursively crawl a URL and all linked pages via Firecrawl /v1/crawl. Retur, scrape_url_firecrawl(), Scrape a URL and return extracted markdown for preview. Uses Firecrawl if FI, scrape_url_preview() - -### Community 58 - "Community 58" -Cohesion: 0.36 -Nodes (8): generate_completion(), get_llm(), get_llm_from_config(), LLM Factory - Switches between OpenAI, Anthropic, and Google based on mode Suppo, stream_completion(), stream_with_tools(), _to_lc_messages(), Get current LLM config status (masked keys) - -### Community 59 - "Community 59" -Cohesion: 0.36 -Nodes (8): Backend FastAPI Service, Docker Compose Local, Code Interpreter Service (local), MinIO Service (local), Docker Compose (dev), PostgreSQL Service, Qdrant Service, Redis Service - -### Community 60 - "Community 60" -Cohesion: 0.25 -Nodes (5): Config, Application Configuration using Pydantic Settings Loads configuration from envir, Application settings loaded from environment variables, Settings, BaseSettings - -### Community 61 - "Community 61" -Cohesion: 0.25 -Nodes (8): File List Component, File Uploader Component, Notebook Chat Component, Zustand Notebook Store (useNotebookStore), Notebooks Page, Technical Architecture Specification, Qdrant sharepoint_docs Collection, SSE Streaming Chat - -### Community 62 - "Community 62" -Cohesion: 0.29 -Nodes (8): LLM Factory (llm.py), LangChain / LangGraph Orchestration, LLM Factory (Phase 4), Assistant Endpoints (assistant.py), Assistant Page (app/assistant/page.tsx), Zustand Assistant Store (useAssistantStore), Summarize Endpoint Implementation, Setup Complete - Assistant & Notebook - -### Community 63 - "Community 63" -Cohesion: 0.25 -Nodes (8): Verify and decode JWT token Args: token: JWT token string Retu, verify_token(), get_current_user(), get_current_user_flexible(), get_current_user_or_api_key(), Dependency that accepts either: - Bearer JWT token (Authorization: Bearer, Dependency to get current authenticated user Args: credentials: Bea, Dependency to get current user - supports both header and query string token - -### Community 64 - "Community 64" -Cohesion: 0.25 -Nodes (8): devDependencies, eslint, eslint-config-next, postcss, tailwindcss, @types/node, @types/react, typescript - -### Community 65 - "Community 65" -Cohesion: 0.25 -Nodes (7): Microsoft Graph API Client for SharePoint Integration Handles authentication (C, JobStatus, JobType, SharePoint integration models for document sync and RAG, Tracks sync operations for monitoring and debugging Stores statistics and er, Job execution status enum, SyncJob - -### Community 68 - "Community 68" -Cohesion: 0.33 -Nodes (7): Base, Conversation, ConversationMode, Message, MessageRole, Conversation and Message models for chat functionality, Conversation - -### Community 69 - "Community 69" -Cohesion: 0.29 -Nodes (5): User Model with Role-Based Access Control (RBAC), User role enum for RBAC, User model with Microsoft Entra ID integration Auto-provisioned on first log, User, UserRole - -### Community 70 - "Community 70" -Cohesion: 0.33 -Nodes (5): Department, Taxonomy Models: Region and Department Defines the organizational hierarchy, Regions represent geographical areas (e.g., UK, US, APAC), Departments within regions (e.g., UK/HR, US/IT) Unique constraint ensures UK, Region - -### Community 71 - "Community 71" -Cohesion: 0.33 -Nodes (7): Backend README, NotebookLlama Client, PostgreSQL Database, SharePoint DB Models, SharePoint Sync Celery Tasks, Conversation & Message Models, Notebook Session Model - -### Community 74 - "Community 74" -Cohesion: 0.33 -Nodes (6): ApiKeyCreate, ApiKeyCreatedResponse, ApiKeyResponse, Pydantic schemas for API key management, Response for listing — never includes the raw key or hash., Returned only once at creation — includes the full raw key. - -### Community 75 - "Community 75" -Cohesion: 0.33 -Nodes (5): health_check(), liveness(), Health Check Endpoints - System Status Monitoring, Simple liveness probe — no dependency checks., Readiness check — verifies PostgreSQL, Redis, Qdrant. Returns 503 when any s - -### Community 76 - "Community 76" -Cohesion: 0.33 -Nodes (5): Announcement, Announcement, Announcement model — feature announcements shown in notification bell, AnnouncementCreate, Config - -### Community 77 - "Community 77" -Cohesion: 0.33 -Nodes (5): MessageToolCall, Tool Definition and Message Tool Call models, Registry of available tools, Audit log for tool invocations within messages, ToolDefinition - -### Community 78 - "Community 78" -Cohesion: 0.40 -Nodes (5): Web Scraper — extract clean text from URLs using trafilatura, Validate and normalize URL., Fetch and extract main content from a URL. Args: url: The URL to sc, scrape_url(), validate_url() - -### Community 79 - "Community 79" -Cohesion: 0.33 -Nodes (6): create_region(), get_regions(), Get all regions with department counts, update_region(), RegionListResponse, RegionResponse - -### Community 80 - "Community 80" -Cohesion: 0.33 -Nodes (6): create_department(), get_departments(), Get departments, optionally filtered by region, Create a new department, update_department(), DepartmentResponse - -### Community 81 - "Community 81" -Cohesion: 0.33 -Nodes (5): list_tools(), Admin Tool Management Endpoints, List all tool definitions with their enabled status, Enable/disable a tool or change its allowed modes, update_tool() - -### Community 82 - "Community 82" -Cohesion: 0.40 -Nodes (4): SystemPrompt Model — Configurable system prompts per mode, System prompts for different conversation modes, SystemPrompt, SystemPrompt - -### Community 83 - "Community 83" -Cohesion: 0.40 -Nodes (3): process_document(), Cloud Run HTTP service for document processing. Endpoints: GET /health, Extract text and chunk a document. Returns chunks as JSON — no Qdrant, no embedd - -### Community 84 - "Community 84" -Cohesion: 0.40 -Nodes (5): get_all_users(), Update user features and settings (super_admin only), Get all users with filtering and pagination (super_admin only), update_user(), _user_to_response() - -### Community 85 - "Community 85" -Cohesion: 0.40 -Nodes (4): downgrade(), Update notebook_sessions and uploaded_files tables to match the actual Noteb, Revert changes back to original structure, upgrade() - -### Community 86 - "Community 86" -Cohesion: 0.50 -Nodes (3): get_db(), Database configuration and session management Uses async SQLAlchemy with asyncpg, Dependency for FastAPI to get database session Usage: db: AsyncSession = Dep - -### Community 88 - "Community 88" -Cohesion: 0.50 -Nodes (3): Agent, Agent model — configurable AI agents replacing hardcoded chat modes, Configurable AI agent entity. Replaces the hardcoded rag/assistant mode sys - -### Community 89 - "Community 89" -Cohesion: 0.50 -Nodes (3): celery_healthcheck(), Celery Application Configuration Broker: Redis Result backend: Redis Usage (in, Simple task used to verify worker is alive. - -### Community 91 - "Community 91" -Cohesion: 0.83 -Nodes (4): Oliver Brand Identity, Oliver Logo Jump (Animated GIF), Oliver Logo White (Animated GIF), Oliver Logo White (PNG) - -### Community 109 - "Community 109" -Cohesion: 1.00 -Nodes (3): Nexus Brand Identity, Nexus Logo Light (PNG), Nexus Logo (PNG) - -## Knowledge Gaps -- **261 isolated node(s):** `config`, `config`, `name`, `version`, `private` (+256 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **59 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `SharePointSource Model` connect `Community 19` to `Community 65`, `Community 34`, `Community 3`, `Community 4`, `Community 68`, `Community 9`, `Community 10`, `Community 11`, `Community 44`, `Community 17`, `Community 23`?** - _High betweenness centrality (0.187) - this node is a cross-community bridge._ -- **Why does `LLMFactory` connect `Community 17` to `Community 1`, `Community 58`, `Community 4`, `Community 20`, `Community 26`?** - _High betweenness centrality (0.163) - this node is a cross-community bridge._ -- **Why does `ToolResult` connect `Community 26` to `Community 49`, `Community 20`, `Community 17`, `Community 33`?** - _High betweenness centrality (0.072) - this node is a cross-community bridge._ -- **Are the 14 inferred relationships involving `SharePointSource Model` (e.g. with `document_processor.py` and `graph_token_manager.py`) actually correct?** - _`SharePointSource Model` has 14 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `config`, `config`, `name` to the rest of the system?** - _623 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.052525252525252523 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05052790346907994 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/ferrero-ac-creator-structure.md b/wiki/architecture/ferrero-ac-creator-structure.md deleted file mode 100644 index 6a7afd9..0000000 --- a/wiki/architecture/ferrero-ac-creator-structure.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -tags: [architecture, graphify, ferrero-ac-creator] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ferrero-ac-creator (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 47 nodes · 63 edges · 7 communities (3 shown, 4 thin omitted) -- Extraction: 89% EXTRACTED · 11% INFERRED · 0% AMBIGUOUS · INFERRED: 7 edges (avg confidence: 0.91) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] - -## God Nodes (most connected - your core abstractions) -1. `index.html - AC Booking Tool Frontend` - 21 edges -2. `CLAUDE.md - Developer Guidance` - 9 edges -3. `Ferrero AC Booking Tool README` - 6 edges -4. `runAnalyse()` - 5 edges -5. `CSV Export Feature` - 5 edges -6. `server.js - Node.js Server` - 4 edges -7. `Send to OMG Feature` - 4 edges -8. `Title Generation Logic` - 3 edges -9. `Bulk Edit Modal` - 3 edges -10. `Dropdown Data (Asset Types, Media Types, Aspect Ratios, ISO Codes)` - 3 edges - -## Surprising Connections (you probably didn't know these) -- `login.html - Login Page` --references--> `index.html - AC Booking Tool Frontend` [EXTRACTED] - login.html → index.html -- `Ferrero AC Booking Tool README` --references--> `index.html - AC Booking Tool Frontend` [EXTRACTED] - Readme.md → index.html -- `CLAUDE.md - Developer Guidance` --references--> `index.html - AC Booking Tool Frontend` [EXTRACTED] - CLAUDE.md → index.html -- `CLAUDE.md - Developer Guidance` --references--> `server.js - Node.js Server` [EXTRACTED] - CLAUDE.md → Readme.md -- `CLAUDE.md - Developer Guidance` --references--> `CSV Export Feature` [EXTRACTED] - CLAUDE.md → index.html - -## Communities (7 total, 4 thin omitted) - -### Community 1 - "Community 1" -Cohesion: 0.17 -Nodes (8): CREDENTIALS, crypto, fs, http, MIME_TYPES, path, server, sessions - -### Community 2 - "Community 2" -Cohesion: 0.32 -Nodes (8): Cross-project Knowledge Wiki (Obsidian), CLAUDE.md - Developer Guidance, Dropdown Data (Asset Types, Media Types, Aspect Ratios, ISO Codes), Input Table (AC Generator), Output Table (Analysed Output), runAnalyse(), Title Generation Logic, AC_Booking.xlsx - Source Excel Reference - -### Community 3 - "Community 3" -Cohesion: 0.39 -Nodes (8): CSV Export Feature, openCampaignModal(), CSV Format (OMG Import Format), Project_2159544_mediaBookings.csv - Example OMG Export, Ferrero AC Booking Tool README, OMG Output Directory (Box folder path), Send to OMG Feature, server.js - Node.js Server - -## Knowledge Gaps -- **11 isolated node(s):** `http`, `fs`, `path`, `crypto`, `CREDENTIALS` (+6 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **4 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `index.html - AC Booking Tool Frontend` connect `Community 0` to `Community 2`, `Community 3`, `Community 5`?** - _High betweenness centrality (0.300) - this node is a cross-community bridge._ -- **Why does `CLAUDE.md - Developer Guidance` connect `Community 2` to `Community 0`, `Community 3`, `Community 5`?** - _High betweenness centrality (0.077) - this node is a cross-community bridge._ -- **Why does `Ferrero AC Booking Tool README` connect `Community 3` to `Community 0`, `Community 2`?** - _High betweenness centrality (0.061) - this node is a cross-community bridge._ -- **Are the 3 inferred relationships involving `runAnalyse()` (e.g. with `Title Generation Logic` and `Input Table (AC Generator)`) actually correct?** - _`runAnalyse()` has 3 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 2 inferred relationships involving `CSV Export Feature` (e.g. with `openCampaignModal()` and `Send to OMG Feature`) actually correct?** - _`CSV Export Feature` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `http`, `fs`, `path` to the rest of the system?** - _11 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/ford-gechub-sftp-structure.md b/wiki/architecture/ford-gechub-sftp-structure.md deleted file mode 100644 index 1153daf..0000000 --- a/wiki/architecture/ford-gechub-sftp-structure.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -tags: [architecture, graphify, ford-gechub-sftp] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ford-gechub-sftp (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 156 nodes · 245 edges · 11 communities (10 shown, 1 thin omitted) -- Extraction: 91% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 20 edges (avg confidence: 0.86) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] - -## God Nodes (most connected - your core abstractions) -1. `Ford Asset Pack SFTP Transfer System` - 20 edges -2. `Ford GECHUB SFTP Migration Documentation` - 14 edges -3. `process_folder()` - 12 edges -4. `Ford SFTP Migration to GECHUB - Implementation Notes` - 12 edges -5. `SFTPOpensshClient class` - 11 edges -6. `ford_asset_pack_sftp.py` - 10 edges -7. `Ford SFTP Daemon Mode Documentation` - 9 edges -8. `upload_to_sftp() function` - 9 edges -9. `SFTPOpensshClient` - 7 edges -10. `send_mailgun_notification()` - 7 edges - -## Surprising Connections (you probably didn't know these) -- `paramiko SSH/SFTP (legacy)` --semantically_similar_to--> `Legacy paramiko-based SFTP` [INFERRED] [semantically similar] - CLAUDE.md → ford_gechub_sftp_migration.md -- `Drives the system 'sftp' client using pexpect, mirroring the working CLI flags.` --rationale_for--> `SFTPOpensshClient class` [EXTRACTED] - test_sftp_upload.py → ford_gechub_sftp_migration.md -- `upload_to_sftp() function` --calls--> `SFTPOpensshClient` [EXTRACTED] - MIGRATION_NOTES.md → ford_asset_pack_sftp.py -- `process_folder()` --calls--> `upload_to_sftp() function` [EXTRACTED] - ford_asset_pack_sftp.py → MIGRATION_NOTES.md -- `Upload a file to SFTP using OpenSSH sftp client with dual-factor authentication.` --rationale_for--> `upload_to_sftp() function` [EXTRACTED] - ford_asset_pack_sftp.py → MIGRATION_NOTES.md - -## Communities (11 total, 1 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.09 -Nodes (33): DefaultNetwork, daemon_loop(), download_zip_from_box(), get_box_client(), _load_email_recipients_from_csv(), main(), move_box_file_to_archive(), process_folder() (+25 more) - -### Community 1 - "Community 1" -Cohesion: 0.13 -Nodes (29): Box SDK JWT Authentication, CLAUDE.md - Project Context, Mailgun API Integration, paramiko SSH/SFTP (legacy), Ford SFTP Daemon Mode Documentation, Rate-Limited Error Notifications, Retry with Exponential Backoff, Signal Handling (SIGTERM/SIGINT) (+21 more) - -### Community 2 - "Community 2" -Cohesion: 0.15 -Nodes (14): _dq(), load_config(), main(), Uploads a file using 'put "" "/"'., Load SFTP configuration for the specified environment from .env file., Validate that the test file exists and is readable., Test SFTP upload for a specific environment., Wrap string for sftp command quoting, escaping internal double-quotes. (+6 more) - -### Community 3 - "Community 3" -Cohesion: 0.16 -Nodes (14): export_csv(), index(), _parse_date_params(), Upload history report server for Ford Asset Pack SFTP. Serves a single-page web, Parse and validate date range query parameters. Returns (start, end) as date str, get_summary_stats(), init_db(), query_uploads() (+6 more) - -### Community 4 - "Community 4" -Cohesion: 0.21 -Nodes (10): _dq(), load_config(), main(), Drives the system 'sftp' client using pexpect, mirroring the working CLI flags., Drive login until we reach 'sftp>' or fail. Handles: - first-t, Uploads a file using 'put "" "/"'., Wrap for sftp command quoting, escaping internal double-quotes., setup_logging() (+2 more) - -### Community 5 - "Community 5" -Cohesion: 0.21 -Nodes (12): load_config(), Load SFTP configuration for the specified environment (prod, qa, or edu) from .e, Upload a file to SFTP using OpenSSH sftp client with dual-factor authentication., Dual-Factor SFTP Authentication, Legacy paramiko-based SFTP, Ford SFTP Migration to GECHUB - Implementation Notes, load_config(environment) function, process_folder() function (+4 more) - -### Community 6 - "Community 6" -Cohesion: 0.22 -Nodes (7): _dq(), Wrap string for sftp command quoting, escaping internal double-quotes., Drives the system 'sftp' client using pexpect, mirroring the working CLI flags., Build the sftp command with proper authentication flags., Drive login until we reach 'sftp>' or fail. Handles: - first-t, Uploads a file using 'put "" "/"'., SFTPOpensshClient - -### Community 7 - "Community 7" -Cohesion: 0.33 -Nodes (8): generate_excel(), _load_recipients(), main(), Weekly upload report emailer for Ford Asset Pack SFTP. Generates an Excel repor, Send the Excel report via Mailgun as an email attachment., Build an Excel workbook and return its bytes., send_report_email(), _thin_border() - -### Community 8 - "Community 8" -Cohesion: 0.33 -Nodes (6): CSV Export endpoint (/export), Flask Jinja2 Template (report), report.html - Upload Report Template, Upload History Database, Flask, openpyxl - -## Ambiguous Edges - Review These -- `openpyxl` → `CSV Export endpoint (/export)` [AMBIGUOUS] - requirements.txt · relation: conceptually_related_to - -## Knowledge Gaps -- **10 isolated node(s):** `allow`, `cryptography`, `Flask`, `openpyxl`, `test_sftp_upload.py` (+5 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **What is the exact relationship between `openpyxl` and `CSV Export endpoint (/export)`?** - _Edge tagged AMBIGUOUS (relation: conceptually_related_to) - confidence is low._ -- **Why does `upload_to_sftp() function` connect `Community 5` to `Community 0`, `Community 2`, `Community 6`?** - _High betweenness centrality (0.407) - this node is a cross-community bridge._ -- **Why does `Ford SFTP Migration to GECHUB - Implementation Notes` connect `Community 5` to `Community 1`, `Community 2`?** - _High betweenness centrality (0.263) - this node is a cross-community bridge._ -- **Why does `process_folder()` connect `Community 0` to `Community 3`, `Community 5`?** - _High betweenness centrality (0.246) - this node is a cross-community bridge._ -- **What connects `Upload history database layer for Ford Asset Pack SFTP reporting. Stores all fi`, `Create the upload_history table and indexes if they don't exist.`, `Insert a single upload event record.` to the rest of the system?** - _55 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.0907563025210084 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.12807881773399016 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/ford_qc-structure.md b/wiki/architecture/ford_qc-structure.md deleted file mode 100644 index 40bcb8b..0000000 --- a/wiki/architecture/ford_qc-structure.md +++ /dev/null @@ -1,284 +0,0 @@ ---- -tags: [architecture, graphify, ford_qc] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ford_qc (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 548 nodes · 782 edges · 86 communities (37 shown, 49 thin omitted) -- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 14 edges (avg confidence: 0.79) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] - -## God Nodes (most connected - your core abstractions) -1. `html_reporter` - 29 edges -2. `html_error_reporter` - 24 edges -3. `run_check(config) Interface` - 17 edges -4. `_format_details()` - 16 edges -5. `process_files()` - 14 edges -6. `_write_tmp()` - 14 edges -7. `QC Checks Reference` - 14 edges -8. `_config()` - 13 edges -9. `build_content_story()` - 12 edges -10. `_series_item()` - 12 edges - -## Surprising Connections (you probably didn't know these) -- `v1 Broken Error Log` --references--> `unzip_and_verify_check` [INFERRED] - v1-broken/error_log.txt → checks/unzip_and_verify_check.py -- `extra_carousel_validation_check` --references--> `WERS Feature Codes` [EXTRACTED] - checks/extra_carousel_validation_check.py → documentation/02-data-model.md -- `zip_filename_check` --implements--> `run_check(config) Interface` [INFERRED] - checks/zip_filename_check.py → documentation/07-extending-the-system.md -- `business_data_check` --implements--> `run_check(config) Interface` [INFERRED] - checks/business_data_check.py → documentation/07-extending-the-system.md -- `Reports & Output` --references--> `html_reporter` [EXTRACTED] - documentation/05-reporting.md → checks/html_reporter.py - -## Communities (86 total, 49 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (54): html_error_reporter, _build_error_header(), _build_error_html(), _build_head(), _build_scripts(), _format_error_details(), _format_exception_info(), generate_error_report() (+46 more) - -### Community 1 - "Community 1" -Cohesion: 0.07 -Nodes (22): Exception, BOX_CONFIG_PATH(), BOX_CONNECTION_TIMEOUT(), BOX_READ_TIMEOUT(), Config, ConfigurationError, DOWNLOAD_PATH(), MAX_RETRIES() (+14 more) - -### Community 2 - "Community 2" -Cohesion: 0.11 -Nodes (31): Flowable, build_content_story(), build_styles(), build_table_flowable(), build_toc_flowables(), ChapterTitleSetter, CoverPage, embed_diagram() (+23 more) - -### Community 3 - "Community 3" -Cohesion: 0.14 -Nodes (27): html_reporter, _build_asset_summary(), _build_head(), _build_html_template(), _build_scripts(), _format_business_data(), _format_case_violations(), _format_details() (+19 more) - -### Community 4 - "Community 4" -Cohesion: 0.20 -Nodes (26): _config(), _cv_record(), _pv_record(), _ranger_record(), Write a linkingrecord dict to a temp file; return its directory., CV pack: series carousel entry has no backing exterior/interior images., CV pack: base image code has no matching series entry., Exact user-reported failure: ambl2/se#r1 series exists but all backing images re (+18 more) - -### Community 5 - "Community 5" -Cohesion: 0.10 -Nodes (10): BaseCheck, check_id, description, enabled, name, severity, source, type (+2 more) - -### Community 6 - "Community 6" -Cohesion: 0.15 -Nodes (19): image_format_check, Check that each image in linkingrecord.json matches the expected file format (PN, run_check(), image_resolution_check, Check that each image in linkingrecord.json matches the specified resolution, run_check(), mec_powertrain_validation, MEC Powertrain Validation Check Logic: 1. Check if this is a MEC sc (+11 more) - -### Community 7 - "Community 7" -Cohesion: 0.14 -Nodes (17): image_linking_check, Check that all .jpg/.jpeg/.png images (case-insensitive) in the working director, run_check(), missing_images_check, Check for missing images defined in linkingrecord.json with enhanced validation., run_check(), Architecture & Data Flow, Deployment & Operations (+9 more) - -### Community 8 - "Community 8" -Cohesion: 0.23 -Nodes (19): _config(), _item(), Records that differ only in paint code (pn*) should still pair correctly., MEC items (experienceCondition='2d-background') are checked in their own bucket., No exterior or interior base records at angle 21 → not applicable, passes., Items with a non-zero layer should not be treated as base records., Transmission on ext side and trim on int side must NOT cause a failure., An exterior signature at angle 21 with no matching interior should fail. (+11 more) - -### Community 9 - "Community 9" -Cohesion: 0.16 -Nodes (16): get_skipped_types_info(), prepare_skipped_result(), Test colour_existence_check with local implementations of utility functions., Test that unknown viewtype/imagetype combinations are skipped and recorded., Convert the skipped types dictionary to a format suitable for reporting., Simplified version of colour_existence_check., record_skipped_type(), run_check() (+8 more) - -### Community 10 - "Community 10" -Cohesion: 0.29 -Nodes (17): carousel, exterior, interior, bodystyle, colour, extra, powertrain, series (+9 more) - -### Community 11 - "Community 11" -Cohesion: 0.15 -Nodes (12): Run QC checks using a QC profile and return the results as a JSON string. :, Import and run a single QC check module. The module specified by 'scrip, Run all QC checks defined in the given QC profile JSON file. :param pro, run_qc_checks(), run_qc_profile(), run_single_check(), main(), Test script to verify the MEC/BAU determination is correctly passed between chec (+4 more) - -### Community 12 - "Community 12" -Cohesion: 0.27 -Nodes (11): find_missing_files(), find_orphan_files(), list_files_recursively(), load_json_data(), main(), process_zip_file(), Wait for a file to settle (finish copying) before processing., report_missing_files() (+3 more) - -### Community 13 - "Community 13" -Cohesion: 0.23 -Nodes (12): check_series_permutations, _autodetect_mode(), _extract_key(), _format_key(), _is_ranger_model(), Detect series coding mode for non-Ranger packs by scanning base image features., Extract a hashable series key from a record's features list. ABM-only mode:, Detect if this is a Ranger (CV) model pack by checking header.ptvl. Ranger p (+4 more) - -### Community 14 - "Community 14" -Cohesion: 0.21 -Nodes (12): layer_depth_check, Check that the layer property value matches the layer depth in the filename for, run_check(), unzip_and_verify_check, Validate that all filenames referenced in the linking record use allowed file ty, Recursively scan the working directory for files that are not in the allowed whi, run_check(), scan_for_extraneous_files() (+4 more) - -### Community 15 - "Community 15" -Cohesion: 0.17 -Nodes (11): check_id, config, base_path, ignore_patterns, required_extensions, description, enabled, name (+3 more) - -### Community 16 - "Community 16" -Cohesion: 0.18 -Nodes (10): fullLoad, header, numericalMmy, ptvl, specMarket, items, market, model (+2 more) - -### Community 17 - "Community 17" -Cohesion: 0.18 -Nodes (10): fullLoad, header, numericalMmy, ptvl, specMarket, items, market, model (+2 more) - -### Community 18 - "Community 18" -Cohesion: 0.18 -Nodes (10): fullLoad, header, numericalMmy, ptvl, specMarket, items, market, model (+2 more) - -### Community 19 - "Community 19" -Cohesion: 0.20 -Nodes (9): business_data_check, colour_existence_check, Verify that there is at least one 'colour' imagetype in linkingrecord.json,, run_check(), zip_filename_check, Validates that the zip file name ends with the required suffix. Ford image, run_check(), run_check(config) Interface (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.22 -Nodes (8): passphrase, privateKey, publicKeyID, boxAppSettings, appAuth, clientID, clientSecret, enterpriseID - -### Community 21 - "Community 21" -Cohesion: 0.25 -Nodes (7): file_size_check, Check that all present images do not exceed their maximum allowed file size., run_check(), lifestyle_inventory_validation, Lifestyle and Inventory Validation Check Requirements: 1. For viewt, run_check(), Test that the checks gracefully handle unknown viewtype/imagetype combinations. - -### Community 22 - "Community 22" -Cohesion: 0.29 -Nodes (7): Test colour_existence_check module's handling of unknown viewtype/imagetype comb, Setup a temporary working directory with test files., Test that unknown viewtype/imagetype combinations are skipped and recorded., Test handling when no colour imagetype is found, but unknown types are present., setup_test_environment(), test_no_colour_imagetype(), test_unknown_viewtypes() - -### Community 23 - "Community 23" -Cohesion: 0.38 -Nodes (7): beltline_validation_check, Scan the filesystem for beltline image files. Looks for files matching patt, Validate a set of beltline frames (desktop or mobile). Args: items:, Comprehensive Beltline Validation Check Validates beltline images with the, run_check(), scan_filesystem_for_beltline_files(), validate_frame_set() - -### Community 24 - "Community 24" -Cohesion: 0.33 -Nodes (7): extra_carousel_validation_check, check_feature_in_filename(), Validate features in a single record against available image files. Args:, Simple case-sensitive substring search. Args: feature: WERS code to, Enhanced Extra Carousel Images Validation Check Validates that carousel/ext, run_check(), validate_record_features() - -### Community 25 - "Community 25" -Cohesion: 0.40 -Nodes (5): Simple test that creates a minimal test environment to verify colour_existence_c, Simplified version of the colour_existence_check to test functionality., Run a simple test of the check., run_simple_check(), run_test() - -### Community 27 - "Community 27" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 28 - "Community 28" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 29 - "Community 29" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 30 - "Community 30" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 31 - "Community 31" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 32 - "Community 32" -Cohesion: 0.50 -Nodes (3): checks, profile, timestamp - -### Community 33 - "Community 33" -Cohesion: 0.50 -Nodes (3): create_test_file(), Create a test file of the specified size., Test the file size check with different file sizes. - -## Knowledge Gaps -- **94 isolated node(s):** `profile`, `timestamp`, `checks`, `clientID`, `clientSecret` (+89 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **49 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `check_series_permutations` connect `Community 13` to `Community 19`, `Community 4`, `Community 6`, `Community 7`?** - _High betweenness centrality (0.052) - this node is a cross-community bridge._ -- **Why does `html_reporter` connect `Community 3` to `Community 0`, `Community 7`?** - _High betweenness centrality (0.039) - this node is a cross-community bridge._ -- **Why does `html_error_reporter` connect `Community 0` to `Community 7`?** - _High betweenness centrality (0.036) - this node is a cross-community bridge._ -- **Are the 2 inferred relationships involving `run_check(config) Interface` (e.g. with `zip_filename_check` and `business_data_check`) actually correct?** - _`run_check(config) Interface` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `process_files()` (e.g. with `generate_network_error_report()` and `generate_qc_check_error_report()`) actually correct?** - _`process_files()` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Handle shutdown signals gracefully.`, `Decorator to retry a function with exponential backoff on timeout/connection err`, `Create a Box client with configured timeouts using internal patching for boxsdk` to the rest of the system?** - _240 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05454545454545454 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/gmal-scope-builder-structure.md b/wiki/architecture/gmal-scope-builder-structure.md deleted file mode 100644 index 0a4cf60..0000000 --- a/wiki/architecture/gmal-scope-builder-structure.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -tags: [architecture, graphify, gmal-scope-builder] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/gmal-scope-builder (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 483 nodes · 698 edges · 43 communities (32 shown, 11 thin omitted) -- Extraction: 87% EXTRACTED · 13% INFERRED · 0% AMBIGUOUS · INFERRED: 88 edges (avg confidence: 0.72) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] - -## God Nodes (most connected - your core abstractions) -1. `Base` - 20 edges -2. `compilerOptions` - 17 edges -3. `ProjectView()` - 16 edges -4. `ModelType` - 12 edges -5. `Documentation README` - 12 edges -6. `GmalEditor()` - 11 edges -7. `call_claude()` - 11 edges -8. `AGENTS.md — AI Agent Guide` - 11 edges -9. `CLAUDE.md — Developer Quick Reference` - 11 edges -10. `export_excel()` - 10 edges - -## Surprising Connections (you probably didn't know these) -- `Named efficiency profile (Conservative, Moderate, Aggressive, Custom).` --rationale_for--> `Efficiency Profile` [EXTRACTED] - backend/app/models/feedback.py → docs/reference/README.md -- `A BTG tool that provides additional efficiency.` --rationale_for--> `Tool Efficiency` [EXTRACTED] - backend/app/models/feedback.py → docs/reference/README.md -- `Per-discipline efficiency delta for a specific tool.` --rationale_for--> `Tool Efficiency` [EXTRACTED] - backend/app/models/feedback.py → docs/reference/README.md -- `AGENTS.md — AI Agent Guide` --references--> `Architecture Doc` [EXTRACTED] - AGENTS.md → docs/project/architecture.md -- `AGENTS.md — AI Agent Guide` --references--> `API Specification Doc` [EXTRACTED] - AGENTS.md → docs/project/api_spec.md - -## Communities (43 total, 11 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (46): accounts, api, get_stats(), AuthProvider(), loginRequest, msalConfig, msalInstance, UserInfo (+38 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (56): ADR-001: Claude tool_use for Structured Output, ADR-002: Immutable model_type, AGENTS.md — AI Agent Guide, AI Descriptions Service, AI Matching Service, Efficiency API Routes (api/efficiency.py), GMAL API Routes (api/gmal.py), Ingest API Routes (api/ingest.py) (+48 more) - -### Community 2 - "Community 2" -Cohesion: 0.08 -Nodes (42): create_profile(), _ensure_presets(), get_profile(), list_profiles(), list_tools(), Efficiency profiles and tool efficiency endpoints., Update rates for a profile. Body: {"rates": {"Creative": 40, "Production": 55, ., Create a custom profile. Body: {"name": "My Profile", "rates": {...}} (+34 more) - -### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (42): analyze_brief_endpoint(), _background_match(), cancel_matching_endpoint(), expand_tiers_endpoint(), get_brief_analysis(), _get_project(), get_tier_mapping(), list_matches() (+34 more) - -### Community 4 - "Community 4" -Cohesion: 0.07 -Nodes (34): _background_parse(), Run AI parsing and save results in the background (own DB session)., ai_debug(), ai_usage(), ai_usage_reset(), _match_single_asset(), Run a single match call to Claude (synchronous, for use in thread pool)., deep_pass1_structure_analysis() (+26 more) - -### Community 5 - "Community 5" -Cohesion: 0.08 -Nodes (34): build_project_ratecard(), export_excel(), export_pdf(), _get_project(), get_ratecard(), get_team_shape(), Ratecard build and export endpoints., Get team shape (FTE per role) calculated from the ratecard. Can use either: (+26 more) - -### Community 6 - "Community 6" -Cohesion: 0.13 -Nodes (22): ingest_gmal_data(), GMAL data ingestion endpoint., Ingest GMAL data from Excel file. If no file is uploaded, uses the default, BaseModel, Client Asset, Config, GmalAssetBrief, GmalAssetDetail (+14 more) - -### Community 7 - "Community 7" -Cohesion: 0.09 -Nodes (21): dependencies, axios, @azure/msal-browser, @azure/msal-react, lucide-react, react, react-dom, react-router-dom (+13 more) - -### Community 8 - "Community 8" -Cohesion: 0.12 -Nodes (17): generate_all_descriptions(), generate_single_description(), get_asset(), get_asset_family(), GMAL asset browse/search endpoints., Generate AI-enhanced descriptions for all GMAL assets., Generate/regenerate AI-enhanced description for a single GMAL asset., Get all complexity variants (family) for a GMAL asset. (+9 more) - -### Community 9 - "Community 9" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowImportingTsExtensions, isolatedModules, jsx, lib, module, moduleDetection, moduleResolution (+10 more) - -### Community 10 - "Community 10" -Cohesion: 0.23 -Nodes (14): _float(), _int(), _load_asset_list(), _load_role_mappings(), _load_routes(), _load_service_lines(), parse_gmal_workbook(), Parse the GMAL Excel workbook into database records. (+6 more) - -### Community 11 - "Community 11" -Cohesion: 0.20 -Nodes (12): get_current_user_info(), get_or_create_user(), list_users(), User management and role-based access control endpoints., Get or create an AppUser from the auth user dict., Check that the current user has at least the given role., List all users (admin only)., Change a user's role (admin only). (+4 more) - -### Community 12 - "Community 12" -Cohesion: 0.15 -Nodes (12): author, description, devDependencies, @playwright/test, @types/node, keywords, license, main (+4 more) - -### Community 13 - "Community 13" -Cohesion: 0.22 -Nodes (10): ADR-003: Azure AD JWT Authentication, Users API Routes (api/users.py), Auth Middleware (auth.py), Frontend App (App.tsx), Frontend Auth (auth/AuthProvider.tsx), Axios Client (api/client.ts), Azure Active Directory Auth, Frontend index.html (+2 more) - -### Community 14 - "Community 14" -Cohesion: 0.39 -Nodes (6): create_project(), get_project(), list_projects(), _project_out(), Project CRUD endpoints., update_project() - -### Community 15 - "Community 15" -Cohesion: 0.50 -Nodes (3): Config, Settings, BaseSettings - -### Community 17 - "Community 17" -Cohesion: 0.50 -Nodes (4): Feedback ORM Models (models/feedback.py), DB Table: efficiency_profiles, DB Table: efficiency_rates, DB Table: match_feedback - -### Community 21 - "Community 21" -Cohesion: 0.67 -Nodes (3): Database Engine (database.py), asyncpg, SQLAlchemy (asyncio) - -## Knowledge Gaps -- **100 isolated node(s):** `name`, `private`, `version`, `type`, `dev` (+95 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **11 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Ratecard` connect `Community 5` to `Community 0`, `Community 1`, `Community 6`?** - _High betweenness centrality (0.152) - this node is a cross-community bridge._ -- **Why does `Efficiency Profile` connect `Community 2` to `Community 1`, `Community 17`?** - _High betweenness centrality (0.107) - this node is a cross-community bridge._ -- **Are the 18 inferred relationships involving `Base` (e.g. with `ModelType` and `GmalAsset`) actually correct?** - _`Base` has 18 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `name`, `private`, `version` to the rest of the system?** - _185 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05961426066627703 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.06233766233766234 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.07993197278911565 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/hm-o2e-tool-structure.md b/wiki/architecture/hm-o2e-tool-structure.md deleted file mode 100644 index 1789f43..0000000 --- a/wiki/architecture/hm-o2e-tool-structure.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -tags: [architecture, graphify, hm-o2e-tool] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hm-o2e-tool (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 31 nodes · 38 edges · 7 communities (5 shown, 2 thin omitted) -- Extraction: 76% EXTRACTED · 24% INFERRED · 0% AMBIGUOUS · INFERRED: 9 edges (avg confidence: 0.86) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 6|Community 6]] - -## God Nodes (most connected - your core abstractions) -1. `initializeApp Function` - 8 edges -2. `OMG Static H&M Application` - 7 edges -3. `OMG Static H&M README` - 7 edges -4. `One2Edit Session Management` - 6 edges -5. `Image Matching Algorithm` - 6 edges -6. `config.php Configuration Endpoint` - 4 edges -7. `Relink Images Action` - 3 edges -8. `One2Edit API` - 3 edges -9. `permissions` - 2 edges -10. `loadConfig Function` - 2 edges - -## Surprising Connections (you probably didn't know these) -- `buildApiUrl Function` --conceptually_related_to--> `One2Edit API` [INFERRED] - index.html → README.md -- `Relink Images Action` --conceptually_related_to--> `Image Matching Algorithm` [INFERRED] - index.html → README.md -- `Image Status Action` --conceptually_related_to--> `One2Edit Session Management` [INFERRED] - index.html → README.md -- `Export INDD Action` --conceptually_related_to--> `One2Edit Session Management` [INFERRED] - index.html → README.md -- `Export PDF Action` --conceptually_related_to--> `One2Edit Session Management` [INFERRED] - index.html → README.md - -## Communities (7 total, 2 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.31 -Nodes (9): Action Select Dropdown, Export INDD Action, Export PDF Action, generateVariableInputs Function, Image Status Action, initializeApp Function, Ratio Check Action, Relink Images Action (+1 more) - -### Community 1 - "Community 1" -Cohesion: 0.38 -Nodes (7): OMG Static H&M Application, buildApiUrl Function, config.php Configuration Endpoint, initAuth Function, loadConfig Function, MSAL Browser Library, showApp Function - -### Community 2 - "Community 2" -Cohesion: 0.38 -Nodes (7): Campaign Folder Structure, CMYK Detection Logic, H&M CMYK Logo Asset, H&M sRGB Logo Asset, Image Matching Algorithm, OMG Static H&M README, One2Edit API - -## Knowledge Gaps -- **8 isolated node(s):** `allow`, `Action Select Dropdown`, `showApp Function`, `logDebug Function`, `generateVariableInputs Function` (+3 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `OMG Static H&M Application` connect `Community 1` to `Community 0`, `Community 2`?** - _High betweenness centrality (0.206) - this node is a cross-community bridge._ -- **Why does `initializeApp Function` connect `Community 0` to `Community 1`?** - _High betweenness centrality (0.202) - this node is a cross-community bridge._ -- **Why does `OMG Static H&M README` connect `Community 2` to `Community 0`, `Community 1`?** - _High betweenness centrality (0.164) - this node is a cross-community bridge._ -- **Are the 5 inferred relationships involving `One2Edit Session Management` (e.g. with `Relink Images Action` and `Image Status Action`) actually correct?** - _`One2Edit Session Management` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 2 inferred relationships involving `Image Matching Algorithm` (e.g. with `Relink Images Action` and `CMYK Detection Logic`) actually correct?** - _`Image Matching Algorithm` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `allow`, `Action Select Dropdown`, `showApp Function` to the rest of the system?** - _8 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/hm_ems_report-structure.md b/wiki/architecture/hm_ems_report-structure.md deleted file mode 100644 index 8c2997f..0000000 --- a/wiki/architecture/hm_ems_report-structure.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -tags: [architecture, graphify, hm_ems_report] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hm_ems_report (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 174 nodes · 311 edges · 12 communities (10 shown, 2 thin omitted) -- Extraction: 80% EXTRACTED · 20% INFERRED · 0% AMBIGUOUS · INFERRED: 61 edges (avg confidence: 0.88) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 11|Community 11]] - -## God Nodes (most connected - your core abstractions) -1. `DALIM SOFTWARE (Processing Tool)` - 19 edges -2. `Campaign Image 1022A_1308392001_202502_PP_0072` - 19 edges -3. `DALIM SOFTWARE` - 16 edges -4. `Campaign Image 1022A_06_2271` - 14 edges -5. `DALIM SOFTWARE` - 12 edges -6. `1022A_03_1344 Campaign Image` - 11 edges -7. `server.py (Flask Backend)` - 10 edges -8. `1022A_1307335001_202502_LB_0604 Campaign Image` - 9 edges -9. `1022A_1299446001_202502_LB_0122 Campaign Image` - 8 edges -10. `Automation LR Processing Pipeline` - 8 edges - -## Surprising Connections (you probably didn't know these) -- `IMAGE_MAP - Article to Image Path Mapping` --references--> `2023_05.jpg Campaign Image` [INFERRED] - static/index.html → campaign_images/2026/2023/Automation_LR/2023_05.jpg -- `IMAGE_MAP - Article to Image Path Mapping` --conceptually_related_to--> `Automation LR Campaign 2023` [INFERRED] - static/index.html → campaign_images/2026/2023/Automation_LR/2023_05.jpg -- `list_files()` --calls--> `_get_campaign_prefix()` [INFERRED] - server.py → html_generator.py -- `Apache Reverse Proxy Config` --references--> `server.py (Flask Backend)` [INFERRED] - DEPLOY.md → README.md -- `load_campaign()` --calls--> `_get_campaign_prefix()` [INFERRED] - server.py → html_generator.py - -## Communities (12 total, 2 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.11 -Nodes (40): 1022A_01_217_CEN.jpg Campaign Image, 1022A_02_738_CEN Campaign Image, 1022A_02_850.jpg Campaign Image, Campaign Image 1022A 06 2280, 1022A_07_2481 Campaign Image, 1022A_08_2927 Campaign Image, Campaign Image 1022A Window Drop 1, 1022A_1022_Window_Drop_1_kids.jpg Campaign Image (+32 more) - -### Community 1 - "Community 1" -Cohesion: 0.09 -Nodes (24): _build_html(), _copy_campaign_images(), generate_html_site(), _get_all_image_filenames(), _get_campaign_prefix(), _get_main_image_filename(), HTML Site Generator for H&M EMS Product Data. Generates a self-contained HTML p, Extract the main campaign image filename from the Filename field. Returns th (+16 more) - -### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (27): Approval & Approval State System, Changelog System (*_changelog.json), Environment Variables (IMAGE_BASE_PATH, MASTER_JSON_DIR, PORT), file_lock (Thread-safe JSON write), Image Handling (tif to jpg conversion), LANGUAGE_DISPLAY_NAMES (60+ locale mappings), Path Traversal Protection, Server Mode (server.py Flask App) (+19 more) - -### Community 3 - "Community 3" -Cohesion: 0.10 -Nodes (27): 2023_05.jpg Campaign Image, Automation LR Campaign 2023, Automation LR Campaign 2023, Adobe Photoshop, XMP Metadata, DALIM SOFTWARE Processing Tool, API Endpoint /hm-ems-report/api/load/:filename, approvals - Approval State (+19 more) - -### Community 4 - "Community 4" -Cohesion: 0.15 -Nodes (18): Campaign Image 1022A_1308392001_202502_PP_0072, Campaign Image 1022A_1310813001_202502_PP_0529, Campaign Image 1022A_1314219001_202502_PP_0104, Automation LR Processing Pipeline, LB (Lookbook) Images, Lookbook (LB) Image Type, PP (Product Photography) Images, Product Page (PP) Image Type (+10 more) - -### Community 5 - "Community 5" -Cohesion: 0.32 -Nodes (18): 1022A_03_1344 Campaign Image, Campaign Image 1022A_05_2116, Campaign Image 1022A_06_2271, Campaign Image 1303267001 202502 LB 0256, Campaign Image 1303267001 202502 PP 0067, Campaign Image 1307335001 202502 PP 0052, Campaign Image 1310813001 202502 LB 0798, Campaign Image 2023_08 (+10 more) - -### Community 8 - "Community 8" -Cohesion: 1.00 -Nodes (3): H&M EMS Platform, H&M EMS Review Tool Web App, Logout Page - -## Knowledge Gaps -- **30 isolated node(s):** `allow`, `Kids Window Display Drop`, `Product Photography (PP) Images`, `GET /images/// Endpoint`, `deploy.sh Deployment Script` (+25 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `DALIM SOFTWARE (Processing Tool)` connect `Community 0` to `Community 3`, `Community 4`, `Community 5`?** - _High betweenness centrality (0.205) - this node is a cross-community bridge._ -- **Why does `2023_05.jpg Campaign Image` connect `Community 3` to `Community 0`?** - _High betweenness centrality (0.179) - this node is a cross-community bridge._ -- **Are the 5 inferred relationships involving `Campaign 1022A` (e.g. with `Automation LR Processing Pipeline` and `Master_Json/ Directory`) actually correct?** - _`Campaign 1022A` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 2 inferred relationships involving `DALIM SOFTWARE (Processing Tool)` (e.g. with `Automation LR Processing Pipeline` and `Automation LR Campaign 2023`) actually correct?** - _`DALIM SOFTWARE (Processing Tool)` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 3 inferred relationships involving `Campaign Image 1022A_1308392001_202502_PP_0072` (e.g. with `Automation LR Processing Pipeline` and `Campaign Image 1022A_1310813001_202502_PP_0529`) actually correct?** - _`Campaign Image 1022A_1308392001_202502_PP_0072` has 3 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 4 inferred relationships involving `Campaign Image 1022A_06_2271` (e.g. with `Automation LR Processing Pipeline` and `Automation LR Processing Pipeline`) actually correct?** - _`Campaign Image 1022A_06_2271` has 4 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Flask server for H&M EMS Product Review Tool. Serves the review UI and provides`, `Load approval state from changelog - returns dict of approved keys.`, `Shared logic for approve/unapprove.` to the rest of the system?** - _40 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/hp-prod-tracker-structure.md b/wiki/architecture/hp-prod-tracker-structure.md deleted file mode 100644 index 8f552af..0000000 --- a/wiki/architecture/hp-prod-tracker-structure.md +++ /dev/null @@ -1,723 +0,0 @@ ---- -tags: [architecture, graphify, hp-prod-tracker] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/hp-prod-tracker (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 4312 nodes · 7391 edges · 165 communities (142 shown, 23 thin omitted) -- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 67 edges (avg confidence: 0.78) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 171 edges -2. `serverError()` - 151 edges -3. `Deliverable` - 128 edges -4. `Organization` - 119 edges -5. `ReviewSession` - 91 edges -6. `FeedbackItem` - 89 edges -7. `badRequest()` - 83 edges -8. `PipelineTemplate` - 77 edges -9. `ColorProbe` - 73 edges -10. `assertOrgAccess()` - 72 edges - -## Surprising Connections (you probably didn't know these) -- `Review Page Routing Fix` --shares_data_with--> `ReviewPage()` [INFERRED] - docs/solutions/ui-bugs/review-page-routing-layout-and-redundant-ui-fixes-2026-04-03.md → src/app/(app)/projects/[projectId]/deliverables/[deliverableId]/review/page.tsx -- `cn()` --calls--> `clsx` [INFERRED] - src/lib/utils.ts → package.json -- `HP CG Production Tracker LLM System Prompt` --references--> `StageAssignment` [EXTRACTED] - tests/llm/prompts/system-prompt.txt → src/generated/prisma/client.ts -- `DeliverableStage Data Model` --shares_data_with--> `StageAssignment` [EXTRACTED] - tests/llm/prompts/system-prompt.txt → src/generated/prisma/client.ts -- `ReviewPage()` --implements--> `FFmpeg Fallback Strategy` [INFERRED] - src/app/(app)/projects/[projectId]/deliverables/[deliverableId]/review/page.tsx → docs/solutions/ui-bugs/video-review-annotation-bugs-2026-04-03.md - -## Communities (165 total, 23 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.01 -Nodes (170): AggregateUser, GetUserAggregateType, GetUserGroupByPayload, IntFieldUpdateOperationsInput, NullableDateTimeFieldUpdateOperationsInput, Prisma__UserClient, User$accountsArgs, User$annotationsArgs (+162 more) - -### Community 1 - "Community 1" -Cohesion: 0.01 -Nodes (160): AccountScalarFieldEnum, AnnotationScalarFieldEnum, Args, At, AtLeast, AtLoose, AtStrict, AutomationExecutionScalarFieldEnum (+152 more) - -### Community 2 - "Community 2" -Cohesion: 0.02 -Nodes (116): AggregateOrganization, DateTimeFieldUpdateOperationsInput, GetOrganizationAggregateType, GetOrganizationGroupByPayload, Organization$automationRulesArgs, Organization$customFieldDefsArgs, Organization$deliverablesArgs, Organization$invitationsArgs (+108 more) - -### Community 3 - "Community 3" -Cohesion: 0.02 -Nodes (107): AggregateComment, Comment$annotationsArgs, Comment$feedbackItemsArgs, Comment$parentArgs, Comment$repliesArgs, CommentAggregateArgs, CommentCountAggregateInputType, CommentCountAggregateOutputType (+99 more) - -### Community 4 - "Community 4" -Cohesion: 0.02 -Nodes (97): AggregateRevision, EnumRevisionStatusFieldUpdateOperationsInput, GetRevisionAggregateType, Prisma__RevisionClient, Revision$annotationsArgs, Revision$colorProbesArgs, Revision$feedbackItemsArgs, Revision$reviewSessionItemsArgs (+89 more) - -### Community 5 - "Community 5" -Cohesion: 0.02 -Nodes (97): BoolFilter, BoolWithAggregatesFilter, DateTimeFilter, DateTimeNullableFilter, DateTimeNullableWithAggregatesFilter, DateTimeWithAggregatesFilter, EnumAnnotationTypeFilter, EnumAnnotationTypeWithAggregatesFilter (+89 more) - -### Community 6 - "Community 6" -Cohesion: 0.02 -Nodes (95): AggregateAnnotation, Annotation$feedbackItemsArgs, AnnotationAggregateArgs, AnnotationAvgAggregateInputType, AnnotationAvgAggregateOutputType, AnnotationAvgOrderByAggregateInput, AnnotationCountAggregateInputType, AnnotationCountAggregateOutputType (+87 more) - -### Community 7 - "Community 7" -Cohesion: 0.06 -Nodes (59): ACTION_TYPES, EVENT_FIELD_OPTIONS, EVENT_TYPES, OPERATORS, STAGE_STATUS_OPTIONS, ActionDef, Condition, BulkImportDialog() (+51 more) - -### Community 8 - "Community 8" -Cohesion: 0.02 -Nodes (86): AggregateFeedbackItem, EnumFeedbackStatusFieldUpdateOperationsInput, FeedbackItem$annotationArgs, FeedbackItem$assignedToArgs, FeedbackItem$carriedFromArgs, FeedbackItem$carriedToArgs, FeedbackItem$commentArgs, FeedbackItem$resolvedByArgs (+78 more) - -### Community 9 - "Community 9" -Cohesion: 0.02 -Nodes (85): AggregateProject, EnumPriorityFieldUpdateOperationsInput, EnumProjectStatusFieldUpdateOperationsInput, GetProjectAggregateType, GetProjectGroupByPayload, Prisma__ProjectClient, Project$deliverablesArgs, Project$pipelineTemplateArgs (+77 more) - -### Community 10 - "Community 10" -Cohesion: 0.05 -Nodes (60): CalendarEventPill(), STATUS_COLOR_VAR, BarSegment, CalendarGrid(), CalendarGridProps, PipelineProgress(), Stage, STATUS_COLORS (+52 more) - -### Community 11 - "Community 11" -Cohesion: 0.03 -Nodes (78): AggregateSkill, GetSkillAggregateType, GetSkillGroupByPayload, Prisma__SkillClient, Skill$stageRequirementsArgs, Skill$usersArgs, SkillAggregateArgs, SkillCountAggregateInputType (+70 more) - -### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (56): DELETE(), Params, PATCH(), GET(), Params, POST(), DELETE(), Params (+48 more) - -### Community 13 - "Community 13" -Cohesion: 0.03 -Nodes (67): Deliverable$organizationArgs, Deliverable$stagesArgs, DeliverableAggregateArgs, DeliverableAvgAggregateInputType, DeliverableAvgOrderByAggregateInput, DeliverableCountArgs, DeliverableCountOrderByAggregateInput, DeliverableCountOutputTypeCountStagesArgs (+59 more) - -### Community 14 - "Community 14" -Cohesion: 0.03 -Nodes (69): AggregateInvitation, GetInvitationAggregateType, GetInvitationGroupByPayload, InvitationAggregateArgs, InvitationCountAggregateInputType, InvitationCountAggregateOutputType, InvitationCountArgs, InvitationCountOrderByAggregateInput (+61 more) - -### Community 15 - "Community 15" -Cohesion: 0.03 -Nodes (70): AggregateReviewSession, EnumReviewSessionStatusFieldUpdateOperationsInput, GetReviewSessionAggregateType, Prisma__ReviewSessionClient, ReviewSessionAggregateArgs, ReviewSessionCountArgs, ReviewSessionCountOutputType, ReviewSessionCountOutputTypeDefaultArgs (+62 more) - -### Community 16 - "Community 16" -Cohesion: 0.07 -Nodes (69): Agents Entry Point, Claude Design Context, AI Chat Assistant, Automation Rule Engine, Claude API, DEV_BYPASS_AUTH Mechanism, Dynamic Pipeline Templates, Google Cloud Storage (+61 more) - -### Community 17 - "Community 17" -Cohesion: 0.03 -Nodes (66): AccountAggregateArgs, AccountAvgAggregateInputType, AccountAvgAggregateOutputType, AccountAvgOrderByAggregateInput, AccountCountAggregateInputType, AccountCountAggregateOutputType, AccountCountArgs, AccountCountOrderByAggregateInput (+58 more) - -### Community 18 - "Community 18" -Cohesion: 0.06 -Nodes (47): KanbanBoard, DashboardPage(), KpiCard(), PRIORITY_STYLES, useDashboardStats(), fetchJson(), fetchJson(), useCreateInvitation() (+39 more) - -### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (48): ChatPanel(), describeMutation(), ENTITY_ICONS, EntityResultCard(), MessageBubble(), MutationConfirmCard(), statusColor(), TOOL_LABELS (+40 more) - -### Community 20 - "Community 20" -Cohesion: 0.03 -Nodes (66): AggregateSearchLog, GetSearchLogAggregateType, GetSearchLogGroupByPayload, Prisma__SearchLogClient, SearchLogAggregateArgs, SearchLogAvgAggregateInputType, SearchLogAvgAggregateOutputType, SearchLogAvgOrderByAggregateInput (+58 more) - -### Community 21 - "Community 21" -Cohesion: 0.03 -Nodes (65): AggregateDeliverable, DeliverableCountOutputType, DeliverableCreateInput, DeliverableFindFirstArgs, DeliverableIncludeCreateManyAndReturn, DeliverableIncludeUpdateManyAndReturn, DeliverableScalarRelationFilter, DeliverableSelectCreateManyAndReturn (+57 more) - -### Community 22 - "Community 22" -Cohesion: 0.05 -Nodes (10): BaseSchemaValidator, BaseSchemaValidator, Base validator with common validation logic for document files., DOCXSchemaValidator, Validator for Word document XML files against XSD schemas., Validation modules for Word document processing., PPTXSchemaValidator, Validator for PowerPoint presentation XML files against XSD schemas. (+2 more) - -### Community 23 - "Community 23" -Cohesion: 0.03 -Nodes (64): AggregateColorProbe, ColorProbeAggregateArgs, ColorProbeAvgAggregateInputType, ColorProbeAvgAggregateOutputType, ColorProbeCountAggregateInputType, ColorProbeCountAggregateOutputType, ColorProbeCountArgs, ColorProbeCreateArgs (+56 more) - -### Community 24 - "Community 24" -Cohesion: 0.03 -Nodes (62): AggregateSession, GetSessionAggregateType, GetSessionGroupByPayload, Prisma__SessionClient, SessionAggregateArgs, SessionCountAggregateInputType, SessionCountArgs, SessionCountOrderByAggregateInput (+54 more) - -### Community 25 - "Community 25" -Cohesion: 0.03 -Nodes (60): SkillFindManyArgs, UserCountAggregateOutputType, UserCountOrderByAggregateInput, UserFindUniqueOrThrowArgs, UserIncludeUpdateManyAndReturn, UserMinAggregateOutputType, UserSelectCreateManyAndReturn, AggregateUserSkill (+52 more) - -### Community 26 - "Community 26" -Cohesion: 0.03 -Nodes (60): GetPipelineTemplateGroupByPayload, PipelineTemplate$projectsArgs, PipelineTemplate$stagesArgs, PipelineTemplateAggregateArgs, PipelineTemplateCountAggregateInputType, PipelineTemplateCountArgs, PipelineTemplateCountOutputType, PipelineTemplateCreateArgs (+52 more) - -### Community 27 - "Community 27" -Cohesion: 0.03 -Nodes (59): AggregateAutomationRule, AutomationRule$executionsArgs, AutomationRuleAggregateArgs, AutomationRuleCountAggregateInputType, AutomationRuleCountArgs, AutomationRuleCountOutputType, AutomationRuleCountOutputTypeDefaultArgs, AutomationRuleCreateArgs (+51 more) - -### Community 28 - "Community 28" -Cohesion: 0.03 -Nodes (58): AggregateChatMessage, ChatMessageAggregateArgs, ChatMessageCountAggregateInputType, ChatMessageCountArgs, ChatMessageCountOrderByAggregateInput, ChatMessageCreateArgs, ChatMessageCreateInput, ChatMessageCreateManyAndReturnArgs (+50 more) - -### Community 29 - "Community 29" -Cohesion: 0.04 -Nodes (57): AggregateStageAssignment, GetStageAssignmentAggregateType, GetStageAssignmentGroupByPayload, NullableEnumAssignmentRoleFieldUpdateOperationsInput, Prisma__StageAssignmentClient, StageAssignmentAggregateArgs, StageAssignmentCountArgs, StageAssignmentCountOrderByAggregateInput (+49 more) - -### Community 30 - "Community 30" -Cohesion: 0.06 -Nodes (44): Assignment, ROLE_OPTIONS, CalendarFilters(), STAGE_TYPES, STATUS_OPTIONS, EntityType, FIELD_TYPES, FieldSection() (+36 more) - -### Community 31 - "Community 31" -Cohesion: 0.09 -Nodes (44): emitAssignmentCreated(), BULK_MUTATION_TOOLS, CACHE_INVALIDATION_MAP, executeTool(), isToolAllowedForRole(), ToolExecutionResult, GET(), Params (+36 more) - -### Community 32 - "Community 32" -Cohesion: 0.04 -Nodes (46): AggregateOrgRolePermission, EnumPermissionFieldUpdateOperationsInput, EnumRoleFieldUpdateOperationsInput, GetOrgRolePermissionAggregateType, GetOrgRolePermissionGroupByPayload, OrgRolePermissionAggregateArgs, OrgRolePermissionCreateArgs, OrgRolePermissionCreateInput (+38 more) - -### Community 33 - "Community 33" -Cohesion: 0.11 -Nodes (35): DELETE(), POST(), POST(), badRequest(), serverError(), DELETE(), GET(), PATCH() (+27 more) - -### Community 34 - "Community 34" -Cohesion: 0.05 -Nodes (42): AccountScalarFieldEnum, AnnotationScalarFieldEnum, AutomationExecutionScalarFieldEnum, AutomationRuleScalarFieldEnum, ChatMessageScalarFieldEnum, ColorProbeScalarFieldEnum, CommentScalarFieldEnum, CustomFieldDefinitionScalarFieldEnum (+34 more) - -### Community 35 - "Community 35" -Cohesion: 0.11 -Nodes (32): ActionDefinition, ActionResult, executeAction(), executeCreateAssignment(), executeSendNotification(), executeSendWebhook(), executeUpdateStageStatus(), isAllowedWebhookUrl() (+24 more) - -### Community 36 - "Community 36" -Cohesion: 0.09 -Nodes (26): BoardViewPage(), DeliverableDetailPage(), PRIORITY_STYLES, TRANSITION_LABELS, TRANSITIONS, Props, fetchJson(), useClearStageOverride() (+18 more) - -### Community 37 - "Community 37" -Cohesion: 0.05 -Nodes (38): GetAnnotationGroupByPayload, AggregateNotification, EnumNotificationTypeFieldUpdateOperationsInput, NotificationAggregateArgs, NotificationCountArgs, NotificationCreateArgs, NotificationCreateNestedManyWithoutUserInput, NotificationCreateOrConnectWithoutUserInput (+30 more) - -### Community 38 - "Community 38" -Cohesion: 0.05 -Nodes (38): fetchJson(), useCreateNotificationRule(), useDeleteNotificationRule(), GetNotificationAggregateType, NotificationCreateInput, NotificationCreateManyArgs, NotificationFindFirstOrThrowArgs, NotificationIncludeUpdateManyAndReturn (+30 more) - -### Community 39 - "Community 39" -Cohesion: 0.05 -Nodes (37): dependencies, @auth/prisma-adapter, @azure/msal-browser, class-variance-authority, clsx, cmdk, date-fns, dotenv (+29 more) - -### Community 40 - "Community 40" -Cohesion: 0.10 -Nodes (32): useAddSessionItems(), useClearDecision(), useCreateReviewSession(), useDeleteReviewSession(), useGenerateSessionItems(), useRecordDecision(), useRemoveSessionItem(), useReorderSessionItems() (+24 more) - -### Community 41 - "Community 41" -Cohesion: 0.05 -Nodes (37): AggregateAutomationExecution, AutomationExecutionAggregateArgs, AutomationExecutionCountArgs, AutomationExecutionCreateArgs, AutomationExecutionCreateInput, AutomationExecutionCreateManyAndReturnArgs, AutomationExecutionDefaultArgs, AutomationExecutionDeleteManyArgs (+29 more) - -### Community 42 - "Community 42" -Cohesion: 0.09 -Nodes (23): ExportButton(), ImageDimensions, UseImageViewerReturn, ViewerState, ZoomPreset, ThemeToggle(), ImageUploadZone(), PRESETS (+15 more) - -### Community 43 - "Community 43" -Cohesion: 0.07 -Nodes (23): GET(), useCalendarEvents(), Account, Annotation, Comment, Invitation, PrismaClient, Project (+15 more) - -### Community 44 - "Community 44" -Cohesion: 0.10 -Nodes (26): emitStageStatusChanged(), canStageStart(), getStageIdsToUnblock(), StageWithDeps, canTransition(), TRANSITIONS, clearManualOverride(), ManualOverrideInput (+18 more) - -### Community 45 - "Community 45" -Cohesion: 0.12 -Nodes (26): fetchJson(), jsonDelete(), jsonPatch(), jsonPost(), jsonPut(), useAddDependency(), useAddStage(), useArchivePipeline() (+18 more) - -### Community 46 - "Community 46" -Cohesion: 0.06 -Nodes (31): AggregateVerificationToken, GetVerificationTokenAggregateType, GetVerificationTokenGroupByPayload, Prisma__VerificationTokenClient, VerificationTokenAggregateArgs, VerificationTokenCreateArgs, VerificationTokenCreateInput, VerificationTokenCreateManyArgs (+23 more) - -### Community 47 - "Community 47" -Cohesion: 0.11 -Nodes (24): buildSystemPrompt(), chat(), ChatMessage, ChatResponse, chatWithClaude(), chatWithOllama(), checkOllamaHealth(), getOllamaChatModel() (+16 more) - -### Community 48 - "Community 48" -Cohesion: 0.11 -Nodes (19): BrandGuidelines, BrandValidator, get_acme_corporation_guidelines(), load_guidelines_from_json(), main(), Validate brand name usage and capitalization Returns: (violations, warni, Brand guidelines configuration, Calculate compliance score (0-100) (+11 more) - -### Community 49 - "Community 49" -Cohesion: 0.11 -Nodes (19): AssignmentCreatedPayload, AutomationEventType, DeadlineApproachingPayload, DeadlinePassedPayload, dispatchEvent(), emitDeadlineApproaching(), emitDeadlinePassed(), EventHandler (+11 more) - -### Community 50 - "Community 50" -Cohesion: 0.11 -Nodes (21): SKILL_LEVEL_LABELS, CommentItem(), CommentThread(), getInitials(), fetchJson(), useCreateComment(), useDeleteComment(), useStageSuggestions() (+13 more) - -### Community 51 - "Community 51" -Cohesion: 0.10 -Nodes (21): fetchJson(), useOllamaHealth(), Priority, ConversationEntry, ResultCard(), SmartSearchPanel(), statusColor(), SUGGESTED_QUERIES (+13 more) - -### Community 52 - "Community 52" -Cohesion: 0.11 -Nodes (18): forbidden(), getAuthSession(), notFound(), safeCompare(), unauthorized(), GET(), GET(), MIME_TYPES (+10 more) - -### Community 53 - "Community 53" -Cohesion: 0.10 -Nodes (25): animate SKILL.md, Apache License 2.0, anthropics-frontend-design SKILL.md, computedHash, source, sourceType, skills, version (+17 more) - -### Community 54 - "Community 54" -Cohesion: 0.08 -Nodes (26): BoolFieldUpdateOperationsInput, GetPipelineStageTemplateGroupByPayload, NullableFloatFieldUpdateOperationsInput, PipelineStageTemplate$deliverableStagesArgs, PipelineStageTemplate$skillRequirementsArgs, PipelineStageTemplateAvgAggregateInputType, PipelineStageTemplateCountOutputTypeCountDeliverableStagesArgs, PipelineStageTemplateCountOutputTypeCountSkillRequirementsArgs (+18 more) - -### Community 55 - "Community 55" -Cohesion: 0.16 -Nodes (21): GET(), Params, POST(), DELETE(), Params, PATCH(), createFeedbackItem(), deleteFeedbackItem() (+13 more) - -### Community 56 - "Community 56" -Cohesion: 0.10 -Nodes (14): apply_brand_to_document(), BrandFormatter, Brand application module for corporate document styling. Applies consistent bran, Apply corporate brand guidelines to documents., Apply brand formatting to PowerPoint presentation configuration. Args:, Apply brand formatting to PDF document configuration. Args:, Validate that colors match brand guidelines. Args: colors_u, Find the closest brand color to a given color. (+6 more) - -### Community 57 - "Community 57" -Cohesion: 0.10 -Nodes (18): DrawingState, PendingAnnotation, TOOL_TO_TYPE, UndoEntry, VideoAnnotationContext, fetchJson(), AnnotationRendererProps, perpendicularDist() (+10 more) - -### Community 58 - "Community 58" -Cohesion: 0.15 -Nodes (22): SessionInclude, GET(), addSessionItems(), clearDecision(), createReviewSession(), deleteReviewSession(), getReviewSession(), listReviewSessions() (+14 more) - -### Community 59 - "Community 59" -Cohesion: 0.12 -Nodes (21): ColorProbe, fetchJson(), useCreateColorProbe(), useDeleteColorProbe(), useUpdateColorProbe(), ColorProbeLayer(), ColorProbeLayerProps, PendingProbe (+13 more) - -### Community 60 - "Community 60" -Cohesion: 0.16 -Nodes (18): BaseHTTPRequestHandler, build_run(), embed_file(), find_runs(), _find_runs_recursive(), generate_html(), get_mime_type(), _kill_port() (+10 more) - -### Community 61 - "Community 61" -Cohesion: 0.14 -Nodes (19): useMarkAsRead(), useUnreadCount(), Breadcrumbs(), LABEL_MAP, NOTIF_ICONS, Topbar(), NOTIF_ICONS, NotificationsPage() (+11 more) - -### Community 62 - "Community 62" -Cohesion: 0.16 -Nodes (16): WeeklyReportPage(), fetchJson(), WeeklyReportData, AtRiskSection(), AtRiskSectionProps, CompletedSection(), DeadlinesSection(), DeadlinesSectionProps (+8 more) - -### Community 63 - "Community 63" -Cohesion: 0.10 -Nodes (21): AggregatePipelineStageDefinition, GetPipelineStageDefinitionAggregateType, GetPipelineStageDefinitionGroupByPayload, PipelineStageDefinition$deliverableStagesArgs, PipelineStageDefinitionAggregateArgs, PipelineStageDefinitionCountOutputTypeCountDeliverableStagesArgs, PipelineStageDefinitionFieldRefs, PipelineStageDefinitionFindFirstArgs (+13 more) - -### Community 64 - "Community 64" -Cohesion: 0.10 -Nodes (19): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+11 more) - -### Community 65 - "Community 65" -Cohesion: 0.19 -Nodes (15): ArtistSuggestion, createSkill(), deleteSkill(), getSuggestedArtists(), getUserSkills(), listSkills(), removeUserSkill(), setUserSkill() (+7 more) - -### Community 66 - "Community 66" -Cohesion: 0.18 -Nodes (16): GET(), POST(), Params, PATCH(), GET(), PATCH(), listNotificationRules(), createNotification() (+8 more) - -### Community 67 - "Community 67" -Cohesion: 0.14 -Nodes (16): sharp, ALLOWED_IMAGE_TYPES, ALLOWED_VIDEO_TYPES, deleteRevisionImage(), deleteRevisionVideo(), processAndStoreImage(), UploadedImage, UploadedVideo (+8 more) - -### Community 68 - "Community 68" -Cohesion: 0.11 -Nodes (17): aliases, components, hooks, lib, ui, utils, iconLibrary, rsc (+9 more) - -### Community 69 - "Community 69" -Cohesion: 0.11 -Nodes (18): AggregateCustomFieldDefinition, CustomFieldDefinitionAggregateArgs, CustomFieldDefinitionAvgAggregateInputType, CustomFieldDefinitionCountArgs, CustomFieldDefinitionCreateArgs, CustomFieldDefinitionFindFirstArgs, CustomFieldDefinitionGroupByOutputType, CustomFieldDefinitionIncludeCreateManyAndReturn (+10 more) - -### Community 70 - "Community 70" -Cohesion: 0.22 -Nodes (17): adapter, generateProjectCode(), getStageStatuses(), groupIntoProjects(), main(), mapQ2Status(), mapTeamStatus(), parseAllSpins() (+9 more) - -### Community 71 - "Community 71" -Cohesion: 0.16 -Nodes (13): allow, GET(), PUT(), Permission, DEFAULT_PERMISSIONS, hasPermission(), requirePermission(), getOrgPermissions() (+5 more) - -### Community 72 - "Community 72" -Cohesion: 0.20 -Nodes (15): POST(), Params, POST(), genProjectCode(), importDeliverables(), importProjectsFromTracker(), ImportRow, mapDeliverableStatus() (+7 more) - -### Community 73 - "Community 73" -Cohesion: 0.18 -Nodes (12): POST(), DELETE(), GET(), POST(), acceptInvitation(), createInvitation(), listInvitations(), revokeInvitation() (+4 more) - -### Community 74 - "Community 74" -Cohesion: 0.36 -Nodes (15): _can_merge(), _consolidate_text(), _find_elements(), _first_child_run(), _get_child(), _is_adjacent(), _is_run(), _merge_run_content() (+7 more) - -### Community 75 - "Community 75" -Cohesion: 0.13 -Nodes (15): devDependencies, eslint, eslint-config-next, prettier, prettier-plugin-tailwindcss, tsx, @types/node, @types/pg (+7 more) - -### Community 76 - "Community 76" -Cohesion: 0.24 -Nodes (12): DELETE(), PATCH(), GET(), POST(), createCustomField(), deleteCustomField(), listCustomFields(), updateCustomField() (+4 more) - -### Community 77 - "Community 77" -Cohesion: 0.13 -Nodes (15): scripts, build, db:backfill-embeddings, db:clean-slate, db:generate, db:migrate, db:push, db:seed (+7 more) - -### Community 78 - "Community 78" -Cohesion: 0.13 -Nodes (15): AggregateStageSkillRequirement, GetStageSkillRequirementGroupByPayload, Prisma__StageSkillRequirementClient, StageSkillRequirementAvgAggregateInputType, StageSkillRequirementDefaultArgs, StageSkillRequirementFindFirstArgs, StageSkillRequirementFindManyArgs, StageSkillRequirementGroupByOutputType (+7 more) - -### Community 79 - "Community 79" -Cohesion: 0.22 -Nodes (12): emitRevisionSubmitted(), GET(), Params, PATCH(), GET(), Params, POST(), copyProbes() (+4 more) - -### Community 80 - "Community 80" -Cohesion: 0.22 -Nodes (15): Audit Skill SKILL.md, Bolder Skill SKILL.md, Clarify Skill SKILL.md, Colorize Skill SKILL.md, AI Slop Anti-Pattern Concept, Critique Skill SKILL.md, Delight Skill SKILL.md, Distill Skill SKILL.md (+7 more) - -### Community 81 - "Community 81" -Cohesion: 0.24 -Nodes (12): _comment, custom-tools, database, args, command, env, API_KEY, DATABASE_URL (+4 more) - -### Community 82 - "Community 82" -Cohesion: 0.21 -Nodes (14): Blind Comparator Agent, Grader Agent, analysis.json Schema, benchmark.json Schema, comparison.json Schema, evals.json Schema, grading.json Schema, metrics.json Schema (+6 more) - -### Community 83 - "Community 83" -Cohesion: 0.24 -Nodes (11): CalendarDayDetail(), STATUS_ORDER, CalendarHeatmapBar(), CalendarHeatmapProps, CalendarHeatmapToggle(), heatColor(), CalendarView(), CalendarEvent (+3 more) - -### Community 84 - "Community 84" -Cohesion: 0.36 -Nodes (12): _can_merge_tracked(), _find_elements(), _get_author(), _get_authors_from_docx(), get_tracked_change_authors(), infer_author(), _is_element(), _merge_tracked_changes_in() (+4 more) - -### Community 85 - "Community 85" -Cohesion: 0.15 -Nodes (12): AnnotationType, AssignmentRole, DeliverableStatus, ExecutionStatus, FeedbackStatus, NotificationType, ProjectStatus, ReviewSessionStatus (+4 more) - -### Community 86 - "Community 86" -Cohesion: 0.19 -Nodes (12): useDeleteAnnotation(), ReviewPage(), Annotation, useVideoTimelineMarkers(), FFmpeg Fallback Strategy, pingdotgg/lawn Reference Implementation, next.config.ts Body Size Limit, SVG viewBox Coordinate Mapping (+4 more) - -### Community 87 - "Community 87" -Cohesion: 0.36 -Nodes (11): createAnnotation(), extractAnnotationFrameThumbnail(), createFeedbackFromAnnotation(), processAndStoreVideo(), execFileAsync, extractFrame(), extractMetadata(), extractThumbnail() (+3 more) - -### Community 88 - "Community 88" -Cohesion: 0.28 -Nodes (11): aggregate_results(), calculate_stats(), generate_benchmark(), generate_markdown(), load_run_results(), main(), Aggregate run results into summary statistics. Returns run_summary with sta, Generate complete benchmark.json from run results. (+3 more) - -### Community 89 - "Community 89" -Cohesion: 0.22 -Nodes (11): ACTIVE_STATUSES, generateWeekBuckets(), getWorkloadData(), TERMINAL_STATUSES, updateUserCapacity(), UserWorkload, WeekAssignment, WeekBucket (+3 more) - -### Community 90 - "Community 90" -Cohesion: 0.21 -Nodes (5): signOutAction(), { handlers, auth, signOut }, MsalLoginConfig, MsalLogin(), State - -### Community 91 - "Community 91" -Cohesion: 0.15 -Nodes (13): Arctic Frost Theme, Botanical Garden Theme, Desert Rose Theme, Theme Factory Apache License, Theme Showcase PDF, Anthropics Theme Factory SKILL.md, Forest Canopy Theme, Golden Hour Theme (+5 more) - -### Community 92 - "Community 92" -Cohesion: 0.24 -Nodes (10): _comment, Authorization, Content-Type, X-API-Version, X-Service-Name, internal-service, rest-api, headers (+2 more) - -### Community 93 - "Community 93" -Cohesion: 0.17 -Nodes (12): AggregatePipelineStageDependency, GetPipelineStageDependencyAggregateType, GetPipelineStageDependencyGroupByPayload, PipelineStageDependencyFieldRefs, PipelineStageDependencyFindUniqueArgs, PipelineStageDependencyListRelationFilter, PipelineStageDependencyMinAggregateInputType, PipelineStageDependencyOrderByWithRelationInput (+4 more) - -### Community 94 - "Community 94" -Cohesion: 0.31 -Nodes (9): asana, type, url, _comment, custom-service, headers, github, X-API-Version (+1 more) - -### Community 95 - "Community 95" -Cohesion: 0.24 -Nodes (11): @prisma/adapter-pg, allowDangerousEmailAccountLinking Pattern, src/lib/auth.ts, DEV_BYPASS_AUTH Guard, Microsoft Entra ID SSO Provider, OAuthAccountNotLinked Error, Pending/Limbo Page for Unprovisioned Users, Production Data Migration/Purge/Reseed Solution (+3 more) - -### Community 96 - "Community 96" -Cohesion: 0.18 -Nodes (10): Account, Annotation, Comment, Invitation, Project, Revision, Session, Skill (+2 more) - -### Community 97 - "Community 97" -Cohesion: 0.24 -Nodes (11): Benchmark Analyzer Role, Post-hoc Analyzer Agent, Eval Set Review HTML, analysis.json Schema, benchmark.json Schema, comparison.json Schema, evals.json Schema, grading.json Schema (+3 more) - -### Community 98 - "Community 98" -Cohesion: 0.33 -Nodes (9): adapter, getRecordCounts(), main(), parseArgs(), printCounts(), printUsage(), prisma, purgeAllData() (+1 more) - -### Community 99 - "Community 99" -Cohesion: 0.36 -Nodes (7): find_project_root(), main(), Run the full eval set and return results., Find the project root by walking up from cwd looking for .claude/. Mimics h, Run a single query and return whether the skill was triggered. Creates a co, run_eval(), run_single_query() - -### Community 100 - "Community 100" -Cohesion: 0.22 -Nodes (8): Table(), TableBody(), TableCaption(), TableCell(), TableFooter(), TableHead(), TableHeader(), TableRow() - -### Community 101 - "Community 101" -Cohesion: 0.31 -Nodes (9): assign_artist Tool, 10-Stage CG Pipeline, Deliverable Data Model, DeliverableStage Data Model, Project Data Model, User Data Model, HP CG Production Tracker LLM System Prompt, search_entities Tool (+1 more) - -### Community 102 - "Community 102" -Cohesion: 0.25 -Nodes (6): PlaybackSpeed, SPEEDS, VideoPlayer(), VideoPlayerState, VideoTimeline(), VideoTimelineProps - -### Community 103 - "Community 103" -Cohesion: 0.32 -Nodes (6): fetchJson(), useUpdateRevision(), CreateRevisionInput, createRevisionSchema, UpdateRevisionInput, updateRevisionSchema - -### Community 104 - "Community 104" -Cohesion: 0.39 -Nodes (7): AutomationRulesPage(), fetchJson(), useAutomationExecutions(), useAutomationRule(), useCreateAutomationRule(), useDeleteAutomationRule(), useUpdateAutomationRule() - -### Community 105 - "Community 105" -Cohesion: 0.62 -Nodes (5): _ensure_shim(), get_soffice_env(), _needs_shim(), Helper for running LibreOffice (soffice) in environments where AF_UNIX sockets m, run_soffice() - -### Community 106 - "Community 106" -Cohesion: 0.33 -Nodes (7): CSS Grid Three-Column Layout Fix, Review Page Routing Fix, ReviewSidebar Component, Stage Navigator Layout Fix, Stage Query Parameter Navigation, StageDetailSheet Component, Video Review and Annotation Bugs (2026-04-03) - -### Community 107 - "Community 107" -Cohesion: 0.62 -Nodes (5): has_gtimeout(), main(), Excel Formula Recalculation Script Recalculates all formulas in an Excel file us, recalc(), setup_libreoffice_macro() - -### Community 108 - "Community 108" -Cohesion: 0.48 -Nodes (5): main(), Split eval set into train and test sets, stratified by should_trigger., Run the eval + improvement loop., run_loop(), split_eval_set() - -### Community 109 - "Community 109" -Cohesion: 0.29 -Nodes (4): inter, jetbrainsMono, metadata, montserrat - -### Community 110 - "Community 110" -Cohesion: 0.29 -Nodes (4): config, LogOptions, PrismaClient, PrismaClientConstructor - -### Community 111 - "Community 111" -Cohesion: 0.67 -Nodes (4): _escape_smart_quotes(), _pretty_print_xml(), Unpack Office files (DOCX, PPTX, XLSX) for editing. Extracts the ZIP archive, p, unpack() - -### Community 112 - "Community 112" -Cohesion: 0.47 -Nodes (5): main(), package_skill(), Check if a path should be excluded from packaging., Package a skill folder into a .skill file. Args: skill_path: Path t, should_exclude() - -### Community 113 - "Community 113" -Cohesion: 0.67 -Nodes (4): _condense_xml(), pack(), Pack a directory into a DOCX, PPTX, or XLSX file. Validates with auto-repair, c, _run_validation() - -### Community 114 - "Community 114" -Cohesion: 0.33 -Nodes (6): HSL Color Space, OKLCH Color Space, WCAG Contrast Requirements, Normalize Skill, Polish Skill, Quieter Skill - -### Community 115 - "Community 115" -Cohesion: 0.47 -Nodes (5): adapter, backfillProjects(), backfillStages(), main(), prisma - -### Community 116 - "Community 116" -Cohesion: 0.33 -Nodes (6): Analyzer Agent, Blind Comparator Agent, Grader Agent, Eval Review HTML Asset, Eval Viewer HTML, Skill Creator Skill - -### Community 117 - "Community 117" -Cohesion: 0.60 -Nodes (3): is_server_ready(), main(), Wait for server to be ready by polling the port. - -### Community 119 - "Community 119" -Cohesion: 0.60 -Nodes (3): generate_html(), main(), Generate HTML report from loop output data. If auto_refresh is True, adds a meta - -### Community 120 - "Community 120" -Cohesion: 0.50 -Nodes (3): parse_skill_md(), Shared utilities for skill-creator scripts., Parse a SKILL.md file, returning (name, description, full_content). - -### Community 121 - "Community 121" -Cohesion: 0.60 -Nodes (5): Model Context Protocol (MCP), MCP Authentication Reference, MCP Server Types Reference, MCP Tool Usage Reference, MCP Integration Skill - -### Community 122 - "Community 122" -Cohesion: 0.67 -Nodes (3): improve_description(), main(), Call Claude to improve the description based on eval results. - -### Community 123 - "Community 123" -Cohesion: 1.00 -Nodes (4): Progressive Disclosure Concept, Skill Structure Concept, Skill Creator Original SKILL.md, Anthropics Skill Development SKILL.md - -### Community 124 - "Community 124" -Cohesion: 0.83 -Nodes (4): MCP Authentication Patterns Reference, anthropics-mcp-integration SKILL.md, MCP Server Types Reference, MCP Tool Usage Reference - -### Community 127 - "Community 127" -Cohesion: 0.67 -Nodes (4): pad(), toTimecode(), VideoFrameDisplay(), VideoFrameDisplayProps - -### Community 129 - "Community 129" -Cohesion: 0.50 -Nodes (4): Mobile-First Responsive Design, Responsive Images srcset, Harden Skill, Optimize Skill - -## Knowledge Gaps -- **2647 isolated node(s):** `version`, `config`, `name`, `version`, `private` (+2642 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **23 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Deliverable` connect `Community 13` to `Community 96`, `Community 1`, `Community 36`, `Community 100`, `Community 7`, `Community 40`, `Community 10`, `Community 43`, `Community 12`, `Community 42`, `Community 18`, `Community 83`, `Community 21`, `Community 85`, `Community 30`, `Community 31`?** - _High betweenness centrality (0.156) - this node is a cross-community bridge._ -- **Why does `Organization` connect `Community 2` to `Community 96`, `Community 1`, `Community 43`, `Community 85`?** - _High betweenness centrality (0.068) - this node is a cross-community bridge._ -- **Why does `cn()` connect `Community 7` to `Community 36`, `Community 100`, `Community 39`, `Community 40`, `Community 10`, `Community 42`, `Community 13`, `Community 18`, `Community 50`, `Community 19`, `Community 83`, `Community 51`, `Community 61`, `Community 30`?** - _High betweenness centrality (0.055) - this node is a cross-community bridge._ -- **What connects `version`, `config`, `name` to the rest of the system?** - _2700 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.011695906432748537 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.012345679012345678 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.017241379310344827 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/loreal-global-kickoff-structure.md b/wiki/architecture/loreal-global-kickoff-structure.md deleted file mode 100644 index 5512c93..0000000 --- a/wiki/architecture/loreal-global-kickoff-structure.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -tags: [architecture, graphify, loreal-global-kickoff] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-global-kickoff (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 234 nodes · 293 edges · 36 communities (33 shown, 3 thin omitted) -- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 15 edges (avg confidence: 0.87) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] - -## God Nodes (most connected - your core abstractions) -1. `L'Oréal OMG Assistant Global Application` - 25 edges -2. `CSVTransformer` - 12 edges -3. `ApplicationLogger` - 11 edges -4. `scenario` - 11 edges -5. `metadata` - 7 edges -6. `Global to Local CSV Transformation Feature` - 7 edges -7. `Master Global Asset Submission Feature` - 6 edges -8. `JWTValidator` - 5 edges -9. `handleFormSubmit()` - 5 edges -10. `validateBoxId()` - 5 edges - -## Surprising Connections (you probably didn't know these) -- `Date Submission Form` --conceptually_related_to--> `submit.php` [AMBIGUOUS] - date-form.html → README.md -- `Date Submission Form` --conceptually_related_to--> `Master Global Asset Submission Feature` [INFERRED] - date-form.html → README.md -- `Form Submit Event Handler` --references--> `Make.com Webhook` [EXTRACTED] - date-form.html → README.md - -## Communities (36 total, 3 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.07 -Nodes (34): alertsContainer, cancelBtn, csvFileInput, csvUploadForm, displayFileInfo(), downloadAllBtn, dropzone, escapeHtml() (+26 more) - -### Community 1 - "Community 1" -Cohesion: 0.10 -Nodes (36): Date Submission Form, formatDate Function, Form Submit Event Handler, Webhook URL Constant, Activity Logging System, app.js, application.log, ApplicationLogger.php (+28 more) - -### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (20): orphans, flow, metadata, designer, instant, notes, scenario, version (+12 more) - -### Community 3 - "Community 3" -Cohesion: 0.15 -Nodes (17): assetForm, boxIdInput, boxIdValidation, checkFormValidity(), escapeHtml(), formatDate(), handleFormSubmit(), handleLookupClick() (+9 more) - -### Community 11 - "Community 11" -Cohesion: 0.29 -Nodes (6): name, require, firebase/php-jwt, league/csv, nesbot/carbon, type - -## Ambiguous Edges - Review These -- `Date Submission Form` → `submit.php` [AMBIGUOUS] - date-form.html · relation: conceptually_related_to - -## Knowledge Gaps -- **53 isolated node(s):** `name`, `flow`, `instant`, `version`, `roundtrips` (+48 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **3 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **What is the exact relationship between `Date Submission Form` and `submit.php`?** - _Edge tagged AMBIGUOUS (relation: conceptually_related_to) - confidence is low._ -- **What connects `name`, `flow`, `instant` to the rest of the system?** - _53 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.06666666666666667 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.1 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._ -- **Should `Community 3` be split into smaller, more focused modules?** - _Cohesion score 0.14736842105263157 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/loreal-sla-calculator-structure.md b/wiki/architecture/loreal-sla-calculator-structure.md deleted file mode 100644 index 0eaa1c0..0000000 --- a/wiki/architecture/loreal-sla-calculator-structure.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -tags: [architecture, graphify, loreal-sla-calculator] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-sla-calculator (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 345 nodes · 540 edges · 15 communities (14 shown, 1 thin omitted) -- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 12 edges (avg confidence: 0.86) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] - -## God Nodes (most connected - your core abstractions) -1. `crossReferenceTable` - 33 edges -2. `fields` - 20 edges -3. `label` - 19 edges -4. `tooltip` - 19 edges -5. `SLA Calculator (Full PM Wizard)` - 16 edges -6. `default` - 12 edges -7. `stageMatrix` - 9 edges -8. `showAuthView()` - 9 edges -9. `calculateAndRender()` - 9 edges -10. `meta` - 8 edges - -## Surprising Connections (you probably didn't know these) -- `auth.js (referenced in analytics)` --semantically_similar_to--> `auth.js — Authentication Module` [INFERRED] [semantically similar] - analytics.html → README.md -- `SLA Calculator (Full PM Wizard)` --references--> `script.js — Full Calculator Engine` [INFERRED] - index.html → README.md -- `SLA Brief Advisor (Market)` --conceptually_related_to--> `Business Days Calculation Logic` [INFERRED] - market.html → README.md -- `apiFetch()` --calls--> `tryRefresh()` [INFERRED] - script.js → auth.js -- `SLA Calculator (Full PM Wizard)` --references--> `config.json — Business Rules` [INFERRED] - index.html → README.md - -## Communities (15 total, 1 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.09 -Nodes (34): bcrypt, clearRefreshCookie(), COOKIE_OPTS, crypto, db, decodePassword(), forgotPassword(), { isLorealEmail, isStrongPassword } (+26 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (38): bespoke_0_30, bespoke_100_200, bespoke_200_300, bespoke_300_400, bespoke_30_50, bespoke_50_100, _comment, complex_0_30 (+30 more) - -### Community 2 - "Community 2" -Cohesion: 0.09 -Nodes (28): activeStages, addBusinessDays(), businessDaysBetween(), calcGenericStage(), calculateSLA(), copyForEmail(), csvEscape(), exportCSV() (+20 more) - -### Community 3 - "Community 3" -Cohesion: 0.21 -Nodes (31): assetVolume, bcmApproval, complexity, copyComplexity, eanVolume, marketApprovalDays, masteringComplexity, revisionDays (+23 more) - -### Community 4 - "Community 4" -Cohesion: 0.10 -Nodes (30): Analytics Dashboard, API /events/stats Endpoint, auth.js (referenced in analytics), Chart.js (v4), MSAL Browser (Analytics), Authentication Flow (SSO + Email), Brief Types (9 types), Business Days Calculation Logic (+22 more) - -### Community 5 - "Community 5" -Cohesion: 0.09 -Nodes (22): requireAuth(), { verifyAccessToken }, authLimiter, rateLimit, getStats(), insertEvent(), pool, { authLimiter } (+14 more) - -### Community 6 - "Community 6" -Cohesion: 0.09 -Nodes (12): { Pool }, fs, path, pool, createEmailVerificationToken(), createPasswordResetToken(), crypto, findEmailVerificationToken() (+4 more) - -### Community 7 - "Community 7" -Cohesion: 0.09 -Nodes (23): briefTypes, meta, businessDaysOnly, handoverDays, subtitle, syndicationBufferDays, syndicationBufferNote, title (+15 more) - -### Community 8 - "Community 8" -Cohesion: 0.15 -Nodes (18): addBusinessDays(), businessDaysBetween(), calcStage(), calculateAndRender(), copyForEmail(), determineBriefType(), fallbackCopyHtml(), formatDate() (+10 more) - -### Community 9 - "Community 9" -Cohesion: 0.09 -Nodes (22): dependencies, bcryptjs, cors, dotenv, express, express-rate-limit, form-data, jsonwebtoken (+14 more) - -### Community 10 - "Community 10" -Cohesion: 0.22 -Nodes (16): authEmailLogin(), authRegister(), authResetPassword(), authSsoLogin(), encodePassword(), exchangeMsalToken(), handleResetTokenParam(), handleVerifyEmail() (+8 more) - -### Community 11 - "Community 11" -Cohesion: 0.25 -Nodes (7): name, private, scripts, dev, migrate, start, version - -### Community 12 - "Community 12" -Cohesion: 0.43 -Nodes (4): compose(), error(), log(), wait_healthy() - -### Community 13 - "Community 13" -Cohesion: 0.29 -Nodes (7): 0_30, 100_200, 200_300, 300_400, 30_50, 50_100, daysByAssetVolume - -## Knowledge Gaps -- **137 isolated node(s):** `title`, `subtitle`, `version`, `handoverDays`, `businessDaysOnly` (+132 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `crossReferenceTable` connect `Community 1` to `Community 3`?** - _High betweenness centrality (0.044) - this node is a cross-community bridge._ -- **Why does `fields` connect `Community 3` to `Community 1`?** - _High betweenness centrality (0.044) - this node is a cross-community bridge._ -- **Why does `dependencies` connect `Community 9` to `Community 5`?** - _High betweenness centrality (0.038) - this node is a cross-community bridge._ -- **Are the 3 inferred relationships involving `SLA Calculator (Full PM Wizard)` (e.g. with `script.js — Full Calculator Engine` and `config.json — Business Rules`) actually correct?** - _`SLA Calculator (Full PM Wizard)` has 3 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `title`, `subtitle`, `version` to the rest of the system?** - _137 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.09390243902439024 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/loreal-timelog-viewer-structure.md b/wiki/architecture/loreal-timelog-viewer-structure.md deleted file mode 100644 index a764542..0000000 --- a/wiki/architecture/loreal-timelog-viewer-structure.md +++ /dev/null @@ -1,567 +0,0 @@ ---- -tags: [architecture, graphify, loreal-timelog-viewer] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/loreal-timelog-viewer (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 2063 nodes · 7531 edges · 101 communities (99 shown, 2 thin omitted) -- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 122 edges (avg confidence: 0.8) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] - -## God Nodes (most connected - your core abstractions) -1. `t()` - 85 edges -2. `t()` - 83 edges -3. `JM()` - 71 edges -4. `ZM()` - 70 edges -5. `E()` - 54 edges -6. `E()` - 51 edges -7. `r()` - 49 edges -8. `r()` - 45 edges -9. `k()` - 43 edges -10. `k()` - 37 edges - -## Surprising Connections (you probably didn't know these) -- `Chart Without Forecast (Tutorial Screenshot)` --references--> `L'Oréal Utilisation Dashboard` [INFERRED] - tutorial/chart-no-forecast.png → index.html -- `Chart Full View (Tutorial Screenshot)` --references--> `L'Oréal Utilisation Dashboard` [INFERRED] - tutorial/chart-full.png → index.html -- `Zoho Export Screenshot (Tutorial)` --references--> `L'Oréal Utilisation Dashboard` [INFERRED] - tutorial/zoho-export.png → index.html -- `Chart Without Forecast (Tutorial Screenshot)` --references--> `Utilisation Dashboard Concept` [INFERRED] - tutorial/chart-no-forecast.png → index.html -- `Chart Full View (Tutorial Screenshot)` --references--> `Utilisation Dashboard Concept` [INFERRED] - tutorial/chart-full.png → index.html - -## Communities (101 total, 2 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (127): $0(), a(), a7(), aa(), Ad(), Ae(), An(), ane() (+119 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (115): Ea(), $0(), _3(), a(), Ad(), ae(), bd(), bi() (+107 more) - -### Community 2 - "Community 2" -Cohesion: 0.03 -Nodes (36): C5(), Ct, cv, F4(), fV(), hae(), ie(), Iz (+28 more) - -### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (75): et(), ht(), _$(), _5(), AC(), aL(), b8(), b9() (+67 more) - -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (73): a8(), a9(), ar(), B0(), ba(), C8(), C9(), cd() (+65 more) - -### Community 5 - "Community 5" -Cohesion: 0.03 -Nodes (32): $$(), B0(), [BK,$K], cj(), cv, eC, eee(), fj() (+24 more) - -### Community 6 - "Community 6" -Cohesion: 0.05 -Nodes (67): a5, aee(), Ah(), bf(), Ch(), cU(), dC(), Dee() (+59 more) - -### Community 7 - "Community 7" -Cohesion: 0.06 -Nodes (59): af(), aq(), bC(), Bq(), C(), cB(), Ci(), cq() (+51 more) - -### Community 8 - "Community 8" -Cohesion: 0.05 -Nodes (39): aO(), ct(), Cz, eO(), eV(), F4(), gq(), H4 (+31 more) - -### Community 9 - "Community 9" -Cohesion: 0.07 -Nodes (55): _8(), _9(), a8(), aj(), b8(), bz(), c9(), cs() (+47 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (48): _7(), b(), bd(), clamp(), dae(), dZ(), fae(), formatHsl() (+40 more) - -### Community 11 - "Community 11" -Cohesion: 0.06 -Nodes (48): aq(), _B(), Bb(), Bs(), cC(), dC(), dI(), Dz (+40 more) - -### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (46): rZ, zs(), aae(), Az(), bq(), bz(), df(), DO() (+38 more) - -### Community 13 - "Community 13" -Cohesion: 0.07 -Nodes (39): aj(), Ak(), b4(), c1(), clamp(), cU(), eV(), f3() (+31 more) - -### Community 14 - "Community 14" -Cohesion: 0.09 -Nodes (38): a7(), an(), B7(), c7(), d7(), Da(), e7(), ew() (+30 more) - -### Community 15 - "Community 15" -Cohesion: 0.07 -Nodes (36): aB(), Bb(), c3(), C4(), cw(), d3(), eB(), f1() (+28 more) - -### Community 16 - "Community 16" -Cohesion: 0.08 -Nodes (33): aC(), are(), bA(), bre(), Bte(), cd(), cre(), Dd() (+25 more) - -### Community 17 - "Community 17" -Cohesion: 0.07 -Nodes (33): are(), b5(), bre(), ca, cB(), cs(), Dy(), gne() (+25 more) - -### Community 18 - "Community 18" -Cohesion: 0.09 -Nodes (27): cL(), D5(), e6(), EL(), ene(), ete(), fs(), GP() (+19 more) - -### Community 19 - "Community 19" -Cohesion: 0.09 -Nodes (27): a5, CL(), Dd(), eie(), EL(), gee(), gre(), hH() (+19 more) - -### Community 20 - "Community 20" -Cohesion: 0.10 -Nodes (25): aG(), Ai, bG(), cG(), eG(), ei(), ek(), fD() (+17 more) - -### Community 21 - "Community 21" -Cohesion: 0.13 -Nodes (23): _4(), Ah(), au(), aw(), bV(), d3(), dw(), e3 (+15 more) - -### Community 22 - "Community 22" -Cohesion: 0.11 -Nodes (22): bne(), cf(), cte(), dte, ff(), G5(), ite(), l5() (+14 more) - -### Community 23 - "Community 23" -Cohesion: 0.14 -Nodes (21): ane(), cee(), dl(), eB(), F5(), gH(), ine(), JN() (+13 more) - -### Community 24 - "Community 24" -Cohesion: 0.12 -Nodes (7): Nz, Oz(), Pz(), QC, Td(), To(), uv() - -### Community 25 - "Community 25" -Cohesion: 0.15 -Nodes (20): cn(), d7(), dw(), e7(), f7(), h7(), iC(), j7() (+12 more) - -### Community 26 - "Community 26" -Cohesion: 0.11 -Nodes (20): b1(), pz(), un(), UY(), xU(), y1(), zY(), cI() (+12 more) - -### Community 27 - "Community 27" -Cohesion: 0.13 -Nodes (18): aG(), bG(), cG(), dG(), eG(), fG(), gG(), jG() (+10 more) - -### Community 28 - "Community 28" -Cohesion: 0.16 -Nodes (17): a9(), e9(), fk(), Gb(), i3(), i9(), II(), Lk() (+9 more) - -### Community 29 - "Community 29" -Cohesion: 0.12 -Nodes (17): Ate(), b5(), d2(), ds(), Gte(), hae(), jL(), jte() (+9 more) - -### Community 30 - "Community 30" -Cohesion: 0.14 -Nodes (17): Ak(), eR(), fB(), gae(), Id(), iK(), jX(), KX() (+9 more) - -### Community 31 - "Community 31" -Cohesion: 0.13 -Nodes (17): c7(), eie(), gee(), iee(), lee(), n5(), n7(), qae() (+9 more) - -### Community 32 - "Community 32" -Cohesion: 0.22 -Nodes (13): ef(), H4, iF(), iw(), jV(), Kae(), lie(), oV() (+5 more) - -### Community 33 - "Community 33" -Cohesion: 0.25 -Nodes (16): BP(), ca(), DP(), hl(), Jk(), l1(), L8(), L9() (+8 more) - -### Community 34 - "Community 34" -Cohesion: 0.13 -Nodes (16): bee(), ee(), I0(), JM(), ko(), lf(), lI(), pB() (+8 more) - -### Community 35 - "Community 35" -Cohesion: 0.17 -Nodes (16): dee(), dH(), e5(), fee(), gs(), iH(), iq(), j3() (+8 more) - -### Community 36 - "Community 36" -Cohesion: 0.12 -Nodes (16): Pk(), Ao(), copy(), Dt(), e8(), Jae(), ji(), Lr() (+8 more) - -### Community 37 - "Community 37" -Cohesion: 0.17 -Nodes (16): dX(), fX(), G1(), hU(), hX(), jX(), K1(), mX() (+8 more) - -### Community 38 - "Community 38" -Cohesion: 0.17 -Nodes (15): B6(), b9(), bI(), bo(), e3(), f6(), I6(), jR() (+7 more) - -### Community 39 - "Community 39" -Cohesion: 0.16 -Nodes (15): aY(), b4(), BY(), displayable(), dV(), hV(), iy, ny() (+7 more) - -### Community 40 - "Community 40" -Cohesion: 0.17 -Nodes (15): AX(), CX(), dX(), eX(), hU(), K1(), Nd(), OX() (+7 more) - -### Community 41 - "Community 41" -Cohesion: 0.17 -Nodes (15): $3(), BY(), dV(), hV(), jY(), kU(), ly(), ny() (+7 more) - -### Community 42 - "Community 42" -Cohesion: 0.18 -Nodes (15): $6(), _9(), b6(), c6(), eC(), G6(), I6(), l6() (+7 more) - -### Community 43 - "Community 43" -Cohesion: 0.26 -Nodes (14): _5(), $6(), aL(), fI(), Hte(), il(), iu(), mt() (+6 more) - -### Community 44 - "Community 44" -Cohesion: 0.20 -Nodes (14): A3(), au(), bU(), cie(), d8(), en(), f8(), gN() (+6 more) - -### Community 45 - "Community 45" -Cohesion: 0.30 -Nodes (14): bf(), eee(), Fh(), gL(), gw(), Hne(), lte(), nX() (+6 more) - -### Community 46 - "Community 46" -Cohesion: 0.15 -Nodes (14): bee(), dne(), fL(), Hee(), I5(), Jee(), one(), Qee() (+6 more) - -### Community 47 - "Community 47" -Cohesion: 0.17 -Nodes (13): $1(), _4(), bV(), ej(), gC(), gV(), H0(), S4() (+5 more) - -### Community 48 - "Community 48" -Cohesion: 0.17 -Nodes (13): b7(), bae(), BL(), c6(), d6(), dn(), g3(), kG() (+5 more) - -### Community 49 - "Community 49" -Cohesion: 0.15 -Nodes (13): cee(), fV(), jee, K4(), lC(), nV(), qC(), tV() (+5 more) - -### Community 50 - "Community 50" -Cohesion: 0.17 -Nodes (13): cne(), Dne(), FL(), fne(), H5(), I5(), lne(), M5() (+5 more) - -### Community 51 - "Community 51" -Cohesion: 0.18 -Nodes (13): h3(), hne(), ine(), jY(), kU(), mne(), oY(), rne() (+5 more) - -### Community 52 - "Community 52" -Cohesion: 0.15 -Nodes (13): ef(), eY(), gj(), jd(), JJ(), nB(), o$(), Qj() (+5 more) - -### Community 53 - "Community 53" -Cohesion: 0.22 -Nodes (13): aR(), bR(), c1(), hI(), HP(), pd(), rV(), rw() (+5 more) - -### Community 54 - "Community 54" -Cohesion: 0.21 -Nodes (13): De(), dR(), Es(), Fe(), iX, Lt(), mR(), pU() (+5 more) - -### Community 55 - "Community 55" -Cohesion: 0.19 -Nodes (13): cae(), Fn(), ire(), kn(), kre(), lae(), ore(), pO() (+5 more) - -### Community 56 - "Community 56" -Cohesion: 0.18 -Nodes (13): aB(), aY(), fne(), H5(), iy, jd(), mne(), o$() (+5 more) - -### Community 57 - "Community 57" -Cohesion: 0.24 -Nodes (13): D1(), dq(), fq(), fU(), g4(), KL(), lq(), mq() (+5 more) - -### Community 58 - "Community 58" -Cohesion: 0.21 -Nodes (12): b3(), cj(), dj(), hw(), jh(), lH(), NJ(), WC() (+4 more) - -### Community 59 - "Community 59" -Cohesion: 0.20 -Nodes (12): Ch(), cte(), Dte(), ee(), fte(), iN(), lf(), nte() (+4 more) - -### Community 60 - "Community 60" -Cohesion: 0.17 -Nodes (12): $1(), Ai(), Cq(), displayable(), ej(), H0(), kV(), qV() (+4 more) - -### Community 61 - "Community 61" -Cohesion: 0.21 -Nodes (12): a3(), eR(), HE, kA(), pB(), pt, rn(), Ve() (+4 more) - -### Community 62 - "Community 62" -Cohesion: 0.27 -Nodes (11): Chart Full View (Tutorial Screenshot), Chart Without Forecast (Tutorial Screenshot), Forecast Chart Feature, Time Log Viewer Application, Utilisation Dashboard Concept, Zoho Data Export Integration, index-DtJOecoO.css (Bundle), index-BTRMw9pS.js (Bundle) (+3 more) - -### Community 63 - "Community 63" -Cohesion: 0.18 -Nodes (11): bae(), BL(), cae(), ete(), fae(), fn(), mB(), tG() (+3 more) - -### Community 64 - "Community 64" -Cohesion: 0.24 -Nodes (10): fX(), GX(), hX(), mX(), pX(), vd(), w1(), wX() (+2 more) - -### Community 65 - "Community 65" -Cohesion: 0.24 -Nodes (10): aee(), aie(), iee(), mee(), n3(), nee(), nie(), of() (+2 more) - -### Community 66 - "Community 66" -Cohesion: 0.24 -Nodes (10): ate(), aX(), bne(), cf(), l5(), o3(), wne(), xH() (+2 more) - -### Community 67 - "Community 67" -Cohesion: 0.22 -Nodes (10): _8(), ck(), FO(), h6(), hC(), i8(), K6(), ms() (+2 more) - -### Community 68 - "Community 68" -Cohesion: 0.24 -Nodes (10): D5(), ene(), ff(), il(), jne(), pne(), U5(), V5() (+2 more) - -### Community 69 - "Community 69" -Cohesion: 0.25 -Nodes (9): eae(), iae(), Jt(), k5(), N4(), Qte(), rae(), tae() (+1 more) - -### Community 70 - "Community 70" -Cohesion: 0.42 -Nodes (9): fo(), gy(), is(), kd(), kR(), Kt(), sD, Va() (+1 more) - -### Community 71 - "Community 71" -Cohesion: 0.36 -Nodes (8): b3(), Bk(), i7(), ir(), LL(), u7(), uI(), z7() - -### Community 72 - "Community 72" -Cohesion: 0.29 -Nodes (8): aV(), I1(), iV(), kie(), M4(), rU(), sie(), sV() - -### Community 73 - "Community 73" -Cohesion: 0.25 -Nodes (8): bo(), jR(), mf(), oR(), vo(), wh(), yee(), zR() - -### Community 74 - "Community 74" -Cohesion: 0.29 -Nodes (8): cw(), M9(), mU(), os, pU(), sX, uw(), xU() - -### Community 75 - "Community 75" -Cohesion: 0.29 -Nodes (8): BX(), CX(), fD(), iG(), wX(), xX(), YX(), zX() - -### Community 76 - "Community 76" -Cohesion: 0.46 -Nodes (8): af(), hq(), jq(), nf(), P4(), qq(), Wq(), zq() - -### Community 77 - "Community 77" -Cohesion: 0.29 -Nodes (7): bN(), ly(), Ok(), oR(), p2(), z1(), zae - -### Community 78 - "Community 78" -Cohesion: 0.33 -Nodes (7): bh(), dU(), h3(), qL(), Ti(), yf(), yH() - -### Community 79 - "Community 79" -Cohesion: 0.29 -Nodes (7): cne(), lne(), M5(), oB(), pI(), une(), xf() - -### Community 80 - "Community 80" -Cohesion: 0.33 -Nodes (7): Cz(), j1(), kw, lz(), Sz(), Uz, w3() - -### Community 81 - "Community 81" -Cohesion: 0.33 -Nodes (6): j6(), K6(), md(), x7(), y6(), z6() - -### Community 82 - "Community 82" -Cohesion: 0.33 -Nodes (6): GI(), mte, nR(), rR(), rte(), tR() - -### Community 83 - "Community 83" -Cohesion: 0.33 -Nodes (6): bU(), cie(), die(), fie(), hie(), rt() - -### Community 84 - "Community 84" -Cohesion: 0.40 -Nodes (5): Ge(), it(), pt(), ut(), xe() - -### Community 85 - "Community 85" -Cohesion: 0.40 -Nodes (5): bX(), G1(), LX(), uX(), zX() - -### Community 86 - "Community 86" -Cohesion: 0.40 -Nodes (5): b1(), mz(), Vz(), xz(), y1() - -### Community 87 - "Community 87" -Cohesion: 0.40 -Nodes (5): d6(), ek(), f6(), Wm(), Za() - -### Community 88 - "Community 88" -Cohesion: 0.40 -Nodes (5): aV(), K4(), MV(), v4(), Xg() - -### Community 89 - "Community 89" -Cohesion: 0.50 -Nodes (4): CR(), GP(), Pk(), pR() - -### Community 90 - "Community 90" -Cohesion: 0.50 -Nodes (4): e6(), KP(), t6(), VP() - -### Community 91 - "Community 91" -Cohesion: 0.50 -Nodes (4): G5(), gae(), vae(), xae() - -### Community 92 - "Community 92" -Cohesion: 0.50 -Nodes (4): C4(), f1(), ho(), wo() - -### Community 93 - "Community 93" -Cohesion: 0.50 -Nodes (4): bj(), sj(), UX(), yj() - -### Community 94 - "Community 94" -Cohesion: 0.67 -Nodes (3): gR(), vr(), YP() - -### Community 95 - "Community 95" -Cohesion: 1.00 -Nodes (3): aae(), df(), nae() - -### Community 96 - "Community 96" -Cohesion: 0.67 -Nodes (3): g6(), V6(), Q6() - -### Community 97 - "Community 97" -Cohesion: 0.67 -Nodes (3): eX(), tX(), Wd - -### Community 98 - "Community 98" -Cohesion: 0.67 -Nodes (3): iV(), M4(), sV() - -## Knowledge Gaps -- **17 isolated node(s):** `allow`, `cv`, `PV`, `rj`, `kf` (+12 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `qt()` connect `Community 28` to `Community 0`, `Community 33`, `Community 2`, `Community 3`, `Community 1`, `Community 38`, `Community 6`, `Community 71`, `Community 9`, `Community 10`, `Community 43`?** - _High betweenness centrality (0.048) - this node is a cross-community bridge._ -- **Why does `et()` connect `Community 3` to `Community 0`, `Community 1`, `Community 4`, `Community 5`, `Community 14`, `Community 21`?** - _High betweenness centrality (0.045) - this node is a cross-community bridge._ -- **Why does `Na()` connect `Community 0` to `Community 1`, `Community 2`, `Community 53`, `Community 15`?** - _High betweenness centrality (0.045) - this node is a cross-community bridge._ -- **Are the 6 inferred relationships involving `JM()` (e.g. with `Pa()` and `b()`) actually correct?** - _`JM()` has 6 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `ZM()` (e.g. with `M()` and `ms()`) actually correct?** - _`ZM()` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `allow`, `cv`, `PV` to the rest of the system?** - _17 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05425688976377953 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/lusa-back-planner-structure.md b/wiki/architecture/lusa-back-planner-structure.md deleted file mode 100644 index 5797ffb..0000000 --- a/wiki/architecture/lusa-back-planner-structure.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -tags: [architecture, graphify, lusa-back-planner] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/lusa-back-planner (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 564 nodes · 807 edges · 51 communities (44 shown, 7 thin omitted) -- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 6 edges (avg confidence: 0.83) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 77 edges -2. `compilerOptions` - 20 edges -3. `Carousel` - 16 edges -4. `compilerOptions` - 14 edges -5. `Pagination()` - 10 edges -6. `LUSA Back Planner AGENTS Guide` - 10 edges -7. `compilerOptions` - 9 edges -8. `isNonWorkDay()` - 9 edges -9. `parseBriefPdf()` - 9 edges -10. `scripts` - 8 edges - -## Surprising Connections (you probably didn't know these) -- `LUSA Back Planner AGENTS Guide` --references--> `SLA Durations (90+ Asset Types)` [EXTRACTED] - AGENTS.md → src/lib/sla-data.ts -- `LUSA Back Planner AGENTS Guide` --references--> `L'Oréal Brand Definitions (38)` [EXTRACTED] - AGENTS.md → src/lib/brands.ts -- `LUSA Back Planner AGENTS Guide` --references--> `AuthGuard Component (Azure AD SSO)` [EXTRACTED] - AGENTS.md → src/components/AuthGuard.tsx -- `Lane Definitions & Timeline Logic` --implements--> `Workback Timeline Generation` [EXTRACTED] - src/lib/templates.ts → AGENTS.md -- `cn()` --calls--> `clsx` [INFERRED] - src/lib/utils.ts → package.json - -## Communities (51 total, 7 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.07 -Nodes (47): STAGE_PRESETS, REASON_OPTIONS, GanttViewProps, MilestoneCardProps, LaneCard(), LaneCardProps, inferYear(), MONTHS (+39 more) - -### Community 1 - "Community 1" -Cohesion: 0.04 -Nodes (52): dependencies, @azure/msal-browser, @azure/msal-react, class-variance-authority, cmdk, date-fns, embla-carousel-react, @hookform/resolvers (+44 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (37): useIsMobile(), Input, Separator, SheetContent, SheetContentProps, SheetDescription, SheetFooter(), SheetHeader() (+29 more) - -### Community 3 - "Community 3" -Cohesion: 0.08 -Nodes (26): Action, ActionType, actionTypes, addToRemoveQueue(), dispatch(), genId(), listeners, memoryState (+18 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (32): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, jsdom (+24 more) - -### Community 5 - "Community 5" -Cohesion: 0.13 -Nodes (21): BriefUploaderProps, Brand, brands, countBusinessDays(), DATE_PATTERNS, detectRush(), DUE_KEYWORDS, extractProjectName() (+13 more) - -### Community 6 - "Community 6" -Cohesion: 0.09 -Nodes (22): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleDetection (+14 more) - -### Community 7 - "Community 7" -Cohesion: 0.12 -Nodes (16): aliases, components, hooks, lib, ui, utils, rsc, $schema (+8 more) - -### Community 8 - "Community 8" -Cohesion: 0.25 -Nodes (17): LUSA Back Planner AGENTS Guide, Change Request Workflow, PDF Export (jsPDF + html2canvas), Client-side PDF Parsing (pdfjs-dist), Workback Timeline Generation, Enhanced Change Request Tab Plan, AddStageDialog Component (Planned), ChangeRequestTab Component (+9 more) - -### Community 9 - "Community 9" -Cohesion: 0.12 -Nodes (14): Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut() (+6 more) - -### Community 10 - "Community 10" -Cohesion: 0.12 -Nodes (15): compilerOptions, allowImportingTsExtensions, isolatedModules, lib, module, moduleDetection, moduleResolution, noEmit (+7 more) - -### Community 11 - "Community 11" -Cohesion: 0.15 -Nodes (9): cn(), clsx, HoverCardContent, Progress, RadioGroup, ResizableHandle(), ResizablePanelGroup(), Slider (+1 more) - -### Community 12 - "Community 12" -Cohesion: 0.21 -Nodes (7): AuthGuardProps, Azure AD SSO (MSAL), index.html Entry Point, loginRequest, msalInstance, AuthGuard Component (Azure AD SSO), MSAL / Azure AD Config - -### Community 13 - "Community 13" -Cohesion: 0.15 -Nodes (12): compilerOptions, allowJs, baseUrl, noImplicitAny, noUnusedLocals, noUnusedParameters, paths, skipLibCheck (+4 more) - -### Community 14 - "Community 14" -Cohesion: 0.15 -Nodes (12): Carousel, CarouselApi, CarouselContent, CarouselContext, CarouselContextProps, CarouselItem, CarouselNext, CarouselOptions (+4 more) - -### Community 15 - "Community 15" -Cohesion: 0.17 -Nodes (11): Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarRadioItem, MenubarSeparator, MenubarShortcut() (+3 more) - -### Community 16 - "Community 16" -Cohesion: 0.18 -Nodes (8): FormControl, FormDescription, FormFieldContext, FormFieldContextValue, FormItem, FormItemContext, FormLabel, FormMessage - -### Community 17 - "Community 17" -Cohesion: 0.18 -Nodes (7): ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES - -### Community 18 - "Community 18" -Cohesion: 0.20 -Nodes (9): DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut(), DropdownMenuSubContent (+1 more) - -### Community 19 - "Community 19" -Cohesion: 0.20 -Nodes (9): ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut(), ContextMenuSubContent (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.22 -Nodes (8): Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow - -### Community 21 - "Community 21" -Cohesion: 0.22 -Nodes (8): AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter(), AlertDialogHeader(), AlertDialogOverlay, AlertDialogTitle - -### Community 22 - "Community 22" -Cohesion: 0.25 -Nodes (6): DrawerContent, DrawerDescription, DrawerFooter(), DrawerHeader(), DrawerOverlay, DrawerTitle - -### Community 23 - "Community 23" -Cohesion: 0.25 -Nodes (4): complexities, contentCategories, slaData, SlaEntry - -### Community 24 - "Community 24" -Cohesion: 0.29 -Nodes (6): Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle - -### Community 25 - "Community 25" -Cohesion: 0.29 -Nodes (7): ButtonProps, Pagination(), PaginationContent, PaginationEllipsis(), PaginationItem, PaginationLinkProps, PaginationPrevious() - -### Community 26 - "Community 26" -Cohesion: 0.33 -Nodes (5): Breadcrumb, BreadcrumbEllipsis(), BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator() - -### Community 27 - "Community 27" -Cohesion: 0.40 -Nodes (4): Alert, AlertDescription, AlertTitle, alertVariants - -### Community 28 - "Community 28" -Cohesion: 0.40 -Nodes (4): InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot - -### Community 29 - "Community 29" -Cohesion: 0.50 -Nodes (3): Avatar, AvatarFallback, AvatarImage - -### Community 30 - "Community 30" -Cohesion: 0.50 -Nodes (3): AccordionContent, AccordionItem, AccordionTrigger - -### Community 31 - "Community 31" -Cohesion: 0.67 -Nodes (3): Badge(), BadgeProps, badgeVariants - -### Community 32 - "Community 32" -Cohesion: 0.67 -Nodes (3): ToggleGroup, Toggle, toggleVariants - -### Community 33 - "Community 33" -Cohesion: 0.50 -Nodes (4): NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuViewport - -## Knowledge Gaps -- **336 isolated node(s):** `target`, `lib`, `module`, `skipLibCheck`, `moduleResolution` (+331 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **7 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `cn()` connect `Community 11` to `Community 0`, `Community 2`, `Community 3`, `Community 5`, `Community 9`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 22`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 36`, `Community 37`, `Community 38`?** - _High betweenness centrality (0.409) - this node is a cross-community bridge._ -- **Why does `dependencies` connect `Community 1` to `Community 11`, `Community 4`?** - _High betweenness centrality (0.223) - this node is a cross-community bridge._ -- **Why does `clsx` connect `Community 11` to `Community 1`?** - _High betweenness centrality (0.206) - this node is a cross-community bridge._ -- **What connects `target`, `lib`, `module` to the rest of the system?** - _336 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.07319347319347319 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.038461538461538464 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.0507399577167019 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/modcomms-structure.md b/wiki/architecture/modcomms-structure.md deleted file mode 100644 index e9ed0f6..0000000 --- a/wiki/architecture/modcomms-structure.md +++ /dev/null @@ -1,405 +0,0 @@ ---- -tags: [architecture, graphify, modcomms] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/modcomms (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1262 nodes · 2187 edges · 101 communities (86 shown, 15 thin omitted) -- Extraction: 88% EXTRACTED · 12% INFERRED · 0% AMBIGUOUS · INFERRED: 260 edges (avg confidence: 0.72) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] - -## God Nodes (most connected - your core abstractions) -1. `apiService.ts` - 85 edges -2. `campaigns table` - 73 edges -3. `GeminiService` - 38 edges -4. `knowledge_bases table` - 27 edges -5. `proof_repository.py` - 26 edges -6. `ReferenceDocsService` - 22 edges -7. `analysis_service.py` - 22 edges -8. `Lead Agent` - 21 edges -9. `add_textbox()` - 20 edges -10. `main()` - 20 edges - -## Surprising Connections (you probably didn't know these) -- `Knowledge Base Pipeline Diagram` --semantically_similar_to--> `ADR: LlamaParse + Gemini Distillation for KB` [INFERRED] [semantically similar] - documentation/architecture/diagrams/rendered/07_knowledge_base_pipeline.png → docs/reference/adrs/2026-04-29-knowledge-base-pipeline.md -- `WebSocket Flow Diagram` --conceptually_related_to--> `Mod Comms Intelligent Review App` [INFERRED] - documentation/architecture/diagrams/rendered/03_websocket_flow.png → frontend/index.html -- `Database ERD Diagram` --conceptually_related_to--> `Mod Comms Intelligent Review App` [INFERRED] - documentation/architecture/diagrams/rendered/04_database_erd.png → frontend/index.html -- `Agent Pipeline Diagram` --conceptually_related_to--> `Mod Comms Intelligent Review App` [INFERRED] - documentation/architecture/diagrams/rendered/02_agent_pipeline.png → frontend/index.html -- `Auth RBAC Flow Diagram` --conceptually_related_to--> `Mod Comms Intelligent Review App` [INFERRED] - documentation/architecture/diagrams/rendered/06_auth_rbac_flow.png → frontend/index.html - -## Communities (101 total, 15 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (49): Config, DiffLine, KnowledgeBaseDetail, KnowledgeBaseListItem, Pydantic schemas for Knowledge Base API., SpecVersionDetail, SpecVersionListItem, AgencyAnalyticsItem (+41 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (48): ADR: LlamaParse + Gemini Distillation for KB, ADR: REST Polling over WebSocket, Agent Pipeline Diagram, Auth RBAC Flow Diagram, AnalysisJob In-Memory Store, Barclays Brand Identity, Digital Channel Strategy, Google Gemini API (+40 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (39): health_check(), HealthCheckFilter, info(), lifespan(), Health check endpoint., Get backend information. Requires authentication., Filter out health check endpoint logs from uvicorn access log., Initialize services on startup and cleanup on shutdown. (+31 more) - -### Community 3 - "Community 3" -Cohesion: 0.16 -Nodes (37): ArchDocTemplate, build_agent_pipeline(), build_api_reference(), build_auth_rbac(), build_cover(), build_database_schema(), build_deployment(), build_env_vars() (+29 more) - -### Community 4 - "Community 4" -Cohesion: 0.07 -Nodes (20): apiService.ts, delete_proof(), get_user_change_history(), Send support email - no auth required (for login page)., Delete a proof and its associated files., Get change history for a user (super_admin and oversight_admin)., Delete a proof type (super_admin only)., send_support_email() (+12 more) - -### Community 5 - "Community 5" -Cohesion: 0.07 -Nodes (36): ModComms Project Overview (AGENTS.md), POST /api/analyze Endpoint, Audit API Endpoints, Campaigns API Endpoints, Knowledge Base API Endpoints, Apache HTTP Server, Auth Middleware (Azure AD JWT), KnowledgeBaseService (+28 more) - -### Community 6 - "Community 6" -Cohesion: 0.07 -Nodes (20): IG_HERO_POST_1_FEEDBACK_V1, initialProjectAssets, initialProjects, ProjectsProps, agentIcons, StatusDashboardProps, StatusInfoProps, ToggleSwitchProps (+12 more) - -### Community 7 - "Community 7" -Cohesion: 0.06 -Nodes (16): Get a single source document by ID., Update parse status of a source document., Get the active spec version for a given agent key., Repository for knowledge base database operations., List all spec versions for a knowledge base., Create a new spec version, auto-incrementing version number and deactivating pri, List all knowledge bases with eager-loaded relationships., Create a new processing job. (+8 more) - -### Community 8 - "Community 8" -Cohesion: 0.08 -Nodes (32): gemini_service.py, geminiService.ts, main.py (FastAPI entry), Cloud Run ModComms Backend Service, Docker Compose Backend Service, Docker Compose PostgreSQL Service, ai_scorer.py (Claude-based), Anthropic API (Claude Sonnet) (+24 more) - -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (16): AssetPreviewProps, CampaignsProps, IG_HERO_POST_1_FEEDBACK_V1, IG_HERO_POST_1_FEEDBACK_V2, initialCampaignProofs, initialCampaigns, ProofDetailView(), SortDirection (+8 more) - -### Community 10 - "Community 10" -Cohesion: 0.09 -Nodes (27): ADR: Five-Agent Parallel Analysis with Gemini 2.5 Pro, Channel Best Practices Agent - analyzes proofs for creative best practices and c, Initialize the Channel Best Practices Agent. Args: gemini_s, Build prompt section for revision-aware analysis., Analyze the proof for channel best practices and content strategy. Args, ModComms Technical Architecture PDF, Frontend Hierarchy Diagram, System Overview Diagram (+19 more) - -### Community 11 - "Community 11" -Cohesion: 0.08 -Nodes (15): proof_repository.py, get_proof(), Create a new version of a proof., Get a specific version of a proof., Get proof version by ID., Get the latest version number for a proof., Get the file_hash from the latest version of a proof., Get the agent_review from the previous version (N-1) of a proof. Args: (+7 more) - -### Community 12 - "Community 12" -Cohesion: 0.09 -Nodes (27): _check_campaign_access(), delete_campaign(), export_campaigns_csv(), get_analytics(), get_campaign(), get_me(), list_campaigns(), list_error_items() (+19 more) - -### Community 13 - "Community 13" -Cohesion: 0.11 -Nodes (19): CheckDetail, specialistAgents, formatFeedbackText(), hasRevisionData(), LeadAgentSummary(), renderBoldMarkdown(), SubReviewCard(), PDFReportProps (+11 more) - -### Community 14 - "Community 14" -Cohesion: 0.08 -Nodes (21): add_channel(), add_proof_type(), add_sub_channel(), delete_channel(), delete_sub_channel(), get_dropdown_options(), Get all dropdown options as hierarchical structure., Add a new channel (super_admin only). (+13 more) - -### Community 15 - "Community 15" -Cohesion: 0.08 -Nodes (17): Analytics(), navigation, NavItem, Sidebar(), SidebarProps, ConfirmationContent, ErrorContent, FilePreviewContent (+9 more) - -### Community 16 - "Community 16" -Cohesion: 0.13 -Nodes (26): Base, DeclarativeBase, Base, Base class for all SQLAlchemy models., Agency, ErrorItem, FlaggedItem, ProcessingJob (+18 more) - -### Community 17 - "Community 17" -Cohesion: 0.10 -Nodes (25): activate_spec_version(), delete_source_document(), get_knowledge_base(), get_processing_job(), list_knowledge_bases(), list_spec_versions(), REST API routes for Knowledge Base management., Upload a source document to a knowledge base. (+17 more) - -### Community 18 - "Community 18" -Cohesion: 0.13 -Nodes (18): ABC, analysis_service.py, BaseAgent, Abstract base class for all review agents., Channel Tech Specs Agent - analyzes proofs for technical specifications and form, Initialize the Channel Tech Specs Agent. Args: gemini_servi, LegalAgent, Legal Agent - analyzes proofs for legal compliance using Gemini. (+10 more) - -### Community 19 - "Community 19" -Cohesion: 0.11 -Nodes (15): CopyGenAI(), mockConversations, DEFAULT_AGENCIES, INITIAL_USERS, Settings(), SettingsProps, Tab, User (+7 more) - -### Community 20 - "Community 20" -Cohesion: 0.11 -Nodes (13): Load and return all channel guideline documents as a single context string., Load and return the Channel Best Practices specification., Load and return the Channel Tech Specs specification., Load and return the Legal specification., Load all .md files from a directory and concatenate them. Args:, Return summary info about loaded documents., Load active spec content from DB for all agent keys., Service to load and provide reference documents for agents. (+5 more) - -### Community 21 - "Community 21" -Cohesion: 0.12 -Nodes (17): GeminiService, Run a single agent with callback notifications., Analyze a proof using all agents in parallel. Args: file_da, getAccessToken(), Analyze multiple images with Gemini and return a structured SubReview., Service wrapper for Google Gemini API calls., Initialize the Gemini service. Args: api_key: Google Gemini, Generate a text summary (for lead agent). Args: prompt: The (+9 more) - -### Community 22 - "Community 22" -Cohesion: 0.10 -Nodes (12): create_agency(), list_users(), List all users (super_admin and oversight_admin)., Update a user's role and/or agency (super_admin only)., Create a new agency (super_admin only)., update_user(), Update user role and/or agency. Pass agency_id=None to unassign., Insert a user change log entry. (+4 more) - -### Community 23 - "Community 23" -Cohesion: 0.11 -Nodes (13): AgencyFilterBar(), Auditing(), AuditingProps, Hero(), HeroProps, AppContent(), View, ErrorItem (+5 more) - -### Community 24 - "Community 24" -Cohesion: 0.11 -Nodes (12): StorageService, Generate a data URL for the file (for small previews)., Calculate MD5 checksum of file data., Store a knowledge base source document and return the storage key., Service for storing and retrieving proof files., Ensure the storage directory exists., Generate a unique storage key for a file., Get the full file path for a storage key. (+4 more) - -### Community 25 - "Community 25" -Cohesion: 0.13 -Nodes (12): Login(), accounts, msalInstance, payload, root, rootElement, BarclaysLogo(), MicrosoftLogo() (+4 more) - -### Community 26 - "Community 26" -Cohesion: 0.13 -Nodes (15): Analysis Pipeline, analysis_routes.py, Format reviews as a readable string for the prompt., Determine overall status using local logic (without Gemini). This can b, Build revision context section for the synthesis prompt., Lead Agent - synthesizes specialist agent reviews into a final summary. App, Synthesize specialist reviews into final status and summary. Args:, reference_docs.py (ReferenceDocsService) (+7 more) - -### Community 27 - "Community 27" -Cohesion: 0.19 -Nodes (18): add_rich_textbox(), add_textbox(), make_agenda_slide(), make_closing_slide(), make_problem_slide(), make_section_divider(), make_solution_slide(), make_title_slide() (+10 more) - -### Community 28 - "Community 28" -Cohesion: 0.17 -Nodes (12): CampaignList(), Profile(), ProfileProps, ROLE_LABELS, UserContext, UserContextValue, UserProvider(), useUser() (+4 more) - -### Community 29 - "Community 29" -Cohesion: 0.11 -Nodes (17): compilerOptions, allowImportingTsExtensions, allowJs, experimentalDecorators, isolatedModules, jsx, lib, module (+9 more) - -### Community 30 - "Community 30" -Cohesion: 0.13 -Nodes (9): create_campaign(), Create a new campaign., Get campaigns with proof counts., Repository for campaign-related database operations., Get campaign by ID with related data., Get campaign by name., List campaigns, optionally filtered by agency., Update campaign fields. (+1 more) - -### Community 31 - "Community 31" -Cohesion: 0.16 -Nodes (11): Brand Agent - analyzes proofs against Barclays brand guidelines using Gemini., Get the appropriate brand specification based on the brand selection. A, Build prompt section for revision-aware analysis., Analyze the proof for brand guideline adherence. Args: imag, Initialize the Lead Agent. Args: gemini_service: Service fo, AnalysisService (Orchestrator), Brand Agent, Channel Agent (+3 more) - -### Community 32 - "Community 32" -Cohesion: 0.13 -Nodes (14): get_current_db_user(), get_current_user(), FastAPI authentication dependencies. Provides dependency functions for securing, Dependency factory that restricts access to users with specific roles. Usag, Dependency for write/mutation operations., FastAPI dependency to verify the access token and return user claims. Use a, Resolve Azure AD claims to a full User ORM object with agency loaded. Creat, require_role() (+6 more) - -### Community 33 - "Community 33" -Cohesion: 0.13 -Nodes (10): Background task: run the full analysis pipeline and update job state., _run_analysis(), flag_proof_version(), Flag an issue on a proof version., Resolve an issue on a proof version., resolve_proof_version(), Create a new error item., Create a new flagged item. (+2 more) - -### Community 34 - "Community 34" -Cohesion: 0.15 -Nodes (15): CAP/BCAP Code Requirements, COBS 4.5 Communication Standards, Comparative Advertising Requirements, Consumer Duty Requirements, Disclaimers and Terms Requirements, FCA Principles for Business, Financial Promotion Definition, Third-Party and Influencer Content Rules (+7 more) - -### Community 35 - "Community 35" -Cohesion: 0.14 -Nodes (11): Return flat rows for CSV export: Campaign → Proof → ProofVersion joined with Age, PDFService, PDF Rasterization Service. Converts PDF pages to PNG images for analysis and di, Service for PDF rasterization operations., Convert PDF pages to PNG images. Args: pdf_data: Raw PDF fi, Get the number of pages in a PDF. Args: pdf_data: Raw PDF f, str, downgrade() (+3 more) - -### Community 36 - "Community 36" -Cohesion: 0.21 -Nodes (10): knowledge_bases table, DiffLine, DiffResult, KnowledgeBaseListItem, ProcessingJob, ProofVersion, SourceDocument, SpecVersionDetail (+2 more) - -### Community 37 - "Community 37" -Cohesion: 0.23 -Nodes (10): AnalyzeRequest, poll_analysis(), Submit a proof for analysis. Returns job_id immediately., Poll the status of an analysis job., submit_analysis(), AnalysisJob, _cleanup_old_jobs(), create_job() (+2 more) - -### Community 38 - "Community 38" -Cohesion: 0.20 -Nodes (3): agentPerformance, BugIcon(), UploadIcon() - -### Community 39 - "Community 39" -Cohesion: 0.17 -Nodes (12): Cyan Brand Asset Usage, Eagle Brand Asset Usage, Logo Brand Asset Usage, Barclays Sacred Assets (Logo, Eagle, Cyan), Barclays Expression Brand Architecture, Barclays Expression Sacred Assets, Endorsed Brand Architecture, Brand Architecture Expression Guidelines (+4 more) - -### Community 40 - "Community 40" -Cohesion: 0.18 -Nodes (12): add_connector_line(), add_rounded_rect(), make_admin_three_col_slide(), make_campaign_lifecycle_slide(), make_knowledge_base_slide(), make_tech_architecture_slide(), Slide 21: Analytics, Auditing & Settings (3-column)., Slide 23: Technical Architecture (layered diagram). (+4 more) - -### Community 41 - "Community 41" -Cohesion: 0.22 -Nodes (11): Barclays Accessibility Guidelines, Diversity Equity Inclusion Guidelines, Barclays Portal Asset, Barclays Expression Core Principles, Barclays Expression Sustainability, Barclays Expression Voice Guidelines, Digital Colour System, Digital Optimised Eagle (+3 more) - -### Community 42 - "Community 42" -Cohesion: 0.24 -Nodes (10): Barclaycard Capturing Possibilities Platform, Barclaycard Card Portal, Barclaycard Colour Palette, Barclaycard Design Principles, Barclaycard Logo Guidelines, Barclaycard Sacred Assets, Barclaycard Core Principles, Barclaycard Brand Voice (+2 more) - -### Community 43 - "Community 43" -Cohesion: 0.24 -Nodes (10): Barclaycard Atom Design, Barclaycard Blueprint Digital System, Barclaycard Digital Colour, Barclaycard GDE, Barclaycard Digital Logo, Barclaycard Digital Photography Types, Barclaycard Digital Guidelines, Atomic Design System (+2 more) - -### Community 44 - "Community 44" -Cohesion: 0.20 -Nodes (10): add_bullet_list(), make_content_slide(), make_legal_agent_slide(), make_user_roles_slide(), make_websocket_slide(), Slide 22: User Roles & Access Control (table-style)., Standard content slide with heading and bullet list., Slide 9: Legal Agent deep dive. (+2 more) - -### Community 45 - "Community 45" -Cohesion: 0.28 -Nodes (9): main(), make_brand_agent_slide(), make_channel_agents_slide(), make_feedback_reports_slide(), make_two_column_slide(), Two-column content slide., Slide 10: Brand Agent deep dive., Slide 11: Channel agents deep dive. (+1 more) - -### Community 46 - "Community 46" -Cohesion: 0.25 -Nodes (4): Get all error items, optionally filtered by agency., Get combined audit log with flagged, resolved, and error items., Get all flagged items, optionally filtered by agency., Get all resolved items, optionally filtered by agency. - -### Community 47 - "Community 47" -Cohesion: 0.39 -Nodes (6): get_url(), Run migrations in 'offline' mode., Run migrations in 'online' mode with async engine., run_async_migrations(), run_migrations_offline(), run_migrations_online() - -### Community 48 - "Community 48" -Cohesion: 0.25 -Nodes (8): Connected Brand Voice Trait, Barclays Language and Lexicon, Optimistic Brand Voice Trait, Pioneering Brand Voice Trait, Professional Brand Voice Trait, Barclays Brand Voice Toolkit, Tone Flexing Guidance, Barclays Writing Style Guidelines - -### Community 49 - "Community 49" -Cohesion: 0.33 -Nodes (7): User Management and Authentication, Campaigns Management Feature, Core App Navigation Structure, Proofs Asset Level Management, Mod Comms App Requirements Document, BAR TYE Digital Clock Display Proof, BAR TYE Web Banners 320x50 Proof - -### Community 50 - "Community 50" -Cohesion: 0.33 -Nodes (6): get_spec_diff(), get_spec_version(), Get full spec content for a version., Compute diff between two spec versions., DiffResponse, Get a spec version by ID. - -### Community 51 - "Community 51" -Cohesion: 0.33 -Nodes (6): Social Media Accessibility, Social Media Co-branding Guidelines, Social Media Logo Guidelines, Social Media Motion Guidelines, Social Media Portal Sizes, Barclays Social Media Guideline - -### Community 52 - "Community 52" -Cohesion: 0.33 -Nodes (6): add_circle(), make_agent_architecture_slide(), make_rag_status_slide(), Add a circle shape with centered text., Slide 8: Agent architecture diagram., Slide 12: RAG Status & Decision Logic. - -### Community 53 - "Community 53" -Cohesion: 0.40 -Nodes (5): buildUrl(), pushUrlState(), UrlNavigationState, VALID_VIEWS, View - -### Community 54 - "Community 54" -Cohesion: 0.40 -Nodes (5): Enum, OverallStatus, RagStatus, Overall status for the proof review., RAG status for agent reviews. - -### Community 55 - "Community 55" -Cohesion: 0.40 -Nodes (3): Application settings loaded from environment variables., Validate required settings are present., Settings - -### Community 56 - "Community 56" -Cohesion: 0.40 -Nodes (5): BDL Colour Guidance, BDL Materials Guidance, BDL Sustainability Guidelines, BDL Toolkit, Brand Design Language Core - -### Community 57 - "Community 57" -Cohesion: 0.40 -Nodes (4): EmailService, Email service for sending support emails via Mailgun., Send a support email via Mailgun API. Args: message: The me, Service for sending emails via Mailgun API. - -### Community 58 - "Community 58" -Cohesion: 0.40 -Nodes (4): downgrade(), Remove all seeded data., Seed default channel/sub-channel/proof-type options, agencies, and brand guideli, upgrade() - -### Community 59 - "Community 59" -Cohesion: 0.40 -Nodes (4): downgrade(), Add proof types for Meta sub-channel if they don't exist., Remove Meta proof types added by this migration., upgrade() - -### Community 60 - "Community 60" -Cohesion: 0.40 -Nodes (4): downgrade(), Remove unique constraints (cannot restore deleted duplicates)., Remove duplicate dropdown options, keeping the ones with children (proof types)., upgrade() - -### Community 61 - "Community 61" -Cohesion: 0.50 -Nodes (4): get_file(), get_pdf_pages(), Rasterize a stored PDF and return pages as data URLs., Retrieve a stored file by its storage key. - -### Community 64 - "Community 64" -Cohesion: 0.50 -Nodes (3): description, name, requestFramePermissions - -### Community 65 - "Community 65" -Cohesion: 0.67 -Nodes (3): get_analytics_by_agency(), Get per-agency analytics breakdown (admin only)., Get analytics data grouped by agency. - -## Knowledge Gaps -- **195 isolated node(s):** `msalInstance`, `accounts`, `payload`, `rootElement`, `root` (+190 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **15 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `GeminiService` connect `Community 21` to `Community 2`, `Community 36`, `Community 5`, `Community 6`, `Community 8`, `Community 9`, `Community 10`, `Community 13`, `Community 15`, `Community 18`, `Community 54`, `Community 23`, `Community 25`, `Community 26`, `Community 31`?** - _High betweenness centrality (0.255) - this node is a cross-community bridge._ -- **Why does `apiService.ts` connect `Community 4` to `Community 9`, `Community 12`, `Community 13`, `Community 14`, `Community 17`, `Community 19`, `Community 21`, `Community 22`, `Community 23`, `Community 25`, `Community 26`, `Community 28`, `Community 30`, `Community 33`, `Community 36`, `Community 38`, `Community 46`, `Community 50`, `Community 61`, `Community 65`?** - _High betweenness centrality (0.154) - this node is a cross-community bridge._ -- **Why does `campaigns table` connect `Community 9` to `Community 33`, `Community 36`, `Community 4`, `Community 6`, `Community 38`, `Community 5`, `Community 11`, `Community 13`, `Community 14`, `Community 16`, `Community 19`, `Community 23`, `Community 28`, `Community 30`?** - _High betweenness centrality (0.124) - this node is a cross-community bridge._ -- **Are the 5 inferred relationships involving `campaigns table` (e.g. with `campaign_repository.py` and `.create()`) actually correct?** - _`campaigns table` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 11 inferred relationships involving `GeminiService` (e.g. with `HealthCheckFilter` and `lifespan()`) actually correct?** - _`GeminiService` has 11 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 2 inferred relationships involving `knowledge_bases table` (e.g. with `knowledge_base_repository.py` and `Base`) actually correct?** - _`knowledge_bases table` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Mod Comms — PowerPoint Presentation Generator Generates a professional 16:9 wide`, `Set a solid background colour for a slide.`, `Add a simple single-run text box and return the shape.` to the rest of the system?** - _468 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/olivas-structure.md b/wiki/architecture/olivas-structure.md deleted file mode 100644 index 339faa9..0000000 --- a/wiki/architecture/olivas-structure.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -tags: [architecture, graphify, olivas] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/olivas (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 501 nodes · 787 edges · 42 communities (36 shown, 6 thin omitted) -- Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 61 edges (avg confidence: 0.72) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 40|Community 40]] - -## God Nodes (most connected - your core abstractions) -1. `AnalysisView()` - 30 edges -2. `compilerOptions` - 20 edges -3. `compilerOptions` - 18 edges -4. `useProjects()` - 18 edges -5. `ProjectDetail` - 15 edges -6. `Comparison` - 14 edges -7. `_run_pipeline_local()` - 14 edges -8. `OliVAS Architecture` - 14 edges -9. `AOICanvas()` - 13 edges -10. `NewAnalysis()` - 13 edges - -## Surprising Connections (you probably didn't know these) -- `Cloud Run Processing Requirements` --references--> `PDF Report Generation (ReportLab)` [INFERRED] - cloud_run/processing/requirements.txt → docs/project/architecture.md -- `Cloud Run Saliency Requirements` --references--> `DeepGaze Saliency Models (I, IIE, III)` [INFERRED] - cloud_run/saliency/requirements.txt → README.md -- `Comparison` --calls--> `useProject()` [EXTRACTED] - backend/app/models/comparison.py → frontend/src/hooks/useProjects.ts -- `Check if AI insights are available (API key configured).` --rationale_for--> `checkAIInsightsAvailable()` [EXTRACTED] - backend/app/api/endpoints/analysis.py → frontend/src/api/analysis.ts -- `Send the original image, heatmap overlay, and analysis metrics to Claude and` --rationale_for--> `generateAIInsights()` [EXTRACTED] - backend/app/services/ai_insights.py → frontend/src/api/analysis.ts - -## Communities (42 total, 6 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (56): GazeSequence(), GazeSequenceProps, colormaps, HeatmapControls(), buildColormapLUT(), ColormapName, colormapStops, HeatmapOverlay() (+48 more) - -### Community 1 - "Community 1" -Cohesion: 0.07 -Nodes (32): _compute_design_score(), _draw_gaze_sequence(), _extract_hotspots(), _img_to_png_bytes(), _make_sync_engine(), Background task: full saliency analysis pipeline. Runs sync in threadpool., Pipeline using Google Cloud Run for saliency + image processing., Pipeline running entirely locally (dev mode / no Cloud Run). (+24 more) - -### Community 2 - "Community 2" -Cohesion: 0.16 -Nodes (37): ADR: Use Azure AD as Sole Identity Provider, ADR: Offload ML Inference to Google Cloud Run, ADR: Use PostgreSQL with JSON Columns, OliVAS Project Entry Point, OliVAS API Specification, OliVAS Architecture, Cloud Run Processing Requirements, Cloud Run Saliency Requirements (+29 more) - -### Community 3 - "Community 3" -Cohesion: 0.08 -Nodes (13): accounts, client, loginRequest, msalConfig, msalInstance, AppLayout(), Header(), navItems (+5 more) - -### Community 4 - "Community 4" -Cohesion: 0.08 -Nodes (28): CurrentUser, _get_issuer(), _get_jwks_uri(), _get_signing_key(), Azure AD JWT validation using JWKS (RS256)., Fetch and cache JWKS keys from Azure AD., Get the signing key for the given token from cached JWKS., Decode and validate an Azure AD JWT token. Returns CurrentUser. (+20 more) - -### Community 5 - "Community 5" -Cohesion: 0.12 -Nodes (22): getAnalysisImageUrl(), createProject(), deleteProject(), getProject(), listProjects(), updateProject(), ButtonProps, Variant (+14 more) - -### Community 6 - "Community 6" -Cohesion: 0.11 -Nodes (15): Base, DeclarativeBase, create_aois(), ComparisonCreateBody, ComparisonResponse, create_comparison(), get_comparison(), Analysis (+7 more) - -### Community 7 - "Community 7" -Cohesion: 0.11 -Nodes (7): ABC, BaseSaliencyModel, BaseSaliencyModel, DeepGazeModel, Unified wrapper for all DeepGaze model variants (I, IIE, III)., Create a generic center bias prior (Gaussian centered)., ModelManager - -### Community 8 - "Community 8" -Cohesion: 0.09 -Nodes (21): devDependencies, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, @types/node, @types/react (+13 more) - -### Community 9 - "Community 9" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 10 - "Community 10" -Cohesion: 0.18 -Nodes (16): BaseModel, AnalysisCreate, AnalysisDetail, AnalysisStatus, AnalysisSummary, GazePoint, Insight, AOICreate (+8 more) - -### Community 11 - "Community 11" -Cohesion: 0.10 -Nodes (19): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+11 more) - -### Community 12 - "Community 12" -Cohesion: 0.16 -Nodes (12): getAnalysis(), downloadReport(), generate_insights(), Rule-based insights engine for visual attention analysis. Generates actionable, Generate insights from a completed analysis. Args: analysis: Analys, _build_insight_table(), _bytes_to_image(), generate_report() (+4 more) - -### Community 13 - "Community 13" -Cohesion: 0.25 -Nodes (12): _check_auth(), _compute_design_score(), _extract_gaze_sequence(), _extract_hotspots(), _get_model(), health(), predict(), _prepare_for_inference() (+4 more) - -### Community 14 - "Community 14" -Cohesion: 0.29 -Nodes (9): _check_auth(), _decode_saliency(), _draw_gaze_sequence(), _generate_heatmap_overlay(), _generate_standalone_heatmap(), _img_to_b64(), process_images(), ProcessRequest (+1 more) - -### Community 15 - "Community 15" -Cohesion: 0.24 -Nodes (9): checkAIInsightsAvailable(), generateAIInsights(), generate_ai_insights_endpoint(), Check if AI insights are available (API key configured)., Generate AI-powered insights for a completed analysis using Claude., is_available(), Claude-powered AI insights for saliency analysis., Check if AI insights are available (API key configured). (+1 more) - -### Community 18 - "Community 18" -Cohesion: 0.60 -Nodes (6): AnalysisNotFoundError, ImageProcessingError, ModelNotLoadedError, OliVASError, ProjectNotFoundError, Exception - -## Knowledge Gaps -- **109 isolated node(s):** `tsBuildInfoFile`, `target`, `lib`, `module`, `types` (+104 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **6 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Comparison` connect `Community 6` to `Community 0`, `Community 3`, `Community 5`?** - _High betweenness centrality (0.093) - this node is a cross-community bridge._ -- **Why does `AnalysisView()` connect `Community 0` to `Community 3`, `Community 12`, `Community 5`, `Community 15`?** - _High betweenness centrality (0.069) - this node is a cross-community bridge._ -- **Why does `getAnalysisImageUrl()` connect `Community 5` to `Community 0`, `Community 1`, `Community 6`?** - _High betweenness centrality (0.035) - this node is a cross-community bridge._ -- **What connects `tsBuildInfoFile`, `target`, `lib` to the rest of the system?** - _142 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05311871227364185 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.06956521739130435 - nodes in this community are weakly interconnected._ -- **Should `Community 3` be split into smaller, more focused modules?** - _Cohesion score 0.0773109243697479 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/oliver-ai-assistant-structure.md b/wiki/architecture/oliver-ai-assistant-structure.md deleted file mode 100644 index 7e5fbea..0000000 --- a/wiki/architecture/oliver-ai-assistant-structure.md +++ /dev/null @@ -1,1548 +0,0 @@ ---- -tags: [architecture, graphify, oliver-ai-assistant] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/oliver-ai-assistant (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 4788 nodes · 7777 edges · 781 communities (188 shown, 593 thin omitted) -- Extraction: 65% EXTRACTED · 35% INFERRED · 0% AMBIGUOUS · INFERRED: 2749 edges (avg confidence: 0.58) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 264|Community 264]] -- [[_COMMUNITY_Community 265|Community 265]] -- [[_COMMUNITY_Community 266|Community 266]] -- [[_COMMUNITY_Community 267|Community 267]] -- [[_COMMUNITY_Community 268|Community 268]] -- [[_COMMUNITY_Community 269|Community 269]] -- [[_COMMUNITY_Community 270|Community 270]] -- [[_COMMUNITY_Community 271|Community 271]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 289|Community 289]] -- [[_COMMUNITY_Community 290|Community 290]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 296|Community 296]] -- [[_COMMUNITY_Community 297|Community 297]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] -- [[_COMMUNITY_Community 307|Community 307]] -- [[_COMMUNITY_Community 308|Community 308]] -- [[_COMMUNITY_Community 309|Community 309]] -- [[_COMMUNITY_Community 310|Community 310]] -- [[_COMMUNITY_Community 311|Community 311]] -- [[_COMMUNITY_Community 312|Community 312]] -- [[_COMMUNITY_Community 313|Community 313]] -- [[_COMMUNITY_Community 314|Community 314]] -- [[_COMMUNITY_Community 315|Community 315]] -- [[_COMMUNITY_Community 316|Community 316]] -- [[_COMMUNITY_Community 317|Community 317]] -- [[_COMMUNITY_Community 318|Community 318]] -- [[_COMMUNITY_Community 319|Community 319]] -- [[_COMMUNITY_Community 320|Community 320]] -- [[_COMMUNITY_Community 321|Community 321]] -- [[_COMMUNITY_Community 322|Community 322]] -- [[_COMMUNITY_Community 323|Community 323]] -- [[_COMMUNITY_Community 324|Community 324]] -- [[_COMMUNITY_Community 325|Community 325]] -- [[_COMMUNITY_Community 326|Community 326]] -- [[_COMMUNITY_Community 327|Community 327]] -- [[_COMMUNITY_Community 328|Community 328]] -- [[_COMMUNITY_Community 329|Community 329]] -- [[_COMMUNITY_Community 330|Community 330]] -- [[_COMMUNITY_Community 331|Community 331]] -- [[_COMMUNITY_Community 332|Community 332]] -- [[_COMMUNITY_Community 333|Community 333]] -- [[_COMMUNITY_Community 334|Community 334]] -- [[_COMMUNITY_Community 335|Community 335]] -- [[_COMMUNITY_Community 336|Community 336]] -- [[_COMMUNITY_Community 337|Community 337]] -- [[_COMMUNITY_Community 338|Community 338]] -- [[_COMMUNITY_Community 339|Community 339]] -- [[_COMMUNITY_Community 340|Community 340]] -- [[_COMMUNITY_Community 341|Community 341]] -- [[_COMMUNITY_Community 342|Community 342]] -- [[_COMMUNITY_Community 343|Community 343]] -- [[_COMMUNITY_Community 344|Community 344]] -- [[_COMMUNITY_Community 345|Community 345]] -- [[_COMMUNITY_Community 346|Community 346]] -- [[_COMMUNITY_Community 347|Community 347]] -- [[_COMMUNITY_Community 348|Community 348]] -- [[_COMMUNITY_Community 349|Community 349]] -- [[_COMMUNITY_Community 350|Community 350]] -- [[_COMMUNITY_Community 351|Community 351]] -- [[_COMMUNITY_Community 352|Community 352]] -- [[_COMMUNITY_Community 353|Community 353]] -- [[_COMMUNITY_Community 354|Community 354]] -- [[_COMMUNITY_Community 355|Community 355]] -- [[_COMMUNITY_Community 356|Community 356]] -- [[_COMMUNITY_Community 357|Community 357]] -- [[_COMMUNITY_Community 358|Community 358]] -- [[_COMMUNITY_Community 359|Community 359]] -- [[_COMMUNITY_Community 360|Community 360]] -- [[_COMMUNITY_Community 361|Community 361]] -- [[_COMMUNITY_Community 362|Community 362]] -- [[_COMMUNITY_Community 363|Community 363]] -- [[_COMMUNITY_Community 364|Community 364]] -- [[_COMMUNITY_Community 365|Community 365]] -- [[_COMMUNITY_Community 366|Community 366]] -- [[_COMMUNITY_Community 367|Community 367]] -- [[_COMMUNITY_Community 368|Community 368]] -- [[_COMMUNITY_Community 369|Community 369]] -- [[_COMMUNITY_Community 370|Community 370]] -- [[_COMMUNITY_Community 371|Community 371]] -- [[_COMMUNITY_Community 372|Community 372]] -- [[_COMMUNITY_Community 373|Community 373]] -- [[_COMMUNITY_Community 374|Community 374]] -- [[_COMMUNITY_Community 375|Community 375]] -- [[_COMMUNITY_Community 376|Community 376]] -- [[_COMMUNITY_Community 377|Community 377]] -- [[_COMMUNITY_Community 378|Community 378]] -- [[_COMMUNITY_Community 379|Community 379]] -- [[_COMMUNITY_Community 380|Community 380]] -- [[_COMMUNITY_Community 381|Community 381]] -- [[_COMMUNITY_Community 382|Community 382]] -- [[_COMMUNITY_Community 383|Community 383]] -- [[_COMMUNITY_Community 384|Community 384]] -- [[_COMMUNITY_Community 385|Community 385]] -- [[_COMMUNITY_Community 386|Community 386]] -- [[_COMMUNITY_Community 387|Community 387]] -- [[_COMMUNITY_Community 388|Community 388]] -- [[_COMMUNITY_Community 389|Community 389]] -- [[_COMMUNITY_Community 390|Community 390]] -- [[_COMMUNITY_Community 391|Community 391]] -- [[_COMMUNITY_Community 392|Community 392]] -- [[_COMMUNITY_Community 393|Community 393]] -- [[_COMMUNITY_Community 394|Community 394]] -- [[_COMMUNITY_Community 395|Community 395]] -- [[_COMMUNITY_Community 396|Community 396]] -- [[_COMMUNITY_Community 397|Community 397]] -- [[_COMMUNITY_Community 398|Community 398]] -- [[_COMMUNITY_Community 399|Community 399]] -- [[_COMMUNITY_Community 400|Community 400]] -- [[_COMMUNITY_Community 401|Community 401]] -- [[_COMMUNITY_Community 402|Community 402]] -- [[_COMMUNITY_Community 403|Community 403]] -- [[_COMMUNITY_Community 404|Community 404]] -- [[_COMMUNITY_Community 405|Community 405]] -- [[_COMMUNITY_Community 406|Community 406]] -- [[_COMMUNITY_Community 407|Community 407]] -- [[_COMMUNITY_Community 408|Community 408]] -- [[_COMMUNITY_Community 409|Community 409]] -- [[_COMMUNITY_Community 410|Community 410]] -- [[_COMMUNITY_Community 411|Community 411]] -- [[_COMMUNITY_Community 412|Community 412]] -- [[_COMMUNITY_Community 413|Community 413]] -- [[_COMMUNITY_Community 414|Community 414]] -- [[_COMMUNITY_Community 415|Community 415]] -- [[_COMMUNITY_Community 416|Community 416]] -- [[_COMMUNITY_Community 417|Community 417]] -- [[_COMMUNITY_Community 418|Community 418]] -- [[_COMMUNITY_Community 419|Community 419]] -- [[_COMMUNITY_Community 420|Community 420]] -- [[_COMMUNITY_Community 421|Community 421]] -- [[_COMMUNITY_Community 422|Community 422]] -- [[_COMMUNITY_Community 423|Community 423]] -- [[_COMMUNITY_Community 424|Community 424]] -- [[_COMMUNITY_Community 425|Community 425]] -- [[_COMMUNITY_Community 426|Community 426]] -- [[_COMMUNITY_Community 427|Community 427]] -- [[_COMMUNITY_Community 428|Community 428]] -- [[_COMMUNITY_Community 429|Community 429]] -- [[_COMMUNITY_Community 430|Community 430]] -- [[_COMMUNITY_Community 431|Community 431]] -- [[_COMMUNITY_Community 432|Community 432]] -- [[_COMMUNITY_Community 433|Community 433]] -- [[_COMMUNITY_Community 434|Community 434]] -- [[_COMMUNITY_Community 435|Community 435]] -- [[_COMMUNITY_Community 436|Community 436]] -- [[_COMMUNITY_Community 437|Community 437]] -- [[_COMMUNITY_Community 438|Community 438]] -- [[_COMMUNITY_Community 439|Community 439]] -- [[_COMMUNITY_Community 440|Community 440]] -- [[_COMMUNITY_Community 441|Community 441]] -- [[_COMMUNITY_Community 442|Community 442]] -- [[_COMMUNITY_Community 443|Community 443]] -- [[_COMMUNITY_Community 444|Community 444]] -- [[_COMMUNITY_Community 445|Community 445]] -- [[_COMMUNITY_Community 446|Community 446]] -- [[_COMMUNITY_Community 447|Community 447]] -- [[_COMMUNITY_Community 448|Community 448]] -- [[_COMMUNITY_Community 449|Community 449]] -- [[_COMMUNITY_Community 450|Community 450]] -- [[_COMMUNITY_Community 451|Community 451]] -- [[_COMMUNITY_Community 452|Community 452]] -- [[_COMMUNITY_Community 453|Community 453]] -- [[_COMMUNITY_Community 454|Community 454]] -- [[_COMMUNITY_Community 455|Community 455]] -- [[_COMMUNITY_Community 456|Community 456]] -- [[_COMMUNITY_Community 457|Community 457]] -- [[_COMMUNITY_Community 458|Community 458]] -- [[_COMMUNITY_Community 459|Community 459]] -- [[_COMMUNITY_Community 460|Community 460]] -- [[_COMMUNITY_Community 461|Community 461]] -- [[_COMMUNITY_Community 462|Community 462]] -- [[_COMMUNITY_Community 463|Community 463]] -- [[_COMMUNITY_Community 464|Community 464]] -- [[_COMMUNITY_Community 465|Community 465]] -- [[_COMMUNITY_Community 466|Community 466]] -- [[_COMMUNITY_Community 467|Community 467]] -- [[_COMMUNITY_Community 468|Community 468]] -- [[_COMMUNITY_Community 469|Community 469]] -- [[_COMMUNITY_Community 470|Community 470]] -- [[_COMMUNITY_Community 471|Community 471]] -- [[_COMMUNITY_Community 472|Community 472]] -- [[_COMMUNITY_Community 473|Community 473]] -- [[_COMMUNITY_Community 474|Community 474]] -- [[_COMMUNITY_Community 475|Community 475]] -- [[_COMMUNITY_Community 476|Community 476]] -- [[_COMMUNITY_Community 477|Community 477]] -- [[_COMMUNITY_Community 478|Community 478]] -- [[_COMMUNITY_Community 479|Community 479]] -- [[_COMMUNITY_Community 480|Community 480]] -- [[_COMMUNITY_Community 481|Community 481]] -- [[_COMMUNITY_Community 482|Community 482]] -- [[_COMMUNITY_Community 483|Community 483]] -- [[_COMMUNITY_Community 484|Community 484]] -- [[_COMMUNITY_Community 485|Community 485]] -- [[_COMMUNITY_Community 486|Community 486]] -- [[_COMMUNITY_Community 487|Community 487]] -- [[_COMMUNITY_Community 488|Community 488]] -- [[_COMMUNITY_Community 489|Community 489]] -- [[_COMMUNITY_Community 490|Community 490]] -- [[_COMMUNITY_Community 491|Community 491]] -- [[_COMMUNITY_Community 492|Community 492]] -- [[_COMMUNITY_Community 493|Community 493]] -- [[_COMMUNITY_Community 494|Community 494]] -- [[_COMMUNITY_Community 495|Community 495]] -- [[_COMMUNITY_Community 496|Community 496]] -- [[_COMMUNITY_Community 497|Community 497]] -- [[_COMMUNITY_Community 498|Community 498]] -- [[_COMMUNITY_Community 499|Community 499]] -- [[_COMMUNITY_Community 500|Community 500]] -- [[_COMMUNITY_Community 501|Community 501]] -- [[_COMMUNITY_Community 502|Community 502]] -- [[_COMMUNITY_Community 503|Community 503]] -- [[_COMMUNITY_Community 504|Community 504]] -- [[_COMMUNITY_Community 505|Community 505]] -- [[_COMMUNITY_Community 506|Community 506]] -- [[_COMMUNITY_Community 507|Community 507]] -- [[_COMMUNITY_Community 508|Community 508]] -- [[_COMMUNITY_Community 509|Community 509]] -- [[_COMMUNITY_Community 510|Community 510]] -- [[_COMMUNITY_Community 511|Community 511]] -- [[_COMMUNITY_Community 512|Community 512]] -- [[_COMMUNITY_Community 513|Community 513]] -- [[_COMMUNITY_Community 514|Community 514]] -- [[_COMMUNITY_Community 515|Community 515]] -- [[_COMMUNITY_Community 516|Community 516]] -- [[_COMMUNITY_Community 517|Community 517]] -- [[_COMMUNITY_Community 518|Community 518]] -- [[_COMMUNITY_Community 519|Community 519]] -- [[_COMMUNITY_Community 520|Community 520]] -- [[_COMMUNITY_Community 521|Community 521]] -- [[_COMMUNITY_Community 522|Community 522]] -- [[_COMMUNITY_Community 523|Community 523]] -- [[_COMMUNITY_Community 524|Community 524]] -- [[_COMMUNITY_Community 525|Community 525]] -- [[_COMMUNITY_Community 526|Community 526]] -- [[_COMMUNITY_Community 527|Community 527]] -- [[_COMMUNITY_Community 528|Community 528]] -- [[_COMMUNITY_Community 529|Community 529]] -- [[_COMMUNITY_Community 530|Community 530]] -- [[_COMMUNITY_Community 531|Community 531]] -- [[_COMMUNITY_Community 532|Community 532]] -- [[_COMMUNITY_Community 533|Community 533]] -- [[_COMMUNITY_Community 534|Community 534]] -- [[_COMMUNITY_Community 535|Community 535]] -- [[_COMMUNITY_Community 536|Community 536]] -- [[_COMMUNITY_Community 537|Community 537]] -- [[_COMMUNITY_Community 538|Community 538]] -- [[_COMMUNITY_Community 539|Community 539]] -- [[_COMMUNITY_Community 540|Community 540]] -- [[_COMMUNITY_Community 541|Community 541]] -- [[_COMMUNITY_Community 542|Community 542]] -- [[_COMMUNITY_Community 543|Community 543]] -- [[_COMMUNITY_Community 544|Community 544]] -- [[_COMMUNITY_Community 545|Community 545]] -- [[_COMMUNITY_Community 546|Community 546]] -- [[_COMMUNITY_Community 547|Community 547]] -- [[_COMMUNITY_Community 548|Community 548]] -- [[_COMMUNITY_Community 549|Community 549]] -- [[_COMMUNITY_Community 550|Community 550]] -- [[_COMMUNITY_Community 551|Community 551]] -- [[_COMMUNITY_Community 552|Community 552]] -- [[_COMMUNITY_Community 553|Community 553]] -- [[_COMMUNITY_Community 554|Community 554]] -- [[_COMMUNITY_Community 555|Community 555]] -- [[_COMMUNITY_Community 556|Community 556]] -- [[_COMMUNITY_Community 557|Community 557]] -- [[_COMMUNITY_Community 558|Community 558]] -- [[_COMMUNITY_Community 559|Community 559]] -- [[_COMMUNITY_Community 560|Community 560]] -- [[_COMMUNITY_Community 561|Community 561]] -- [[_COMMUNITY_Community 562|Community 562]] -- [[_COMMUNITY_Community 563|Community 563]] -- [[_COMMUNITY_Community 564|Community 564]] -- [[_COMMUNITY_Community 565|Community 565]] -- [[_COMMUNITY_Community 566|Community 566]] -- [[_COMMUNITY_Community 567|Community 567]] -- [[_COMMUNITY_Community 568|Community 568]] -- [[_COMMUNITY_Community 569|Community 569]] -- [[_COMMUNITY_Community 570|Community 570]] -- [[_COMMUNITY_Community 571|Community 571]] -- [[_COMMUNITY_Community 572|Community 572]] -- [[_COMMUNITY_Community 573|Community 573]] -- [[_COMMUNITY_Community 574|Community 574]] -- [[_COMMUNITY_Community 575|Community 575]] -- [[_COMMUNITY_Community 576|Community 576]] -- [[_COMMUNITY_Community 577|Community 577]] -- [[_COMMUNITY_Community 578|Community 578]] -- [[_COMMUNITY_Community 579|Community 579]] -- [[_COMMUNITY_Community 580|Community 580]] -- [[_COMMUNITY_Community 581|Community 581]] -- [[_COMMUNITY_Community 582|Community 582]] -- [[_COMMUNITY_Community 583|Community 583]] -- [[_COMMUNITY_Community 584|Community 584]] -- [[_COMMUNITY_Community 585|Community 585]] -- [[_COMMUNITY_Community 586|Community 586]] -- [[_COMMUNITY_Community 587|Community 587]] -- [[_COMMUNITY_Community 588|Community 588]] -- [[_COMMUNITY_Community 589|Community 589]] -- [[_COMMUNITY_Community 590|Community 590]] -- [[_COMMUNITY_Community 591|Community 591]] -- [[_COMMUNITY_Community 592|Community 592]] -- [[_COMMUNITY_Community 593|Community 593]] -- [[_COMMUNITY_Community 594|Community 594]] -- [[_COMMUNITY_Community 595|Community 595]] -- [[_COMMUNITY_Community 596|Community 596]] -- [[_COMMUNITY_Community 597|Community 597]] -- [[_COMMUNITY_Community 598|Community 598]] -- [[_COMMUNITY_Community 599|Community 599]] -- [[_COMMUNITY_Community 600|Community 600]] -- [[_COMMUNITY_Community 601|Community 601]] -- [[_COMMUNITY_Community 602|Community 602]] -- [[_COMMUNITY_Community 603|Community 603]] -- [[_COMMUNITY_Community 604|Community 604]] -- [[_COMMUNITY_Community 605|Community 605]] -- [[_COMMUNITY_Community 606|Community 606]] -- [[_COMMUNITY_Community 607|Community 607]] -- [[_COMMUNITY_Community 608|Community 608]] -- [[_COMMUNITY_Community 609|Community 609]] -- [[_COMMUNITY_Community 610|Community 610]] -- [[_COMMUNITY_Community 611|Community 611]] -- [[_COMMUNITY_Community 612|Community 612]] -- [[_COMMUNITY_Community 613|Community 613]] -- [[_COMMUNITY_Community 614|Community 614]] -- [[_COMMUNITY_Community 615|Community 615]] -- [[_COMMUNITY_Community 616|Community 616]] -- [[_COMMUNITY_Community 617|Community 617]] -- [[_COMMUNITY_Community 618|Community 618]] -- [[_COMMUNITY_Community 619|Community 619]] -- [[_COMMUNITY_Community 620|Community 620]] -- [[_COMMUNITY_Community 621|Community 621]] -- [[_COMMUNITY_Community 622|Community 622]] -- [[_COMMUNITY_Community 623|Community 623]] -- [[_COMMUNITY_Community 624|Community 624]] -- [[_COMMUNITY_Community 625|Community 625]] -- [[_COMMUNITY_Community 626|Community 626]] -- [[_COMMUNITY_Community 627|Community 627]] -- [[_COMMUNITY_Community 628|Community 628]] -- [[_COMMUNITY_Community 629|Community 629]] -- [[_COMMUNITY_Community 630|Community 630]] -- [[_COMMUNITY_Community 631|Community 631]] -- [[_COMMUNITY_Community 632|Community 632]] -- [[_COMMUNITY_Community 633|Community 633]] -- [[_COMMUNITY_Community 634|Community 634]] -- [[_COMMUNITY_Community 635|Community 635]] -- [[_COMMUNITY_Community 636|Community 636]] -- [[_COMMUNITY_Community 637|Community 637]] -- [[_COMMUNITY_Community 638|Community 638]] -- [[_COMMUNITY_Community 639|Community 639]] -- [[_COMMUNITY_Community 640|Community 640]] -- [[_COMMUNITY_Community 641|Community 641]] -- [[_COMMUNITY_Community 642|Community 642]] -- [[_COMMUNITY_Community 643|Community 643]] -- [[_COMMUNITY_Community 644|Community 644]] -- [[_COMMUNITY_Community 645|Community 645]] -- [[_COMMUNITY_Community 646|Community 646]] -- [[_COMMUNITY_Community 647|Community 647]] -- [[_COMMUNITY_Community 648|Community 648]] -- [[_COMMUNITY_Community 649|Community 649]] -- [[_COMMUNITY_Community 650|Community 650]] -- [[_COMMUNITY_Community 651|Community 651]] -- [[_COMMUNITY_Community 652|Community 652]] -- [[_COMMUNITY_Community 653|Community 653]] -- [[_COMMUNITY_Community 654|Community 654]] -- [[_COMMUNITY_Community 655|Community 655]] -- [[_COMMUNITY_Community 656|Community 656]] -- [[_COMMUNITY_Community 657|Community 657]] -- [[_COMMUNITY_Community 658|Community 658]] -- [[_COMMUNITY_Community 659|Community 659]] -- [[_COMMUNITY_Community 660|Community 660]] -- [[_COMMUNITY_Community 661|Community 661]] -- [[_COMMUNITY_Community 662|Community 662]] -- [[_COMMUNITY_Community 663|Community 663]] -- [[_COMMUNITY_Community 664|Community 664]] -- [[_COMMUNITY_Community 665|Community 665]] -- [[_COMMUNITY_Community 666|Community 666]] -- [[_COMMUNITY_Community 667|Community 667]] -- [[_COMMUNITY_Community 668|Community 668]] -- [[_COMMUNITY_Community 669|Community 669]] -- [[_COMMUNITY_Community 670|Community 670]] -- [[_COMMUNITY_Community 671|Community 671]] -- [[_COMMUNITY_Community 672|Community 672]] -- [[_COMMUNITY_Community 673|Community 673]] -- [[_COMMUNITY_Community 674|Community 674]] -- [[_COMMUNITY_Community 675|Community 675]] -- [[_COMMUNITY_Community 676|Community 676]] -- [[_COMMUNITY_Community 677|Community 677]] -- [[_COMMUNITY_Community 678|Community 678]] -- [[_COMMUNITY_Community 679|Community 679]] -- [[_COMMUNITY_Community 680|Community 680]] -- [[_COMMUNITY_Community 681|Community 681]] -- [[_COMMUNITY_Community 682|Community 682]] -- [[_COMMUNITY_Community 683|Community 683]] -- [[_COMMUNITY_Community 684|Community 684]] -- [[_COMMUNITY_Community 685|Community 685]] -- [[_COMMUNITY_Community 686|Community 686]] -- [[_COMMUNITY_Community 687|Community 687]] -- [[_COMMUNITY_Community 688|Community 688]] -- [[_COMMUNITY_Community 689|Community 689]] -- [[_COMMUNITY_Community 690|Community 690]] -- [[_COMMUNITY_Community 691|Community 691]] -- [[_COMMUNITY_Community 692|Community 692]] -- [[_COMMUNITY_Community 693|Community 693]] -- [[_COMMUNITY_Community 694|Community 694]] -- [[_COMMUNITY_Community 695|Community 695]] -- [[_COMMUNITY_Community 696|Community 696]] -- [[_COMMUNITY_Community 697|Community 697]] -- [[_COMMUNITY_Community 698|Community 698]] -- [[_COMMUNITY_Community 699|Community 699]] -- [[_COMMUNITY_Community 700|Community 700]] -- [[_COMMUNITY_Community 701|Community 701]] -- [[_COMMUNITY_Community 702|Community 702]] -- [[_COMMUNITY_Community 703|Community 703]] -- [[_COMMUNITY_Community 704|Community 704]] -- [[_COMMUNITY_Community 705|Community 705]] -- [[_COMMUNITY_Community 706|Community 706]] -- [[_COMMUNITY_Community 707|Community 707]] -- [[_COMMUNITY_Community 708|Community 708]] -- [[_COMMUNITY_Community 709|Community 709]] -- [[_COMMUNITY_Community 710|Community 710]] -- [[_COMMUNITY_Community 711|Community 711]] -- [[_COMMUNITY_Community 712|Community 712]] -- [[_COMMUNITY_Community 713|Community 713]] -- [[_COMMUNITY_Community 714|Community 714]] -- [[_COMMUNITY_Community 715|Community 715]] -- [[_COMMUNITY_Community 716|Community 716]] -- [[_COMMUNITY_Community 717|Community 717]] -- [[_COMMUNITY_Community 718|Community 718]] -- [[_COMMUNITY_Community 719|Community 719]] -- [[_COMMUNITY_Community 720|Community 720]] -- [[_COMMUNITY_Community 721|Community 721]] -- [[_COMMUNITY_Community 722|Community 722]] -- [[_COMMUNITY_Community 723|Community 723]] -- [[_COMMUNITY_Community 724|Community 724]] -- [[_COMMUNITY_Community 725|Community 725]] -- [[_COMMUNITY_Community 726|Community 726]] -- [[_COMMUNITY_Community 727|Community 727]] -- [[_COMMUNITY_Community 728|Community 728]] -- [[_COMMUNITY_Community 729|Community 729]] -- [[_COMMUNITY_Community 730|Community 730]] -- [[_COMMUNITY_Community 731|Community 731]] -- [[_COMMUNITY_Community 732|Community 732]] -- [[_COMMUNITY_Community 733|Community 733]] -- [[_COMMUNITY_Community 734|Community 734]] -- [[_COMMUNITY_Community 735|Community 735]] -- [[_COMMUNITY_Community 736|Community 736]] -- [[_COMMUNITY_Community 737|Community 737]] -- [[_COMMUNITY_Community 738|Community 738]] -- [[_COMMUNITY_Community 739|Community 739]] -- [[_COMMUNITY_Community 740|Community 740]] -- [[_COMMUNITY_Community 741|Community 741]] -- [[_COMMUNITY_Community 742|Community 742]] -- [[_COMMUNITY_Community 743|Community 743]] -- [[_COMMUNITY_Community 744|Community 744]] -- [[_COMMUNITY_Community 745|Community 745]] -- [[_COMMUNITY_Community 746|Community 746]] -- [[_COMMUNITY_Community 747|Community 747]] -- [[_COMMUNITY_Community 748|Community 748]] -- [[_COMMUNITY_Community 749|Community 749]] -- [[_COMMUNITY_Community 750|Community 750]] -- [[_COMMUNITY_Community 751|Community 751]] -- [[_COMMUNITY_Community 752|Community 752]] -- [[_COMMUNITY_Community 753|Community 753]] -- [[_COMMUNITY_Community 754|Community 754]] -- [[_COMMUNITY_Community 755|Community 755]] -- [[_COMMUNITY_Community 756|Community 756]] -- [[_COMMUNITY_Community 757|Community 757]] -- [[_COMMUNITY_Community 758|Community 758]] -- [[_COMMUNITY_Community 759|Community 759]] -- [[_COMMUNITY_Community 760|Community 760]] -- [[_COMMUNITY_Community 761|Community 761]] -- [[_COMMUNITY_Community 762|Community 762]] -- [[_COMMUNITY_Community 763|Community 763]] -- [[_COMMUNITY_Community 764|Community 764]] -- [[_COMMUNITY_Community 765|Community 765]] -- [[_COMMUNITY_Community 766|Community 766]] -- [[_COMMUNITY_Community 767|Community 767]] -- [[_COMMUNITY_Community 768|Community 768]] -- [[_COMMUNITY_Community 769|Community 769]] -- [[_COMMUNITY_Community 770|Community 770]] -- [[_COMMUNITY_Community 771|Community 771]] -- [[_COMMUNITY_Community 772|Community 772]] -- [[_COMMUNITY_Community 773|Community 773]] -- [[_COMMUNITY_Community 774|Community 774]] -- [[_COMMUNITY_Community 775|Community 775]] -- [[_COMMUNITY_Community 776|Community 776]] -- [[_COMMUNITY_Community 777|Community 777]] -- [[_COMMUNITY_Community 778|Community 778]] -- [[_COMMUNITY_Community 779|Community 779]] -- [[_COMMUNITY_Community 780|Community 780]] - -## God Nodes (most connected - your core abstractions) -1. `User` - 244 edges -2. `SearchFilter` - 106 edges -3. `AIRouter` - 90 edges -4. `Document` - 85 edges -5. `ChatSession` - 81 edges -6. `JWTUtils` - 75 edges -7. `RAGResponse` - 74 edges -8. `LLMResponse` - 72 edges -9. `RuntimeConfig` - 71 edges -10. `RoutingDecision` - 66 edges - -## Surprising Connections (you probably didn't know these) -- `get_configs_by_keys()` --calls--> `next` [INFERRED] - backend/app/utils/db_config.py → frontend/package.json -- `Admin analytics API routes. Endpoints: - GET /api/admin/analytics/tokens/total` --rationale_for--> `AdminAnalyticsPage()` [EXTRACTED] - backend/app/api/routes/admin_analytics.py → frontend/src/app/admin/analytics/page.tsx -- `Admin users API routes. Endpoints: - GET /api/admin/users - List users with fil` --rationale_for--> `AdminUser` [EXTRACTED] - backend/app/api/routes/admin_users.py → frontend/src/lib/adminApi.ts -- `test_initialize()` --calls--> `RuntimeConfig` [INFERRED] - backend/tests/unit/test_config.py → backend/app/config.py -- `Test multiple filters.` --calls--> `SearchFilter` [INFERRED] - backend/tests/unit/test_vector_store.py → backend/app/core/vector_store.py - -## Communities (781 total, 593 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.03 -Nodes (92): RAGEngine, RAGResponse, Production-ready RAG Engine for Oliver AI Assistant. The CORE of the entire sys, Convert response to dictionary., Chunk in streaming response., Convert to dictionary for JSON serialization., Production RAG engine combining embeddings, search, reranking, and LLM. Ful, Initialize RAGEngine with dependencies. Args: vector_store: (+84 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (120): ClassificationMethod, AIRouter: Intelligent request classification and routing system. Provides: - 3-, Supported request topics., How the request was classified., Result of routing classification., RoutingDecision, Topic, AnalyticsFactory (+112 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (61): initialize_runtime_config(), Runtime configuration system for Oliver AI Assistant. Provides: - Database-back, Runtime configuration system with database and cache support. Reads configu, Remove expired entries from local cache., Initialize the global RuntimeConfig instance., Initialize RuntimeConfig. Args: redis_client: Redis async c, RuntimeConfig, AnthropicClient (+53 more) - -### Community 3 - "Community 3" -Cohesion: 0.03 -Nodes (77): delete_sync_folder(), get_sync_status(), list_sync_folders(), list_sync_logs(), List all sync folders. Requires super_admin role. Args: user:, Update an existing sync folder. Requires super_admin role. Args:, Delete a sync folder. Requires super_admin role. Args: folder_, Manually trigger a sync for a specific folder. Requires super_admin role. R (+69 more) - -### Community 4 - "Community 4" -Cohesion: 0.04 -Nodes (51): Base, EmailSentiment, EmailSummary, String representation of EmailSummary., Check if email has action items., Get action items as a list. Returns: List of action items,, Check if email is marked as urgent., Email sentiment enumeration. (+43 more) - -### Community 5 - "Community 5" -Cohesion: 0.04 -Nodes (43): Phase 2 Integration Tests for Oliver AI Assistant. Tests complete Phase 2 flows, Test personal notebook CRUD operations., Test 4: Save individual item to personal notebook. Verifies: -, Test 5: Retrieve notebook items with filtering by type and folder. Veri, Test 6: Update notebook item with new content and tags. Verifies:, Test 7: Delete notebook item. Verifies: - Item deleted from dat, Test personal notebook creation on first login., Test auto-collection of chat messages to personal notebook. (+35 more) - -### Community 6 - "Community 6" -Cohesion: 0.06 -Nodes (58): integration_sync_folder(), mock_graph_api(), Integration tests for SharePoint synchronization service. Tests cover: - End-to, Test complete sync workflows., Test database state persistence during sync., Test distributed lock prevents concurrent syncs., Test change detection with database state., Create sync folder in test database. (+50 more) - -### Community 7 - "Community 7" -Cohesion: 0.04 -Nodes (55): ConfigCategory, Configuration models for system settings and audit logging. Includes SystemConf, Configuration category enumeration., System configuration model for runtime configuration. Stores all configurab, SystemConfig, Check if user has any admin role., Check if user is super admin., Check if user can manage sync folders and documents. (+47 more) - -### Community 8 - "Community 8" -Cohesion: 0.04 -Nodes (43): End-to-end document processing integration tests. Tests complete document lifec, Test: Document metadata correctly stored., Test: Multiple document formats supported., Test document parsing into chunks., Test: Document parsed into appropriate chunks., Test: Chunk sequence order maintained., Test: Chunks are appropriately sized., Test: Chunk metadata (page, section) preserved. (+35 more) - -### Community 9 - "Community 9" -Cohesion: 0.05 -Nodes (57): Admin package for Oliver AI Assistant. Provides: - ConfigManager: API keys, mod, delete_user(), get_user_chats(), get_user_detail(), list_users(), User manager for admin panel. Handles: - User CRUD with RBAC - Suspend/unsuspen, Manager for user administration., suspend_user() (+49 more) - -### Community 10 - "Community 10" -Cohesion: 0.04 -Nodes (29): create_mock_search_result(), mock_embedding_service(), Unit tests for RAGEngine - the core RAG pipeline. Tests cover: - Full pipeline, Helper to create mock SearchResult., Mock EmbeddingService., Test context building with single result., Test context building with multiple results., Test that context deduplicates identical content. (+21 more) - -### Community 11 - "Community 11" -Cohesion: 0.06 -Nodes (56): AnalyticsService, Service for analytics and reporting., AdminAnalyticsPage(), BaseModel, Config, FeedbackStatsResponse, get_feedback_stats(), get_query_analytics() (+48 more) - -### Community 12 - "Community 12" -Cohesion: 0.05 -Nodes (32): integration_sync_service(), Create sync service for integration testing., FileChange, _parse_datetime(), SharePoint synchronization service for Oliver AI Assistant. Provides: - Microso, Service for synchronizing documents from SharePoint to vector database. Han, Initialize SharePoint sync service. Args: session: AsyncSes, Context manager entry. (+24 more) - -### Community 13 - "Community 13" -Cohesion: 0.06 -Nodes (45): ConfigManager, get_api_keys(), Configuration manager for admin panel. Handles: - API keys management (encrypte, Manager for system configuration., AdminConfigApi, APIKeyResponse, APIKeysListResponse, getAuthHeaders() (+37 more) - -### Community 14 - "Community 14" -Cohesion: 0.05 -Nodes (32): ModelProvider, Supported LLM providers., Token usage tracking., TokenUsage, Unit tests for LLM client implementations. Tests: - All 3 providers (OpenAI, An, Test client initialization., Test cost calculation for GPT-4o., Test pricing for GPT-4o-mini. (+24 more) - -### Community 15 - "Community 15" -Cohesion: 0.04 -Nodes (33): End-to-end API integration tests for Oliver AI Assistant. Tests complete API wo, Test: User can retrieve existing chat session., Test: User can list all their chat sessions., Test: Chat session has creation timestamp., Test: User can delete chat session., Test asking questions and receiving answers., Test: User question is saved as message., Test: Questions and answers are stored in session. (+25 more) - -### Community 16 - "Community 16" -Cohesion: 0.04 -Nodes (4): Integration tests for chat API endpoints. Tests real API with TestClient: - Ful, test_user(), TestErrorScenarios, TestPerformance - -### Community 17 - "Community 17" -Cohesion: 0.10 -Nodes (49): ADR-001: Single Vector Collection with Metadata Filtering, ADR-002: Two-Database Architecture, ADR-003: Database-Backed RuntimeConfig with Encrypted API Keys, Architecture Decision Records Index, AGENTS.md Entry Point, API Specification, System Architecture, Chat API Quick Reference Guide (+41 more) - -### Community 18 - "Community 18" -Cohesion: 0.05 -Nodes (32): End-to-end chat flow integration tests for Oliver AI Assistant. Tests complete, Test: Chat session creation and retrieval., Test: User and assistant messages are correctly separated., Test routing to personal context when user asks about their data., Test: Query about 'my tasks' routes to personal context., Test: Query about 'my meetings' routes to personal context., Test: User's personal context not accessible to other users., Test complete user journey from login to answer with sources. (+24 more) - -### Community 19 - "Community 19" -Cohesion: 0.04 -Nodes (18): Test ask with existing session ID., Unit tests for ChatService. Tests: - ask() flow with mocked dependencies - ask_, Test ask() with personal context detected., Test creating new session., Test search filter construction., Test basic search filter building., Test search filter with personal context., Test search filter with unknown topic. (+10 more) - -### Community 20 - "Community 20" -Cohesion: 0.08 -Nodes (27): Upsert chunks with deduplication and atomic batch operation. Args:, Delete all chunks for a document. Args: document_id: Docume, Delete all personal data for a user (GDPR compliance). Args:, Get vector store statistics., Ensure required tables and indices exist., QdrantVectorStore, QdrantVectorStore implementation using Qdrant vector database. Provides: - Fast, Perform hybrid search. Args: query_embedding: Query vector (+19 more) - -### Community 21 - "Community 21" -Cohesion: 0.07 -Nodes (28): Exception, apply_prompt(), complete_task(), CreateTaskRequest, delete_task(), get_task(), list_tasks(), Productivity API routes for Phase 3. Endpoints: - POST /api/productivity/emails (+20 more) - -### Community 22 - "Community 22" -Cohesion: 0.09 -Nodes (34): AIRouter, Initialize AIRouter. Args: redis_client: Redis async client, Clear all cached classifications., Get cache statistics., 3-tier intelligent request router. Classifies incoming requests and suggest, Unit tests for AIRouter classification system. Tests: - All 3 tiers (keyword ma, Test Tier 2: Redis caching., Test cache key generation. (+26 more) - -### Community 23 - "Community 23" -Cohesion: 0.06 -Nodes (22): Unit tests for RBAC (Role-Based Access Control). Tests: - User role methods - P, Tests for content_manager role permissions., Test super_admin can manage sync., Test content_manager can manage sync., Test regular user cannot manage sync., Test regional_admin cannot manage sync., Test auditor cannot manage sync., Tests for regional_admin role permissions. (+14 more) - -### Community 24 - "Community 24" -Cohesion: 0.07 -Nodes (28): CallbackTask, cleanup_temp_files(), _get_sync_service(), Celery worker configuration for Oliver AI Assistant. Provides: - Async task que, Task with success/failure callbacks. Logs task execution timing and handles, Initialize and return SharePointSyncService. Creates all required dependenc, Sync single SharePoint folder. Celery task that: 1. Initializes sync se, Sync all active SharePoint folders. Celery task that: 1. Loads all acti (+20 more) - -### Community 25 - "Community 25" -Cohesion: 0.06 -Nodes (6): Test: Response includes rate limit headers., Unit tests for chat API endpoints. Tests: - POST /api/chat/ask: REST endpoint -, Test WebSocket with expired token., Test WebSocket with invalid token., Test rate limit headers in response., test_ask_session_not_found() - -### Community 26 - "Community 26" -Cohesion: 0.07 -Nodes (22): get_prompt(), get_prompt_categories(), list_prompts(), Get all available prompt categories., List prompt templates. Args: category: Filter by category l, Get a single prompt template., Initialize ChatService. Args: session: AsyncSession for dat, PromptService (+14 more) - -### Community 27 - "Community 27" -Cohesion: 0.07 -Nodes (22): PgVectorStore implementation using PostgreSQL pgvectorscale. Provides: - High-p, Hybrid search combining vector and text search. Args: query, Perform vector similarity search. Returns: Dict mapping chu, Perform BM25 text search. Returns: Dict mapping chunk_id to, PgVectorStore implementation using PostgreSQL pgvectorscale. Uses: - pg, Merge vector and text search results with combined scoring. Uses 70% ve, Initialize PgVectorStore. Args: pool: PGVectorConnectionPoo, Check if vector store is operational. (+14 more) - -### Community 28 - "Community 28" -Cohesion: 0.10 -Nodes (23): CircuitBreaker, create_pgvector_pool(), PGVectorConnectionPool, QdrantConnectionManager, Vector database connection management. Provides: - AsyncPG connection pool for, Initialize PGVector connection pool. Args: host: Database h, Initialize connection pool., Acquire connection from pool with retry logic. Args: retry_ (+15 more) - -### Community 29 - "Community 29" -Cohesion: 0.10 -Nodes (21): Test encryption with unicode characters., Test encryption of long strings., Test that encrypting empty string raises error., Test decryption with invalid ciphertext., Test decryption with corrupted data (tampering detection)., Test decryption with wrong encryption key., Test that encrypting same plaintext produces different ciphertexts (nonce)., Test encryption with newlines. (+13 more) - -### Community 30 - "Community 30" -Cohesion: 0.07 -Nodes (19): Smart text chunking for document processing. Provides: - Sentence-boundary awar, Chunk text into manageable pieces. Args: text: Full text to, Clean and normalize text., Extract logical elements from text. Preserves paragraph structure, reco, Create chunks from elements while respecting boundaries., Enrich chunks with metadata and convert to TextChunk objects., Extract last N tokens from text for overlap., Estimate token count for text. (+11 more) - -### Community 31 - "Community 31" -Cohesion: 0.09 -Nodes (22): CorruptedDocumentError, DocumentParsingError, DocumentParsingTimeoutError, FileNotFoundError, Abstract document parser interface and data models. Provides: - Abstract base c, Base exception for document parsing errors., Raised when document format is not supported., Raised when document file is not found. (+14 more) - -### Community 32 - "Community 32" -Cohesion: 0.09 -Nodes (27): String representation of SyncFolder., Sync log model for tracking synchronization results. Attributes: id, String representation of SyncLog., Check if sync was successful., Check if sync was partially successful., Check if sync failed., Get total number of files processed. Returns: Sum of all fi, Sync log status enumeration. (+19 more) - -### Community 33 - "Community 33" -Cohesion: 0.08 -Nodes (19): analyze_meeting(), create_tasks_from_meeting(), list_meetings(), Analyze a meeting. Args: transcript: Meeting transcript (if no audi, Create tasks from meeting action items. Args: meeting_id: Meeting I, List user's meetings. Args: limit: Max number of results of, Meeting service for analyzing meeting transcripts and extracting action items., Extract action items from meeting transcript. Args: transcr (+11 more) - -### Community 34 - "Community 34" -Cohesion: 0.08 -Nodes (21): chunk_list(), estimate_tokens(), normalize_text(), Utility functions for text embedding operations. Provides helper functions for:, Split list into chunks of specified size. Used for batching API requests to, Normalize text for embedding. Performs: - Unicode normalization (NFD), Estimate token count for text. Uses rough approximation: tokens ~= characte, Truncate text to maximum token count. OpenAI's text-embedding-3-large has 8 (+13 more) - -### Community 35 - "Community 35" -Cohesion: 0.06 -Nodes (29): Test vector database migration. Tests that: 1. Migration file exists and has va, Verify env.py has valid Python syntax., Verify env.py has migration runner functions., Verify chunks table has all required columns., Verify all migration files exist., Verify DiskANN index has proper parameters., Verify all helper functions are created., Verify all monitoring views are created. (+21 more) - -### Community 36 - "Community 36" -Cohesion: 0.10 -Nodes (22): Test 3: First login creates notebook for users in different regions. Ve, Test 1: User logs in for first time → personal notebook auto-created. V, User role enumeration for RBAC., UserRole, AuthService, AuthServiceError, Authentication service for Oliver AI Assistant. Provides: - Azure AD user authe, Create new user or update existing user from Azure AD profile. Updates (+14 more) - -### Community 37 - "Community 37" -Cohesion: 0.07 -Nodes (18): app(), Unit tests for admin API endpoints. Tests: - GET /api/admin/stats - System stat, Test stats response matches schema., Test GET /api/admin/users endpoint., Create test app with admin router., Test GET /api/admin/health/detailed endpoint., Test health detail response matches schema., Create a super_admin JWT token for testing. (+10 more) - -### Community 38 - "Community 38" -Cohesion: 0.07 -Nodes (3): Unit tests for Phase 3 productivity tools. Tests: - OutlookService (email summa, Test getting overdue tasks., Test getting template suggestions. - -### Community 39 - "Community 39" -Cohesion: 0.07 -Nodes (9): Comprehensive unit tests for EmbeddingService. Tests: - Single text embedding -, Test basic EmbeddingService functionality., Test health check failure., Test cost calculation., Test embed_documents convenience method., Test real-world integration scenarios., Test multiple sequential batch operations., TestEmbeddingServiceBasics (+1 more) - -### Community 40 - "Community 40" -Cohesion: 0.07 -Nodes (15): Test: Chunks embedded with embedding service., Test: Same text produces same embedding (deterministic)., Test: Different text produces different embeddings., Test: Search for content by keyword., Test: Complete workflow from upload to search., Test: RAG pipeline completes in <500ms., Test: Same query produces same embedding across calls., Test: Search respects document scope filters. (+7 more) - -### Community 41 - "Community 41" -Cohesion: 0.09 -Nodes (19): detect_from_ip(), detect_from_microsoft_profile(), Region detection service for Oliver AI Assistant. Provides multi-method region, Result of region detection operation., Multi-method region detection from various sources., RegionDetectionResult, Unit tests for region detection service. Tests: - Region detection from Microso, Tests for IP-based region detection (mock). (+11 more) - -### Community 42 - "Community 42" -Cohesion: 0.09 -Nodes (19): azure_login(), Azure AD login endpoint. Authenticates user with Azure AD OAuth access toke, APIError, MicrosoftGraphClient, MicrosoftGraphError, Microsoft Graph API client for Oliver AI Assistant. Provides: - User profile re, Retrieve user profile from Microsoft Graph /me endpoint. Fetches: email, Retrieve user profile photo from Microsoft Graph. Returns raw photo byt (+11 more) - -### Community 43 - "Community 43" -Cohesion: 0.08 -Nodes (18): create_tasks_from_email(), list_email_summaries(), Create tasks from email action items. Args: email_id: Email summary, List user's email summaries. Args: limit: Max number of results, Summarize an email. Args: email_text: Email body text subje, summarize_email(), Outlook service for email summarization and task extraction. Provides: - Email, Extract action items from email summary and create tasks. Args: (+10 more) - -### Community 44 - "Community 44" -Cohesion: 0.12 -Nodes (24): get_feedback_stats(), get_query_analytics(), get_system_health(), get_token_usage_by_model(), get_token_usage_by_user(), get_token_usage_timeline(), get_token_usage_total(), Analytics service for admin dashboard. Handles: - Token usage (total, by-user, (+16 more) - -### Community 45 - "Community 45" -Cohesion: 0.09 -Nodes (18): CrossEncoderReranker, Reranker using sentence-transformers cross-encoder model. Features: - U, cross_encoder_reranker(), Integration tests for reranker implementations. Tests: - Real Cohere API integr, Integration tests for cross-encoder reranker., Test cross-encoder performance., Integration tests for hybrid reranker., Test that hybrid uses Cohere when available. (+10 more) - -### Community 46 - "Community 46" -Cohesion: 0.07 -Nodes (8): mock_session(), Unit tests for SharePoint synchronization service. Tests cover: - Change detect, Create sample SyncFolder for testing., Test change detection logic., Mock database session., Test file extension validation., Mock DocumentProcessor., sample_sync_folder() - -### Community 47 - "Community 47" -Cohesion: 0.07 -Nodes (19): DatabaseSessionFactory, Initialize async engine and session factory (async mode)., Get a sync database session. Returns: SQLAlchemy Session in, Get an async database session. Returns: AsyncSession instan, Close engine and dispose of connections., Create all tables defined in Base.metadata (sync mode only). WARNING: T, Drop all tables defined in Base.metadata (sync mode only). WARNING: Thi, Initialize database configuration. Args: url: Database conn (+11 more) - -### Community 48 - "Community 48" -Cohesion: 0.07 -Nodes (16): processor(), processor_with_fallback(), Integration tests for document processing pipeline. Tests: - End-to-end documen, Test complete pipeline with text file., Test metadata handling through pipeline., Test automatic parser selection., Test processing multiple documents sequentially., Integration tests for complete document processing. (+8 more) - -### Community 49 - "Community 49" -Cohesion: 0.09 -Nodes (21): create_admin_user(), create_document_collection(), create_eu_user(), create_meetings(), create_multi_turn_conversation(), create_pdf_policy(), create_personal_document(), create_projects() (+13 more) - -### Community 50 - "Community 50" -Cohesion: 0.07 -Nodes (26): compilerOptions, allowImportingTsExtensions, allowJs, allowSyntheticDefaultImports, baseUrl, esModuleInterop, incremental, isolatedModules (+18 more) - -### Community 51 - "Community 51" -Cohesion: 0.09 -Nodes (26): ask_question(), get_session_messages(), Get messages from a chat session with pagination. Args: session_id:, WebSocket endpoint for streaming chat. Authentication & Flow: 1. Client, Ask a question and get a non-streaming response. Flow: 1. Validate requ, websocket_chat(), ChatMessagesListResponse, Config (+18 more) - -### Community 52 - "Community 52" -Cohesion: 0.08 -Nodes (25): assert_query_performance(), authenticated_api_client(), cleanup_after_test(), integration_transaction(), mock_document_processor(), mock_rag_engine(), mock_streaming_response(), performance_timer() (+17 more) - -### Community 53 - "Community 53" -Cohesion: 0.08 -Nodes (4): Unit tests for RuntimeConfig system. Tests RuntimeConfig functionality includin, Test Redis cache hit., Test cache invalidation., test_initialize() - -### Community 54 - "Community 54" -Cohesion: 0.11 -Nodes (26): Integration tests for DELETE /api/chat/sessions/{id}., AskResponse, ChatMessageResponse, FeedbackRequest, Response for individual chat message., POST /api/chat/messages/{id}/feedback request body., POST /api/chat/ask response body., Tests for DELETE /api/chat/sessions/{id} endpoint. (+18 more) - -### Community 55 - "Community 55" -Cohesion: 0.10 -Nodes (17): DocumentParser, Get human-readable name of parser., Abstract base class for document parsers. Implementations must provide:, ChunkRecord, ProcessedDocument, Production-ready document processor for Oliver AI Assistant. Complete pipeline:, Estimate total tokens in all chunks., Calculate total bytes in all chunks. (+9 more) - -### Community 56 - "Community 56" -Cohesion: 0.11 -Nodes (21): Test hybrid search combining vector and BM25., TestHybridSearch, create_test_chunks(), pgvector_store(), qdrant_store(), Integration tests for VectorStore with real database connections. These tests r, Create PgVectorStore with test database., Test Qdrant health check. (+13 more) - -### Community 57 - "Community 57" -Cohesion: 0.09 -Nodes (14): ConfigService, Configuration service for admin panel integration. Provides high-level manageme, Get all AI model configuration. Returns: Dictionary with mo, Get all parser configuration., Get vector store configuration., High-level configuration management for admin panel., Validate OpenAI API key., Initialize ConfigService. Args: runtime_config: RuntimeConf (+6 more) - -### Community 58 - "Community 58" -Cohesion: 0.09 -Nodes (22): annotations, editable, gnetId, graphTooltip, id, links, panels, refresh (+14 more) - -### Community 59 - "Community 59" -Cohesion: 0.14 -Nodes (23): Get RuntimeConfig singleton for endpoint. Provides access to system configu, get_runtime_config(), Get the global RuntimeConfig instance., example_admin_update(), example_ai_service_usage(), example_cache_behavior(), example_cache_invalidation(), example_category_read() (+15 more) - -### Community 60 - "Community 60" -Cohesion: 0.09 -Nodes (10): Unit tests for document processor components. Tests: - File utilities (detectio, Tests for Unstructured parser., Test format support checking., Test getting list of supported formats., Tests for main DocumentProcessor., Test file validation with nonexistent file., Test validation with unsupported format., Test validation with file that's too large. (+2 more) - -### Community 61 - "Community 61" -Cohesion: 0.11 -Nodes (15): get_available_models(), get_llm(), get_models_by_provider(), Factory pattern for creating LLM clients. Provides model aliases and centralize, Create an LLM client for the specified model. Args: model_name: Mod, Get all available model aliases and their actual names., Get all models for a specific provider., Integration tests for LLM factory. (+7 more) - -### Community 62 - "Community 62" -Cohesion: 0.09 -Nodes (12): Test: Embeddings have correct dimension (1536 for OpenAI)., cosine_similarity(), Integration tests for EmbeddingService with real OpenAI API. These tests requir, Calculate cosine similarity between two vectors. Args: vec1: First, Integration tests with real OpenAI API., Performance benchmarks for embedding service., Test embedding a single text., test_similarity_calculation() (+4 more) - -### Community 63 - "Community 63" -Cohesion: 0.09 -Nodes (13): MinIOClient, MinIO client for document storage operations. Provides: - S3-compatible file st, Ensure bucket exists, create if needed. Args: bucket_name:, Upload file to MinIO. Args: bucket: Bucket name, Download file from MinIO. Args: bucket: Bucket name, Delete file from MinIO. Args: bucket: Bucket name, Check if file exists in MinIO. Args: bucket: Bucket name, Get file metadata from MinIO. Args: bucket: Bucket name (+5 more) - -### Community 64 - "Community 64" -Cohesion: 0.12 -Nodes (17): RateLimitMiddleware, API middleware for Oliver AI Assistant. Provides: - Rate limiting (Redis-backed, Get rate limit for endpoint path., Extract user ID from request (if authenticated)., Generate rate limit key (user-based or IP-based)., Structured JSON logging for all requests. Logs: - Request ID - User, Log request and response with structured format., Setup all middleware for FastAPI app. Args: app: FastAPI applicatio (+9 more) - -### Community 65 - "Community 65" -Cohesion: 0.09 -Nodes (21): Test: User can create new chat session., Test: Personal meetings context is available to LLM., invalid_token(), mock_vector_store(), pytest_configure(), Pytest configuration and shared fixtures for integration tests. Provides: - Dat, Provide database session with automatic rollback after test., Create test user for UK region. (+13 more) - -### Community 66 - "Community 66" -Cohesion: 0.11 -Nodes (19): Get all configurations in a category. Returns decrypted values for sens, Get all configurations in a category with sensitive values masked. Usef, next, count_configs_by_category(), delete_config(), get_all_configs(), get_config(), get_configs_by_category() (+11 more) - -### Community 67 - "Community 67" -Cohesion: 0.17 -Nodes (21): Test Azure login creates new user., Tests for Azure login endpoint., TestAuthAPIAzureLogin, expired_token(), Create expired JWT token., create_access_token(), decode_token(), get_email_from_token() (+13 more) - -### Community 68 - "Community 68" -Cohesion: 0.12 -Nodes (20): Test PostgreSQL main check is always included., HealthStatus, Health status levels., Health status of a single service., ServiceHealth, Test GET /health/ready endpoint., Test check_postgres_main function., Test check_postgres_vectors function. (+12 more) - -### Community 69 - "Community 69" -Cohesion: 0.12 -Nodes (11): Check if parser supports given file format. Args: file_exte, Initialize DocumentProcessor. Args: embedding_service: Serv, Document parser using LlamaParse API from LlamaCloud. Provides: - Best-in-class, Parse document using LlamaParse API. Falls back to Unstructured if:, Get list of supported formats., Internal method to parse with LlamaParse API., Call LlamaParse.load_data in blocking context. This is called via async, Extract text from LlamaParse Document objects. LlamaParse returns struc (+3 more) - -### Community 70 - "Community 70" -Cohesion: 0.13 -Nodes (20): Validate file before processing. Checks: - File exists and is r, calculate_sha256(), detect_file_type(), get_extension_from_mime(), get_file_extension(), get_file_info(), get_human_readable_size(), is_supported_format() (+12 more) - -### Community 71 - "Community 71" -Cohesion: 0.14 -Nodes (18): ChatInterface(), ChatInterfaceProps, ChatMessage, SUGGESTIONS, FeedbackButtons(), FeedbackState, MessageBubble(), ChatPage() (+10 more) - -### Community 72 - "Community 72" -Cohesion: 0.16 -Nodes (13): Enum, Base classes for SQLAlchemy models. Provides: - Declarative base class for all, Mixin providing standard timestamp columns. Attributes: created_at:, TimestampMixin, FeedbackRating, Chat models for conversation management. Includes ChatSession and ChatMessage m, User feedback rating enumeration., Document model for managing uploaded and synced documents. Replaces notebook_id (+5 more) - -### Community 73 - "Community 73" -Cohesion: 0.10 -Nodes (15): Integration tests for authentication API endpoints. Tests: - Azure AD login flo, Tests for token refresh endpoint., Test successfully refreshing token., Test token refresh preserves all claims., Tests for user profile endpoint., Test retrieving authenticated user profile., Test profile shows correct admin status for different roles., Tests for user status validation (suspended/deleted). (+7 more) - -### Community 74 - "Community 74" -Cohesion: 0.10 -Nodes (12): Test city is preserved in result., Test handling of whitespace in profile data., Tests for profile-based region detection., Test detecting UK region from full country name., Test detecting UK from abbreviation., Test detecting US region., Test detecting EU region., Test detecting APAC region. (+4 more) - -### Community 75 - "Community 75" -Cohesion: 0.10 -Nodes (13): Test WebSocket streaming responses., Test: WebSocket connection can be established., Test: Response is streamed in chunks., Test: WebSocket requires valid authentication token., Test: WebSocket connection closes properly., Test: Multiple clients can stream simultaneously., TestWebSocketStreaming, Test WebSocket chat streaming flow. (+5 more) - -### Community 76 - "Community 76" -Cohesion: 0.10 -Nodes (11): Integration tests for AIRouter classification system. Tests: - Real Redis inter, router(), router_with_mock_llm(), test_cache_lookup_is_fast(), test_cache_retrieval_accuracy(), test_cache_ttl_is_one_hour(), test_handles_llm_unavailable(), test_handles_redis_unavailable() (+3 more) - -### Community 77 - "Community 77" -Cohesion: 0.11 -Nodes (14): Production-ready embedding service for Oliver AI Assistant. Provides embeddings, Production-ready embedding service using OpenAI API. Handles text embedding, Initialize EmbeddingService. Args: runtime_config: RuntimeC, Get embedding vector dimension. Returns: Dimension of embed, Calculate embedding cost. Args: tokens: Number of tokens, Estimate cost for embedding texts. Uses token estimation without making, Close the OpenAI client., Initialize circuit breaker state. (+6 more) - -### Community 78 - "Community 78" -Cohesion: 0.10 -Nodes (7): mock_pgvector_pool(), Unit tests for VectorStore implementations. Tests both PgVectorStore and Qdrant, Test search with invalid embedding., Generate sample 1536-dimensional embedding., Create mock PGVector connection pool., sample_embedding(), test_search_with_filters() - -### Community 79 - "Community 79" -Cohesion: 0.12 -Nodes (8): ChatMessage, ChatSession, closeWebSocketClient(), ErrorHandler, MessageHandler, Source, WebSocketClient, WebSocketMessage - -### Community 80 - "Community 80" -Cohesion: 0.11 -Nodes (12): Test: System returns answer with sources., Test: Multi-turn conversation maintains context across messages., Test: Personal tasks context affects LLM response., Test: Complete flow from document upload to LLM-generated answer., Test LLM response generation with context., Test: Search results formatted as context for LLM., Test: LLM generates response using provided context., Test: LLM response respects token limits. (+4 more) - -### Community 81 - "Community 81" -Cohesion: 0.15 -Nodes (18): check_postgres_main(), check_postgres_vectors(), check_redis(), health_check(), HealthResponse, liveness_probe(), Health check endpoints for Oliver AI Assistant. Provides: - GET /health - Overa, Check PostgreSQL vectors database connectivity. Similar to main database bu (+10 more) - -### Community 82 - "Community 82" -Cohesion: 0.13 -Nodes (13): syncApi, SyncFolder, SyncFolderRequest, SyncFoldersResponse, SyncLog, SyncLogsResponse, SyncStatus, TriggerSyncResponse (+5 more) - -### Community 83 - "Community 83" -Cohesion: 0.16 -Nodes (13): AdminLayout(), ProtectedRoute(), AdminSidebar(), AdminSidebarProps, NAV_ITEMS, Header(), HeaderProps, axiosInstance (+5 more) - -### Community 84 - "Community 84" -Cohesion: 0.14 -Nodes (16): Session, Region mapping model for country-to-region classification., String representation of RegionMapping., RegionMapping, create_super_admin(), main(), Seed data script for Oliver AI Assistant database. Creates: - 50+ region mappin, Seed prompt templates table with 10 default templates. Args: sessio (+8 more) - -### Community 85 - "Community 85" -Cohesion: 0.12 -Nodes (13): Integration tests for admin API endpoints with real database. Tests: - Admin st, Integration tests for admin users endpoint., Test users endpoint returns real users from database., Integration tests for admin stats endpoint., Test users list contains correct role assignments., Test stats endpoint counts real users from database., Integration tests for admin health endpoint., Test health detail endpoint includes all service statuses. (+5 more) - -### Community 86 - "Community 86" -Cohesion: 0.11 -Nodes (3): Unit tests for reranker implementations. Tests: - CircuitBreaker functionality, Test circuit breaker opens after threshold failures., Test get_provider_used method. - -### Community 87 - "Community 87" -Cohesion: 0.18 -Nodes (15): create_app(), lifespan(), FastAPI main application for Oliver AI Assistant. Features: - Complete lifespan, Create and configure FastAPI application. Returns: Configured FastA, FastAPI lifespan context manager. Handles: - Startup: Initialize all co, app(), Create test app with health router., Unit tests for FastAPI main application. Tests: - Application creation and conf (+7 more) - -### Community 88 - "Community 88" -Cohesion: 0.14 -Nodes (9): Execute a single chat query. Flow: 1. Get user and verify exist, Execute a streaming chat query. Yields streaming chunks: - "sou, Save chat message to database. Args: user_id: User ID, Log interaction for analytics. Args: user_id: User ID, Track token usage and calculate cost. Args: user_id: User I, Get user by ID. Args: user_id: User ID Returns:, Get recent chat history for context. Args: session_id: Chat, Build search filter from user, routing decision, and category. Args: (+1 more) - -### Community 89 - "Community 89" -Cohesion: 0.11 -Nodes (10): Test Tier 1: Keyword-based classification., Test HR topic keyword matching., Test Policies topic keyword matching., Test Finance topic keyword matching., Test query with no keyword matches returns None., Test keyword matching is case-insensitive., Test query with multiple topic keywords uses highest-scoring one., Test confidence increases with more keyword matches. (+2 more) - -### Community 90 - "Community 90" -Cohesion: 0.12 -Nodes (10): TestPersonalContextAccuracy, Test personal context indicator detection., Test detection of 'my' indicator., Test detection of 'I' indicator., Test detection of 'yesterday' indicator., Test detection of 'personal' indicator., Test personal detection is case-insensitive., Test query without personal indicators. (+2 more) - -### Community 91 - "Community 91" -Cohesion: 0.14 -Nodes (13): CircuitBreakerState, Reset circuit breaker state., Track circuit breaker state for failure handling., Check if enough time has passed to attempt recovery., Test initial circuit breaker state., Test recording success resets failures., Test recording multiple failures., Test recovery check timing. (+5 more) - -### Community 92 - "Community 92" -Cohesion: 0.12 -Nodes (15): Validate score is in valid range., ChunkData, Chunk data for upsertion into vector store. Attributes: chunk_id: U, test_deduplication(), test_user_data_deletion_gdpr(), Tests for ChunkData validation., Test valid chunk data., Test missing chunk_id raises error. (+7 more) - -### Community 93 - "Community 93" -Cohesion: 0.18 -Nodes (16): RankerProvider, Base exception for reranker errors., Exception when circuit breaker is open., Supported reranker providers., Metrics for reranker operations., RerankerCircuitBreakerOpenError, RerankerError, RerankerMetrics (+8 more) - -### Community 94 - "Community 94" -Cohesion: 0.13 -Nodes (12): Test encryption key generation., Test key generation produces valid URL-safe base64., Test that generated keys are different (random)., Test getting encryption key from environment., Test error when ENCRYPTION_KEY not set., Test PBKDF2 key derivation from password., Test that key derivation is deterministic., TestKeyGeneration (+4 more) - -### Community 95 - "Community 95" -Cohesion: 0.14 -Nodes (10): check_config(), check_minio(), Check MinIO connectivity. Attempts to: 1. Check if MinIO client is avai, Check RuntimeConfig availability. Attempts to: 1. Get RuntimeConfig ins, Unit tests for health check endpoints. Tests: - GET /health endpoint (overall h, test_config_healthy(), test_config_unhealthy(), test_minio_bucket_missing() (+2 more) - -### Community 96 - "Community 96" -Cohesion: 0.17 -Nodes (16): example_basic_processing(), example_chunking_strategy(), example_error_handling(), example_integration(), example_metadata_handling(), example_multi_format(), example_performance_tips(), main() (+8 more) - -### Community 97 - "Community 97" -Cohesion: 0.12 -Nodes (16): devDependencies, eslint, eslint-config-next, tailwindcss, @tailwindcss/postcss, @types/node, @types/react, typescript (+8 more) - -### Community 98 - "Community 98" -Cohesion: 0.12 -Nodes (13): Update AI model configuration. Args: config: Dictionary of, Update parser configuration., Update SharePoint configuration., config_exists(), Check if configuration key exists. Args: session: Database session, Create or update configuration. Args: session: Database session, upsert_config(), _check_encryption_key() (+5 more) - -### Community 99 - "Community 99" -Cohesion: 0.14 -Nodes (11): ParsedDocument, Result of document parsing operation. Attributes: text: Extracted f, Check if parsed document is valid (has text content)., Get page count from metadata or estimate., Get word count of extracted text., Tests for ParsedDocument class., Test valid ParsedDocument., Test empty ParsedDocument. (+3 more) - -### Community 100 - "Community 100" -Cohesion: 0.14 -Nodes (8): Route a query through the 3-tier classification system. Tier 1: Keyword, Tier 1: Fast keyword-based classification. Returns: Routing, Tier 3: LLM-based classification for complex queries. Uses gpt-4o-mini, Detect if query refers to personal/individual context. Personal indicat, Suggest appropriate model based on complexity and context. Rules:, Generate cache key from query., Retrieve cached classification., Cache a classification decision. - -### Community 101 - "Community 101" -Cohesion: 0.13 -Nodes (15): confirm_region(), dev_login(), get_me(), logout(), Authentication API routes for Oliver AI Assistant. Endpoints: - POST /api/auth/, Development-only login endpoint. Disabled in production. Creates a JWT toke, Refresh JWT token. Generates new JWT token for authenticated user. Usef, Get current user profile. Returns authenticated user's profile information. (+7 more) - -### Community 102 - "Community 102" -Cohesion: 0.12 -Nodes (9): Tests for User model role-related methods., Test super_admin is identified as admin., Test regional_admin is identified as admin., Test auditor is identified as admin., Test regular user is not admin., Test content_manager is not considered admin., Test is_super_admin returns True for super_admin., Test is_super_admin returns False for other roles. (+1 more) - -### Community 103 - "Community 103" -Cohesion: 0.12 -Nodes (15): get_ai_router(), get_current_user(), get_db(), get_llm_client_dep(), get_optional_user(), FastAPI dependency injection for authentication and authorization. Provides: -, Extract current user from JWT token, or None if not authenticated. Does not, Decorator to enforce RBAC role requirements on endpoint. Checks that curren (+7 more) - -### Community 104 - "Community 104" -Cohesion: 0.13 -Nodes (15): create_session(), delete_session(), list_sessions(), Chat API routes for Oliver AI Assistant. Endpoints: - POST /api/chat/ask: REST, Create a new chat session., List all chat sessions for the current user. Returns sessions ordered by mo, Delete a chat session and all its messages. Cascades delete to all related, Submit user feedback on a chat message. Args: message_id: Chat mess (+7 more) - -### Community 105 - "Community 105" -Cohesion: 0.18 -Nodes (11): ErrorState, LoadingState, colorMap, StatsCard(), StatsCardProps, UserList(), UserListProps, adminApi (+3 more) - -### Community 106 - "Community 106" -Cohesion: 0.13 -Nodes (9): test_complex_query_gets_gpt4o(), Test model suggestion logic., Test simple queries suggest gpt-4o-mini., Test long/complex queries suggest gpt-4o., Test low confidence suggests more powerful model., Test personal context requires gpt-4o., Test 'how' questions are complex., Test 'why' questions are complex. (+1 more) - -### Community 107 - "Community 107" -Cohesion: 0.16 -Nodes (13): get_rag_engine(), Build RAGEngine from app.state services. Lazily constructs all pipeline com, CohereReranker, Reranker using Cohere Rerank API v3. Features: - Uses Cohere's advanced, cohere_reranker(), Integration tests for Cohere reranker with real API., Test Cohere ranking quality., test_ranking_relevance_comparison() (+5 more) - -### Community 108 - "Community 108" -Cohesion: 0.15 -Nodes (11): Unit tests for encryption utilities. Tests AES-256-GCM encryption/decryption fu, Test edge cases and error handling., Test encryption with special characters., Test handling of invalid base64 in ENCRYPTION_KEY., Test handling of encryption key that's too short., TestEdgeCases, encrypt_for_storage(), _get_encryption_key() (+3 more) - -### Community 109 - "Community 109" -Cohesion: 0.13 -Nodes (11): Unit tests for JWT utilities. Tests: - Token creation and encoding - Token vali, Tests for token expiration handling., Test valid token is not expired., Test invalid token is treated as expired., Test decoding truly expired token raises ExpiredTokenError., Tests for token refresh functionality., Test successfully refreshing token., Test refreshing expired token raises error. (+3 more) - -### Community 110 - "Community 110" -Cohesion: 0.18 -Nodes (13): ServiceHealth, AdminStatsResponse, AdminUsersResponse, Config, get_admin_stats(), get_admin_users(), get_detailed_health(), Admin API routes for Oliver AI Assistant. Endpoints: - GET /api/admin/stats - S (+5 more) - -### Community 111 - "Community 111" -Cohesion: 0.14 -Nodes (7): Get configuration value as integer. Args: key: Configuratio, Get configuration value as boolean. Recognizes: true, 1, yes, on (case-, Get configuration value as float. Args: key: Configuration, Get value from Redis cache., Set value in Redis cache with TTL., Set value in local memory cache with TTL., Get configuration value. Priority: 1. Redis cache (fast) - -### Community 112 - "Community 112" -Cohesion: 0.15 -Nodes (7): Tests for text chunking., Test chunking empty text., Test chunking small text that fits in one chunk., Test chunking large text into multiple chunks., Test that chunks respect sentence boundaries., Test section extraction., TestTextChunker - -### Community 113 - "Community 113" -Cohesion: 0.15 -Nodes (8): Tests for file utility functions., Test file extension extraction., Test supported format checking., Test SHA256 hash calculation., Test SHA256 with nonexistent file., Test file size validation., Test comprehensive file info retrieval., TestFileUtils - -### Community 114 - "Community 114" -Cohesion: 0.15 -Nodes (13): LLMResponse, Response from LLM generation., Test cache prevents redundant LLM calls., test_handles_malformed_cache_data(), test_tier_usage_distribution(), Test Tier 3: LLM-based classification., Test cache management operations., TestCacheManagement (+5 more) - -### Community 115 - "Community 115" -Cohesion: 0.17 -Nodes (8): ABC, Production-ready Reranker for Oliver AI Assistant. Provides: - Abstract Reranke, Abstract base class for document rerankers., Get recorded metrics., Clear recorded metrics., Get total cost of all operations., Get average latency across all operations., Reranker - -### Community 116 - "Community 116" -Cohesion: 0.18 -Nodes (9): CircuitBreaker, Check if breaker allows requests., Check if breaker is open., Rerank documents using Cohere API. Args: query: Query strin, Rerank documents using cross-encoder model. Args: query: Qu, Rerank documents with automatic fallback. Tries Cohere first, falls bac, Circuit breaker for preventing cascade failures., Record successful call. (+1 more) - -### Community 117 - "Community 117" -Cohesion: 0.15 -Nodes (13): dependencies, axios, @azure/msal-browser, @azure/msal-react, @emotion/react, @emotion/styled, lucide-react, @mui/material (+5 more) - -### Community 118 - "Community 118" -Cohesion: 0.17 -Nodes (9): Test error response handling., Test: Invalid session returns proper error., Test: Unauthorized access returns 401., Test: Accessing other user's data returns 403., Test: Malformed request returns 400., Test: Server errors return 500 with error details., Test: Service unavailable returns 503., TestErrorResponses (+1 more) - -### Community 119 - "Community 119" -Cohesion: 0.17 -Nodes (8): Tests for auditor role permissions., Test super_admin can view analytics., Test auditor can view analytics., Test regional_admin can view analytics., Test regular user cannot view analytics., Test content_manager cannot view analytics., Test auditor specific permissions., TestAuditorPermissions - -### Community 120 - "Community 120" -Cohesion: 0.17 -Nodes (6): Test initial state is closed., Test success resets failure count., Test failures open the breaker at threshold., Test open breaker blocks requests., Test breaker recovers after timeout., TestCircuitBreaker - -### Community 121 - "Community 121" -Cohesion: 0.17 -Nodes (7): Tests for JWT token decoding and validation., Test decoding valid token., Test decoding malformed token raises error., Test decoding empty token raises error., Test decoding corrupted token raises error., Test token with missing required claims raises error., TestJWTUtilsDecode - -### Community 122 - "Community 122" -Cohesion: 0.18 -Nodes (7): Test FastAPI application creation and configuration., Test that app is created successfully., Test that app has lifespan context manager., Test that root endpoint is registered., Test that all required routers are included., Test that global exception handler is registered., TestAppCreation - -### Community 123 - "Community 123" -Cohesion: 0.18 -Nodes (6): Test initial state is closed., Test success resets failure count., Test failures open the breaker at threshold., Test open breaker blocks requests., Test breaker recovers after timeout., TestCircuitBreaker - -### Community 124 - "Community 124" -Cohesion: 0.18 -Nodes (7): Test edge cases and boundary conditions., Test handling of very long queries., Test queries with special characters., Test queries with unicode characters., Test query with only numbers., Test query containing URLs., TestEdgeCases - -### Community 125 - "Community 125" -Cohesion: 0.20 -Nodes (9): inter, metadata, Providers(), ProvidersProps, graphRequest, loginRequest, msalConfig, msalInstance (+1 more) - -### Community 126 - "Community 126" -Cohesion: 0.18 -Nodes (7): Tests for JWT token creation., Test creating valid access token., Test creating tokens for all role types., Test creating tokens with different regions., Test token includes all required claims., Test token has correct expiration time., TestJWTUtilsCreate - -### Community 127 - "Community 127" -Cohesion: 0.22 -Nodes (5): Apply rate limiting to respect API limits., Embed a single text to vector. Performs: - Text normalization, Embed multiple texts with batch processing. Handles large batches by:, Convenience method to embed documents. Wrapper around embed_batch with, Track embedding token usage for cost calculation. Inserts record into t - -### Community 128 - "Community 128" -Cohesion: 0.20 -Nodes (8): Create test database., test_db(), app(), event_loop(), Integration tests for health check endpoints. These tests run against actual se, Create event loop for session., Create FastAPI app for integration testing., test_db() - -### Community 129 - "Community 129" -Cohesion: 0.20 -Nodes (6): Test individual health checks have correct format., Integration tests for health endpoint with real services., Test that health endpoint returns 200., Test that all expected service checks are present., TestHealthCheckIntegration, Test health response has correct structure. - -### Community 130 - "Community 130" -Cohesion: 0.20 -Nodes (8): HybridReranker, Initialize reranker. Args: name: Name of the reranker imple, Initialize Cohere reranker. Args: api_key: Cohere API key, Initialize cross-encoder reranker. Args: model_name: Huggin, Hybrid reranker combining Cohere with cross-encoder fallback. Features:, Initialize hybrid reranker. Args: cohere_api_key: Cohere AP, Get the provider used in the last rerank call., hybrid_reranker() - -### Community 131 - "Community 131" -Cohesion: 0.20 -Nodes (6): Tests for Pydantic schema validation., Test AskRequest schema validation., Test AskResponse schema validation., Test ChatSessionResponse schema validation., Test FeedbackRequest schema validation., TestSchemaValidation - -### Community 132 - "Community 132" -Cohesion: 0.20 -Nodes (9): calculate_file_hash(), detect_file_type(), get_file_extension(), File utilities for document processing. Provides: - File type detection using l, Get file extension from MIME type. Args: mime_type: MIME type strin, Validate file size against maximum allowed. Args: file_size: File s, Calculate file hash for deduplication and integrity verification. Args:, Detect MIME type using libmagic. Uses magic library to detect file type by (+1 more) - -### Community 133 - "Community 133" -Cohesion: 0.20 -Nodes (6): Tests for extracting claims from tokens., Test extracting user ID from token., Test extracting email from token., Test extracting role from token., Test extracting region from token., TestJWTUtilsExtract - -### Community 134 - "Community 134" -Cohesion: 0.22 -Nodes (6): Test liveness probe always returns 200 if app is responding., Test liveness probe returns status alive., Test liveness probe includes timestamp., Test GET /health endpoint., TestHealthEndpoint, TestLivenessProbe - -### Community 136 - "Community 136" -Cohesion: 0.22 -Nodes (5): Set configuration value and update cache. Args: key: Config, Invalidate cache for a configuration key. Removes from Redis and local, Invalidate all caches for configurations in a category. Args:, Test: Duplicate sources are deduplicated before response., Test region mapping has all expected regions. - -### Community 137 - "Community 137" -Cohesion: 0.28 -Nodes (5): _call_embedding_api(), Initialize OpenAI client from config (lazy initialization)., Verify API connectivity. Attempts to embed a simple test text to verify, Record successful operation, reset failures., Record failure, increment counter. - -### Community 138 - "Community 138" -Cohesion: 0.28 -Nodes (7): _create_pgvector(), _create_qdrant(), get_vector_store(), VectorStore factory for creating appropriate implementation. Provides factory p, Factory for creating VectorStore instances., Integration tests for QdrantVectorStore., TestQdrantVectorStoreIntegration - -### Community 139 - "Community 139" -Cohesion: 0.22 -Nodes (6): Test input validation and sanitization., Test: Questions respect length limits., Test: Empty questions are rejected., Test: XSS payloads are sanitized., Test: SQL injection payloads are parameterized., TestInputValidation - -### Community 140 - "Community 140" -Cohesion: 0.22 -Nodes (6): Test result reranking to improve relevance., Test: Reranker improves result relevance., Test: Reranker handles empty result set., Test: Reranking preserves chunk metadata., Test: Reranker provides confidence scores., TestReranking - -### Community 141 - "Community 141" -Cohesion: 0.22 -Nodes (6): Test storing embeddings in vector database., Test: Chunks stored in vector store., Test: Chunks retrievable from vector store., Test: Vector store supports region filtering., Test: Vector store supports topic filtering., TestVectorStoreStorage - -### Community 142 - "Community 142" -Cohesion: 0.22 -Nodes (9): Integration tests for GET /api/chat/sessions., AskRequest, POST /api/chat/ask request body., Tests for GET /api/chat/sessions/{id}/messages endpoint., test_ask_invalid_question_empty(), test_ask_invalid_question_too_long(), test_ask_success(), test_ask_with_session_id() (+1 more) - -### Community 143 - "Community 143" -Cohesion: 0.25 -Nodes (5): Tests for SearchResult data class., Test creating valid SearchResult., Test invalid vector score raises error., Test combined score calculation., TestSearchResult - -### Community 144 - "Community 144" -Cohesion: 0.25 -Nodes (5): Test query embedding generation., Test: Query embedded with embedding service., Test: Query embedding <100ms., Test: Query normalization doesn't affect embedding., Test: Long queries embedded correctly. - -### Community 145 - "Community 145" -Cohesion: 0.25 -Nodes (6): End-to-end RAG pipeline integration tests. Tests complete retrieval-augmented g, Test complete RAG pipeline from query to response., Test: Complete RAG pipeline execution., Test: RAG response includes source attribution., Test: RAG pipeline gracefully handles no results., Test full RAG pipeline execution. - -### Community 146 - "Community 146" -Cohesion: 0.25 -Nodes (5): Test confidence scoring of RAG responses., Test: High confidence when strong matches found., Test: Low confidence when weak matches found., Test: Confidence score properly calculated., TestConfidenceScoring - -### Community 147 - "Community 147" -Cohesion: 0.25 -Nodes (6): Test RAG pipeline error recovery., Test: Graceful fallback if vector store unavailable., Test: Embedding service failure handled., Test: LLM service failure handled., Test: Partial results used if some sources fail., TestRAGErrorRecovery - -### Community 148 - "Community 148" -Cohesion: 0.25 -Nodes (5): Test RAG pipeline performance., Test: Vector search <100ms., Test: Total RAG pipeline <500ms., Test: Multiple concurrent queries handled efficiently., TestRAGPerformance - -### Community 149 - "Community 149" -Cohesion: 0.25 -Nodes (5): Integration tests for health check error handling., Test health check continues even if some services fail., Test health check messages contain useful information., TestHealthErrorHandling, Test readiness returns 200 when critical services are healthy. - -### Community 150 - "Community 150" -Cohesion: 0.25 -Nodes (7): test_deleted_user(), test_suspended_user(), Tests for user status flags., Test creating suspended user., Test creating soft-deleted user., Test active user has correct status., TestUserStatus - -### Community 151 - "Community 151" -Cohesion: 0.29 -Nodes (4): Test RankedDocument dataclass., Test creating a valid RankedDocument., Test that score > 1 raises ValueError., Test boundary scores (0 and 1) are valid. - -### Community 152 - "Community 152" -Cohesion: 0.25 -Nodes (5): Tests for RBAC enforcement in dependency injection., Test super_admin has access to protected endpoints., Test regional_admin cannot access super_admin-only endpoints., Test regular user denied access to admin endpoints., test_rbac_enforcement() - -### Community 153 - "Community 153" -Cohesion: 0.25 -Nodes (6): Test: Malformed tokens are rejected., Tests for token validation in dependency injection., Test expired token is rejected., Test invalid token is rejected., Test tampered token is rejected., TestTokenValidation - -### Community 154 - "Community 154" -Cohesion: 0.33 -Nodes (4): Test feedback and rating submission., Test: User can submit positive feedback., Test: Feedback supports rating scale 1-5., TestFeedbackSubmission - -### Community 155 - "Community 155" -Cohesion: 0.29 -Nodes (5): Integration tests for health check performance., Test health check completes within reasonable time., Test readiness check is faster than full health check., Test liveness check is very fast (< 100ms)., TestHealthPerformance - -### Community 156 - "Community 156" -Cohesion: 0.29 -Nodes (5): Integration tests for liveness probe., Test that liveness probe always returns 200 when app is running., Test liveness probe response structure., Test that liveness probe doesn't return error responses., TestLivenessProbeIntegration - -### Community 157 - "Community 157" -Cohesion: 0.29 -Nodes (5): Integration tests for readiness probe., Test that readiness endpoint is accessible., Test readiness probe response structure., Test readiness probe returns correct HTTP status codes., TestReadinessProbeIntegration - -### Community 158 - "Community 158" -Cohesion: 0.29 -Nodes (5): Tests for region confirmation endpoint., Test confirming valid region., Test confirming invalid region raises error., TestAuthAPIRegionConfirm, Test confirming invalid region raises error. - -### Community 159 - "Community 159" -Cohesion: 0.33 -Nodes (4): Test overall health status determination logic., Test overall status is healthy when all services healthy., Test overall status is unhealthy when any service is down., TestHealthStatusDetermination - -### Community 160 - "Community 160" -Cohesion: 0.33 -Nodes (4): Integration tests for concurrent health checks., Test multiple concurrent health checks succeed., Test liveness checks return immediately even if readiness is checking., TestHealthConcurrency - -### Community 161 - "Community 161" -Cohesion: 0.33 -Nodes (4): Integration tests for overall health determination., Test overall health status is correctly determined., Test that health response includes valid timestamp., TestOverallHealthStatus - -### Community 162 - "Community 162" -Cohesion: 0.33 -Nodes (5): Alembic environment configuration for Main Database (oliver_ai). This module co, Run migrations in 'offline' mode. This configures the context with just a U, Run migrations in 'online' mode. In this scenario we need to create an Engi, run_migrations_offline(), run_migrations_online() - -### Community 164 - "Community 164" -Cohesion: 0.33 -Nodes (4): Abstract base class for vector store implementations. Defines the interface, Initialize vector store. Args: name: Implementation name (e, Close vector store connections gracefully. Override in subclasses to cl, VectorStore - -### Community 165 - "Community 165" -Cohesion: 0.33 -Nodes (4): Integration tests for admin access control., Test admin endpoints deny non-super_admin users., Test admin endpoints require authentication., TestAdminAccessControl - -### Community 166 - "Community 166" -Cohesion: 0.33 -Nodes (5): Alembic environment configuration for Vector Database (oliver_vectors). This mo, Run migrations in 'offline' mode. This configures the context with just a U, Run migrations in 'online' mode. In this scenario we need to create an Engi, run_migrations_offline(), run_migrations_online() - -### Community 167 - "Community 167" -Cohesion: 0.40 -Nodes (4): enabledPlugins, code-review@claude-code-plugins, feature-dev@claude-code-plugins, frontend-design@claude-code-plugins - -### Community 168 - "Community 168" -Cohesion: 0.40 -Nodes (4): Integration tests for PostgreSQL main database health., Test that PostgreSQL main database responds to queries., TestPostgresMainHealthIntegration, TestPostgresVectorsHealthIntegration - -### Community 169 - "Community 169" -Cohesion: 0.40 -Nodes (4): downgrade(), Downgrade database schema., Upgrade database schema with chunks table and supporting infrastructure., upgrade() - -### Community 170 - "Community 170" -Cohesion: 0.40 -Nodes (4): downgrade(), Upgrade database schema., Downgrade database schema., upgrade() - -### Community 171 - "Community 171" -Cohesion: 0.40 -Nodes (4): downgrade(), Upgrade database schema., Downgrade database schema., upgrade() - -### Community 172 - "Community 172" -Cohesion: 0.40 -Nodes (4): downgrade(), Upgrade database schema., Downgrade database schema., upgrade() - -### Community 173 - "Community 173" -Cohesion: 0.40 -Nodes (4): downgrade(), Upgrade database schema., Downgrade database schema., upgrade() - -### Community 174 - "Community 174" -Cohesion: 0.40 -Nodes (4): downgrade(), Upgrade database schema., Downgrade database schema., upgrade() - -### Community 175 - "Community 175" -Cohesion: 0.40 -Nodes (4): downgrade(), Add sources column to chat_messages table., Remove sources column from chat_messages table., upgrade() - -### Community 177 - "Community 177" -Cohesion: 0.50 -Nodes (3): Integration tests for Redis health., Test that Redis responds to health check., TestRedisHealthIntegration - -### Community 186 - "Community 186" -Cohesion: 0.67 -Nodes (3): api_client(), async_client(), Create async HTTP client for testing. - -### Community 187 - "Community 187" -Cohesion: 0.67 -Nodes (3): Create test DOCX document., Create test TXT document., test_document_txt() - -## Knowledge Gaps -- **148 isolated node(s):** `name`, `version`, `dev`, `build`, `start` (+143 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **593 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `User` connect `Community 7` to `Community 1`, `Community 131`, `Community 4`, `Community 5`, `Community 3`, `Community 8`, `Community 9`, `Community 11`, `Community 139`, `Community 13`, `Community 142`, `Community 141`, `Community 16`, `Community 15`, `Community 18`, `Community 19`, `Community 144`, `Community 21`, `Community 150`, `Community 23`, `Community 152`, `Community 153`, `Community 154`, `Community 146`, `Community 148`, `Community 158`, `Community 32`, `Community 163`, `Community 36`, `Community 165`, `Community 41`, `Community 49`, `Community 54`, `Community 56`, `Community 140`, `Community 65`, `Community 67`, `Community 198`, `Community 72`, `Community 201`, `Community 202`, `Community 75`, `Community 204`, `Community 73`, `Community 80`, `Community 84`, `Community 85`, `Community 145`, `Community 147`, `Community 102`, `Community 110`, `Community 118`, `Community 119`?** - _High betweenness centrality (0.150) - this node is a cross-community bridge._ -- **Why does `RuntimeConfig` connect `Community 2` to `Community 0`, `Community 4`, `Community 6`, `Community 7`, `Community 136`, `Community 12`, `Community 14`, `Community 21`, `Community 24`, `Community 33`, `Community 43`, `Community 53`, `Community 55`, `Community 57`, `Community 61`, `Community 62`, `Community 66`, `Community 77`, `Community 91`, `Community 111`, `Community 114`, `Community 123`?** - _High betweenness centrality (0.119) - this node is a cross-community bridge._ -- **Why does `SharePointSyncService` connect `Community 12` to `Community 32`, `Community 2`, `Community 164`, `Community 6`, `Community 8`, `Community 77`, `Community 46`, `Community 55`, `Community 24`, `Community 63`?** - _High betweenness centrality (0.049) - this node is a cross-community bridge._ -- **Are the 234 inferred relationships involving `User` (e.g. with `ServiceHealth` and `ConfigManager`) actually correct?** - _`User` has 234 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 103 inferred relationships involving `SearchFilter` (e.g. with `QdrantVectorStore` and `VectorStore`) actually correct?** - _`SearchFilter` has 103 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 77 inferred relationships involving `AIRouter` (e.g. with `LLMClient` and `OpenAIClient`) actually correct?** - _`AIRouter` has 77 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 75 inferred relationships involving `Document` (e.g. with `ServiceHealth` and `TimestampMixin`) actually correct?** - _`Document` has 75 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/oliver-sales-ops-platform-structure.md b/wiki/architecture/oliver-sales-ops-platform-structure.md deleted file mode 100644 index 5295eac..0000000 --- a/wiki/architecture/oliver-sales-ops-platform-structure.md +++ /dev/null @@ -1,517 +0,0 @@ ---- -tags: [architecture, graphify, oliver-sales-ops-platform] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/oliver-sales-ops-platform (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1358 nodes · 1907 edges · 125 communities (98 shown, 27 thin omitted) -- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 127 edges (avg confidence: 0.75) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] - -## God Nodes (most connected - your core abstractions) -1. `Opportunity` - 40 edges -2. `Stage2Diagnose()` - 33 edges -3. `StageApprovals()` - 31 edges -4. `Notification` - 30 edges -5. `Stage3Qualify()` - 30 edges -6. `Stage16Delivery()` - 29 edges -7. `Stage6Normalize()` - 29 edges -8. `Stage7Match()` - 27 edges -9. `Base` - 27 edges -10. `OLIVER Sales Operations Platform` - 27 edges - -## Surprising Connections (you probably didn't know these) -- `Stage 13 — Support Docs Agent` --calls--> `useStageArtifacts()` [EXTRACTED] - docs/project/api_spec.md → frontend/src/api/opportunities.ts -- `Build ratecards from confirmed matches (Stage 8). Ported from V1's ratecard_bui` --rationale_for--> `Ratecard Builder (Stage 8)` [EXTRACTED] - backend/app/services/ratecard_builder.py → README.md -- `Approval workflow — request approvals and record decisions. Requesting an appro` --rationale_for--> `Approval Service` [EXTRACTED] - backend/app/services/approval_service.py → AGENTS.md -- `Allowed Users Config (YAML)` --conceptually_related_to--> `SSO Authentication` [INFERRED] - config/allowed_users.yaml → docs/README.md -- `SQLAlchemy 2.0.36 (asyncio)` --references--> `FastAPI Backend` [INFERRED] - backend/requirements.txt → README.md - -## Communities (125 total, 27 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (60): complete_stage(), create_opportunity(), delete_file(), delete_opportunity(), download_pitch_deck_markdown(), download_pitch_outline_markdown(), downloadQAPack(), get_efficiency_profile() (+52 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (59): allowed_users.yaml Allowlist, API Specification — OLIVER Sales Ops Platform, ADR: Claude Tool-Use Pattern for All Agents, 17-Stage State Machine, Alembic Migrations, Anthropic Claude API, Apache Reverse Proxy, Approvals Workflow (Gated Stages 3, 14) (+51 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (43): assetsKeys, useBuildRatecard(), useClientAssets(), useCreateAsset(), useDeleteAsset(), useKickOffMatching(), useMatches(), useRatecard() (+35 more) - -### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (36): useCreateOpportunity(), UserMenu(), AgentDetail, badgeStyle, cardStyle, cascadeNoteStyle, chevronStyle, codeStyle (+28 more) - -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (34): useClarifications(), useUpdateClarification(), badgeStyle, cardStyle, emptyCalloutStyle, emptyStyle, hintStyle, listStyle (+26 more) - -### Community 5 - "Community 5" -Cohesion: 0.08 -Nodes (21): list_my_notifications(), mark_read(), In-app notification endpoints., _to_out(), bellBtnStyle, bellIconStyle, bodyStyle, dotStyle (+13 more) - -### Community 6 - "Community 6" -Cohesion: 0.07 -Nodes (27): useQualification(), useSaveQualification(), badgeStyle, cardStyle, dimHeaderStyle, dimLetterStyle, dimRowStyle, errorStyle (+19 more) - -### Community 7 - "Community 7" -Cohesion: 0.16 -Nodes (23): _custom_opp(), _has_creative_role(), _opportunity_payload(), _pick_gmal_for_model(), Stage 11 — team shape (FTE per role) coverage. Team shape is pure-Python (no Cl, Same pattern as test_ratecard.py — return a GMAL with at least `min_rows` Gm, The first GMAL (id=1) is known to have a Creative-discipline role; the disci, An opportunity with no RatecardLine rows should return an empty roles list a (+15 more) - -### Community 8 - "Community 8" -Cohesion: 0.12 -Nodes (22): useDeleteFile(), useFiles(), useRunDiagnosis(), useRunIntake(), useStageArtifacts(), useUploadFiles(), advancePromptStyle, dropZoneStyle (+14 more) - -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (24): badgeStyle, commentStyle, containerStyle, emptyStyle, errorStyle, formStyle, headerStyle, hintStyle (+16 more) - -### Community 10 - "Community 10" -Cohesion: 0.09 -Nodes (23): activeStyle, awaitingStyle, completedStyle, containerStyle, gateBadge, gatedStyle, iconStyle, inProgressStyle (+15 more) - -### Community 11 - "Community 11" -Cohesion: 0.08 -Nodes (23): dependencies, axios, @azure/msal-browser, @azure/msal-react, lucide-react, mermaid, react, react-dom (+15 more) - -### Community 12 - "Community 12" -Cohesion: 0.08 -Nodes (22): badgeStyle, cardLabelStyle, cardStyle, chipStyle, emptyHintStyle, errorStyle, hintStyle, pillStyle (+14 more) - -### Community 13 - "Community 13" -Cohesion: 0.14 -Nodes (19): _pick_gmal_with_hour_routes(), Stage 7 — AI matching coverage. The real `/match` call hits Anthropic and costs, Return the lowest-id GMAL asset that has hour routes. The matching agent onl, Kicking off matching on an opportunity with zero ClientAssets is a 400., Seed 1 ClientAsset + 2 Match rows (one selected) and verify GET /matches sur, is_selected=true on a match should deselect any other selected matches for t, is_selected=false on a match should deselect just that match, leaving any ot, A match belonging to opportunity A cannot be toggled via opportunity B's URL (+11 more) - -### Community 14 - "Community 14" -Cohesion: 0.14 -Nodes (23): Stage 3 — TROWLS qualification scorecard coverage. Exercises POST /opportunitie, All 6s → total=36, pct=60, recommendation='proceed' (>=60 boundary)., A dimension >10 must be rejected by Pydantic (Field(ge=0, le=10))., A dimension <0 must be rejected (relationship = -1)., All six TROWLS dimensions are required — omitting one is 422., A fresh opportunity has no scorecard → returns JSON null., Round-trip POST → GET returns the same shape with the same artifact_id; savi, Build a TROWLSScores payload. (+15 more) - -### Community 15 - "Community 15" -Cohesion: 0.09 -Nodes (21): cardStyle, chipBtnActiveStyle, chipBtnStyle, EfficiencyProfileContent, EfficiencyProfileWrapper, emptyStyle, errorStyle, ghostBtnStyle (+13 more) - -### Community 16 - "Community 16" -Cohesion: 0.12 -Nodes (19): _minimal_diagnosis_content(), Stages 9 / 12 / 13 — `_run_simple_agent` semantics. These three endpoints (`/de, Round-trip the Delivery Model agent. Precondition: a Stage 2 brief_diagnosi, POST /capability-gaps with no Stage 2 diagnosis on file returns 400., After running, artifact_type 'capability_gaps' should appear on GET /stages/, POST /support-docs with no Stage 2 diagnosis on file returns 400. Stage 13, After running, artifact_type 'support_docs' should appear on GET /stages/13/, Stage 13 should NOT 400 when Stage 9 / 12 artifacts are missing — only Stage (+11 more) - -### Community 17 - "Community 17" -Cohesion: 0.09 -Nodes (21): cardStyle, DEAL_STATUS_OPTIONS, emptyStyle, errorStyle, hintStyle, itemStyle, listStyle, metaLabelStyle (+13 more) - -### Community 18 - "Community 18" -Cohesion: 0.15 -Nodes (22): Architecture Documentation, Runbook Documentation, Asset Normalizer (Stage 6), Capability Gap Agent (Stage 12), Claude (Anthropic AI), Delivery Model Agent (Stage 9), Diagnosis Agent (Stage 2), GMAL Scope Builder V1 (+14 more) - -### Community 19 - "Community 19" -Cohesion: 0.18 -Nodes (19): _count_hour_rows(), _custom_opp(), _opportunity_payload(), _pick_gmal_for_model(), Stage 8 — Ratecard build coverage. Ratecard building is pure-Python (no Claude), Create+yield+delete a fresh opportunity with the given model_type. The shar, Building a ratecard on an opp with zero ClientAssets is a 400., End-to-end Stage 8: seed 1 ClientAsset (volume=100) + selected Match, POST / (+11 more) - -### Community 20 - "Community 20" -Cohesion: 0.10 -Nodes (19): cardStyle, dataCalloutStyle, emptyStyle, errorStyle, hintStyle, PitchOutline, PitchSlide, primaryBtnStyle (+11 more) - -### Community 21 - "Community 21" -Cohesion: 0.12 -Nodes (20): deploy.sh Deployment Script, DEV_AUTH_BYPASS Configuration, Docker Backend Service, Docker DB Service (postgres:16-alpine), Docker Frontend Service (dev profile), Docker Redis Service (redis:7-alpine), Azure SSO (MSAL), FastAPI Backend (+12 more) - -### Community 22 - "Community 22" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowImportingTsExtensions, isolatedModules, jsx, lib, module, moduleResolution, noEmit (+10 more) - -### Community 23 - "Community 23" -Cohesion: 0.15 -Nodes (17): _get_opp(), kick_off_match(), list_matches(), _match_to_out(), Stage 7 — match client assets to GMAL catalog., Mark a match as the chosen one for its client asset. When `is_selected=True, Background task: open a fresh session, run the match agent., Kick off the matching agent in the background. Frontend polls GET /matches f (+9 more) - -### Community 24 - "Community 24" -Cohesion: 0.12 -Nodes (15): useMe(), useUsers(), ApprovalView(), approveBtnStyle, cardStyle, commentBlockStyle, errorStyle, gateBadge (+7 more) - -### Community 25 - "Community 25" -Cohesion: 0.14 -Nodes (15): Diagnosis Agent (Stage 2) + clarification CRUD coverage. The real `/diagnose` c, Running diagnosis on an opportunity with zero uploaded files is a 400., Seed one of each priority — Postgres orders enum values by declaration. Que, Writing a non-empty client_answer flips status to 'answered' and stamps answ, Dismissing a clarification should set status=dismissed but NOT stamp answere, A clarification belonging to opp A cannot be updated via opp B's URL., Round-trip the Diagnosis Agent against a small synthetic brief. Verifies:, _seed_clarification() (+7 more) - -### Community 26 - "Community 26" -Cohesion: 0.11 -Nodes (15): cardStyle, emptyStyle, ghostBtnStyle, hintStyle, labelStyle, metaLabelStyle, progBadgeStyle, Props (+7 more) - -### Community 27 - "Community 27" -Cohesion: 0.21 -Nodes (16): User: ameliagreene@oliver.agency (editor), User: andrewsmith@oliver.agency (editor), User: coreyo'brien@oliver.agency (editor), User: daveporter@oliver.agency (admin), User: davetomlinson@oliver.agency (editor), User: francescabuzzeo@oliver.agency (editor), User: guydurham@oliver.agency (editor), User: ianswaine@oliver.agency (editor) (+8 more) - -### Community 28 - "Community 28" -Cohesion: 0.12 -Nodes (15): cardStyle, emptyStyle, errorStyle, hintStyle, metaLabelStyle, primaryBtnStyle, Props, Stage8Ratecard() (+7 more) - -### Community 29 - "Community 29" -Cohesion: 0.12 -Nodes (14): APPROACH_COLORS, badgeStyle, cardStyle, chipStyle, DeliveryModel, errorStyle, HEADLINE_BADGE, hintStyle (+6 more) - -### Community 30 - "Community 30" -Cohesion: 0.13 -Nodes (14): cardStyle, errorStyle, hintStyle, itemStyle, listStyle, primaryBtnStyle, Props, subTitleStyle (+6 more) - -### Community 31 - "Community 31" -Cohesion: 0.13 -Nodes (14): badgeStyle, CapabilityGaps, cardStyle, chipStyle, CRITICALITY_BADGE, errorStyle, hintStyle, itemStyle (+6 more) - -### Community 32 - "Community 32" -Cohesion: 0.16 -Nodes (12): approvalsKeys, _build_context(), get_approval_context(), Approval endpoints: request, decide, list, by-token., useApprovalByToken(), useDecideApproval(), useRequestApprovals(), useStageApprovals() (+4 more) - -### Community 33 - "Community 33" -Cohesion: 0.21 -Nodes (9): get_approval_by_token(), Open an approval by its email-link token. Authenticated session still requir, _fetch_email_token(), Approval workflow coverage. Exercises the full approval lifecycle on a live bac, test_approval_reject_blocks_stage(), test_full_approval_happy_path(), test_invalid_decision_string_400(), test_request_approval_unknown_approver_400() (+1 more) - -### Community 34 - "Community 34" -Cohesion: 0.14 -Nodes (7): Stage 6 — Asset Normalizer + ClientAsset CRUD coverage. The real `/assets/norma, Running normalize on an opportunity with zero uploaded files is a 400. The, Round-trip the Asset Normalizer against a small synthetic brief. Verifies:, First asset should land at sort_order=0, the next at sort_order=1., test_create_asset_assigns_sort_order(), test_normalize_happy_path(), test_normalize_no_files_400() - -### Community 35 - "Community 35" -Cohesion: 0.18 -Nodes (9): type, opp_payload_factory(), Returns a fresh payload dict each call so tests can mutate it., CRUD coverage for /api/opportunities. Verifies create / list / get / update / d, Create + delete + verify 404 — does not use the fixture so we own teardown., test_create_opportunity_defaults(), test_create_opportunity_invalid_model_type(), test_delete_opportunity_round_trip() (+1 more) - -### Community 36 - "Community 36" -Cohesion: 0.23 -Nodes (11): Base, DeclarativeBase, ClarificationQuestion, Clarification questions surfaced by the Diagnosis Agent (Stage 2). Each questio, ModelType, NotificationType, DealStatus, Opportunity (+3 more) - -### Community 37 - "Community 37" -Cohesion: 0.19 -Nodes (14): Approval Service, create_approval_requests(), Approval Flow (Mailgun + email token), Validation & Approval Gates (Stage 14), Qualification Assessment (Stage 3), TROWLS Qualification Scorecard, _approval_link(), _build_email_html() (+6 more) - -### Community 38 - "Community 38" -Cohesion: 0.18 -Nodes (11): ai_debug(), ai_usage(), ai_usage_reset(), OLIVER Sales Operations Platform — FastAPI entrypoint., call_claude(), get_client(), get_debug_log(), get_usage_stats() (+3 more) - -### Community 39 - "Community 39" -Cohesion: 0.18 -Nodes (12): useDeleteOpportunity(), useOpportunities(), badgeStyle, cardStyle, cardWrapperStyle, Dashboard(), DEAL_BADGE, deleteBtnStyle (+4 more) - -### Community 40 - "Community 40" -Cohesion: 0.17 -Nodes (11): Stage 4 — Q&A pack export coverage. Exercises GET /opportunities/{id}/qa-pack/e, Zero clarifications: word download is still a valid docx., Seed mixed-priority clarifications across categories and verify both: * Bot, An opp name with /, ?, and quotes must be scrubbed in Content-Disposition., Insert a ClarificationQuestion row directly. Returns its id. Postgres store, Zero clarifications: download is still a valid xlsx with title block., _seed_clarification(), test_qa_pack_excel_empty_state() (+3 more) - -### Community 41 - "Community 41" -Cohesion: 0.17 -Nodes (13): useCompleteStage(), useOpportunity(), useStages(), useUpdateOpportunity(), Opportunity model — top-level entity in the 17-stage state machine. An Opportun, cardStyle, EditableOpportunityName(), editPencilStyle (+5 more) - -### Community 42 - "Community 42" -Cohesion: 0.28 -Nodes (12): _float(), _int(), _load_asset_list(), _load_role_mappings(), _load_routes(), _load_service_lines(), parse_gmal_workbook(), Parse the GMAL Excel workbook into database records. Ported from V1 with one ch (+4 more) - -### Community 43 - "Community 43" -Cohesion: 0.23 -Nodes (10): _decode_token(), get_current_user(), _get_jwks(), Azure SSO middleware — validates Microsoft Entra ID-issued ID tokens and upserts, Validate the bearer token (or accept dev bypass), upsert the AppUser, and re, Find or create the AppUser for this identity. Stamps last_login on hit. SSO, _upsert_app_user(), AppUser (+2 more) - -### Community 44 - "Community 44" -Cohesion: 0.18 -Nodes (11): _approval_to_out(), list_stage_approvals(), my_pending_approvals(), ApprovalDecisionPayload, ApprovalOut, ApprovalRequestItem, ApprovalRequestPayload, ApproverInfo (+3 more) - -### Community 45 - "Community 45" -Cohesion: 0.27 -Nodes (11): BaseModel, ClientAssetCreate, ClientAssetUpdate, Config, MatchOut, MatchSelectRequest, NormalizeRunResponse, RatecardSummary (+3 more) - -### Community 46 - "Community 46" -Cohesion: 0.20 -Nodes (7): AuthProvider(), loginBoxStyle, loginBtnStyle, loginDescStyle, loginLogoStyle, loginPageStyle, logoMarkStyle - -### Community 47 - "Community 47" -Cohesion: 0.22 -Nodes (8): client(), opportunity(), _opportunity_payload(), pytest_sessionstart(), Shared pytest fixtures for the OSOP integration test suite. These tests run aga, Async HTTP client pointed at the running backend., Fail fast (sync) if the backend isn't reachable. No event-loop dance., Create a fresh opportunity, yield it, then delete it on teardown. Cleanup r - -### Community 48 - "Community 48" -Cohesion: 0.20 -Nodes (9): Approval, ApprovalStatus, Stage state, artifacts, and approvals for the 17-stage workflow., Per-(opportunity, stage_number) progress record., Output produced by a stage — JSON content + optional file reference. artifa, Approval record for a gated stage. role_required values: commercial | deliv, StageArtifact, StageState (+1 more) - -### Community 49 - "Community 49" -Cohesion: 0.24 -Nodes (5): _make_docx_bytes(), _make_xlsx_bytes(), File upload + extraction coverage. We synthesize all fixture files in-process s, test_upload_docx(), test_upload_md() - -### Community 50 - "Community 50" -Cohesion: 0.38 -Nodes (9): In-app notification coverage. Verifies that requesting an approval creates an A, When a non-owner approves, the opportunity owner should receive an APPROVAL_, _request_approval(), test_approval_request_creates_notification(), test_mark_all_read_zeroes_count(), test_mark_one_read(), test_owner_notified_on_approval_decision(), test_unread_count_reflects_new_notification() (+1 more) - -### Community 52 - "Community 52" -Cohesion: 0.22 -Nodes (8): compilerOptions, allowSyntheticDefaultImports, composite, module, moduleResolution, skipLibCheck, strict, include - -### Community 53 - "Community 53" -Cohesion: 0.22 -Nodes (8): ClientAsset, Match, MatchConfidence, RatecardLine, Client asset workflow models — Stages 6/7/8. Mirrors V1's project.py but FKed t, A normalized deliverable extracted from the brief at Stage 6., AI-proposed match between a ClientAsset and a GMAL asset (Stage 7)., One row per (role × client asset) at Stage 8. `total_hours` is the per-1-as - -### Community 54 - "Community 54" -Cohesion: 0.33 -Nodes (8): Base, GmalAsset, GmalHours, GmalServiceLine, GMAL catalog models — ported from V1 unchanged. The 390-asset GMAL catalog (Uni, Role, RoleLevelMapping, Notification - -### Community 55 - "Community 55" -Cohesion: 0.31 -Nodes (8): get_asset(), Config, GmalAssetBrief, GmalAssetDetail, GmalAssetWithHours, GmalHoursOut, Pydantic schemas for the GMAL catalog (ported from V1)., RoleOut - -### Community 56 - "Community 56" -Cohesion: 0.25 -Nodes (8): _get_opp(), get_team_shape(), Stage 11 — team shape (FTE per role) endpoint., Compute FTE per role from the ratecard. Query params: - `efficiency_pct, TeamShape, calculate_team_shape(), Calculate team shape (FTE headcount) from ratecard data — Stage 11. Ported from, Compute FTE per role for an opportunity's ratecard. Two efficiency modes: - -### Community 57 - "Community 57" -Cohesion: 0.22 -Nodes (3): 17-stage state machine coverage. Verifies initialisation, single-step advance,, Stage 5 is not_started — cannot be completed before its predecessors., test_complete_out_of_order_stage_returns_400() - -### Community 58 - "Community 58" -Cohesion: 0.25 -Nodes (8): Background task: open a fresh session, run the normalizer. Mirrors the patt, Kick off the Stage 6 Asset Normalizer in the background. Returns 202 immedi, _run_normalize_in_bg(), run_normalizer(), _is_internal_artefact(), Asset Normalizer — Stage 6. Reads the same uploaded files Stage 1/2 used and (w, True if `name` looks like an internal pitch artefact, not a client deliverable., Run the Asset Normalizer. Replaces existing ClientAssets on success. Return - -### Community 59 - "Community 59" -Cohesion: 0.22 -Nodes (7): Stage 12 — Identify capability gaps and suggest partners. Reads the Stage 2 dia, run_capability_gaps(), Run only when deal_status is WON. Reads upstream artifacts., run_implementation_plan(), Stage 13 — Generate caveats / assumptions / SLAs / KPIs / governance. Produces, run_support_docs(), extract_tool_result() - -### Community 60 - "Community 60" -Cohesion: 0.25 -Nodes (5): get_asset_family(), get_stats(), GMAL catalog browse endpoints — minimum needed for Phase 1. Read endpoints (lis, Get all complexity variants (family) for a GMAL asset., GmalStatsOut - -### Community 61 - "Community 61" -Cohesion: 0.29 -Nodes (6): complete_stage(), get_stage(), initialize_stages(), 17-stage state machine — initialize, advance, validate gating. Stages cannot be, Create all 17 StageState rows for a new opportunity. Stage 1 starts IN_PROGRESS., Mark a stage COMPLETED and unlock the next. Returns (completed_stage, next_ - -### Community 62 - "Community 62" -Cohesion: 0.43 -Nodes (6): _extract_docx(), _extract_pdf(), extract_text(), _extract_xlsx(), Extract plain text from uploaded RFP/brief documents. Supports .docx, .xlsx, .p, Extract text from a file. Raises ValueError for unsupported types. - -### Community 63 - "Community 63" -Cohesion: 0.38 -Nodes (7): Bug-4 Invariant (RatecardLine hours per asset), Efficiency Logic (Stage 10), GMAL Catalog, Match Agent (Stage 7), Ratecard Builder (Stage 8), Team Shape Service (Stage 11), Build ratecards from confirmed matches (Stage 8). Ported from V1's ratecard_bui - -### Community 64 - "Community 64" -Cohesion: 0.38 -Nodes (6): _get_opp(), get_ratecard(), post_build_ratecard(), Stage 8 — build + read the per-asset ratecard., build_ratecard(), Build a ratecard for an opportunity from its selected matches. For each sel - -### Community 65 - "Community 65" -Cohesion: 0.48 -Nodes (6): create_asset(), delete_asset(), _get_opp(), list_assets(), Stage 6 — client asset CRUD + normalize agent., update_asset() - -### Community 66 - "Community 66" -Cohesion: 0.33 -Nodes (5): list_users(), me(), User directory endpoints — list users (used by approver picker)., Returns all known AppUsers — the directory of potential approvers. Users lan, Current authenticated user's own row. - -### Community 67 - "Community 67" -Cohesion: 0.47 -Nodes (5): accounts, api, loginRequest, msalConfig, msalInstance - -### Community 68 - "Community 68" -Cohesion: 0.33 -Nodes (4): costStyle, labelStyle, pillStyle, tokensStyle - -### Community 69 - "Community 69" -Cohesion: 0.47 -Nodes (5): _get(), _load(), lookup(), Email-based access control list loaded from config/allowed_users.yaml. Loaded o, Return the UserRole for *email* or None if not in the allowlist. - -### Community 70 - "Community 70" -Cohesion: 0.33 -Nodes (5): submit_decision(), Mark an approval approved/rejected and notify the opportunity owner., record_decision(), create_notification(), Helpers for creating in-app notifications. - -### Community 71 - "Community 71" -Cohesion: 0.47 -Nodes (5): _api_base(), is_configured(), Mailgun email service. Sends via https://api.mailgun.net/v3/{domain}/messages (, Send an email via Mailgun. Returns Mailgun's response or a stub when not con, send_email() - -### Community 72 - "Community 72" -Cohesion: 0.33 -Nodes (5): ClarificationAnswerUpdate, Config, DiagnosisRunResponse, Schemas for clarification questions and Stage 2 diagnosis output., ClarificationQuestion - -### Community 73 - "Community 73" -Cohesion: 0.33 -Nodes (5): Config, OpportunityUpdate, Opportunity + stage schemas., StageCompleteRequest, StageStateOut - -### Community 74 - "Community 74" -Cohesion: 0.33 -Nodes (5): Stage 15 — Pitch Deck Agent. Claude reads every upstream artifact (intake, diag, Render a structured pitch deck outline to a printable markdown doc., Generate a slide-by-slide pitch deck outline., render_outline_to_markdown(), run_pitch_deck() - -### Community 75 - "Community 75" -Cohesion: 0.40 -Nodes (3): Config, Settings, BaseSettings - -### Community 77 - "Community 77" -Cohesion: 0.40 -Nodes (3): Gating coverage — stages 3 and 14 require Approval rows. We exercise the path t, A failed gating attempt must not leave the opp in a weird state., test_stage_3_blocked_does_not_mutate_state() - -### Community 78 - "Community 78" -Cohesion: 0.40 -Nodes (4): ingest_gmal_data(), GMAL data ingestion endpoint — admin-only in Phase 2 once role gating lands., Ingest GMAL data from Excel file. If no file is uploaded, uses the default, IngestResult - -### Community 79 - "Community 79" -Cohesion: 0.40 -Nodes (4): TROWLS qualification scorecard schemas (Stage 3)., TROWLSNotes, TROWLSScores, QualificationScorecard - -### Community 80 - "Community 80" -Cohesion: 0.40 -Nodes (4): Config, IntakeRunResponse, Schemas for opportunity files + stage artifacts., StageArtifact - -### Community 81 - "Community 81" -Cohesion: 0.50 -Nodes (4): _parse_iso_date(), Intake Agent — Stage 1. Reads the concatenated text of every file uploaded agai, Run the Intake Agent against all files attached to the opportunity. Returns, run_intake() - -### Community 83 - "Community 83" -Cohesion: 0.50 -Nodes (3): health(), Health check endpoint — public, no auth required., Returns OK if the API is up and the database round-trips a query. - -### Community 84 - "Community 84" -Cohesion: 0.50 -Nodes (4): A file with empty extracted_text means no usable input → 400 with 'text'., Insert an OpportunityFile row whose extracted_text is empty. Used to drive, _seed_empty_text_file(), test_diagnose_empty_text_400() - -### Community 85 - "Community 85" -Cohesion: 0.50 -Nodes (3): Diagnosis Agent — Stage 2. Reads the same uploaded files as Stage 1 and produce, Run the Diagnosis Agent and persist the result + clarification questions. R, run_diagnosis() - -### Community 92 - "Community 92" -Cohesion: 0.67 -Nodes (3): Trigger Downstream Systems (Stage 17), Salesforce (Phase 2), SharePoint (Phase 2) - -## Knowledge Gaps -- **472 isolated node(s):** `composite`, `skipLibCheck`, `module`, `moduleResolution`, `allowSyntheticDefaultImports` (+467 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **27 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Opportunity` connect `Community 41` to `Community 2`, `Community 3`, `Community 4`, `Community 6`, `Community 8`, `Community 9`, `Community 10`, `Community 12`, `Community 15`, `Community 17`, `Community 20`, `Community 26`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 36`, `Community 45`, `Community 73`, `Community 80`?** - _High betweenness centrality (0.176) - this node is a cross-community bridge._ -- **Why does `Stage 13 — Support Docs Agent` connect `Community 30` to `Community 32`, `Community 1`, `Community 67`, `Community 68`, `Community 8`, `Community 41`?** - _High betweenness centrality (0.143) - this node is a cross-community bridge._ -- **Why does `Tasks — OLIVER Sales Ops Platform` connect `Community 1` to `Community 30`?** - _High betweenness centrality (0.069) - this node is a cross-community bridge._ -- **What connects `composite`, `skipLibCheck`, `module` to the rest of the system?** - _669 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.053763440860215055 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.06487434248977206 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.0545790934320074 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/pdf-accessibility-structure.md b/wiki/architecture/pdf-accessibility-structure.md deleted file mode 100644 index 3a0ba5c..0000000 --- a/wiki/architecture/pdf-accessibility-structure.md +++ /dev/null @@ -1,413 +0,0 @@ ---- -tags: [architecture, graphify, pdf-accessibility] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/pdf-accessibility (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1105 nodes · 1729 edges · 107 communities (69 shown, 38 thin omitted) -- Extraction: 80% EXTRACTED · 20% INFERRED · 0% AMBIGUOUS · INFERRED: 345 edges (avg confidence: 0.69) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 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 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] - -## God Nodes (most connected - your core abstractions) -1. `PDFRemediator` - 49 edges -2. `TestCheckMethods` - 34 edges -3. `VeraPDFValidator` - 30 edges -4. `CacheManager` - 29 edges -5. `RetryableError` - 28 edges -6. `AccessibilityIssue` - 25 edges -7. `CheckResult` - 23 edges -8. `index` - 22 edges -9. `Severity` - 20 edges -10. `error()` - 19 edges - -## Surprising Connections (you probably didn't know these) -- `Test AccessibilityIssue dataclass` --conceptually_related_to--> `TestEnterprisePDFChecker` [INFERRED] - tests/test_checker.py → htmlcov/z_a44f0ac069e85531_test_checker_py.html -- `sample_good.pdf (Accessible Test PDF)` --references--> `enterprise_pdf_checker.py` [INFERRED] - Test_files/sample_good.pdf → README's/ENTERPRISE_README.md -- `sample_poor.pdf (Inaccessible Test PDF)` --references--> `enterprise_pdf_checker.py` [INFERRED] - Test_files/sample_poor.pdf → README's/ENTERPRISE_README.md -- `Check document metadata` --rationale_for--> `_check_metadata()` [EXTRACTED] - enterprise_pdf_checker.py → README's/TECHNICAL_BACKGROUND.md -- `Exception that indicates an operation should be retried` --rationale_for--> `RetryableError` [EXTRACTED] - retry_helper.py → htmlcov/z_a44f0ac069e85531_test_retry_extended_py.html - -## Communities (107 total, 38 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (47): PostgreSQL Database, db/init.sql, create_job(), dismiss_issue(), get_conn(), get_dismissed_indices(), get_job(), get_stats() (+39 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (48): checkRateLimit(), get_queue_length(), get_redis(), pop_job(), push_job(), Redis Queue Helper — Push/pop jobs, track status, rate limiting, Get a Redis connection., Push a job to the processing queue. (+40 more) - -### Community 2 - "Community 2" -Cohesion: 0.07 -Nodes (18): Exception, flaky_function(), Retry a function call with exponential backoff (non-decorator version) Args, Exception that indicates an operation should be retried, Determine if an error should be retried Args: error: Exception to c, Execute a function and return a fallback value on error (graceful degradation), Simulates a flaky API that fails twice then succeeds, Decorator to retry a function with exponential backoff Args: max_re (+10 more) - -### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (36): Alt Text (Alternative Text for Images), Anthropic API Key, Google Cloud API Key (non-JSON), Dave Porter venv Path Configuration, Anthropic Claude 3.5 Sonnet, Enterprise PDF Accessibility Checker, enterprise_pdf_checker.py, Google Cloud Vision API (+28 more) - -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (39): command, completed_at, file_size, filepath, job_id, original_filename, started_at, status (+31 more) - -### Community 5 - "Community 5" -Cohesion: 0.07 -Nodes (18): Check link quality (WCAG 2.4.4) — only checks actual hyperlink label text., Check heading structure and hierarchy, Check tab order is set for pages, Check role mapping for custom tags, Check form field accessibility, Check table accessibility using PDF structure tree (tagged tables)., Analyse a single /Table structure element. Returns True if no issues found., Recursively collect structural stats from a table's children. (+10 more) - -### Community 6 - "Community 6" -Cohesion: 0.09 -Nodes (12): PDF/UA-1 Standard, analyze(), calculate_contrast_ratio(), check_image_contrast(), count_syllables(), get_luminance(), Check color contrast using image analysis, Check content readability (language-aware: Flesch only for English). (+4 more) - -### Community 7 - "Community 7" -Cohesion: 0.15 -Nodes (35): header, file, base64url_encode(), error(), extractUserFromToken(), getCloudRunToken(), getDB(), handleBatchStatus() (+27 more) - -### Community 8 - "Community 8" -Cohesion: 0.11 -Nodes (36): files, cleanup_py, cloudrun_service_py, create_test_pdf_with_images_py, db_manager_py, enterprise_pdf_checker_py, logger_config_py, pdf_remediation_py (+28 more) - -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (36): Client Glossary (Brand Terminology), Hybrid Validation Engine Concept, OMG Project ID Traceability, Role-Based Access Control (RBAC), PDF/UA Compliance Concept, WCAG Accessibility Standards, Matterhorn Protocol, PDF Accessibility Checker Requirements Brief (+28 more) - -### Community 10 - "Community 10" -Cohesion: 0.07 -Nodes (16): Enum, ColorContrastChecker, Issue severity levels, WCAG color contrast validation, Content readability analysis, ReadabilityAnalyzer, Severity, checker_good() (+8 more) - -### Community 11 - "Community 11" -Cohesion: 0.09 -Nodes (21): AccessibilityIssue, CheckResult, Represents an accessibility issue, Results from a specific check, TestCheckResult, Unit tests for enterprise_pdf_checker.py, Test suite for EnterprisePDFChecker class, Test retry logic integration (+13 more) - -### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (30): accessibility_score, auto_fixable_count, checks_performed, filename, issues, page_image_dpi, page_images, 1 (+22 more) - -### Community 13 - "Community 13" -Cohesion: 0.08 -Nodes (30): AccessibilityIssue (enterprise_pdf_checker.py), CacheManager (enterprise_pdf_checker.py), CheckResult (enterprise_pdf_checker.py), ColorContrastChecker (enterprise_pdf_checker.py), enterprise_pdf_checker.py, EnterprisePDFChecker (enterprise_pdf_checker.py), NonRetryableError (retry_helper.py), ReadabilityAnalyzer (enterprise_pdf_checker.py) (+22 more) - -### Community 14 - "Community 14" -Cohesion: 0.11 -Nodes (24): viewBatchResult(), allIssues, applyScoreRecalc(), CP_TO_CHECK, dismissedIndices, dismissIssue(), displayIssues(), displayMatterhorn() (+16 more) - -### Community 15 - "Community 15" -Cohesion: 0.07 -Nodes (22): begin, btn, element, end, getCellValue(), helpCheck, line_height, line_number (+14 more) - -### Community 17 - "Community 17" -Cohesion: 0.11 -Nodes (10): main(), Convert to dictionary for JSON serialization, Analyze what can be auto-fixed, Generate PNG images for each page for visual display, Build Matterhorn Protocol PDF/UA-1 checkpoint summary., Generate comprehensive summary, Alias for check_all - maintains backward compatibility, Convert results to dictionary (+2 more) - -### Community 18 - "Community 18" -Cohesion: 0.19 -Nodes (12): Wrapper for veraPDF validation, VeraPDFValidator, Extended tests for pdf_remediation.py — covers PDFRemediator analysis and fix me, test_validate_compliant(), test_validate_no_jobs(), test_validate_process_error(), test_validate_timeout(), TestVeraPDFValidatorExtended (+4 more) - -### Community 19 - "Community 19" -Cohesion: 0.19 -Nodes (9): handleMsalRedirect(), msalConfig, showAuthenticatedUI(), showLoginUI(), buildHistoryRow(), deleteHistoryJob(), escapeHtml(), loadHistory() (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.21 -Nodes (7): CacheManager, Manages caching of API results to reduce costs, Generate cache key from data, Test that different content produces different keys, Test suite for CacheManager class, Test that cache keys are generated correctly, TestCacheManager - -### Community 21 - "Community 21" -Cohesion: 0.22 -Nodes (10): getExportUrl(), addBatchFiles(), batchFiles, clearBatchFiles(), escapeHtml(), exportReport(), pollBatchStatus(), removeBatchFile() (+2 more) - -### Community 22 - "Community 22" -Cohesion: 0.22 -Nodes (7): MSAL Azure AD Authentication, css/styles.css, createIssueCard(), getCategoryIcon(), getSeverityIcon(), WCAG_SLUGS, wcagCriterionLinks() - -### Community 23 - "Community 23" -Cohesion: 0.26 -Nodes (5): PDFRemediator, Automatically fix common PDF accessibility issues, TestPDFRemediatorAnalysis, TestPDFRemediatorApplyFixes, TestPDFRemediatorFixMethods - -### Community 24 - "Community 24" -Cohesion: 0.21 -Nodes (13): cleanup.py, Code Coverage Report (13%), db_manager.py, Coverage Report Index, logger_config.py, setup_logger, redis_queue.py, retry_helper.py (+5 more) - -### Community 25 - "Community 25" -Cohesion: 0.18 -Nodes (13): check_pdf, cloudrun_service.py, upload_images_to_gcs, AccessibilityIssue, CacheManager, CheckResult, ColorContrastChecker, EnterprisePDFChecker (+5 more) - -### Community 26 - "Community 26" -Cohesion: 0.30 -Nodes (11): apiCall(), checkBatchStatus(), checkStatus(), getDebugInfo(), getResult(), getStats(), remediatePdf(), startCheck() (+3 more) - -### Community 27 - "Community 27" -Cohesion: 0.23 -Nodes (7): applyZoom(), initializePageViewer(), loadVisualPage(), resetZoom(), zoomIn(), zoomOut(), viewOnPage() - -### Community 28 - "Community 28" -Cohesion: 0.30 -Nodes (10): beginCheck(), handleFile(), loadResults(), pollJobStatus(), removeFile(), resetCheck(), showReadyState(), addLog() (+2 more) - -### Community 29 - "Community 29" -Cohesion: 0.17 -Nodes (6): TestPDFRemediator, Test suite for PDFRemediator class, Test that remediator initializes correctly, Test remediator handles missing input file, Test that analyze method exists, Test that apply_fixes method exists - -### Community 30 - "Community 30" -Cohesion: 0.17 -Nodes (11): temp_output_dir fixture, mock_api_responses(), Pytest configuration and fixtures for PDF Accessibility Checker tests, Path to sample good PDF file, Path to sample poor PDF file, Temporary directory for test outputs, Mock API responses for testing without actual API calls, Sample PDF metadata for testing (+3 more) - -### Community 31 - "Community 31" -Cohesion: 0.23 -Nodes (4): Anthropic Claude 3.5 Sonnet, Google Cloud Vision API, Redis Job Queue, WCAG 2.1 Compliance - -### Community 32 - "Community 32" -Cohesion: 0.31 -Nodes (6): handleMsalRedirect(), hideAuthOverlay(), msalConfig, openHistoryJob(), showAuthenticatedUI(), showLoginUI() - -### Community 33 - "Community 33" -Cohesion: 0.20 -Nodes (5): Apply selected fixes and save to new PDF, Add author information, Set document language, Mark document as tagged (WARNING: only if tags actually exist!), Add basic bookmarks based on page numbers - -### Community 34 - "Community 34" -Cohesion: 0.20 -Nodes (9): command, completed_at, file_size, filepath, job_id, original_filename, started_at, status (+1 more) - -### Community 35 - "Community 35" -Cohesion: 0.20 -Nodes (6): critical(), exception(), Log a warning message, Log a critical message, Log an exception with traceback, warning() - -### Community 36 - "Community 36" -Cohesion: 0.20 -Nodes (5): Process Claude's image analysis results, Process Google Vision results — only report actionable findings., Extract image bytes from PDF page, Return byte size of image data — used to filter out tiny decorative images., Comprehensive image accessibility check with AI - -### Community 37 - "Community 37" -Cohesion: 0.20 -Nodes (4): Tests for worker.py — all external dependencies mocked., TestProcessJob, TestWorkerMain, TestWorkerSignalHandling - -### Community 38 - "Community 38" -Cohesion: 0.22 -Nodes (5): Check navigation bookmarks, Analyze PDF and return suggested fixes, Check if language needs to be set, Check if PDF needs to be marked as tagged, Check if bookmarks should be added - -### Community 39 - "Community 39" -Cohesion: 0.22 -Nodes (3): main(), Run veraPDF validation and return structured results, CLI interface for remediation - -### Community 40 - "Community 40" -Cohesion: 0.22 -Nodes (5): Check document metadata, Check what metadata fixes are needed, Generate a suggested title from content or filename., Generate a suggested subject from first paragraph, _check_metadata() - -### Community 41 - "Community 41" -Cohesion: 0.25 -Nodes (9): enterprise_pdf_checker.py, logger_config.py, setup_logger, pdf_remediation.py, PDFRemediator, retry_helper.py, tests/test_remediation_extended.py, TestPDFRemediatorAnalysis (+1 more) - -### Community 42 - "Community 42" -Cohesion: 0.22 -Nodes (9): PDF Accessibility Checking, tests/conftest.py, sample_poor_pdf fixture, pdf_remediation.py, PDFRemediator, VeraPDFValidator, test_env.py, tests/test_remediation.py (+1 more) - -### Community 43 - "Community 43" -Cohesion: 0.39 -Nodes (7): cleanup_directory(), format_size(), get_age_hours(), main(), Return file/dir age in hours based on modification time., Delete files matching patterns older than retention_hours. Returns (files_d, Format bytes as human-readable string. - -### Community 44 - "Community 44" -Cohesion: 0.25 -Nodes (5): Test that os and sys are imported (bug fix validation), Test that logger is configured, Test that all required imports work, Test that module imports successfully, TestModuleImports - -### Community 45 - "Community 45" -Cohesion: 0.25 -Nodes (5): php_server fixture, TestAPIAuthentication, Test that API handles requests without authentication, Test that API accepts requests with valid dev key, Test that API accepts Bearer token authentication - -### Community 46 - "Community 46" -Cohesion: 0.25 -Nodes (6): php_server(), Integration tests for API (api.php), Start PHP development server for testing, Test API with actual file upload (if samples available), Test that test files exist, TestAPIWithFile - -### Community 47 - "Community 47" -Cohesion: 0.25 -Nodes (5): Test API endpoint structure, Test that API returns JSON, Test that CORS headers are present, Test that API handles OPTIONS preflight requests, TestAPIEndpoints - -### Community 48 - "Community 48" -Cohesion: 0.29 -Nodes (5): Unit tests for pdf_remediation.py, Integration tests for remediation workflow, Test complete remediation workflow, test_validate_method(), TestRemediationWorkflow - -### Community 49 - "Community 49" -Cohesion: 0.29 -Nodes (7): is_retryable_error, NonRetryableError, retry_on_failure, retry_with_backoff, safe_execute, tests/test_retry_extended.py, TestRetryWithBackoff - -### Community 50 - "Community 50" -Cohesion: 0.33 -Nodes (6): TestAPIAuthentication (tests/test_api.py), TestAPIEndpoints (tests/test_api.py), TestAPIWithFile (tests/test_api.py), TestAuthModule (tests/test_api.py), TestHelperModules (tests/test_api.py), tests/test_api.py - -### Community 51 - "Community 51" -Cohesion: 0.33 -Nodes (5): ContrastChecker Class, OCRChecker Class, pdf2image Library, Pillow (PIL) Library, pytesseract Library - -### Community 52 - "Community 52" -Cohesion: 0.40 -Nodes (4): check_pdf(), Upload page images to GCS and return {page_num: public_url} mapping., Accept multipart PDF upload, run accessibility checks, return results., upload_images_to_gcs() - -### Community 53 - "Community 53" -Cohesion: 0.33 -Nodes (5): get_logger(), Setup logger with file and console handlers Args: name: Logger name, Get or create a logger with the specified name Args: name: Logger n, setup_logger(), Test logger_config module - -### Community 54 - "Community 54" -Cohesion: 0.33 -Nodes (4): Test authentication module directly, Test API key generation endpoint, Test authentication test endpoint, TestAuthModule - -### Community 55 - "Community 55" -Cohesion: 0.40 -Nodes (4): enabledPlugins, frontend-design@claude-code-plugins, permissions, allow - -### Community 56 - "Community 56" -Cohesion: 0.50 -Nodes (4): create_image_with_text(), create_test_pdf(), Create an image with text in it (accessibility violation), Create a test PDF with accessibility issues - -### Community 57 - "Community 57" -Cohesion: 0.40 -Nodes (3): Test retry_helper module, Test that retry decorator functions, TestHelperModules - -### Community 58 - "Community 58" -Cohesion: 0.50 -Nodes (5): create_job, get_conn, update_job_status, TestProcessJob, process_job - -### Community 60 - "Community 60" -Cohesion: 0.50 -Nodes (4): db_manager.py, Coverage Function Index, tests/test_db_manager.py, TestCreateJob - -### Community 61 - "Community 61" -Cohesion: 0.67 -Nodes (3): pdf_remediation.py, PDFRemediator (pdf_remediation.py), VeraPDFValidator (pdf_remediation.py) - -### Community 63 - "Community 63" -Cohesion: 0.67 -Nodes (3): ReadabilityChecker Class, TextBlob Library, TextBlob Readability Analysis - -## Knowledge Gaps -- **227 isolated node(s):** `batchFiles`, `allIssues`, `dismissedIndices`, `overriddenChecks`, `WCAG_LEVELS` (+222 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **38 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `VeraPDFValidator` connect `Community 18` to `Community 4`, `Community 5`, `Community 6`, `Community 39`, `Community 41`, `Community 10`, `Community 11`, `Community 44`, `Community 48`, `Community 20`, `Community 23`, `Community 29`?** - _High betweenness centrality (0.151) - this node is a cross-community bridge._ -- **Why does `_check_metadata()` connect `Community 40` to `Community 3`, `Community 5`, `Community 38`, `Community 6`, `Community 23`?** - _High betweenness centrality (0.111) - this node is a cross-community bridge._ -- **Why does `enterprise_pdf_checker.py` connect `Community 41` to `Community 2`, `Community 42`, `Community 49`, `Community 18`, `Community 24`, `Community 58`, `Community 60`?** - _High betweenness centrality (0.111) - this node is a cross-community bridge._ -- **Are the 31 inferred relationships involving `PDFRemediator` (e.g. with `enterprise_pdf_checker.py` and `Severity`) actually correct?** - _`PDFRemediator` has 31 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 7 inferred relationships involving `TestCheckMethods` (e.g. with `enterprise_pdf_checker.py` and `Severity`) actually correct?** - _`TestCheckMethods` has 7 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 23 inferred relationships involving `VeraPDFValidator` (e.g. with `enterprise_pdf_checker.py` and `Severity`) actually correct?** - _`VeraPDFValidator` has 23 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 23 inferred relationships involving `CacheManager` (e.g. with `RetryableError` and `VeraPDFValidator`) actually correct?** - _`CacheManager` has 23 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/pimco-charts-structure.md b/wiki/architecture/pimco-charts-structure.md deleted file mode 100644 index db471ea..0000000 --- a/wiki/architecture/pimco-charts-structure.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -tags: [architecture, graphify, pimco-charts] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/pimco-charts (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 265 nodes · 350 edges · 32 communities (21 shown, 11 thin omitted) -- Extraction: 81% EXTRACTED · 19% INFERRED · 0% AMBIGUOUS · INFERRED: 66 edges (avg confidence: 0.8) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] - -## God Nodes (most connected - your core abstractions) -1. `app/main.py` - 13 edges -2. `render_chart()` - 11 edges -3. `_render_panel()` - 11 edges -4. `_render_dual_y_panel_body()` - 11 edges -5. `app/renderer/engine.py` - 11 edges -6. `_render_standard_panel_body()` - 10 edges -7. `_render_pie_panel()` - 9 edges -8. `test_chart2_gdp_investment()` - 8 edges -9. `test_chart3_dual_panel()` - 8 edges -10. `_render_labels()` - 8 edges - -## Surprising Connections (you probably didn't know these) -- `main()` --calls--> `render_chart()` [INFERRED] - test_render.py → app/renderer/engine.py -- `test_chart1_bond_yields()` --calls--> `render_chart()` [INFERRED] - test_render_all.py → app/renderer/engine.py -- `test_chart2_gdp_investment()` --calls--> `render_chart()` [INFERRED] - test_render_all.py → app/renderer/engine.py -- `test_chart3_dual_panel()` --calls--> `render_chart()` [INFERRED] - test_render_all.py → app/renderer/engine.py -- `app/auth/` --references--> `itsdangerous` [INFERRED] - README.md → requirements.txt - -## Communities (32 total, 11 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.09 -Nodes (37): Render X-axis with date tick labels below the plot area., Render X-axis with categorical string labels below the plot area., render_x_axis(), render_x_axis_categorical(), _build_categorical_scale(), _build_date_scale(), _compute_y_axis(), _dispatch_series() (+29 more) - -### Community 1 - "Community 1" -Cohesion: 0.07 -Nodes (26): _deep_merge_spec(), interpret_brief(), _merge_dicts(), Claude API integration: interprets a brief + data summary into a ChartSpec., Send brief + data summary to Claude and get back a ChartSpec., Merge `updated` onto `base`, preserving non-None base values wherever `updat, Refine an existing ChartSpec based on a natural language edit instruction., refine_spec() (+18 more) - -### Community 2 - "Community 2" -Cohesion: 0.07 -Nodes (32): Azure AD SSO (MSAL), In-memory Sessions, base.html template, Docker app service, msal_shell.html template, app/data/analyzer.py (planned), app/data/loader.py (planned), LoadResult (+24 more) - -### Community 3 - "Community 3" -Cohesion: 0.12 -Nodes (24): TokenRequest, BaseModel, AxisSpec, ChartSpec, PanelSpec, Pydantic models for the chart specification - the contract between AI and render, SeriesSpec, ShadedFillSpec (+16 more) - -### Community 4 - "Community 4" -Cohesion: 0.10 -Nodes (20): _estimate_text_width(), _format_tick(), Axis rendering: gridlines, tick labels, axis lines., Estimate rendered text width for Roboto Condensed., Render X-axis with numeric tick labels., Format a tick value with adaptive precision., Render Y-axis with horizontal gridlines and tick labels. Args: side, render_x_axis_numeric() (+12 more) - -### Community 5 - "Community 5" -Cohesion: 0.10 -Nodes (22): app/renderer/annotations.py, app/renderer/axes.py, app/ai/brief_interpreter.py, app/models/chart_spec.py, ChartSpec, Claude Opus 4.6, app/renderer/engine.py, Iterative Refinement (+14 more) - -### Community 6 - "Community 6" -Cohesion: 0.23 -Nodes (11): _estimate_text_width(), legend_row_count(), Legend rendering - horizontal (line/bar) or vertical (pie) layouts., Multi-row legend, right-aligned, placed above the plot area. Items wrap to, Estimate rendered text width for Roboto Condensed. Uses per-character-class, Stacked column of legend items, placed to the right of the plot area., Return the number of horizontal rows the legend will occupy., Render a chart legend. Args: mode: "horizontal" — rows above plot a (+3 more) - -### Community 7 - "Community 7" -Cohesion: 0.22 -Nodes (10): close_browser(), _html_wrapper(), init_browser(), Playwright-based SVG export to PNG and PDF. Headless Chromium honours @font-fac, Start persistent Playwright/Chromium instance. Call once at app startup., Shut down browser gracefully. Call at app shutdown., Render SVG to PNG via headless Chromium. Returns raw PNG bytes., Render SVG to PDF via headless Chromium. The resulting PDF contains embedde (+2 more) - -### Community 8 - "Community 8" -Cohesion: 0.25 -Nodes (8): Data series rendering: lines, bars, areas, shaded fills., Render a bar chart series. Supports date and categorical x-axes., Render a line series as an SVG polyline., Render shaded regions between a data series and a reference series., render_bar_series(), _render_fill_segment(), render_line_series(), render_shaded_fill() - -### Community 9 - "Community 9" -Cohesion: 0.33 -Nodes (4): compute_layout(), PanelBounds, Canvas sizing and panel layout computation., Compute canvas dimensions and panel bounds. - -### Community 10 - "Community 10" -Cohesion: 0.40 -Nodes (5): _load_excel(), load_file(), Excel/CSV data loading and parsing., Load all sheets from an Excel file., Load an Excel or CSV file into a dict of DataFrames. Returns: Dict - -### Community 11 - "Community 11" -Cohesion: 0.67 -Nodes (3): _get_jwks_client(), validate_id_token(), token() - -### Community 13 - "Community 13" -Cohesion: 0.50 -Nodes (3): Pie and donut chart renderer., Draw a pie or donut chart. Args: inner_radius_ratio: 0.0 = solid pi, render_pie_series() - -## Knowledge Gaps -- **37 isolated node(s):** `allow`, `annotated-doc`, `itsdangerous`, `PyJWT`, `anthropic` (+32 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **11 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `render_chart()` connect `Community 0` to `Community 1`, `Community 3`, `Community 9`, `Community 6`?** - _High betweenness centrality (0.244) - this node is a cross-community bridge._ -- **Why does `_render_and_save()` connect `Community 1` to `Community 0`?** - _High betweenness centrality (0.149) - this node is a cross-community bridge._ -- **Why does `generate()` connect `Community 1` to `Community 10`?** - _High betweenness centrality (0.099) - this node is a cross-community bridge._ -- **Are the 7 inferred relationships involving `render_chart()` (e.g. with `main()` and `test_chart1_bond_yields()`) actually correct?** - _`render_chart()` has 7 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `_render_dual_y_panel_body()` (e.g. with `LinearScale` and `render_y_axis()`) actually correct?** - _`_render_dual_y_panel_body()` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `Test script: render a multi-line chart matching PIMCO Chart 1 (bond yields) usin`, `Generate synthetic 10-year government bond yield data resembling the PDF chart.`, `Test all three chart types from the PIMCO reference PDF.` to the rest of the system?** - _114 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.08906882591093117 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/ppt-tool-structure.md b/wiki/architecture/ppt-tool-structure.md deleted file mode 100644 index f760e25..0000000 --- a/wiki/architecture/ppt-tool-structure.md +++ /dev/null @@ -1,2165 +0,0 @@ ---- -tags: [architecture, graphify, ppt-tool] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/ppt-tool (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 14175 nodes · 32818 edges · 602 communities (490 shown, 112 thin omitted) -- Extraction: 91% EXTRACTED · 9% INFERRED · 0% AMBIGUOUS · INFERRED: 2834 edges (avg confidence: 0.84) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 192|Community 192]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 194|Community 194]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] -- [[_COMMUNITY_Community 254|Community 254]] -- [[_COMMUNITY_Community 255|Community 255]] -- [[_COMMUNITY_Community 256|Community 256]] -- [[_COMMUNITY_Community 257|Community 257]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 264|Community 264]] -- [[_COMMUNITY_Community 265|Community 265]] -- [[_COMMUNITY_Community 266|Community 266]] -- [[_COMMUNITY_Community 267|Community 267]] -- [[_COMMUNITY_Community 268|Community 268]] -- [[_COMMUNITY_Community 269|Community 269]] -- [[_COMMUNITY_Community 270|Community 270]] -- [[_COMMUNITY_Community 271|Community 271]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 289|Community 289]] -- [[_COMMUNITY_Community 290|Community 290]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 296|Community 296]] -- [[_COMMUNITY_Community 297|Community 297]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] -- [[_COMMUNITY_Community 307|Community 307]] -- [[_COMMUNITY_Community 308|Community 308]] -- [[_COMMUNITY_Community 309|Community 309]] -- [[_COMMUNITY_Community 310|Community 310]] -- [[_COMMUNITY_Community 311|Community 311]] -- [[_COMMUNITY_Community 312|Community 312]] -- [[_COMMUNITY_Community 313|Community 313]] -- [[_COMMUNITY_Community 314|Community 314]] -- [[_COMMUNITY_Community 315|Community 315]] -- [[_COMMUNITY_Community 316|Community 316]] -- [[_COMMUNITY_Community 317|Community 317]] -- [[_COMMUNITY_Community 318|Community 318]] -- [[_COMMUNITY_Community 319|Community 319]] -- [[_COMMUNITY_Community 320|Community 320]] -- [[_COMMUNITY_Community 321|Community 321]] -- [[_COMMUNITY_Community 322|Community 322]] -- [[_COMMUNITY_Community 323|Community 323]] -- [[_COMMUNITY_Community 324|Community 324]] -- [[_COMMUNITY_Community 325|Community 325]] -- [[_COMMUNITY_Community 326|Community 326]] -- [[_COMMUNITY_Community 327|Community 327]] -- [[_COMMUNITY_Community 328|Community 328]] -- [[_COMMUNITY_Community 329|Community 329]] -- [[_COMMUNITY_Community 330|Community 330]] -- [[_COMMUNITY_Community 331|Community 331]] -- [[_COMMUNITY_Community 332|Community 332]] -- [[_COMMUNITY_Community 333|Community 333]] -- [[_COMMUNITY_Community 334|Community 334]] -- [[_COMMUNITY_Community 335|Community 335]] -- [[_COMMUNITY_Community 336|Community 336]] -- [[_COMMUNITY_Community 337|Community 337]] -- [[_COMMUNITY_Community 338|Community 338]] -- [[_COMMUNITY_Community 339|Community 339]] -- [[_COMMUNITY_Community 340|Community 340]] -- [[_COMMUNITY_Community 341|Community 341]] -- [[_COMMUNITY_Community 342|Community 342]] -- [[_COMMUNITY_Community 343|Community 343]] -- [[_COMMUNITY_Community 344|Community 344]] -- [[_COMMUNITY_Community 345|Community 345]] -- [[_COMMUNITY_Community 346|Community 346]] -- [[_COMMUNITY_Community 347|Community 347]] -- [[_COMMUNITY_Community 348|Community 348]] -- [[_COMMUNITY_Community 349|Community 349]] -- [[_COMMUNITY_Community 350|Community 350]] -- [[_COMMUNITY_Community 351|Community 351]] -- [[_COMMUNITY_Community 352|Community 352]] -- [[_COMMUNITY_Community 353|Community 353]] -- [[_COMMUNITY_Community 354|Community 354]] -- [[_COMMUNITY_Community 355|Community 355]] -- [[_COMMUNITY_Community 356|Community 356]] -- [[_COMMUNITY_Community 357|Community 357]] -- [[_COMMUNITY_Community 358|Community 358]] -- [[_COMMUNITY_Community 359|Community 359]] -- [[_COMMUNITY_Community 360|Community 360]] -- [[_COMMUNITY_Community 361|Community 361]] -- [[_COMMUNITY_Community 362|Community 362]] -- [[_COMMUNITY_Community 363|Community 363]] -- [[_COMMUNITY_Community 364|Community 364]] -- [[_COMMUNITY_Community 365|Community 365]] -- [[_COMMUNITY_Community 366|Community 366]] -- [[_COMMUNITY_Community 367|Community 367]] -- [[_COMMUNITY_Community 368|Community 368]] -- [[_COMMUNITY_Community 369|Community 369]] -- [[_COMMUNITY_Community 370|Community 370]] -- [[_COMMUNITY_Community 371|Community 371]] -- [[_COMMUNITY_Community 372|Community 372]] -- [[_COMMUNITY_Community 373|Community 373]] -- [[_COMMUNITY_Community 374|Community 374]] -- [[_COMMUNITY_Community 375|Community 375]] -- [[_COMMUNITY_Community 376|Community 376]] -- [[_COMMUNITY_Community 377|Community 377]] -- [[_COMMUNITY_Community 378|Community 378]] -- [[_COMMUNITY_Community 379|Community 379]] -- [[_COMMUNITY_Community 381|Community 381]] -- [[_COMMUNITY_Community 382|Community 382]] -- [[_COMMUNITY_Community 383|Community 383]] -- [[_COMMUNITY_Community 384|Community 384]] -- [[_COMMUNITY_Community 385|Community 385]] -- [[_COMMUNITY_Community 386|Community 386]] -- [[_COMMUNITY_Community 387|Community 387]] -- [[_COMMUNITY_Community 388|Community 388]] -- [[_COMMUNITY_Community 389|Community 389]] -- [[_COMMUNITY_Community 390|Community 390]] -- [[_COMMUNITY_Community 391|Community 391]] -- [[_COMMUNITY_Community 392|Community 392]] -- [[_COMMUNITY_Community 393|Community 393]] -- [[_COMMUNITY_Community 394|Community 394]] -- [[_COMMUNITY_Community 395|Community 395]] -- [[_COMMUNITY_Community 396|Community 396]] -- [[_COMMUNITY_Community 397|Community 397]] -- [[_COMMUNITY_Community 398|Community 398]] -- [[_COMMUNITY_Community 399|Community 399]] -- [[_COMMUNITY_Community 400|Community 400]] -- [[_COMMUNITY_Community 401|Community 401]] -- [[_COMMUNITY_Community 402|Community 402]] -- [[_COMMUNITY_Community 403|Community 403]] -- [[_COMMUNITY_Community 404|Community 404]] -- [[_COMMUNITY_Community 405|Community 405]] -- [[_COMMUNITY_Community 406|Community 406]] -- [[_COMMUNITY_Community 407|Community 407]] -- [[_COMMUNITY_Community 408|Community 408]] -- [[_COMMUNITY_Community 409|Community 409]] -- [[_COMMUNITY_Community 410|Community 410]] -- [[_COMMUNITY_Community 411|Community 411]] -- [[_COMMUNITY_Community 412|Community 412]] -- [[_COMMUNITY_Community 413|Community 413]] -- [[_COMMUNITY_Community 414|Community 414]] -- [[_COMMUNITY_Community 415|Community 415]] -- [[_COMMUNITY_Community 416|Community 416]] -- [[_COMMUNITY_Community 417|Community 417]] -- [[_COMMUNITY_Community 418|Community 418]] -- [[_COMMUNITY_Community 420|Community 420]] -- [[_COMMUNITY_Community 421|Community 421]] -- [[_COMMUNITY_Community 422|Community 422]] -- [[_COMMUNITY_Community 423|Community 423]] -- [[_COMMUNITY_Community 424|Community 424]] -- [[_COMMUNITY_Community 427|Community 427]] -- [[_COMMUNITY_Community 428|Community 428]] -- [[_COMMUNITY_Community 429|Community 429]] -- [[_COMMUNITY_Community 430|Community 430]] -- [[_COMMUNITY_Community 431|Community 431]] -- [[_COMMUNITY_Community 432|Community 432]] -- [[_COMMUNITY_Community 433|Community 433]] -- [[_COMMUNITY_Community 434|Community 434]] -- [[_COMMUNITY_Community 435|Community 435]] -- [[_COMMUNITY_Community 436|Community 436]] -- [[_COMMUNITY_Community 437|Community 437]] -- [[_COMMUNITY_Community 438|Community 438]] -- [[_COMMUNITY_Community 439|Community 439]] -- [[_COMMUNITY_Community 440|Community 440]] -- [[_COMMUNITY_Community 441|Community 441]] -- [[_COMMUNITY_Community 442|Community 442]] -- [[_COMMUNITY_Community 443|Community 443]] -- [[_COMMUNITY_Community 444|Community 444]] -- [[_COMMUNITY_Community 445|Community 445]] -- [[_COMMUNITY_Community 446|Community 446]] -- [[_COMMUNITY_Community 447|Community 447]] -- [[_COMMUNITY_Community 448|Community 448]] -- [[_COMMUNITY_Community 449|Community 449]] -- [[_COMMUNITY_Community 450|Community 450]] -- [[_COMMUNITY_Community 451|Community 451]] -- [[_COMMUNITY_Community 452|Community 452]] -- [[_COMMUNITY_Community 453|Community 453]] -- [[_COMMUNITY_Community 455|Community 455]] -- [[_COMMUNITY_Community 456|Community 456]] -- [[_COMMUNITY_Community 458|Community 458]] -- [[_COMMUNITY_Community 459|Community 459]] -- [[_COMMUNITY_Community 460|Community 460]] -- [[_COMMUNITY_Community 461|Community 461]] -- [[_COMMUNITY_Community 462|Community 462]] -- [[_COMMUNITY_Community 463|Community 463]] -- [[_COMMUNITY_Community 464|Community 464]] -- [[_COMMUNITY_Community 465|Community 465]] -- [[_COMMUNITY_Community 466|Community 466]] -- [[_COMMUNITY_Community 467|Community 467]] -- [[_COMMUNITY_Community 468|Community 468]] -- [[_COMMUNITY_Community 469|Community 469]] -- [[_COMMUNITY_Community 470|Community 470]] -- [[_COMMUNITY_Community 471|Community 471]] -- [[_COMMUNITY_Community 472|Community 472]] -- [[_COMMUNITY_Community 473|Community 473]] -- [[_COMMUNITY_Community 474|Community 474]] -- [[_COMMUNITY_Community 475|Community 475]] -- [[_COMMUNITY_Community 476|Community 476]] -- [[_COMMUNITY_Community 477|Community 477]] -- [[_COMMUNITY_Community 478|Community 478]] -- [[_COMMUNITY_Community 479|Community 479]] -- [[_COMMUNITY_Community 481|Community 481]] -- [[_COMMUNITY_Community 484|Community 484]] -- [[_COMMUNITY_Community 485|Community 485]] -- [[_COMMUNITY_Community 490|Community 490]] -- [[_COMMUNITY_Community 491|Community 491]] -- [[_COMMUNITY_Community 495|Community 495]] -- [[_COMMUNITY_Community 496|Community 496]] -- [[_COMMUNITY_Community 497|Community 497]] -- [[_COMMUNITY_Community 500|Community 500]] -- [[_COMMUNITY_Community 501|Community 501]] -- [[_COMMUNITY_Community 502|Community 502]] -- [[_COMMUNITY_Community 503|Community 503]] -- [[_COMMUNITY_Community 504|Community 504]] -- [[_COMMUNITY_Community 505|Community 505]] -- [[_COMMUNITY_Community 506|Community 506]] -- [[_COMMUNITY_Community 507|Community 507]] -- [[_COMMUNITY_Community 508|Community 508]] -- [[_COMMUNITY_Community 509|Community 509]] -- [[_COMMUNITY_Community 510|Community 510]] -- [[_COMMUNITY_Community 511|Community 511]] -- [[_COMMUNITY_Community 577|Community 577]] -- [[_COMMUNITY_Community 578|Community 578]] -- [[_COMMUNITY_Community 579|Community 579]] -- [[_COMMUNITY_Community 591|Community 591]] -- [[_COMMUNITY_Community 593|Community 593]] -- [[_COMMUNITY_Community 594|Community 594]] -- [[_COMMUNITY_Community 595|Community 595]] -- [[_COMMUNITY_Community 596|Community 596]] -- [[_COMMUNITY_Community 597|Community 597]] -- [[_COMMUNITY_Community 598|Community 598]] -- [[_COMMUNITY_Community 599|Community 599]] -- [[_COMMUNITY_Community 600|Community 600]] -- [[_COMMUNITY_Community 601|Community 601]] - -## God Nodes (most connected - your core abstractions) -1. `Ga()` - 325 edges -2. `Gm()` - 163 edges -3. `Hn()` - 152 edges -4. `n()` - 94 edges -5. `a()` - 93 edges -6. `la()` - 93 edges -7. `t()` - 92 edges -8. `lr()` - 91 edges -9. `map()` - 86 edges -10. `d()` - 84 edges - -## Surprising Connections (you probably didn't know these) -- `Magnifying Glass Bold Icon` --conceptually_related_to--> `Oliver DeckForge Platform` [INFERRED] - backend/static/icons/bold/magnifying-glass-bold.svg → docs/README.md -- `Magic Wand Bold Icon` --conceptually_related_to--> `Presentation Generation Pipeline` [INFERRED] - backend/static/icons/bold/magic-wand-bold.svg → docs/project/architecture.md -- `Download Bold Icon` --conceptually_related_to--> `PPTX Export` [INFERRED] - backend/static/icons/bold/download-bold.svg → docs/project/architecture.md -- `Master deck parser: extract layouts from a PPTX master/template file. Pipeline` --rationale_for--> `MasterDeckParserService` [EXTRACTED] - backend/services/master_deck_parser_service.py → docs/project/architecture.md -- `Brand Enforcement Service: apply client brand rules to generated content and PPT` --rationale_for--> `BrandEnforcementService` [EXTRACTED] - backend/services/brand_enforcement_service.py → docs/project/architecture.md - -## Communities (602 total, 112 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.01 -Nodes (191): _0(), _3(), _8(), A7(), A9(), Ai(), An(), Ao() (+183 more) - -### Community 1 - "Community 1" -Cohesion: 0.01 -Nodes (270): _1(), _3(), $4(), _8(), $9(), AB(), Al(), AW() (+262 more) - -### Community 2 - "Community 2" -Cohesion: 0.01 -Nodes (395): Acorn Bold Icon, Airplane In Flight Bold Icon, Airplane Tilt Bold Icon, Airplay Bold Icon, Alarm Bold Icon, Alien Bold Icon, Align Bottom Simple Bold Icon, Align Center Horizontal Bold Icon (+387 more) - -### Community 3 - "Community 3" -Cohesion: 0.01 -Nodes (268): Align Center Vertical Bold Icon, Align Right Bold Icon, Align Top Simple Bold Icon, Amazon Logo Bold Icon, Ambulance Bold Icon, App Store Logo Bold Icon, Approximate Equals Bold Icon, Arrow Bend Left Up Bold Icon (+260 more) - -### Community 4 - "Community 4" -Cohesion: 0.01 -Nodes (115): ae(), at(), cL(), cR(), displayable(), e2(), e4(), e5() (+107 more) - -### Community 5 - "Community 5" -Cohesion: 0.01 -Nodes (219): Address Book Bold Icon, Air Traffic Control Bold Icon, Airplane Takeoff Bold Icon, Align Bottom Bold Icon, Align Left Bold Icon, Align Left Simple Bold Icon, App Window Bold Icon, Apple Logo Bold Icon (+211 more) - -### Community 6 - "Community 6" -Cohesion: 0.01 -Nodes (156): $, a_, a0, a1, a2, a3, a4, a5 (+148 more) - -### Community 7 - "Community 7" -Cohesion: 0.01 -Nodes (149): $, a_, a0, a1, a2, a3, a4, a5 (+141 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (144): _(), _7(), Ae(), Ag(), Ak(), AR(), As(), At() (+136 more) - -### Community 9 - "Community 9" -Cohesion: 0.05 -Nodes (54): _, a(), addPostProcessor(), applyPatches(), b, c, cacheUserLanguage(), concat() (+46 more) - -### Community 10 - "Community 10" -Cohesion: 0.02 -Nodes (68): CardProps, Schema, Schema, HeadlineDescriptionWithImageLayout(), Schema, HeadlineTextWithBulletsAndStatsData, Schema, DataType (+60 more) - -### Community 11 - "Community 11" -Cohesion: 0.02 -Nodes (143): Arrow Bend Right Down Bold Icon, Arrow Bend Up Right Bold Icon, Arrow Circle Left Bold Icon, Arrows Horizontal Bold Icon, Arrows Out Simple Bold Icon, Asclepius Bold Icon, Backspace Bold Icon, Battery Vertical Empty Bold Icon (+135 more) - -### Community 12 - "Community 12" -Cohesion: 0.04 -Nodes (29): e5, e8, ea(), ec, ed(), ee(), eH(), ei (+21 more) - -### Community 13 - "Community 13" -Cohesion: 0.04 -Nodes (97): Admin router for user management. Super Admin only., Providers(), NAV_ITEMS, NavItem, AuthGuard(), PUBLIC_PATHS, CHART_TYPES, ChartDataEditor() (+89 more) - -### Community 14 - "Community 14" -Cohesion: 0.05 -Nodes (132): _2(), A0(), A6(), A8(), AH(), AJ(), Aq(), Ax() (+124 more) - -### Community 15 - "Community 15" -Cohesion: 0.05 -Nodes (130): a(), A1(), A3(), Aa(), Ak(), An(), As(), Az() (+122 more) - -### Community 16 - "Community 16" -Cohesion: 0.06 -Nodes (106): a(), B4(), B6(), B7(), B9(), Bj(), Bk(), Br() (+98 more) - -### Community 17 - "Community 17" -Cohesion: 0.07 -Nodes (114): bb(), be(), bi(), bm(), bn(), bo(), bs(), c$() (+106 more) - -### Community 18 - "Community 18" -Cohesion: 0.05 -Nodes (31): _, a, addPostProcessor(), b, c(), cacheUserLanguage(), d(), e() (+23 more) - -### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (12): c(), {defaultType:e}, E(), eb, i(), k(), td(), tm (+4 more) - -### Community 20 - "Community 20" -Cohesion: 0.04 -Nodes (50): BrandEnforcementService, all(), PptxAutoShapeBoxModel, PptxBoxShapeEnum, PptxChartBoxModel, PptxChartDataModel, PptxConnectorModel, PptxFillModel (+42 more) - -### Community 21 - "Community 21" -Cohesion: 0.03 -Nodes (71): analytics_ai_usage(), analytics_overview(), analytics_performance(), analytics_quality(), analytics_usage(), Analytics endpoints for admin dashboard., Usage metrics: decks per day time series, top users., Quality metrics: status distribution, average comments. (+63 more) - -### Community 22 - "Community 22" -Cohesion: 0.03 -Nodes (70): delete_logo(), _ensure_dir(), get_brand_config(), Admin router for brand configuration management., upload_guideline(), upload_logo(), bulk_delete_layouts(), _deck_dir() (+62 more) - -### Community 23 - "Community 23" -Cohesion: 0.03 -Nodes (97): ca(), D1(), D3(), D5(), D6(), D7(), D8(), D9() (+89 more) - -### Community 24 - "Community 24" -Cohesion: 0.03 -Nodes (72): BasicInfoSlideData, BasicInfoSlideLayout(), basicInfoSlideSchema, BulletIconsOnlySlideData, BulletIconsOnlySlideLayout(), BulletWithIconsSlideData, BulletWithIconsSlideLayoutProps, bulletWithIconsSlideSchema (+64 more) - -### Community 25 - "Community 25" -Cohesion: 0.04 -Nodes (39): fetchAnalytics(), DashboardApi, getHeader(), getHeaderForFormData(), ImagesApi, IconSearch, ImageGenerate, ImageSearch (+31 more) - -### Community 26 - "Community 26" -Cohesion: 0.04 -Nodes (95): _$(), Ai(), Da(), Dc(), De(), Df(), Dg(), DH() (+87 more) - -### Community 27 - "Community 27" -Cohesion: 0.06 -Nodes (38): _, a(), b, C, D, E, ea(), ec() (+30 more) - -### Community 28 - "Community 28" -Cohesion: 0.05 -Nodes (58): {createFromFetch:l}, {createFromFetch:m,encodeReply:y}, _, a, b, c, d, E (+50 more) - -### Community 29 - "Community 29" -Cohesion: 0.03 -Nodes (90): gf(), _5(), ba(), bc(), bd(), bf(), bg(), bl() (+82 more) - -### Community 30 - "Community 30" -Cohesion: 0.03 -Nodes (45): {dom:a,text:c,slice:u}, {dom:o,text:s}, e0, e1, e2, e6, {focusNode:t,focusOffset:n}, na (+37 more) - -### Community 31 - "Community 31" -Cohesion: 0.15 -Nodes (68): _(), A(), b(), c(), clamp(), D(), e(), ei() (+60 more) - -### Community 32 - "Community 32" -Cohesion: 0.04 -Nodes (82): A5(), Ab(), Ad(), cG(), E5(), eah(), en7(), enC() (+74 more) - -### Community 33 - "Community 33" -Cohesion: 0.06 -Nodes (71): a2(), a3(), a8(), a9(), aA(), aG(), aH(), aI() (+63 more) - -### Community 34 - "Community 34" -Cohesion: 0.04 -Nodes (78): Arrows Out Line Vertical Bold Icon, At Bold Icon, Atom Bold Icon, Avocado Bold Icon, Basketball Bold Icon, Beach Ball Bold Icon, Bookmark Bold Icon, Brackets Angle Bold Icon (+70 more) - -### Community 35 - "Community 35" -Cohesion: 0.05 -Nodes (60): addProseMirrorPlugins(), [D,T], e4, e6, ed(), ee, ef(), ej (+52 more) - -### Community 36 - "Community 36" -Cohesion: 0.06 -Nodes (72): content, description, post, get, components, schemas, application/json, multipart/form-data (+64 more) - -### Community 37 - "Community 37" -Cohesion: 0.05 -Nodes (63): aC(), ai(), aj(), al(), am(), ar(), au(), ax() (+55 more) - -### Community 38 - "Community 38" -Cohesion: 0.07 -Nodes (39): JobStatus, AnthropicConfigProps, ConfigurationSelects(), ConfigurationSelectsProps, SlideOption, CustomConfigProps, ButtonState, DALLE_3_QUALITY_OPTIONS (+31 more) - -### Community 39 - "Community 39" -Cohesion: 0.04 -Nodes (70): Backpack Bold Icon, Barcode Bold Icon, Battery Vertical Medium Bold Icon, Bell Bold Icon, Bell Simple Bold Icon, Bell Slash Bold Icon, Bell Z Bold Icon, Bicycle Bold Icon (+62 more) - -### Community 40 - "Community 40" -Cohesion: 0.07 -Nodes (50): $(), A(), c(), D, e$, ea, eb(), ec() (+42 more) - -### Community 41 - "Community 41" -Cohesion: 0.07 -Nodes (46): $, A(), C(), D, E, ea, eb, ec (+38 more) - -### Community 42 - "Community 42" -Cohesion: 0.08 -Nodes (6): A, B, h, N, o, t - -### Community 43 - "Community 43" -Cohesion: 0.05 -Nodes (5): c, i(), size(), t0, tR() - -### Community 44 - "Community 44" -Cohesion: 0.05 -Nodes (64): MasterDeckParserService, analyze_fonts_in_all_slides(), check_google_font_availability(), _convert_pptx_to_pdf(), _create_font_alias_config(), extract_fonts_from_oxml(), _extract_slide_xmls(), FontAnalysisResult (+56 more) - -### Community 45 - "Community 45" -Cohesion: 0.06 -Nodes (45): follow_up_questions(), Classify content and return follow-up questions if the brief is thin., get_messages(), get_messages_for_slides_markdown(), BriefSection, BriefStructure, Brief pre-processing: extract structured sections from long content. For docume, Render for injection into the outline generation prompt. (+37 more) - -### Community 46 - "Community 46" -Cohesion: 0.08 -Nodes (43): Generate image using ComfyUI workflow API. User provides: - COM, _get_fallback_providers(), Parse FALLBACK_LLM_PROVIDERS env var into list of LLMProvider enums., get_can_change_keys_env(), get_custom_model_env(), get_google_model_env(), get_gpt_image_1_5_quality_env(), get_pexels_api_key_env() (+35 more) - -### Community 47 - "Community 47" -Cohesion: 0.09 -Nodes (16): d(), f(), g(), h(), L, m(), {onDragStart:n}, p() (+8 more) - -### Community 48 - "Community 48" -Cohesion: 0.07 -Nodes (51): a, autolink(), blockquote(), blockTokens(), br(), checkbox(), code(), codespan() (+43 more) - -### Community 49 - "Community 49" -Cohesion: 0.07 -Nodes (52): BaseModel, convert_html_to_react(), convert_slide_to_html(), create_template(), edit_html_with_images(), edit_html_with_images_endpoint(), ErrorResponse, generate_html_from_slide() (+44 more) - -### Community 50 - "Community 50" -Cohesion: 0.09 -Nodes (55): _, A, b, c, d(), E(), F(), fn() (+47 more) - -### Community 51 - "Community 51" -Cohesion: 0.06 -Nodes (23): $, a(), B, c, clear(), constructor(), d, delete() (+15 more) - -### Community 52 - "Community 52" -Cohesion: 0.09 -Nodes (53): $(), A, b, [b,A], c, d(), E(), e9() (+45 more) - -### Community 53 - "Community 53" -Cohesion: 0.08 -Nodes (47): autolink(), blockquote(), blockTokens(), br(), code(), codespan(), constructor(), def() (+39 more) - -### Community 54 - "Community 54" -Cohesion: 0.03 -Nodes (24): d, l, R, T, a, q, c, d (+16 more) - -### Community 55 - "Community 55" -Cohesion: 0.07 -Nodes (44): ApiErrorResponse, ApiResponseHandler, FileUploadSection(), FontData, FontManager(), FontManagerProps, UploadedFont, PresentationListItem() (+36 more) - -### Community 56 - "Community 56" -Cohesion: 0.04 -Nodes (35): barPieLineAreaChartDataSchema, CHART_COLORS, ChartWithBulletsSlideData, ChartWithBulletsSlideLayout(), chartWithBulletsSlideSchema, scatterChartDataSchema, RemoteSvgIcon(), RemoteSvgOptions (+27 more) - -### Community 57 - "Community 57" -Cohesion: 0.04 -Nodes (30): ImagePrompt, Base method for Google image generation models., Generate image using Gemini Flash (gemini-3.1-flash-image-preview)., Generate image using NanoBanana Pro (gemini-3.1-flash-image-preview)., Find the prompt node in the workflow and inject the prompt text. Looks f, Submit workflow to ComfyUI and return the prompt_id., Poll ComfyUI history endpoint until workflow completes., Download the generated image from ComfyUI. (+22 more) - -### Community 58 - "Community 58" -Cohesion: 0.07 -Nodes (46): aE(), aS(), ax(), eL(), eo(), er(), ez(), G() (+38 more) - -### Community 59 - "Community 59" -Cohesion: 0.04 -Nodes (57): dependencies, @azure/msal-browser, @azure/msal-react, @babel/standalone, class-variance-authority, clsx, cmdk, @dnd-kit/core (+49 more) - -### Community 60 - "Community 60" -Cohesion: 0.04 -Nodes (57): Align Center Horizontal Simple Bold Icon, Arrows In Line Vertical Bold Icon, Article Medium Bold Icon, Binoculars Bold Icon, Book Bold Icon, Bounding Box Bold Icon, Box Arrow Down Bold Icon, Broom Bold Icon (+49 more) - -### Community 61 - "Community 61" -Cohesion: 0.06 -Nodes (18): a(), c, clear(), constructor(), d, delete(), get(), has() (+10 more) - -### Community 62 - "Community 62" -Cohesion: 0.07 -Nodes (46): CustomTemplateCard, LayoutPreview, GenerateButton(), GenerateButtonProps, LayoutItem, LayoutItemProps, NewSlideV1Props, TemplateSelection() (+38 more) - -### Community 63 - "Community 63" -Cohesion: 0.06 -Nodes (35): filter, get_layout_detail(), check_if_api_request_is_valid(), derive_presentation_from_existing_one(), edit_presentation_with_new_content(), generate_presentation_handler(), generate_presentation_sync(), get_all_presentations() (+27 more) - -### Community 64 - "Community 64" -Cohesion: 0.10 -Nodes (46): ADR: arq/Redis Queue for Async Generation, ADR: HttpOnly Session Cookie Auth, ADR: SSE Streaming for Generation Feedback, DeckForge REST API Specification, DeckForge System Architecture, arq Background Worker, Audit Log, AuthService (+38 more) - -### Community 65 - "Community 65" -Cohesion: 0.13 -Nodes (10): a(), addProseMirrorPlugins(), ey(), N, O(), r, T(), t7() (+2 more) - -### Community 66 - "Community 66" -Cohesion: 0.06 -Nodes (20): Transfer all presentations from one user to another. Used for GDPR complian, transfer_ownership(), export_with_brand(), ExportRequest, Presentation export endpoints with brand enforcement., Export presentation with automatic brand enforcement. - Loads brand config, add_comment(), CommentRequest (+12 more) - -### Community 67 - "Community 67" -Cohesion: 0.12 -Nodes (47): _(), a(), applyPatches(), B(), C(), concat(), constructor(), createDraft() (+39 more) - -### Community 68 - "Community 68" -Cohesion: 0.05 -Nodes (20): APIKeyWarning(), FileItem, LoadingState, TextContents, LoadingSpinner(), MarkdownRenderer(), MarkdownRendererProps, metadata (+12 more) - -### Community 69 - "Community 69" -Cohesion: 0.06 -Nodes (34): BarChartItem, COLORS, DiagramRenderer(), DiagramRendererProps, FlowStep, MermaidRenderer(), SlideErrorBoundary, SlideErrorBoundaryState (+26 more) - -### Community 70 - "Community 70" -Cohesion: 0.06 -Nodes (33): checkbox(), OutlineContentProps, OutlineItem(), OutlineItemProps, parseContent(), Dashboard Loading Component (chunk), Dashboard Page, Dashboard Page Component (chunk) (+25 more) - -### Community 71 - "Community 71" -Cohesion: 0.15 -Nodes (8): d(), f, g(), l, m, p, r, u() - -### Community 72 - "Community 72" -Cohesion: 0.06 -Nodes (28): Ac(), af(), Ag(), Ai, Ao, AQ(), aU(), Aw() (+20 more) - -### Community 73 - "Community 73" -Cohesion: 0.13 -Nodes (17): AnthropicAssistantMessage, AnthropicToolCallMessage, AnthropicUserMessage, GoogleAssistantMessage, GoogleToolCallMessage, OpenAIAssistantMessage, OpenAIToolCallMessage, AnthropicToolCall (+9 more) - -### Community 74 - "Community 74" -Cohesion: 0.11 -Nodes (7): draw(), id, iH(), il, ir, is, iy - -### Community 75 - "Community 75" -Cohesion: 0.06 -Nodes (32): Header(), helpQuestions, PresentationGridProps, PresentationPage(), SortableListItem(), SortableSlide(), SortableSlideProps, Presentation (+24 more) - -### Community 76 - "Community 76" -Cohesion: 0.04 -Nodes (40): _, A, b, [B,O], [b,S], c, [C,M], d (+32 more) - -### Community 77 - "Community 77" -Cohesion: 0.04 -Nodes (41): $, A, b, [B,O], [b,S], c, [C,M], d (+33 more) - -### Community 78 - "Community 78" -Cohesion: 0.07 -Nodes (6): e3, e4(), e9, q, ta(), te() - -### Community 79 - "Community 79" -Cohesion: 0.09 -Nodes (45): a4(), a5(), a7(), az(), cb(), ce(), cf(), cg() (+37 more) - -### Community 80 - "Community 80" -Cohesion: 0.06 -Nodes (45): Archive Bold Icon, Balloon Bold Icon, Battery Charging Bold Icon, Battery High Bold Icon, Battery Plus Bold Icon, Battery Plus Vertical Bold Icon, Biohazard Bold Icon, Box Arrow Up Bold Icon (+37 more) - -### Community 81 - "Community 81" -Cohesion: 0.05 -Nodes (40): b(), C(), [c,d], d, [d,u], e(), [e,t], ei (+32 more) - -### Community 82 - "Community 82" -Cohesion: 0.12 -Nodes (7): Aa(), AC(), al, Am(), AP(), mj(), y5() - -### Community 83 - "Community 83" -Cohesion: 0.06 -Nodes (32): a(), b, c, {canvasRef:c,slideDisplayRef:u,strokeWidth:m,strokeColor:h,eraserMode:p,isDrawing:f,canvasDimensions:x,setCanvasDimensions:g,didYourDraw:v,handleMouseDown:b,handleMouseMove:j,handleMouseUp:y,handleTouchStart:N,handleTouchMove:w,handleTouchEnd:k,handleClearCanvas:C,handleEraserModeChange:_,handleStrokeColorChange:S,handleStrokeWidthChange:F}, d, e, {fontsData:u,UploadedFonts:m,uploadFont:x,removeFont:b,getAllUnsupportedFonts:y,setFontsData:C}, g() (+24 more) - -### Community 84 - "Community 84" -Cohesion: 0.09 -Nodes (25): _(), a, c, d(), E(), ea, ed, ee (+17 more) - -### Community 85 - "Community 85" -Cohesion: 0.07 -Nodes (43): Arrow Arc Left Bold Icon, Arrow Arc Right Bold Icon, Arrow Bend Double Up Left Bold Icon, Arrow Bend Down Right Bold Icon, Arrow Bend Left Down Bold Icon, Arrow Bend Right Up Bold Icon, Arrow Circle Down Left Bold Icon, Arrow Circle Down Right Bold Icon (+35 more) - -### Community 86 - "Community 86" -Cohesion: 0.05 -Nodes (43): experimental, adjustFontFallbacks, adjustFontFallbacksWithSizeAdjust, bundlePagesExternals, caseSensitiveRoutes, clientRouterFilter, clientRouterFilterRedirects, cpus (+35 more) - -### Community 88 - "Community 88" -Cohesion: 0.11 -Nodes (42): Admin Analytics Page, Admin Audit Page, Admin Clients Page, Admin Settings Page, Admin Users Page, Admin Analytics Page Chunk, Admin Audit Page Chunk, Admin Clients Page Chunk (+34 more) - -### Community 89 - "Community 89" -Cohesion: 0.12 -Nodes (3): j(), t9(), w() - -### Community 90 - "Community 90" -Cohesion: 0.06 -Nodes (37): ea(), eb(), ec(), ee(), ef(), el(), eM(), en() (+29 more) - -### Community 91 - "Community 91" -Cohesion: 0.05 -Nodes (41): Arrow Fat Down Bold Icon, Arrow Fat Up Bold Icon, Arrows Merge Bold Icon, Bell Ringing Bold Icon, Browser Bold Icon, Caret Circle Left Bold Icon, Caret Down Bold Icon, Chart Pie Bold Icon (+33 more) - -### Community 92 - "Community 92" -Cohesion: 0.05 -Nodes (38): /admin/clients/[id]/brand/page, /admin/clients/[id]/master-decks/page, /admin/clients/[id]/teams/page, /admin/page, /admin/users/[id]/page, /api/export-as-pdf/route, /api/presentation_to_pptx_model/route, /api/read-file/route (+30 more) - -### Community 93 - "Community 93" -Cohesion: 0.05 -Nodes (39): Admin Layout, pages, /admin/analytics/page, /admin/audit/page, /admin/clients/[id]/brand/page, /admin/clients/[id]/master-decks/page, /admin/clients/[id]/page, /admin/clients/[id]/teams/page (+31 more) - -### Community 94 - "Community 94" -Cohesion: 0.14 -Nodes (11): _(), E, ta(), th(), tn(), to(), ts(), V() (+3 more) - -### Community 95 - "Community 95" -Cohesion: 0.10 -Nodes (39): ae(), ci(), em(), ep(), ew(), ey(), ia(), ib() (+31 more) - -### Community 96 - "Community 96" -Cohesion: 0.05 -Nodes (33): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+25 more) - -### Community 97 - "Community 97" -Cohesion: 0.05 -Nodes (26): ChartWithBulletsSlideData, ChartWithBulletsSlideLayoutProps, chartWithBulletsSlideSchema, DEFAULT_CHART_COLORS, divergingDataSchema, multiSeriesDataSchema, scatterDataSchema, simpleDataSchema (+18 more) - -### Community 98 - "Community 98" -Cohesion: 0.12 -Nodes (38): aa(), ag(), ao(), eb(), eI(), ev(), ir(), l4() (+30 more) - -### Community 99 - "Community 99" -Cohesion: 0.09 -Nodes (10): ea, ec, eg(), eh(), es, eW(), ey(), na (+2 more) - -### Community 100 - "Community 100" -Cohesion: 0.05 -Nodes (36): /admin/analytics/page, /admin/audit/page, /admin/clients/[id]/brand/page, /admin/clients/[id]/master-decks/page, /admin/clients/[id]/page, /admin/clients/[id]/teams/page, /admin/clients/page, /admin/page (+28 more) - -### Community 101 - "Community 101" -Cohesion: 0.09 -Nodes (28): edit_slide_html(), get_edited_slide_content(), get_messages(), get_system_prompt(), get_user_prompt(), extract_html_from_response(), get_edited_slide_html(), get_user_prompt() (+20 more) - -### Community 102 - "Community 102" -Cohesion: 0.10 -Nodes (12): eu(), td(), tf, ti(), tm, tN(), to(), tp (+4 more) - -### Community 103 - "Community 103" -Cohesion: 0.06 -Nodes (26): B, c, [c,u], [d,c], e, ed, en, eo (+18 more) - -### Community 104 - "Community 104" -Cohesion: 0.07 -Nodes (31): app_lifespan(), Lifespan context manager for FastAPI application. Initializes the applicatio, cancel_job(), Job status polling and SSE streaming endpoints., Cancel a queued or processing job., SSE stream of job progress events via Redis pub/sub., stream_job_progress(), create_db_and_tables() (+23 more) - -### Community 105 - "Community 105" -Cohesion: 0.10 -Nodes (33): _, a, B(), c, [C,E], d, e, [e,t] (+25 more) - -### Community 106 - "Community 106" -Cohesion: 0.10 -Nodes (29): PptxAlignment, PptxAutoShapeBoxModel, PptxBoxShapeEnum, PptxConnectorModel, PptxConnectorType, PptxFillModel, PptxFontModel, PptxObjectFitEnum (+21 more) - -### Community 107 - "Community 107" -Cohesion: 0.06 -Nodes (35): canonicalBase, config, amp, analyticsId, assetPrefix, basePath, cacheMaxMemorySize, cleanDistDir (+27 more) - -### Community 108 - "Community 108" -Cohesion: 0.11 -Nodes (33): $(), a, B(), c, D, e, [e,t], ee() (+25 more) - -### Community 109 - "Community 109" -Cohesion: 0.11 -Nodes (7): ee, el, en, eo, et, ev(), tz() - -### Community 110 - "Community 110" -Cohesion: 0.09 -Nodes (28): $(), a, D, {dom:d,text:a,slice:c}, {dom:s,text:r}, e0, e1, e2 (+20 more) - -### Community 111 - "Community 111" -Cohesion: 0.06 -Nodes (23): ChartItemSchema, ChartTypeEnum, DivergingDataPointSchema, getGridLayout(), MultiChartGridWithBulletsSlideData, MultiChartGridWithBulletsSlideLayout(), MultiSeriesDataPointSchema, ScatterDataPointSchema (+15 more) - -### Community 112 - "Community 112" -Cohesion: 0.14 -Nodes (33): an(), ap(), co(), cu(), h(), iF(), ih(), ii() (+25 more) - -### Community 113 - "Community 113" -Cohesion: 0.11 -Nodes (14): e$(), e3(), e5(), e7(), e9(), ey(), s, ta (+6 more) - -### Community 114 - "Community 114" -Cohesion: 0.13 -Nodes (32): _(), ea(), eb(), ec(), ee(), ef(), ei(), en() (+24 more) - -### Community 115 - "Community 115" -Cohesion: 0.08 -Nodes (23): PromptInput(), PromptInputProps, ReviewInfo, ReviewWorkflow(), ReviewWorkflowProps, STATUS_CONFIG, TRANSITIONS, SlideContentProps (+15 more) - -### Community 116 - "Community 116" -Cohesion: 0.08 -Nodes (31): _0(), enF(), k$(), l5(), l6(), lu(), _n(), _o() (+23 more) - -### Community 117 - "Community 117" -Cohesion: 0.10 -Nodes (31): e6(), ed(), eo(), iQ(), iw(), s$(), sB(), sh() (+23 more) - -### Community 118 - "Community 118" -Cohesion: 0.07 -Nodes (24): _, [a,x], c, d, f, [f,p], g, [G,D] (+16 more) - -### Community 119 - "Community 119" -Cohesion: 0.17 -Nodes (29): Admin Storage Page, Admin Storage Page Component (chunk), ConfigurationInitializer Component, BrandThemeProvider(), Sign in with Microsoft (SSO), _, Custom Template Page Component (chunk), Documents Preview Page (+21 more) - -### Community 120 - "Community 120" -Cohesion: 0.10 -Nodes (30): _2(), Dd(), pl(), S_(), S2(), S3(), S4(), S6() (+22 more) - -### Community 121 - "Community 121" -Cohesion: 0.09 -Nodes (25): ce(), cf(), cs(), e3(), Ia(), Ir(), k9(), R0() (+17 more) - -### Community 122 - "Community 122" -Cohesion: 0.09 -Nodes (16): $(), A(), d, {defaultType:e}, E(), ee(), et(), ew (+8 more) - -### Community 123 - "Community 123" -Cohesion: 0.11 -Nodes (6): e0, e7(), e9(), nn(), nt, t4() - -### Community 124 - "Community 124" -Cohesion: 0.07 -Nodes (8): _, d, f, i, l, o, p, T - -### Community 125 - "Community 125" -Cohesion: 0.08 -Nodes (26): a, c, [c,u], d, E(), ee, el, eo (+18 more) - -### Community 126 - "Community 126" -Cohesion: 0.10 -Nodes (22): A(), b(), D(), E, f, g(), h, i (+14 more) - -### Community 127 - "Community 127" -Cohesion: 0.08 -Nodes (24): _, a, b, c, [c,f], [c,y], d, e (+16 more) - -### Community 128 - "Community 128" -Cohesion: 0.16 -Nodes (28): A(), a8(), ab(), ah(), aN(), aQ(), aw(), ia() (+20 more) - -### Community 129 - "Community 129" -Cohesion: 0.11 -Nodes (12): D(), f, h, i, k, l, m, o (+4 more) - -### Community 130 - "Community 130" -Cohesion: 0.12 -Nodes (24): _, a, B, c, d, E(), f, g (+16 more) - -### Community 131 - "Community 131" -Cohesion: 0.11 -Nodes (5): ep, K(), tb(), ti(), tp() - -### Community 132 - "Community 132" -Cohesion: 0.07 -Nodes (21): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema, ScatterDataPointSchema (+13 more) - -### Community 134 - "Community 134" -Cohesion: 0.08 -Nodes (21): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+13 more) - -### Community 135 - "Community 135" -Cohesion: 0.11 -Nodes (10): a, c, d, i, l, m, n, o() (+2 more) - -### Community 136 - "Community 136" -Cohesion: 0.14 -Nodes (19): $(), a, b(), d(), E(), f(), h(), i() (+11 more) - -### Community 137 - "Community 137" -Cohesion: 0.14 -Nodes (17): $(), a(), b(), E(), f(), h(), m(), n() (+9 more) - -### Community 138 - "Community 138" -Cohesion: 0.10 -Nodes (22): _, a(), c, [C,A], E, f, [h,g], i() (+14 more) - -### Community 139 - "Community 139" -Cohesion: 0.13 -Nodes (15): Plain Pydantic model for slide data in request body (avoids SQLModel table=True, SlideInput, Enum, Tone, Verbosity, mock_presentation_generation_completed(), PptxObjectFitEnum, SSECompleteResponse (+7 more) - -### Community 140 - "Community 140" -Cohesion: 0.12 -Nodes (25): I0(), I1(), I2(), I5(), I9(), Iq(), IY(), Iz() (+17 more) - -### Community 141 - "Community 141" -Cohesion: 0.15 -Nodes (25): a1(), a2(), a3(), a4(), a6(), aj(), eh(), lb() (+17 more) - -### Community 142 - "Community 142" -Cohesion: 0.08 -Nodes (23): [b,v], [B,Y], [c,u], d, [D,M], [E,C], [F,O], [f,x] (+15 more) - -### Community 143 - "Community 143" -Cohesion: 0.12 -Nodes (15): ButtonState, metadata, ButtonState, initialState, userConfigSlice, LLMConfig, pull_ollama_model(), changeProvider() (+7 more) - -### Community 144 - "Community 144" -Cohesion: 0.08 -Nodes (24): actions, app_name, back, cancel, close, confirm, create, created_at (+16 more) - -### Community 145 - "Community 145" -Cohesion: 0.10 -Nodes (23): _, a, c, d, e(), f, g, h (+15 more) - -### Community 146 - "Community 146" -Cohesion: 0.08 -Nodes (20): A, [b,g], c, [C,O], d, [D,F], e, f (+12 more) - -### Community 147 - "Community 147" -Cohesion: 0.13 -Nodes (20): c, d, E, f, g(), h, i, k() (+12 more) - -### Community 148 - "Community 148" -Cohesion: 0.12 -Nodes (18): a, c, d, f, g(), h, i(), l (+10 more) - -### Community 149 - "Community 149" -Cohesion: 0.11 -Nodes (21): _(), a(), C, d, e(), f(), g, h() (+13 more) - -### Community 150 - "Community 150" -Cohesion: 0.14 -Nodes (18): sharp, ApiError, closeBrowserAndPage(), convertSvgToPng(), GET(), getAllChildElementsAttributes(), getBrowserAndPage(), getElementAttributes() (+10 more) - -### Community 151 - "Community 151" -Cohesion: 0.15 -Nodes (23): BU(), displayable(), n3(), Na(), nB(), Nc(), Nd(), Ng() (+15 more) - -### Community 152 - "Community 152" -Cohesion: 0.12 -Nodes (21): a(), C, d, e(), F, h(), i, [j,E] (+13 more) - -### Community 153 - "Community 153" -Cohesion: 0.15 -Nodes (3): ef, eg(), eq() - -### Community 154 - "Community 154" -Cohesion: 0.13 -Nodes (23): aA(), af(), aO(), aU(), av(), ay(), b(), C() (+15 more) - -### Community 155 - "Community 155" -Cohesion: 0.12 -Nodes (15): a, c, d, f, h, i, l, m (+7 more) - -### Community 156 - "Community 156" -Cohesion: 0.13 -Nodes (17): ChartAssignmentResponse, DeplotResponse, ImageAssetResponse, EditableElement, EditableLayoutWrapper(), IconsEditorProps, ImageEditorProps, HtmlEditor() (+9 more) - -### Community 157 - "Community 157" -Cohesion: 0.09 -Nodes (17): b, c, d, g, i, j, l, n (+9 more) - -### Community 158 - "Community 158" -Cohesion: 0.13 -Nodes (7): c, i, l, n, o, s, u - -### Community 159 - "Community 159" -Cohesion: 0.32 -Nodes (23): dataRoute, experimentalBypassFor, initialHeaders, cache-control, content-type, x-next-cache-tags, initialRevalidateSeconds, routes (+15 more) - -### Community 160 - "Community 160" -Cohesion: 0.14 -Nodes (7): c, i, j, l, o, r, s - -### Community 161 - "Community 161" -Cohesion: 0.12 -Nodes (3): ef(), en(), O() - -### Community 162 - "Community 162" -Cohesion: 0.19 -Nodes (11): ec, ed, em(), es(), ex(), f(), H(), m() (+3 more) - -### Community 163 - "Community 163" -Cohesion: 0.11 -Nodes (22): Ap(), Ea(), Ed(), edB(), edx(), Ep(), ET(), F9() (+14 more) - -### Community 164 - "Community 164" -Cohesion: 0.15 -Nodes (22): a1(), a2(), a3(), a6(), a9(), aB(), aH(), ak() (+14 more) - -### Community 165 - "Community 165" -Cohesion: 0.09 -Nodes (16): b, c, d, h, i, j, k, l (+8 more) - -### Community 166 - "Community 166" -Cohesion: 0.09 -Nodes (15): a, c, d, f, i, l, m, o (+7 more) - -### Community 167 - "Community 167" -Cohesion: 0.11 -Nodes (19): _, a, b, c, d, f, g, h (+11 more) - -### Community 168 - "Community 168" -Cohesion: 0.10 -Nodes (18): b, c, d, f, g, h, i(), j (+10 more) - -### Community 169 - "Community 169" -Cohesion: 0.10 -Nodes (19): a, b, c, d, f, g, h, i() (+11 more) - -### Community 170 - "Community 170" -Cohesion: 0.12 -Nodes (16): StatusBadge(), CardContent(), CardContentProps, CardFooterProps, CardHeader(), CardHeaderProps, CardProps, CardTitle() (+8 more) - -### Community 171 - "Community 171" -Cohesion: 0.15 -Nodes (6): GetCurrentDatetimeTool, LLMDynamicTool, LLMTool, Search the web for information., Get the current datetime., SearchWebTool - -### Community 172 - "Community 172" -Cohesion: 0.11 -Nodes (17): b, c, d(), f, g, h, i, j (+9 more) - -### Community 173 - "Community 173" -Cohesion: 0.14 -Nodes (21): af(), ao(), as, d, e8(), l1(), le, lo (+13 more) - -### Community 174 - "Community 174" -Cohesion: 0.11 -Nodes (16): a, b, c, d, f(), g, h, k (+8 more) - -### Community 175 - "Community 175" -Cohesion: 0.14 -Nodes (21): ab(), ao(), as, c, d(), e8(), li(), lr() (+13 more) - -### Community 176 - "Community 176" -Cohesion: 0.17 -Nodes (21): ac(), ad(), ak(), aL(), am(), ap(), aR(), aT() (+13 more) - -### Community 177 - "Community 177" -Cohesion: 0.11 -Nodes (17): _(), a, c, {clients:s,selectedClientId:u,masterDecks:x,presentations:p,isLoadingClients:g,isLoadingDecks:f,isLoadingPresentations:Z}, d, e, [E,P], i (+9 more) - -### Community 178 - "Community 178" -Cohesion: 0.10 -Nodes (7): c, i, l(), N(), o, r, s - -### Community 179 - "Community 179" -Cohesion: 0.10 -Nodes (14): $, c, d, g, h, i, m, n (+6 more) - -### Community 180 - "Community 180" -Cohesion: 0.10 -Nodes (15): a, c, d, f, l, m, [m,p], o (+7 more) - -### Community 181 - "Community 181" -Cohesion: 0.10 -Nodes (16): c, d, f, g, h, j, l, n (+8 more) - -### Community 182 - "Community 182" -Cohesion: 0.10 -Nodes (20): compilerOptions, allowJs, esModuleInterop, forceConsistentCasingInFileNames, incremental, isolatedModules, jsx, lib (+12 more) - -### Community 183 - "Community 183" -Cohesion: 0.10 -Nodes (19): dev_login(), dev_status(), DevLoginRequest, get_current_user_info(), logout(), Return current authenticated user info., Clear session cookie., Check auth modes available. (+11 more) - -### Community 184 - "Community 184" -Cohesion: 0.14 -Nodes (13): export_csv(), export_json(), log(), query(), Service for creating and querying audit log entries., Fire-and-forget audit log entry creation., Query audit logs with optional filters., Export audit logs as CSV string. (+5 more) - -### Community 185 - "Community 185" -Cohesion: 0.11 -Nodes (9): Tests for content classification regex patterns. Patterns are duplicated here t, test_rejects_non_metrics(), TestComparisonRegex, TestImageRefRegex, TestListRegex, TestMetricRegex, TestQuoteRegex, TestTableRegex (+1 more) - -### Community 186 - "Community 186" -Cohesion: 0.10 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 187 - "Community 187" -Cohesion: 0.11 -Nodes (14): a, c, d, g, h, l(), [m,x], o (+6 more) - -### Community 188 - "Community 188" -Cohesion: 0.13 -Nodes (16): _, C, D, [d,f], e(), i(), j, k (+8 more) - -### Community 189 - "Community 189" -Cohesion: 0.10 -Nodes (17): b, c, d, f, g, h, j, l (+9 more) - -### Community 190 - "Community 190" -Cohesion: 0.12 -Nodes (14): [C,N], {config:f,files:w}, e, [E,A], [j,k], L(), M(), n (+6 more) - -### Community 191 - "Community 191" -Cohesion: 0.14 -Nodes (14): extract_text_from_image_via_vision(), _find_paragraph_by_element(), _find_table_by_element(), _parse_pdf_with_pymupdf(), _parse_pptx_text(), _pptx_table_to_markdown(), Document parsing service. Uses PyMuPDF for PDF, python-pptx for PPTX, python-do, Parse PDF or PPTX to markdown. (+6 more) - -### Community 192 - "Community 192" -Cohesion: 0.11 -Nodes (16): c, d, f, g, h, k, l, m (+8 more) - -### Community 194 - "Community 194" -Cohesion: 0.19 -Nodes (3): C, eg, o - -### Community 195 - "Community 195" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 196 - "Community 196" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 197 - "Community 197" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 198 - "Community 198" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 199 - "Community 199" -Cohesion: 0.14 -Nodes (15): $, [a,c], [D], e(), [g,C], i(), j, l() (+7 more) - -### Community 200 - "Community 200" -Cohesion: 0.14 -Nodes (14): a, c(), E, f(), g, i, m, n (+6 more) - -### Community 201 - "Community 201" -Cohesion: 0.11 -Nodes (15): _(), a, c, d, g, h, i, k() (+7 more) - -### Community 202 - "Community 202" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 203 - "Community 203" -Cohesion: 0.11 -Nodes (11): BaseHTTPMiddleware, _extract_resource_type(), Middleware that auto-logs mutating API requests to audit log., Extract resource type from URL path. e.g. /api/v1/admin/users/123 -> users, UserConfigEnvUpdateMiddleware, Request size limit middleware. Rejects requests with Content-Length exceeding t, Middleware to limit request body size., Check Content-Length header and reject if too large. (+3 more) - -### Community 204 - "Community 204" -Cohesion: 0.11 -Nodes (18): basePath, caseSensitive, dataRoutes, dynamicRoutes, headers, pages404, redirects, rewrites (+10 more) - -### Community 205 - "Community 205" -Cohesion: 0.11 -Nodes (17): a, [a,c], e, f, h, {handleDragEnd:x,handleAddSlide:j}, i, k (+9 more) - -### Community 206 - "Community 206" -Cohesion: 0.11 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 207 - "Community 207" -Cohesion: 0.18 -Nodes (6): er(), f(), h(), I, m(), z - -### Community 208 - "Community 208" -Cohesion: 0.13 -Nodes (3): e6(), t, tl() - -### Community 210 - "Community 210" -Cohesion: 0.18 -Nodes (18): $(), at(), aw(), g(), lb(), lQ(), lV(), n7() (+10 more) - -### Community 211 - "Community 211" -Cohesion: 0.23 -Nodes (18): ey(), na(), nf(), nl(), oA(), oC(), oE(), oF() (+10 more) - -### Community 212 - "Community 212" -Cohesion: 0.11 -Nodes (17): images, contentDispositionType, contentSecurityPolicy, dangerouslyAllowSVG, deviceSizes, disableStaticImages, domains, formats (+9 more) - -### Community 213 - "Community 213" -Cohesion: 0.22 -Nodes (15): a, c, d, f, g(), i(), l, m (+7 more) - -### Community 214 - "Community 214" -Cohesion: 0.22 -Nodes (16): _, A, C(), d(), f(), g(), h(), I() (+8 more) - -### Community 215 - "Community 215" -Cohesion: 0.13 -Nodes (17): ConnectionTestRequest, _fetch_models_for_provider(), _get_current_model(), get_settings(), list_models(), Admin router for system settings — LLM and image provider configuration., Test connectivity to an LLM/API provider., Return a list of model IDs for the given provider. (+9 more) - -### Community 216 - "Community 216" -Cohesion: 0.14 -Nodes (10): add(), d(), e, [E,b], h(), n, remove(), S (+2 more) - -### Community 217 - "Community 217" -Cohesion: 0.15 -Nodes (5): b(), c(), p, T, u - -### Community 218 - "Community 218" -Cohesion: 0.19 -Nodes (14): _, f(), g(), h, i(), K, l(), m (+6 more) - -### Community 219 - "Community 219" -Cohesion: 0.15 -Nodes (3): a, p(), set() - -### Community 220 - "Community 220" -Cohesion: 0.18 -Nodes (17): ca(), cl(), eh(), lG(), ln(), lZ(), ne(), s4() (+9 more) - -### Community 221 - "Community 221" -Cohesion: 0.13 -Nodes (12): a, b(), c, d, i, l(), N(), o (+4 more) - -### Community 222 - "Community 222" -Cohesion: 0.12 -Nodes (11): _(), c, d, f, h, i, k, l (+3 more) - -### Community 223 - "Community 223" -Cohesion: 0.14 -Nodes (14): a(), c, d, e, f(), l, m, n (+6 more) - -### Community 224 - "Community 224" -Cohesion: 0.22 -Nodes (15): checkFields(), Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric (+7 more) - -### Community 225 - "Community 225" -Cohesion: 0.22 -Nodes (15): checkFields(), Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric (+7 more) - -### Community 226 - "Community 226" -Cohesion: 0.22 -Nodes (15): checkFields(), Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric (+7 more) - -### Community 227 - "Community 227" -Cohesion: 0.12 -Nodes (15): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+7 more) - -### Community 228 - "Community 228" -Cohesion: 0.22 -Nodes (15): checkFields(), Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric (+7 more) - -### Community 229 - "Community 229" -Cohesion: 0.12 -Nodes (13): a, c, d, e, h, i, l, o (+5 more) - -### Community 230 - "Community 230" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 231 - "Community 231" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 232 - "Community 232" -Cohesion: 0.14 -Nodes (8): add(), [E,b], g(), k, n, remove(), t, w - -### Community 234 - "Community 234" -Cohesion: 0.17 -Nodes (7): e(), eb(), ib(), nb(), ob(), rb(), t() - -### Community 235 - "Community 235" -Cohesion: 0.15 -Nodes (16): File Archive Bold Icon, File Arrow Up Bold Icon, File Bold Icon, File C Bold Icon, File C Sharp Bold Icon, File Cloud Bold Icon, File Code Bold Icon, File Dashed Bold Icon (+8 more) - -### Community 236 - "Community 236" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 237 - "Community 237" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 238 - "Community 238" -Cohesion: 0.13 -Nodes (11): a, c, d, i, l(), m, n, o (+3 more) - -### Community 239 - "Community 239" -Cohesion: 0.12 -Nodes (11): c, d, i, n, o, p, r, s (+3 more) - -### Community 240 - "Community 240" -Cohesion: 0.13 -Nodes (10): a, d, e, g, h, i, m(), n (+2 more) - -### Community 241 - "Community 241" -Cohesion: 0.12 -Nodes (12): C, d, [f,h], g, i, l, n, o (+4 more) - -### Community 242 - "Community 242" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 243 - "Community 243" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 244 - "Community 244" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 245 - "Community 245" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 246 - "Community 246" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 247 - "Community 247" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 248 - "Community 248" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 249 - "Community 249" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 250 - "Community 250" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 251 - "Community 251" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 252 - "Community 252" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 253 - "Community 253" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 254 - "Community 254" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 255 - "Community 255" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 256 - "Community 256" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 257 - "Community 257" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 258 - "Community 258" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 259 - "Community 259" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 260 - "Community 260" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 261 - "Community 261" -Cohesion: 0.12 -Nodes (15): zod, name, overrides, brace-expansion, peerDependencies, private, scripts, build (+7 more) - -### Community 262 - "Community 262" -Cohesion: 0.12 -Nodes (14): Diff, FirstArg, LayoutProps, MaybeField, Negative, NonNegative, Numeric, OmitWithTag (+6 more) - -### Community 263 - "Community 263" -Cohesion: 0.19 -Nodes (7): PdfSlideData, PdfSlidesResponse, process_pdf_slides(), Process a PDF file to extract slide screenshots. This endpoint: 1. Vali, get_page_images_from_pdf(), If load_images is True, temp_dir must be provided, Parse DOCX with python-docx for better table/structure handling. - -### Community 264 - "Community 264" -Cohesion: 0.18 -Nodes (15): generate_from_template(), Generate a populated PPTX from a branded template file and existing presentation, analyze_pptx_template(), _build_codegen_prompt(), _build_slide_context(), clear_template_slides(), _execute_generated_code(), generate_pptx_from_template() (+7 more) - -### Community 265 - "Community 265" -Cohesion: 0.20 -Nodes (15): _chart_from_metrics(), _chart_from_table(), ChartData, ChartSeries, extract(), _parse_metric_value(), Chart Data Extractor: extract chart-ready data from content blocks and tables., Build ChartData from a metric content block's extracted_data. (+7 more) - -### Community 266 - "Community 266" -Cohesion: 0.12 -Nodes (10): b, c, d, f, i, l, m, o (+2 more) - -### Community 267 - "Community 267" -Cohesion: 0.20 -Nodes (6): eb(), ei, eq(), er, ez(), tu() - -### Community 268 - "Community 268" -Cohesion: 0.18 -Nodes (15): NB(), Nc(), Nd(), Nf(), Ng(), Ni(), Nl(), Nm() (+7 more) - -### Community 269 - "Community 269" -Cohesion: 0.15 -Nodes (3): e(), I(), K() - -### Community 270 - "Community 270" -Cohesion: 0.13 -Nodes (14): approve_generate, attachments, generate_outline, instructions, select_client, select_master_deck, slide_count, step_configure (+6 more) - -### Community 271 - "Community 271" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 272 - "Community 272" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 273 - "Community 273" -Cohesion: 0.13 -Nodes (13): tableOfContentsSlideSchema, TableOfContentsLayout(), tableOfContentsSchema, TocItemSchema, Schema, SlideData, SlideLayoutProps, ToCItemSchema (+5 more) - -### Community 274 - "Community 274" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 275 - "Community 275" -Cohesion: 0.13 -Nodes (13): a, c, f, i, l, n, o, p (+5 more) - -### Community 276 - "Community 276" -Cohesion: 0.14 -Nodes (10): a, c, d, i, l(), m, p, r (+2 more) - -### Community 277 - "Community 277" -Cohesion: 0.14 -Nodes (11): a, c, d, i, l(), m, n, o (+3 more) - -### Community 278 - "Community 278" -Cohesion: 0.16 -Nodes (10): d, j(), l, m, N(), O, p, r (+2 more) - -### Community 279 - "Community 279" -Cohesion: 0.13 -Nodes (3): d, l, o - -### Community 280 - "Community 280" -Cohesion: 0.16 -Nodes (8): a(), g(), l, n, o(), r, x(), y() - -### Community 281 - "Community 281" -Cohesion: 0.13 -Nodes (15): images, contentDispositionType, contentSecurityPolicy, dangerouslyAllowSVG, deviceSizes, disableStaticImages, domains, formats (+7 more) - -### Community 282 - "Community 282" -Cohesion: 0.20 -Nodes (14): delete_font(), extract_font_name_from_file(), FontListResponse, FontUploadResponse, get_fonts_directory(), is_valid_font_file(), list_fonts(), Upload a font file and save it to the fonts directory. Args: fo (+6 more) - -### Community 283 - "Community 283" -Cohesion: 0.18 -Nodes (7): Native Chart Service: render ChartData as native python-pptx charts on slides., Apply brand colors to each series in the chart., Style category and value axes., Add percentage labels to pie/doughnut charts., Render a Gantt chart using rectangles. Expects categories = task names,, Render a waterfall chart using stacked shapes. series[0].values = incre, Add a native chart to a slide. For standard chart types (bar, column, l - -### Community 284 - "Community 284" -Cohesion: 0.15 -Nodes (7): b(), c, d, i, l, o, w() - -### Community 285 - "Community 285" -Cohesion: 0.15 -Nodes (9): a, c, e, i, l(), n, o, {templates:c,loading:m} (+1 more) - -### Community 286 - "Community 286" -Cohesion: 0.22 -Nodes (3): ne, z, n_() - -### Community 288 - "Community 288" -Cohesion: 0.15 -Nodes (11): a, c, d, e, f, l, m, p() (+3 more) - -### Community 289 - "Community 289" -Cohesion: 0.14 -Nodes (13): add_slide, approve, approved, delete_slide, draft, export_pdf, in_review, properties (+5 more) - -### Community 290 - "Community 290" -Cohesion: 0.16 -Nodes (12): BusinessModelData, businessModelSchema, CHART_COLORS, Props, CompanyTractionData, CompanyTractionSlideLayout(), computeStats(), defaultColors (+4 more) - -### Community 291 - "Community 291" -Cohesion: 0.15 -Nodes (11): CHART_COLOR_PALETTES, ChartItemSchema, ChartTypeEnum, DivergingDataPointSchema, getGridLayout(), MultiChartGridWithMetricsSlideData, MultiChartGridWithMetricsSlideLayout(), MultiSeriesDataPointSchema (+3 more) - -### Community 292 - "Community 292" -Cohesion: 0.14 -Nodes (12): a, c, f, i, l, n, o, p (+4 more) - -### Community 293 - "Community 293" -Cohesion: 0.30 -Nodes (11): get_disable_image_generation_env(), get_selected_image_provider(), is_comfyui_selected(), is_dalle3_selected(), is_gemini_flash_selected(), is_gpt_image_1_5_selected(), is_image_generation_disabled(), is_nanobanana_pro_selected() (+3 more) - -### Community 294 - "Community 294" -Cohesion: 0.17 -Nodes (7): c, i(), l, n, r, s, v - -### Community 295 - "Community 295" -Cohesion: 0.22 -Nodes (9): a(), c(), e(), h(), i(), o(), r, s() (+1 more) - -### Community 296 - "Community 296" -Cohesion: 0.15 -Nodes (9): a, c, d, f, [f,p], i, l, p (+1 more) - -### Community 297 - "Community 297" -Cohesion: 0.19 -Nodes (9): buildChartData(), buildSimpleData(), ChartRenderer(), DEFAULT_CHART_COLORS, DivergingDataSchema, Schema, SeriesSchema, SlideData (+1 more) - -### Community 298 - "Community 298" -Cohesion: 0.19 -Nodes (9): buildChartData(), buildSimpleData(), ChartRenderer(), DEFAULT_CHART_COLORS, DivergingDataSchema, FormData, Schema, SeriesSchema (+1 more) - -### Community 299 - "Community 299" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 300 - "Community 300" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 301 - "Community 301" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 302 - "Community 302" -Cohesion: 0.18 -Nodes (10): a, d, e, f(), l(), m, n, o() (+2 more) - -### Community 303 - "Community 303" -Cohesion: 0.15 -Nodes (12): a, d, [h,y], i, k, l, n, o (+4 more) - -### Community 304 - "Community 304" -Cohesion: 0.17 -Nodes (9): log(), Fire-and-forget AI usage logging service., Log AI usage asynchronously (fire-and-forget). If user_id/client_id/present, _write_log(), AIUsageModel, AI usage tracking model for analytics., LLMCallContext, Context variable for propagating user/client/presentation info into LLM calls. (+1 more) - -### Community 305 - "Community 305" -Cohesion: 0.26 -Nodes (5): eb(), ec(), ed(), ey(), L - -### Community 306 - "Community 306" -Cohesion: 0.26 -Nodes (12): eK(), eQ(), ew(), n$(), nC(), nD(), nN(), nP() (+4 more) - -### Community 307 - "Community 307" -Cohesion: 0.23 -Nodes (12): a5(), a7(), l5(), lk(), lw(), oL(), oM(), ue() (+4 more) - -### Community 308 - "Community 308" -Cohesion: 0.17 -Nodes (11): email_label, invalid_credentials, password_label, session_expired, sign_in, sign_in_dev, sign_out, signing_in (+3 more) - -### Community 309 - "Community 309" -Cohesion: 0.18 -Nodes (8): a, c, d, l(), m, n, o, p - -### Community 310 - "Community 310" -Cohesion: 0.18 -Nodes (7): e, h, i, m(), n, r, t - -### Community 311 - "Community 311" -Cohesion: 0.17 -Nodes (12): devDependencies, cypress, esbuild, tailwindcss, @types/babel__standalone, @types/node, @types/prismjs, @types/puppeteer (+4 more) - -### Community 312 - "Community 312" -Cohesion: 0.21 -Nodes (9): create_client(), get_client(), list_clients(), _slugify(), update_client(), Admin router for team management., check_client_access(), RBAC helper functions for checking client/team access. (+1 more) - -### Community 313 - "Community 313" -Cohesion: 0.18 -Nodes (9): analyze_slide_layout(), classify_layout_from_regions(), DetectedRegion, Layout analysis service using LayoutParser for slide structure detection. Analy, Classify slide layout type based on detected regions. Returns a layout type, A detected region on a slide., Analyze a slide screenshot and return detected layout regions. Uses LayoutP, Convert detected regions to a text description for LLM context. Normalizes (+1 more) - -### Community 314 - "Community 314" -Cohesion: 0.17 -Nodes (6): Tests for auth_service: JWT creation/validation, dev login, user creation., Dev mode: correct password creates user., Logging in twice with same email returns same user., Without AZURE_AD_TENANT_ID, service is in dev mode., TestDevLogin, TestDevMode - -### Community 317 - "Community 317" -Cohesion: 0.18 -Nodes (7): e, h, i, m(), n, r, t - -### Community 319 - "Community 319" -Cohesion: 0.20 -Nodes (6): instrument_sans, inter, metadata, roboto, Toaster(), ToasterProps - -### Community 320 - "Community 320" -Cohesion: 0.20 -Nodes (7): AIUsageData, AnalyticsPage(), formatTokens(), OverviewData, PerformanceData, QualityData, UsageData - -### Community 321 - "Community 321" -Cohesion: 0.18 -Nodes (7): ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES - -### Community 322 - "Community 322" -Cohesion: 0.33 -Nodes (8): check_default(), check_port(), find_free_port(), info(), install_if_missing(), port_taken_by_other(), set_env_port(), warn() - -### Community 323 - "Community 323" -Cohesion: 0.20 -Nodes (7): a, c, d, m, n(), p, s() - -### Community 324 - "Community 324" -Cohesion: 0.24 -Nodes (6): get_available_models(), pull_model(), pull_ollama_model_background_task(), upsert_ollama_pull_status(), OllamaPullStatus, list_pulled_ollama_models() - -### Community 325 - "Community 325" -Cohesion: 0.40 -Nodes (10): File Icon, File CPP Bold Icon, File DOC Bold Icon, File INI Bold Icon, File MD Bold Icon, File PY Bold Icon, File TSX Bold Icon, File Vue Bold Icon (+2 more) - -### Community 326 - "Community 326" -Cohesion: 0.22 -Nodes (10): Battery Medium Bold Icon, Bug Bold Icon, Calculator Bold Icon, Circuitry Bold Icon, Technology Icon Category, CPU Bold Icon, Facebook Logo Bold Icon, Fire Extinguisher Bold Icon (+2 more) - -### Community 327 - "Community 327" -Cohesion: 0.20 -Nodes (7): ei(), en(), eo(), N, o, q(), u() - -### Community 328 - "Community 328" -Cohesion: 0.20 -Nodes (9): ampDevFiles, ampFirstPages, devFiles, lowPriorityFiles, pages, /_app, /_error, polyfillFiles (+1 more) - -### Community 329 - "Community 329" -Cohesion: 0.22 -Nodes (9): e, k(), [n,l], r, s, t, [x,m], y (+1 more) - -### Community 330 - "Community 330" -Cohesion: 0.20 -Nodes (6): get_available_models(), get_available_models(), get_available_models(), list_available_anthropic_models(), list_available_google_models(), list_available_openai_compatible_models() - -### Community 331 - "Community 331" -Cohesion: 0.22 -Nodes (9): eb(), eC(), ef(), eg(), eh(), eN(), es, ev() (+1 more) - -### Community 333 - "Community 333" -Cohesion: 0.25 -Nodes (9): eC(), ef(), eg(), eN(), es(), eu(), ey(), O (+1 more) - -### Community 335 - "Community 335" -Cohesion: 0.28 -Nodes (6): a, b(), c, n(), S(), t - -### Community 337 - "Community 337" -Cohesion: 0.31 -Nodes (9): eoI(), eoN(), qv(), skip(), skipKey(), stop(), traverse(), UU() (+1 more) - -### Community 338 - "Community 338" -Cohesion: 0.22 -Nodes (8): IntroSlideData, IntroSlideLayoutProps, introSlideSchema, ImageSchema, IntroSlideLayout(), Schema, SlideData, SlideLayoutProps - -### Community 339 - "Community 339" -Cohesion: 0.25 -Nodes (7): a(), i, l, n, o, s, u - -### Community 340 - "Community 340" -Cohesion: 0.28 -Nodes (3): HTMLParser, InlineHTMLToRunsParser, parse_html_text_to_text_runs() - -### Community 341 - "Community 341" -Cohesion: 0.33 -Nodes (7): _call_anthropic(), _call_google(), _call_openai(), _detect_llm_provider(), generate_vision_completion(), LLMProvider, Use only Google Gemini. No fallback providers. - -### Community 345 - "Community 345" -Cohesion: 0.29 -Nodes (6): eg(), ei(), eo(), ep(), g(), j - -### Community 347 - "Community 347" -Cohesion: 0.25 -Nodes (7): __dirname, finalPdf, input, prefix, rendered, renderedPdf, sources - -### Community 348 - "Community 348" -Cohesion: 0.25 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 349 - "Community 349" -Cohesion: 0.25 -Nodes (6): CardSchema, IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 350 - "Community 350" -Cohesion: 0.25 -Nodes (6): CardSchema, IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 351 - "Community 351" -Cohesion: 0.25 -Nodes (8): ef(), ex(), ey(), tb(), tc, tj(), tw(), ty() - -### Community 352 - "Community 352" -Cohesion: 0.29 -Nodes (7): [d,l], e, [e,f], f, [o,c], r(), t - -### Community 354 - "Community 354" -Cohesion: 0.25 -Nodes (7): dynamicRoutes, notFoundRoutes, preview, previewModeEncryptionKey, previewModeId, previewModeSigningKey, version - -### Community 356 - "Community 356" -Cohesion: 0.38 -Nodes (7): aK(), lv(), s4(), sg(), sm(), sn(), sv() - -### Community 357 - "Community 357" -Cohesion: 0.29 -Nodes (7): c4, c5(), c6(), c8(), c2(), le(), m5() - -### Community 358 - "Community 358" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 359 - "Community 359" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 360 - "Community 360" -Cohesion: 0.29 -Nodes (3): chartTypeEnum, COLORS, Schema - -### Community 361 - "Community 361" -Cohesion: 0.29 -Nodes (3): chartTypeEnum, COLORS, Schema - -### Community 362 - "Community 362" -Cohesion: 0.29 -Nodes (5): CHART_COLORS, ChartDatumSchema, Schema, SlideData, SlideLayoutProps - -### Community 363 - "Community 363" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, LayoutProps, Schema, SlideData - -### Community 364 - "Community 364" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 365 - "Community 365" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 366 - "Community 366" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 367 - "Community 367" -Cohesion: 0.29 -Nodes (5): IconSchema, ItemSchema, Schema, SlideData, SlideLayoutProps - -### Community 368 - "Community 368" -Cohesion: 0.29 -Nodes (5): c, d, m, o, p - -### Community 369 - "Community 369" -Cohesion: 0.29 -Nodes (5): c, d, m, p, s - -### Community 370 - "Community 370" -Cohesion: 0.33 -Nodes (4): run_migrations_offline(), run_migrations_online(), get_database_url_and_connect_args(), get_database_url_env() - -### Community 371 - "Community 371" -Cohesion: 0.29 -Nodes (6): Test the slide-to-html endpoint with streaming API support., Test the endpoint with an invalid image path., Test the endpoint with missing XML data., test_slide_to_html_endpoint(), test_slide_to_html_invalid_path(), test_slide_to_html_missing_xml() - -### Community 372 - "Community 372" -Cohesion: 0.53 -Nodes (5): get_file_ext_or_none(), get_file_name_with_random_uuid(), get_original_file_name(), replace_file_name(), set_file_ext() - -### Community 373 - "Community 373" -Cohesion: 0.33 -Nodes (4): PointSchema, Schema, SlideData, SlideLayoutProps - -### Community 374 - "Community 374" -Cohesion: 0.33 -Nodes (5): c, d, f, p, s - -### Community 375 - "Community 375" -Cohesion: 0.33 -Nodes (3): $(), l, m - -### Community 378 - "Community 378" -Cohesion: 0.33 -Nodes (5): appDir, files, ignore, relativeAppDir, version - -### Community 379 - "Community 379" -Cohesion: 0.33 -Nodes (5): app, /Volumes/SSD/Projects/Oliver/ppt-tool/frontend/app/layout, appUsingSizeAdjust, pages, pagesUsingSizeAdjust - -### Community 381 - "Community 381" -Cohesion: 0.33 -Nodes (5): create_sample_pptx(), Test that non-PPTX files are rejected., Create a minimal PPTX file for testing., Test the PPTX slides processing endpoint., test_invalid_file_type() - -### Community 383 - "Community 383" -Cohesion: 0.40 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 384 - "Community 384" -Cohesion: 0.40 -Nodes (4): exportTrailingSlash, hasExportPathMap, isNextImageImported, version - -### Community 385 - "Community 385" -Cohesion: 0.50 -Nodes (5): a, d, i(), l, n - -### Community 391 - "Community 391" -Cohesion: 0.40 -Nodes (4): /404, /_app, /_document, /_error - -### Community 392 - "Community 392" -Cohesion: 0.50 -Nodes (5): ea(), er(), es(), et(), y() - -### Community 393 - "Community 393" -Cohesion: 0.40 -Nodes (5): a, el(), f(), i, p - -### Community 395 - "Community 395" -Cohesion: 0.40 -Nodes (4): functions, middleware, sortedMiddleware, version - -### Community 396 - "Community 396" -Cohesion: 0.40 -Nodes (4): downgrade(), Remove RLS policies and disable RLS., Enable RLS and create policies for client-scoped tables., upgrade() - -### Community 398 - "Community 398" -Cohesion: 0.67 -Nodes (4): edj(), edS(), edT(), edw() - -### Community 399 - "Community 399" -Cohesion: 0.50 -Nodes (3): outputStyle, permissions, allow - -### Community 400 - "Community 400" -Cohesion: 0.50 -Nodes (4): Finance Icon Category, Credit Card Bold Icon, Currency Dollar Bold Icon, Piggy Bank Bold Icon - -### Community 401 - "Community 401" -Cohesion: 0.50 -Nodes (3): body, email, name - -### Community 402 - "Community 402" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 403 - "Community 403" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 404 - "Community 404" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 406 - "Community 406" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 407 - "Community 407" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 408 - "Community 408" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 409 - "Community 409" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 410 - "Community 410" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 414 - "Community 414" -Cohesion: 0.50 -Nodes (4): E(), ee(), g(), J - -### Community 416 - "Community 416" -Cohesion: 0.50 -Nodes (3): get_limiter(), Rate limiting middleware using slowapi. Provides protection against DOS attacks, Get the limiter instance for use in route decorators. - -### Community 417 - "Community 417" -Cohesion: 0.67 -Nodes (4): modularizeImports, transform, lodash, @mui/icons-material - -### Community 418 - "Community 418" -Cohesion: 0.50 -Nodes (4): _originalRewrites, afterFiles, beforeFiles, fallback - -### Community 420 - "Community 420" -Cohesion: 0.67 -Nodes (4): File Type Icons, PDF SVG Icon, PPTX SVG Icon, Report PNG Image - -### Community 421 - "Community 421" -Cohesion: 0.50 -Nodes (3): edge, encryptionKey, node - -### Community 422 - "Community 422" -Cohesion: 0.50 -Nodes (3): Safe error handler for FastAPI. Logs full error details internally but returns, Handle unhandled exceptions safely. - Logs full error details with context, safe_exception_handler() - -### Community 429 - "Community 429" -Cohesion: 1.00 -Nodes (3): Branding / Logo Assets, Logo PNG, Logo White PNG - -### Community 434 - "Community 434" -Cohesion: 0.67 -Nodes (3): MetricsSlideData, MetricsSlideLayout(), metricsSlideSchema - -### Community 435 - "Community 435" -Cohesion: 0.67 -Nodes (3): TableInfoSlideData, TableInfoSlideLayout(), tableInfoSlideSchema - -### Community 463 - "Community 463" -Cohesion: 0.67 -Nodes (3): devIndicators, buildActivity, buildActivityPosition - -### Community 464 - "Community 464" -Cohesion: 0.67 -Nodes (3): onDemandEntries, maxInactiveAge, pagesBufferLength - -### Community 465 - "Community 465" -Cohesion: 0.67 -Nodes (3): staleTimes, dynamic, static - -### Community 466 - "Community 466" -Cohesion: 0.67 -Nodes (3): typescript, ignoreBuildErrors, tsconfigPath - -## Ambiguous Edges - Review These -- `Bold Icon Set` → `Phosphor Icons Style` [AMBIGUOUS] - backend/static/icons/bold/ · relation: conceptually_related_to -- `Report PNG Image` → `File Type Icons` [AMBIGUOUS] - frontend/public/report.png · relation: conceptually_related_to -- `Hourglass Simple Low Bold Icon` → `Cell Signal Medium Bold Icon` [AMBIGUOUS] - backend/static/icons/bold/hourglass-simple-low-bold.svg · relation: semantically_similar_to - -## Knowledge Gaps -- **3849 isolated node(s):** `config`, `config`, `name`, `version`, `private` (+3844 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **112 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **What is the exact relationship between `Bold Icon Set` and `Phosphor Icons Style`?** - _Edge tagged AMBIGUOUS (relation: conceptually_related_to) - confidence is low._ -- **What is the exact relationship between `Report PNG Image` and `File Type Icons`?** - _Edge tagged AMBIGUOUS (relation: conceptually_related_to) - confidence is low._ -- **What is the exact relationship between `Hourglass Simple Low Bold Icon` and `Cell Signal Medium Bold Icon`?** - _Edge tagged AMBIGUOUS (relation: semantically_similar_to) - confidence is low._ -- **Why does `E_()` connect `Community 26` to `Community 1`, `Community 8`, `Community 12`, `Community 15`, `Community 17`, `Community 114`, `Community 19`, `Community 116`, `Community 90`?** - _High betweenness centrality (0.201) - this node is a cross-community bridge._ -- **Why does `PresentationModel` connect `Community 66` to `Community 69`, `Community 75`, `Community 139`, `Community 13`, `Community 21`, `Community 22`, `Community 25`, `Community 63`?** - _High betweenness centrality (0.116) - this node is a cross-community bridge._ -- **Why does `Magnifying Glass Bold Icon` connect `Community 5` to `Community 64`, `Community 2`?** - _High betweenness centrality (0.109) - this node is a cross-community bridge._ -- **Are the 448 inferred relationships involving `Bold Icon Set` (e.g. with `Drop Half Bold Icon` and `Ping Pong Bold Icon`) actually correct?** - _`Bold Icon Set` has 448 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/presenton-structure.md b/wiki/architecture/presenton-structure.md deleted file mode 100644 index 1e5c8a8..0000000 --- a/wiki/architecture/presenton-structure.md +++ /dev/null @@ -1,1143 +0,0 @@ ---- -tags: [architecture, graphify, presenton] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/presenton (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 3853 nodes · 6037 edges · 357 communities (213 shown, 144 thin omitted) -- Extraction: 65% EXTRACTED · 35% INFERRED · 0% AMBIGUOUS · INFERRED: 2140 edges (avg confidence: 0.88) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 192|Community 192]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 194|Community 194]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] -- [[_COMMUNITY_Community 254|Community 254]] -- [[_COMMUNITY_Community 255|Community 255]] -- [[_COMMUNITY_Community 256|Community 256]] -- [[_COMMUNITY_Community 257|Community 257]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 289|Community 289]] -- [[_COMMUNITY_Community 290|Community 290]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 296|Community 296]] -- [[_COMMUNITY_Community 297|Community 297]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] -- [[_COMMUNITY_Community 307|Community 307]] -- [[_COMMUNITY_Community 308|Community 308]] -- [[_COMMUNITY_Community 309|Community 309]] -- [[_COMMUNITY_Community 310|Community 310]] -- [[_COMMUNITY_Community 311|Community 311]] -- [[_COMMUNITY_Community 312|Community 312]] -- [[_COMMUNITY_Community 313|Community 313]] -- [[_COMMUNITY_Community 322|Community 322]] -- [[_COMMUNITY_Community 323|Community 323]] -- [[_COMMUNITY_Community 324|Community 324]] -- [[_COMMUNITY_Community 337|Community 337]] -- [[_COMMUNITY_Community 338|Community 338]] -- [[_COMMUNITY_Community 339|Community 339]] -- [[_COMMUNITY_Community 340|Community 340]] -- [[_COMMUNITY_Community 341|Community 341]] -- [[_COMMUNITY_Community 342|Community 342]] -- [[_COMMUNITY_Community 343|Community 343]] -- [[_COMMUNITY_Community 344|Community 344]] -- [[_COMMUNITY_Community 345|Community 345]] -- [[_COMMUNITY_Community 346|Community 346]] -- [[_COMMUNITY_Community 347|Community 347]] -- [[_COMMUNITY_Community 348|Community 348]] -- [[_COMMUNITY_Community 349|Community 349]] -- [[_COMMUNITY_Community 350|Community 350]] -- [[_COMMUNITY_Community 351|Community 351]] -- [[_COMMUNITY_Community 352|Community 352]] -- [[_COMMUNITY_Community 353|Community 353]] -- [[_COMMUNITY_Community 354|Community 354]] -- [[_COMMUNITY_Community 355|Community 355]] -- [[_COMMUNITY_Community 356|Community 356]] - -## God Nodes (most connected - your core abstractions) -1. `Bold Icon Set (Phosphor-style)` - 135 edges -2. `Bold Icon Style Concept` - 81 edges -3. `LLMClient` - 63 edges -4. `cn()` - 45 edges -5. `pptx_presentation_creator.py` - 45 edges -6. `PresentationGenerationApi` - 43 edges -7. `Presentation` - 41 edges -8. `ConfigurationSelects()` - 39 edges -9. `Button` - 30 edges -10. `image_generation_service.py` - 29 edges - -## Surprising Connections (you probably didn't know these) -- `Requirements Doc (docs/project/requirements.md)` --semantically_similar_to--> `Requirements Doc` [INFERRED] [semantically similar] - docs/README.md → AGENTS.md -- `API One-shot Workflow` --semantically_similar_to--> `API Endpoint: /api/v1/ppt/presentation/generate` [INFERRED] [semantically similar] - docs/project/requirements.md → README.md -- `Model for storing presentation layout codes` --rationale_for--> `presentation_layout_codes Table` [EXTRACTED] - servers/fastapi/models/sql/presentation_layout_code.py → docs/project/database_schema.md -- `generate_presentation_outlines.py` --calls--> `check_if_api_request_is_valid()` [EXTRACTED] - AGENTS.md → servers/fastapi/api/v1/ppt/endpoints/presentation.py -- `generate_presentation_outlines.py` --calls--> `generate_presentation_handler()` [EXTRACTED] - AGENTS.md → servers/fastapi/api/v1/ppt/endpoints/presentation.py - -## Communities (357 total, 144 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.01 -Nodes (274): Airplane In Flight Bold Icon, Align Center Vertical Bold Icon, Align Center Vertical Simple Bold Icon, Align Left Simple Bold Icon, Ambulance Bold Icon, Armchair Bold Icon, Arrow Bend Down Right Bold Icon, Arrow Elbow Down Left Bold Icon (+266 more) - -### Community 1 - "Community 1" -Cohesion: 0.01 -Nodes (229): Air Traffic Control Bold Icon, Airplane Takeoff Bold Icon, Align Bottom Bold Icon, Align Center Horizontal Simple Bold Icon, App Window Bold Icon, Approximate Equals Bold Icon, Archive Bold Icon, Arrow Bend Down Left Bold Icon (+221 more) - -### Community 2 - "Community 2" -Cohesion: 0.02 -Nodes (58): MetricsSlideData, MetricsSlideLayout(), metricsSlideSchema, CardProps, Schema, Schema, HeadlineDescriptionWithImageLayout(), Schema (+50 more) - -### Community 3 - "Community 3" -Cohesion: 0.02 -Nodes (116): Align Top Simple Bold Icon, App Store Logo Bold Icon, Arrow Elbow Down Right Bold Icon, Arrow Fat Left Bold Icon, Baby Bold Icon, Basketball Bold Icon, Battery Warning Bold Icon, Bell Simple Bold Icon (+108 more) - -### Community 4 - "Community 4" -Cohesion: 0.03 -Nodes (73): BasicInfoSlideData, BasicInfoSlideLayout(), basicInfoSlideSchema, BulletIconsOnlySlideData, BulletIconsOnlySlideLayout(), BulletWithIconsSlideData, BulletWithIconsSlideLayoutProps, bulletWithIconsSlideSchema (+65 more) - -### Community 5 - "Community 5" -Cohesion: 0.02 -Nodes (93): Airplane Tilt Bold Icon, Align Right Bold Icon, Amazon Logo Bold Icon, Arrow Circle Down Bold Icon, Arrows In Cardinal Bold Icon, Atom Bold Icon, Avocado Bold Icon, Bag Simple Bold Icon (+85 more) - -### Community 6 - "Community 6" -Cohesion: 0.02 -Nodes (91): Airplane Taxiing Bold Icon, Airplay Bold Icon, Anchor Bold Icon, Angle Bold Icon, Arrow Bend Right Up Bold Icon, Arrow Circle Up Right Bold Icon, Arrow Line Down Right Bold Icon, Arrows In Line Horizontal Bold Icon (+83 more) - -### Community 7 - "Community 7" -Cohesion: 0.03 -Nodes (73): Arrow Bend Double Up Left Bold Icon, Arrow Circle Left Bold Icon, Arrows Horizontal Bold Icon, Arrows Out Simple Bold Icon, Asclepius Bold Icon, Backspace Bold Icon, Bell Simple Z Bold Icon, Book Open Text Bold Icon (+65 more) - -### Community 8 - "Community 8" -Cohesion: 0.03 -Nodes (72): Align Left Bold Icon, Arrow Line Down Bold Icon, Arrow Square Down Left Bold Icon, Arrows Down Up Bold Icon, Arrows Out Cardinal Bold Icon, Barbell Bold Icon, Bell Simple Ringing Bold Icon, Bold Icon Style (+64 more) - -### Community 9 - "Community 9" -Cohesion: 0.07 -Nodes (65): content, description, post, get, components, schemas, application/json, multipart/form-data (+57 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (47): ApiError, sharp, closeBrowserAndPage(), convertSvgToPng(), GET(), getAllChildElementsAttributes(), getBrowserAndPage(), getElementAttributes() (+39 more) - -### Community 11 - "Community 11" -Cohesion: 0.04 -Nodes (51): dependencies, @babel/standalone, class-variance-authority, clsx, cmdk, @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities (+43 more) - -### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (36): POST /files/upload, POST /pptx-slides/process, DocumentsLoader, decompose_files(), upload_files(), analyze_fonts_in_all_slides(), check_google_font_availability(), _convert_pptx_to_pdf() (+28 more) - -### Community 13 - "Community 13" -Cohesion: 0.06 -Nodes (30): DashboardApi, GET /outlines/stream/{id}, PresentationModel, SlideModel, DashboardPage(), EmptyState(), PresentationGridProps, SaveLayoutButton() (+22 more) - -### Community 14 - "Community 14" -Cohesion: 0.04 -Nodes (50): Acorn Bold Icon, Alarm Bold Icon, Anchor Simple Bold Icon, Bold Icon Style Concept, Brackets Square Bold Icon, Cards Three Bold Icon, Chart Line Up Bold Icon, Cloud Fog Bold Icon (+42 more) - -### Community 15 - "Community 15" -Cohesion: 0.06 -Nodes (23): FileWithId, SupportingDoc(), Wrapper(), WrapperProps, cn(), ConcurrentService, Label, labelVariants (+15 more) - -### Community 16 - "Community 16" -Cohesion: 0.08 -Nodes (34): ConfigurationSelects(), ConfigurationSelectsProps, SlideOption, PromptInput(), PromptInputProps, SaveLayoutModal(), LoadingState, UploadPage() (+26 more) - -### Community 17 - "Community 17" -Cohesion: 0.09 -Nodes (25): GenerateButton(), GenerateButtonProps, OutlineContentProps, OutlinePage(), useOutlineManagement(), DEFAULT_LOADING_STATE, usePresentationGeneration(), usePresentationStreaming() (+17 more) - -### Community 18 - "Community 18" -Cohesion: 0.06 -Nodes (42): Alien Bold Icon, Align Center Horizontal Bold Icon, Align Right Simple Bold Icon, Arrow Bend Left Down Bold Icon, Arrow Circle Down Left Bold Icon, At Bold Icon, Bluetooth Slash Bold Icon, Bold Icon Set (+34 more) - -### Community 19 - "Community 19" -Cohesion: 0.10 -Nodes (39): Template Management Endpoints, presentation_layout_codes Table, templates Table, get_presentation(), convert_html_to_react(), convert_slide_to_html(), create_template(), edit_html_with_images() (+31 more) - -### Community 20 - "Community 20" -Cohesion: 0.06 -Nodes (30): Test start_presentation with invalid prompt type (None). Expects error s, Tests for the help tool, Test help tool with no parameters. Checks for info status and presence o, Tests for the continue_workflow tool, Test continue_workflow with valid session_id. Checks for correct status, Test continue_workflow with missing session_id. Expects error status and, Tests for the export_presentation tool, Test export_presentation with format 'pptx'. Checks for success status, (+22 more) - -### Community 21 - "Community 21" -Cohesion: 0.14 -Nodes (27): AnthropicConfig(), AnthropicConfigProps, CustomConfig(), CustomConfigProps, GoogleConfig(), ImageEditor(), ImageEditorProps, ButtonState (+19 more) - -### Community 22 - "Community 22" -Cohesion: 0.05 -Nodes (26): ChartWithBulletsSlideData, ChartWithBulletsSlideLayoutProps, chartWithBulletsSlideSchema, DEFAULT_CHART_COLORS, divergingDataSchema, multiSeriesDataSchema, scatterDataSchema, simpleDataSchema (+18 more) - -### Community 23 - "Community 23" -Cohesion: 0.09 -Nodes (31): BaseModel, DictGuide, JsonPathGuide, ListGuide, all(), PptxAutoShapeBoxModel, PptxConnectorModel, PptxFillModel (+23 more) - -### Community 24 - "Community 24" -Cohesion: 0.16 -Nodes (33): get_custom_model_env(), get_google_model_env(), get_gpt_image_1_5_quality_env(), get_pexels_api_key_env(), get_web_grounding_env(), check_llm_and_image_provider_api_or_model_availability(), set_anthropic_api_key_env(), set_anthropic_model_env() (+25 more) - -### Community 25 - "Community 25" -Cohesion: 0.10 -Nodes (5): get_layout_detail(), SlideLayoutModel, MockAiohttpResponse, MockAiohttpSession, patch_presentation_api() - -### Community 26 - "Community 26" -Cohesion: 0.12 -Nodes (26): generate_presentation_outlines.py, generate_presentation_structure.py, check_if_api_request_is_valid(), edit_slide(), edit_slide_html(), get_edited_slide_content(), get_messages(), get_system_prompt() (+18 more) - -### Community 27 - "Community 27" -Cohesion: 0.14 -Nodes (3): pptx_presentation_creator.py, Helper method to create XML elements, download_file() - -### Community 29 - "Community 29" -Cohesion: 0.09 -Nodes (21): Providers(), Header(), PresentationPage(), docFile, file1, file2, imageFile, router (+13 more) - -### Community 30 - "Community 30" -Cohesion: 0.07 -Nodes (21): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema, ScatterDataPointSchema (+13 more) - -### Community 31 - "Community 31" -Cohesion: 0.11 -Nodes (14): ButtonState, UserConfig, initialState, userConfigSlice, LLMConfig, pull_ollama_model(), changeProvider(), checkIfSelectedOllamaModelIsPulled() (+6 more) - -### Community 32 - "Community 32" -Cohesion: 0.17 -Nodes (23): APIKeyWarning(), LoadingSpinner(), CustomTemplatePage(), EachSlide(), SlideActions(), useAPIKeyCheck(), useCustomLayout(), useDrawingCanvas() (+15 more) - -### Community 33 - "Community 33" -Cohesion: 0.11 -Nodes (24): API Spec Doc, Architecture Doc, Database Schema Doc, Infrastructure Doc, Next.js Server (servers/nextjs/), Presenton Project Entry Point, Requirements Doc, Runbook Doc (+16 more) - -### Community 34 - "Community 34" -Cohesion: 0.14 -Nodes (14): getHeader(), getHeaderForFormData(), IconSearch, ImageGenerate, ImageSearch, PreviousGeneratedImagesResponse, PresentationGenerationApi, ChartAssignmentResponse (+6 more) - -### Community 35 - "Community 35" -Cohesion: 0.16 -Nodes (19): CustomTemplateCard, LayoutPreview, TemplateSelection(), compileCustomLayout(), CompiledLayout, CustomTemplateDetailResponse, customTemplateFirstSlideCache, getCustomTemplateFirstSlidePreview() (+11 more) - -### Community 36 - "Community 36" -Cohesion: 0.10 -Nodes (22): LibreOffice (PPTX/PDF conversion), Requirements Doc (docs/project/requirements.md), docling (document extraction), fontTools (font metadata), FR-02: Presentation Generation from Documents, FR-03: Custom Template Generation from PPTX, FR-04: Presentation Editing, FR-05: Export (+14 more) - -### Community 37 - "Community 37" -Cohesion: 0.10 -Nodes (12): Test successful image generation with Pexels provider - Mocks the Pexels, Testing the image Generation Service, Test generate_image when no provider is selected - Mocks the environment, Test generate_image when provider function raises an error - Mocks the P, T Test REAL Pexels function with mocked HTTP call - Mocks the Pe, Test REAL Pixabay function with mocked HTTP call - Mocks the Pixabay API, Test initialization of ImageGenerationService with output directory - Ch, Testing the function selection when Pixabay is selected - Checks if (+4 more) - -### Community 38 - "Community 38" -Cohesion: 0.10 -Nodes (13): Schema, chartTypeEnum, Schema, Schema, Schema, Schema, CHART_COLORS, ChartDatumSchema (+5 more) - -### Community 39 - "Community 39" -Cohesion: 0.10 -Nodes (20): compilerOptions, allowJs, esModuleInterop, forceConsistentCasingInFileNames, incremental, isolatedModules, jsx, lib (+12 more) - -### Community 40 - "Community 40" -Cohesion: 0.14 -Nodes (17): ImageProvider Enum, LLMProvider Enum, webhook_subscriptions Table, Enum, LLMCallType, Tone, Verbosity, WebhookEvent (+9 more) - -### Community 41 - "Community 41" -Cohesion: 0.13 -Nodes (11): delete_presentation(), derive_presentation_from_existing_one(), edit_presentation_with_new_content(), get_all_presentations(), update_presentation(), PresentationPathAndEditPath, KeyValueSqlModel, SlideModel (+3 more) - -### Community 42 - "Community 42" -Cohesion: 0.16 -Nodes (6): GetCurrentDatetimeTool, LLMDynamicTool, LLMTool, Search the web for information., Get the current datetime., SearchWebTool - -### Community 43 - "Community 43" -Cohesion: 0.10 -Nodes (12): ImageAsset, imageasset Table, ImagePrompt, Generates an image based on the provided prompt. - If no image generatio, Testing the Image Generation API Endpoint, Mock images directory, Test successful image generation via API endpoint with stock provider -, Test successful image generation via API endpoint with AI provider - Moc (+4 more) - -### Community 44 - "Community 44" -Cohesion: 0.10 -Nodes (12): FileItem, LoadingState, TextContents, MarkdownRenderer(), MarkdownRendererProps, OutlineItem(), OutlineItemProps, APIChartResponse (+4 more) - -### Community 45 - "Community 45" -Cohesion: 0.15 -Nodes (19): Apple Touch Icon PNG, Cypress Component Index HTML, Cypress Testing Framework, Example File Upload Fixture, App Icon 1 SVG, App Icon 2 PNG, Loading Animation GIF, Logo PNG (+11 more) - -### Community 46 - "Community 46" -Cohesion: 0.18 -Nodes (13): FileUploadSection(), FontData, FontManager(), FontManagerProps, UploadedFont, PresentationListItem(), PresentationFilter, Card (+5 more) - -### Community 47 - "Community 47" -Cohesion: 0.16 -Nodes (16): next, deepCopy(), get_dict_at_path(), get_dict_paths_with_key(), has_more_than_n_keys(), process_old_and_new_slides_and_fetch_assets(), process_slide_add_placeholder_assets(), process_slide_and_fetch_assets() (+8 more) - -### Community 48 - "Community 48" -Cohesion: 0.14 -Nodes (9): image_generation_service.py, Base method for Google image generation models., Generate image using Gemini Flash (gemini-2.5-flash-image-preview)., Generate image using NanoBanana Pro (gemini-3-pro-image-preview)., Generate image using ComfyUI workflow API. User provides: - COM, Find the prompt node in the workflow and inject the prompt text. Looks f, Submit workflow to ComfyUI and return the prompt_id., Poll ComfyUI history endpoint until workflow completes. (+1 more) - -### Community 49 - "Community 49" -Cohesion: 0.12 -Nodes (16): aliases, components, hooks, lib, ui, utils, rsc, $schema (+8 more) - -### Community 50 - "Community 50" -Cohesion: 0.18 -Nodes (8): generate_presentation_handler(), prepare_presentation(), DocumentChunk, SlideOutlineModel, ScoreBasedChunker, find_slide_layout_index_by_regex(), get_presentation_title_from_outlines(), select_toc_or_list_slide_layout_index() - -### Community 51 - "Community 51" -Cohesion: 0.12 -Nodes (16): Arrow Arc Right Bold Icon, Arrow Fat Right Bold Icon, Arrow Icons, Arrow Line Down Left Bold Icon, Arrow Line Left Bold Icon, Arrow Line Up Bold Icon, Arrow U Left Down Bold Icon, Arrow U Right Up Bold Icon (+8 more) - -### Community 52 - "Community 52" -Cohesion: 0.18 -Nodes (16): export_utils.py, FastAPI Server (servers/fastapi/), generate_slide_content.py, Pipeline Stage: Asset Fetching, Pipeline Stage: Export, Pipeline Stage: Outline Generation, Pipeline Stage: Prompt/File Input, Pipeline Stage: Slide Content Generation (+8 more) - -### Community 53 - "Community 53" -Cohesion: 0.18 -Nodes (13): EditableElement, EditableLayoutWrapper(), IconsEditorProps, HtmlEditor(), HtmlEditorProps, SheetContent, SheetContentProps, SheetDescription (+5 more) - -### Community 54 - "Community 54" -Cohesion: 0.13 -Nodes (13): tableOfContentsSlideSchema, TableOfContentsLayout(), tableOfContentsSchema, TocItemSchema, Schema, SlideData, SlideLayoutProps, ToCItemSchema (+5 more) - -### Community 55 - "Community 55" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 56 - "Community 56" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 57 - "Community 57" -Cohesion: 0.17 -Nodes (7): ApiErrorResponse, ApiResponseHandler, TemplateService, CustomTemplateLayout, LayoutPayload, SaveStatus, useTemplateLayoutsAutoSave() - -### Community 58 - "Community 58" -Cohesion: 0.20 -Nodes (14): delete_font(), extract_font_name_from_file(), FontListResponse, FontUploadResponse, get_fonts_directory(), is_valid_font_file(), list_fonts(), Upload a font file and save it to the fonts directory. Args: fo (+6 more) - -### Community 59 - "Community 59" -Cohesion: 0.14 -Nodes (12): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, DivergingDataPointSchema, getGridLayout(), MultiChartGridSlideData, MultiChartGridSlideLayoutProps, MultiSeriesDataPointSchema (+4 more) - -### Community 60 - "Community 60" -Cohesion: 0.28 -Nodes (11): get_disable_image_generation_env(), get_selected_image_provider(), is_comfyui_selected(), is_dalle3_selected(), is_gemini_flash_selected(), is_gpt_image_1_5_selected(), is_image_generation_disabled(), is_nanobanana_pro_selected() (+3 more) - -### Community 61 - "Community 61" -Cohesion: 0.13 -Nodes (10): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps, FeatureSchema, IconSchema, Schema (+2 more) - -### Community 62 - "Community 62" -Cohesion: 0.16 -Nodes (12): BusinessModelData, businessModelSchema, CHART_COLORS, Props, CompanyTractionData, CompanyTractionSlideLayout(), computeStats(), defaultColors (+4 more) - -### Community 63 - "Community 63" -Cohesion: 0.15 -Nodes (11): CHART_COLOR_PALETTES, ChartItemSchema, ChartTypeEnum, DivergingDataPointSchema, getGridLayout(), MultiChartGridWithMetricsSlideData, MultiChartGridWithMetricsSlideLayout(), MultiSeriesDataPointSchema (+3 more) - -### Community 64 - "Community 64" -Cohesion: 0.36 -Nodes (8): AnthropicAssistantMessage, AnthropicToolCallMessage, AnthropicUserMessage, GoogleToolCallMessage, LLMMessage, OpenAIAssistantMessage, OpenAIToolCallMessage, AnthropicToolCall - -### Community 65 - "Community 65" -Cohesion: 0.19 -Nodes (9): ImagesApi, generate_image(), get_uploaded_images(), upload_image(), get_file_ext_or_none(), get_file_name_with_random_uuid(), get_original_file_name(), replace_file_name() (+1 more) - -### Community 66 - "Community 66" -Cohesion: 0.17 -Nodes (10): ChartItemSchema, ChartTypeEnum, DivergingDataPointSchema, getGridLayout(), MultiChartGridWithBulletsSlideData, MultiChartGridWithBulletsSlideLayout(), MultiSeriesDataPointSchema, ScatterDataPointSchema (+2 more) - -### Community 67 - "Community 67" -Cohesion: 0.19 -Nodes (9): buildChartData(), buildSimpleData(), ChartRenderer(), DEFAULT_CHART_COLORS, DivergingDataSchema, FormData, Schema, SeriesSchema (+1 more) - -### Community 68 - "Community 68" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 69 - "Community 69" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 70 - "Community 70" -Cohesion: 0.19 -Nodes (10): ChartItemSchema, ChartTypeEnum, DEFAULT_CHART_COLORS, defaultCharts, dynamicSlideLayout(), getGridLayout(), MiniChartRenderer(), Schema (+2 more) - -### Community 71 - "Community 71" -Cohesion: 0.26 -Nodes (13): api/middlewares.py, enums/llm_provider.py, LLMClient Abstraction, Anthropic Provider Backend, Custom OpenAI-Compatible Provider Backend, Google GenAI Provider Backend, Ollama Provider Backend, services/llm_client.py (+5 more) - -### Community 72 - "Community 72" -Cohesion: 0.22 -Nodes (13): Dockerfile (production), Docker Compose: production service, Anthropic Claude Provider, API Endpoint: /api/v1/ppt/presentation/generate, ComfyUI Self-hosted Image Provider, DALL-E 3 Image Provider, Google Gemini Provider, Ollama Integration (+5 more) - -### Community 73 - "Community 73" -Cohesion: 0.19 -Nodes (9): buildChartData(), buildSimpleData(), ChartRenderer(), DEFAULT_CHART_COLORS, DivergingDataSchema, Schema, SeriesSchema, SlideData (+1 more) - -### Community 74 - "Community 74" -Cohesion: 0.28 -Nodes (6): GoogleAssistantMessage, GoogleToolCall, LLMToolCall, OpenAIToolCall, iterator_to_async(), remove_titles_from_schema() - -### Community 75 - "Community 75" -Cohesion: 0.17 -Nodes (8): LayoutItem, LayoutItemProps, NewSlideV1Props, getCustomTemplateDetails(), getSchemaByTemplateId(), getSettingsByTemplateId(), getTemplatesByTemplateName(), GroupLayoutPreview() - -### Community 76 - "Community 76" -Cohesion: 0.17 -Nodes (12): devDependencies, cypress, esbuild, @types/babel__standalone, @types/node, @types/prismjs, @types/puppeteer, @types/react (+4 more) - -### Community 77 - "Community 77" -Cohesion: 0.23 -Nodes (11): args, __dirname, fastapiDir, __filename, main(), nextjsDir, setupNodeModules(), setupUserConfigFromEnv() (+3 more) - -### Community 78 - "Community 78" -Cohesion: 0.18 -Nodes (10): TeamSlideData, TeamSlideLayout(), TeamSlideLayoutProps, teamSlideSchema, ImageSchema, ItemSchema, Schema, SlideData (+2 more) - -### Community 79 - "Community 79" -Cohesion: 0.25 -Nodes (9): PdfSlideData, PdfSlidesResponse, process_pdf_slides(), Process a PDF file to extract slide screenshots. This endpoint: 1. Vali, stream_presentation(), get_exports_directory(), get_images_directory(), get_uploads_directory() (+1 more) - -### Community 80 - "Community 80" -Cohesion: 0.18 -Nodes (11): POST /presentation/generate, POST /webhook/subscribe, AsyncPresentationGenerationTaskModel, FastAPI Backend, WebhookService, async_presentation_generation_tasks Table, server.py (FastAPI entrypoint), ChromaDB Vector Store (+3 more) - -### Community 81 - "Community 81" -Cohesion: 0.29 -Nodes (7): get_model(), is_anthropic_selected(), is_custom_llm_selected(), is_google_selected(), is_ollama_selected(), is_openai_selected(), set_llm_provider_env() - -### Community 82 - "Community 82" -Cohesion: 0.18 -Nodes (7): ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES - -### Community 84 - "Community 84" -Cohesion: 0.20 -Nodes (10): Behance Logo Bold Icon, Cloud X Bold Icon, Download Bold Icon, FastAPI Server, Folders Bold Icon, Gradient Bold Icon, Magic Wand Bold Icon, Magnifying Glass Bold Icon (+2 more) - -### Community 85 - "Community 85" -Cohesion: 0.29 -Nodes (10): fastmcp.FastMCP.from_openapi(), ADR: MCP Server Generated from OpenAPI Snapshot, httpx.AsyncClient, servers/fastapi/mcp_server.py, Architecture Decision Records Index, Cypress E2E Tests, FastAPI Unit Tests (pytest), Next.js Lint Check (+2 more) - -### Community 86 - "Community 86" -Cohesion: 0.29 -Nodes (5): POST(), POST(), getIconFromFile(), getStaticFileUrl(), sanitizeFilename() - -### Community 87 - "Community 87" -Cohesion: 0.20 -Nodes (6): get_available_models(), get_available_models(), get_available_models(), list_available_anthropic_models(), list_available_google_models(), list_available_openai_compatible_models() - -### Community 88 - "Community 88" -Cohesion: 0.22 -Nodes (9): Calendar Dot Bold Icon, Calendar Heart Bold Icon, Calendar Icons, Calendar Slash Bold Icon, Chat Centered Slash Bold Icon, Device Mobile Slash Bold Icon, Lightning Slash Bold Icon, Push Pin Simple Slash Bold Icon (+1 more) - -### Community 89 - "Community 89" -Cohesion: 0.25 -Nodes (9): Arrow Circle Down Right Bold Icon, Arrow Clockwise Bold Icon, Arrow Elbow Left Bold Icon, Arrow Icon Category, Arrow U Right Down Bold Icon, Arrows Vertical Bold Icon, Caret Line Up Bold Icon, Flow Arrow Bold Icon (+1 more) - -### Community 90 - "Community 90" -Cohesion: 0.22 -Nodes (8): IntroSlideData, IntroSlideLayoutProps, introSlideSchema, ImageSchema, IntroSlideLayout(), Schema, SlideData, SlideLayoutProps - -### Community 91 - "Community 91" -Cohesion: 0.28 -Nodes (3): HTMLParser, InlineHTMLToRunsParser, parse_html_text_to_text_runs() - -### Community 92 - "Community 92" -Cohesion: 0.36 -Nodes (6): clip_image(), create_circle_image(), fit_image(), invert_image(), round_image_corners(), set_image_opacity() - -### Community 93 - "Community 93" -Cohesion: 0.25 -Nodes (6): ComponentProps, LayoutInfo, LoadingStateType, NavigationState, TemplateResponse, TemplateSetting - -### Community 94 - "Community 94" -Cohesion: 0.22 -Nodes (8): Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow - -### Community 95 - "Community 95" -Cohesion: 0.22 -Nodes (8): zod, name, overrides, brace-expansion, peerDependencies, private, type, version - -### Community 96 - "Community 96" -Cohesion: 0.25 -Nodes (9): POST /html-to-react/, GET /images/generate, POST /slide-to-html/, ImageGenerationService, LLMClient, External Services, Anthropic Python SDK, Google GenAI SDK (+1 more) - -### Community 97 - "Community 97" -Cohesion: 0.25 -Nodes (6): instrument_sans, inter, metadata, roboto, Toaster(), ToasterProps - -### Community 98 - "Community 98" -Cohesion: 0.25 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 99 - "Community 99" -Cohesion: 0.25 -Nodes (6): CardSchema, IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 100 - "Community 100" -Cohesion: 0.25 -Nodes (6): CardSchema, IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 101 - "Community 101" -Cohesion: 0.39 -Nodes (8): get_database_url_and_connect_args(), MySQL aiomysql Driver, PostgreSQL asyncpg Driver, pyproject.toml, services/database.py, SQLite aiosqlite Driver, utils/db_utils.py, ADR: SQLite as Default Database - -### Community 102 - "Community 102" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 103 - "Community 103" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 104 - "Community 104" -Cohesion: 0.29 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 105 - "Community 105" -Cohesion: 0.29 -Nodes (3): chartTypeEnum, COLORS, Schema - -### Community 106 - "Community 106" -Cohesion: 0.29 -Nodes (3): chartTypeEnum, COLORS, Schema - -### Community 107 - "Community 107" -Cohesion: 0.29 -Nodes (5): CHART_COLORS, ChartDatumSchema, Schema, SlideData, SlideLayoutProps - -### Community 108 - "Community 108" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 109 - "Community 109" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 110 - "Community 110" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 111 - "Community 111" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, LayoutProps, Schema, SlideData - -### Community 112 - "Community 112" -Cohesion: 0.29 -Nodes (5): IconSchema, ImageSchema, Schema, SlideData, SlideLayoutProps - -### Community 113 - "Community 113" -Cohesion: 0.29 -Nodes (5): IconSchema, ItemSchema, Schema, SlideData, SlideLayoutProps - -### Community 114 - "Community 114" -Cohesion: 0.38 -Nodes (6): createTemplateEntry(), getSchemaDefaults(), getSchemaJSON(), TemplateGroupSettings, TemplateLayoutsWithSettings, TemplateMetadata - -### Community 115 - "Community 115" -Cohesion: 0.43 -Nodes (7): Next.js Frontend, nginx Reverse Proxy, Ollama Local LLM, start.js Process Manager, Docker Container, nginx.conf, Next.js Framework - -### Community 116 - "Community 116" -Cohesion: 0.38 -Nodes (4): get_available_models(), pull_model(), OllamaModelStatus, list_pulled_ollama_models() - -### Community 117 - "Community 117" -Cohesion: 0.29 -Nodes (5): app_lifespan(), Lifespan context manager for FastAPI application. Initializes the applicatio, create_db_and_tables(), get_async_session(), get_container_db_async_session() - -### Community 118 - "Community 118" -Cohesion: 0.29 -Nodes (6): Test the slide-to-html endpoint with streaming API support., Test the endpoint with an invalid image path., Test the endpoint with missing XML data., test_slide_to_html_endpoint(), test_slide_to_html_invalid_path(), test_slide_to_html_missing_xml() - -### Community 119 - "Community 119" -Cohesion: 0.43 -Nodes (4): helpQuestions, AccordionContent, AccordionItem, AccordionTrigger - -### Community 121 - "Community 121" -Cohesion: 0.33 -Nodes (4): TiptapTextProps, extensions, TiptapTextReplacer(), TiptapTextReplacerProps - -### Community 122 - "Community 122" -Cohesion: 0.80 -Nodes (6): Canva Design Tool, README Assets Directory, Suraj Jha (Author), Outline Image, Prompting Image, Select Theme Image - -### Community 123 - "Community 123" -Cohesion: 0.33 -Nodes (6): Arrow Arc Left Bold Icon, Arrow Circle Up Bold Icon, Arrow Down Bold Icon, Arrow Fat Line Up Bold Icon, Arrow Fat Lines Right Bold Icon, Arrow Icon - -### Community 124 - "Community 124" -Cohesion: 0.33 -Nodes (6): Logo/Brand Icon, Dribbble Logo Bold Icon, Dropbox Logo Bold Icon, GitLab Logo Simple Bold Icon, Instagram Logo Bold Icon, Webhooks Logo Bold Icon - -### Community 125 - "Community 125" -Cohesion: 0.33 -Nodes (4): teamMemberSchema, TeamSlideData, TeamSlideLayoutProps, teamSlideSchema - -### Community 126 - "Community 126" -Cohesion: 0.33 -Nodes (4): PointSchema, Schema, SlideData, SlideLayoutProps - -### Community 127 - "Community 127" -Cohesion: 0.53 -Nodes (4): SSECompleteResponse, SSEErrorResponse, SSEResponse, SSEStatusResponse - -### Community 128 - "Community 128" -Cohesion: 0.47 -Nodes (5): MCP Endpoint (/mcp), MCP Server, mcp_server.py (MCP entrypoint), openai_spec.json (OpenAPI snapshot), fastmcp - -### Community 129 - "Community 129" -Cohesion: 0.33 -Nodes (5): create_sample_pptx(), Test that non-PPTX files are rejected., Create a minimal PPTX file for testing., Test the PPTX slides processing endpoint., test_invalid_file_type() - -### Community 130 - "Community 130" -Cohesion: 0.40 -Nodes (5): File Audio Bold Icon, File CPP Bold Icon, File INI Bold Icon, File MD Bold Icon, File Vue Bold Icon - -### Community 131 - "Community 131" -Cohesion: 0.40 -Nodes (5): File TXT Bold Icon, Fish Simple Bold Icon, Shield Checkered Bold Icon, Smiley X Eyes Bold Icon, SVG Vector Format - -### Community 132 - "Community 132" -Cohesion: 0.60 -Nodes (5): File Arrow Up Bold Icon, File Icon Category, File PNG Bold Icon, File Video Bold Icon, Upload Simple Bold Icon - -### Community 133 - "Community 133" -Cohesion: 0.40 -Nodes (5): Android Logo Bold Icon, Angular Logo Bold Icon, Matrix Logo Bold Icon, PayPal Logo Bold Icon, Stack Overflow Logo Bold Icon - -### Community 134 - "Community 134" -Cohesion: 0.70 -Nodes (5): File Type Icon, File Bold Icon, File C Sharp Bold Icon, File TSX Bold Icon, Files Bold Icon - -### Community 135 - "Community 135" -Cohesion: 0.40 -Nodes (3): MarketSizeSlideData, MarketSizeSlideProps, marketSizeSlideSchema - -### Community 138 - "Community 138" -Cohesion: 0.40 -Nodes (3): CHART_COLORS, chartTypeEnum, Schema - -### Community 140 - "Community 140" -Cohesion: 0.40 -Nodes (4): description, name, type, version - -### Community 141 - "Community 141" -Cohesion: 0.40 -Nodes (5): scripts, build, dev, lint, start - -### Community 142 - "Community 142" -Cohesion: 0.70 -Nodes (4): get_messages(), get_slide_content_from_type_and_outline(), get_system_prompt(), get_user_prompt() - -### Community 143 - "Community 143" -Cohesion: 0.50 -Nodes (4): Container SQLite Database (container.db), pull_ollama_model_background_task(), upsert_ollama_pull_status(), OllamaPullStatus - -### Community 144 - "Community 144" -Cohesion: 0.40 -Nodes (3): UserConfigEnvUpdateMiddleware, BaseHTTPMiddleware, get_can_change_keys_env() - -### Community 145 - "Community 145" -Cohesion: 0.83 -Nodes (4): Number Square Eight Bold Icon, Number Square Icons, Number Square Six Bold Icon, Number Square Zero Bold Icon - -### Community 146 - "Community 146" -Cohesion: 0.50 -Nodes (4): Article Bold Icon, Note Pencil Bold Icon, Pencil Line Bold Icon, Tote Bold Icon - -### Community 147 - "Community 147" -Cohesion: 0.83 -Nodes (4): Currency CNY Bold Icon, Currency EUR Bold Icon, Currency Icon Category, Currency KRW Bold Icon - -### Community 148 - "Community 148" -Cohesion: 0.50 -Nodes (4): Medium Logo Bold Icon, Social Logo Icon Category, SoundCloud Logo Bold Icon, Threads Logo Bold Icon - -### Community 149 - "Community 149" -Cohesion: 0.67 -Nodes (4): File HTML Bold Icon, File Plus Bold Icon, File XLS Bold Icon, File Zip Bold Icon - -### Community 150 - "Community 150" -Cohesion: 0.50 -Nodes (4): Hand Gesture Icon, Hand Fist Bold Icon, Hand Pointing Bold Icon, Hands Praying Bold Icon - -### Community 151 - "Community 151" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 153 - "Community 153" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 154 - "Community 154" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 155 - "Community 155" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 157 - "Community 157" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 158 - "Community 158" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 160 - "Community 160" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 161 - "Community 161" -Cohesion: 0.50 -Nodes (3): default, description, ordered - -### Community 162 - "Community 162" -Cohesion: 0.50 -Nodes (4): openai_spec.json (OpenAPI snapshot), ADR: MCP from OpenAPI, Built-in MCP Server, FR-11: MCP Server - -### Community 164 - "Community 164" -Cohesion: 0.50 -Nodes (3): body, email, name - -### Community 166 - "Community 166" -Cohesion: 0.67 -Nodes (4): Chat Centered Bold Icon, Chat Dots Bold Icon, Chat Teardrop Slash Bold Icon, Chat Text Bold Icon - -### Community 167 - "Community 167" -Cohesion: 0.50 -Nodes (3): Main SQLite Database (fastapi.db), /app_data Persistent Volume, SQLModel ORM - -### Community 168 - "Community 168" -Cohesion: 1.00 -Nodes (3): Cloud Arrow Up Bold Icon, Cloud Bold Icon, Cloud Icons - -### Community 169 - "Community 169" -Cohesion: 1.00 -Nodes (3): Crown Cross Bold Icon, Crown Icons, Crown Simple Bold Icon - -### Community 170 - "Community 170" -Cohesion: 1.00 -Nodes (3): Lock Icons, Lock Key Bold Icon, Lock Open Bold Icon - -### Community 171 - "Community 171" -Cohesion: 1.00 -Nodes (3): Map Pin Icons, Map Pin Line Bold Icon, Map Pin Plus Bold Icon - -### Community 172 - "Community 172" -Cohesion: 1.00 -Nodes (3): Cell Signal Low Bold Icon, Cell Signal Medium Bold Icon, Signal Icons - -### Community 173 - "Community 173" -Cohesion: 0.67 -Nodes (3): Check Bold Icon, Check Square Bold Icon, Seal Check Bold Icon - -### Community 174 - "Community 174" -Cohesion: 0.67 -Nodes (3): Clock User Bold Icon, Folder Bold Icon, User Circle Gear Bold Icon - -### Community 175 - "Community 175" -Cohesion: 0.67 -Nodes (3): Intersection Bold Icon, Subtract Square Bold Icon, Unite Bold Icon - -### Community 176 - "Community 176" -Cohesion: 1.00 -Nodes (3): Sun/Light Concept, Sun Dim Bold Icon, Sun Horizon Bold Icon - -### Community 177 - "Community 177" -Cohesion: 0.67 -Nodes (3): Number Circle Five Bold Icon, Number Circle Six Bold Icon, Number Circle Two Bold Icon - -### Community 178 - "Community 178" -Cohesion: 1.00 -Nodes (3): Folder Icon Category, Folder Simple Plus Bold Icon, Ladder Simple Bold Icon - -### Community 179 - "Community 179" -Cohesion: 0.67 -Nodes (3): FastAPI Static Icons Directory, Placeholder Icon SVG, Shopping Cart Bold Icon - -### Community 180 - "Community 180" -Cohesion: 0.67 -Nodes (3): User Focus Bold Icon, User Plus Bold Icon, User Square Bold Icon - -### Community 181 - "Community 181" -Cohesion: 0.67 -Nodes (3): Cloud Arrow Down Bold Icon, Cloud Sun Bold Icon, Cloud Warning Bold Icon - -### Community 182 - "Community 182" -Cohesion: 0.67 -Nodes (3): Device Icon, Device Mobile Camera Bold Icon, Devices Bold Icon - -### Community 183 - "Community 183" -Cohesion: 0.67 -Nodes (3): Folder Icon, Folder Lock Bold Icon, Folder Plus Bold Icon - -### Community 184 - "Community 184" -Cohesion: 0.67 -Nodes (3): TableInfoSlideData, TableInfoSlideLayout(), tableInfoSlideSchema - -### Community 187 - "Community 187" -Cohesion: 0.67 -Nodes (3): Arrow Bend Right Down Bold Icon, Arrow Bend Up Right Bold Icon, Arrow Down Right Bold Icon - -### Community 188 - "Community 188" -Cohesion: 0.67 -Nodes (3): Chart Bar Bold Icon, Chart Scatter Bold Icon, Presentation Chart Bold Icon - -### Community 189 - "Community 189" -Cohesion: 0.67 -Nodes (3): Command Bold Icon, Keyboard Bold Icon, Linux Logo Bold Icon - -### Community 190 - "Community 190" -Cohesion: 0.67 -Nodes (3): Currency Circle Dollar Bold Icon, Currency INR Bold Icon, Money Wavy Bold Icon - -### Community 191 - "Community 191" -Cohesion: 0.67 -Nodes (3): File Magnifying Glass Bold Icon, File PDF Bold Icon, File TypeScript Bold Icon - -### Community 192 - "Community 192" -Cohesion: 1.00 -Nodes (3): LinkedIn Logo Bold Icon, Snapchat Logo Bold Icon, Twitter Logo Bold Icon - -### Community 193 - "Community 193" -Cohesion: 0.67 -Nodes (3): Headset Bold Icon, Microphone Bold Icon, Speaker Simple Slash Bold Icon - -### Community 194 - "Community 194" -Cohesion: 1.00 -Nodes (3): Smiley Angry Bold Icon, Smiley Meh Bold Icon, Smiley Nervous Bold Icon - -### Community 195 - "Community 195" -Cohesion: 0.67 -Nodes (3): User Circle Check Bold Icon, User Minus Bold Icon, User Sound Bold Icon - -### Community 196 - "Community 196" -Cohesion: 0.67 -Nodes (3): Head Circuit Bold Icon, Person Bold Icon, User Gear Bold Icon - -### Community 197 - "Community 197" -Cohesion: 1.00 -Nodes (3): UserConfigEnvUpdateMiddleware, Environment Variables Configuration, userConfig.json - -## Ambiguous Edges - Review These -- `FastAPI Backend` → `ChromaDB Vector Store` [AMBIGUOUS] - docs/project/tech_stack.md · relation: references - -## Knowledge Gaps -- **1580 isolated node(s):** `__filename`, `__dirname`, `fastapiDir`, `nextjsDir`, `args` (+1575 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **144 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **What is the exact relationship between `FastAPI Backend` and `ChromaDB Vector Store`?** - _Edge tagged AMBIGUOUS (relation: references) - confidence is low._ -- **Why does `PresentationModel` connect `Community 13` to `Community 34`, `Community 41`, `Community 80`, `Community 50`, `Community 25`?** - _High betweenness centrality (0.069) - this node is a cross-community bridge._ -- **Why does `V1ContentRender()` connect `Community 13` to `Community 2`, `Community 35`, `Community 34`, `Community 53`, `Community 21`, `Community 120`, `Community 121`?** - _High betweenness centrality (0.060) - this node is a cross-community bridge._ -- **Why does `PresentationGenerationApi` connect `Community 34` to `Community 65`, `Community 75`, `Community 44`, `Community 13`, `Community 16`, `Community 17`, `Community 21`, `Community 53`, `Community 57`, `Community 26`, `Community 29`?** - _High betweenness centrality (0.049) - this node is a cross-community bridge._ -- **Are the 407 inferred relationships involving `Bold Icon Set` (e.g. with `Battery Vertical Low Bold Icon` and `Bookmark Simple Bold Icon`) actually correct?** - _`Bold Icon Set` has 407 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 367 inferred relationships involving `Phosphor Icons Bold Style` (e.g. with `Buildings Bold Icon` and `Clock Counter Clockwise Bold Icon`) actually correct?** - _`Phosphor Icons Bold Style` has 367 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 137 inferred relationships involving `Phosphor Bold Icon Set` (e.g. with `Coat Hanger Bold Icon` and `Bag Simple Bold Icon`) actually correct?** - _`Phosphor Bold Icon Set` has 137 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/sandbox-notebookllamalm-nextjs-structure.md b/wiki/architecture/sandbox-notebookllamalm-nextjs-structure.md deleted file mode 100644 index 9886e2f..0000000 --- a/wiki/architecture/sandbox-notebookllamalm-nextjs-structure.md +++ /dev/null @@ -1,276 +0,0 @@ ---- -tags: [architecture, graphify, sandbox-notebookllamalm-nextjs] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/sandbox-notebookllamalm-nextjs (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 739 nodes · 1283 edges · 55 communities (49 shown, 6 thin omitted) -- Extraction: 75% EXTRACTED · 25% INFERRED · 0% AMBIGUOUS · INFERRED: 318 edges (avg confidence: 0.73) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] - -## God Nodes (most connected - your core abstractions) -1. `get_db_session()` - 61 edges -2. `get_notebook_by_id()` - 27 edges -3. `CLAUDE.md Developer Guide` - 25 edges -4. `Sandbox-NotebookLM Project` - 24 edges -5. `serialize_datetime()` - 18 edges -6. `AGENTS.md Project Entry Point` - 17 edges -7. `compilerOptions` - 16 edges -8. `User` - 16 edges -9. `Execute document processing task in background` - 15 edges -10. `_generate()` - 15 edges - -## Surprising Connections (you probably didn't know these) -- `Notebook Sharing & Permissions` --conceptually_related_to--> `Notebooks Routes (notebooks.py)` [INFERRED] - README.md → backend/src/api/routes/notebooks.py -- `LLM Factory (llm_factory.py)` --calls--> `OpenAI (GPT Models)` [EXTRACTED] - backend/src/notebookllama/llm_factory.py → README.md -- `LLM Factory (llm_factory.py)` --calls--> `Anthropic (Claude Models)` [EXTRACTED] - backend/src/notebookllama/llm_factory.py → README.md -- `LLM Factory (llm_factory.py)` --calls--> `Google (Gemini Models)` [EXTRACTED] - backend/src/notebookllama/llm_factory.py → README.md -- `WebSocket Chat System` --conceptually_related_to--> `Chat Routes (chat.py)` [INFERRED] - README.md → backend/src/api/routes/chat.py - -## Communities (55 total, 6 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.07 -Nodes (52): AGENTS.md Project Entry Point, Admin Routes (admin.py), Podcast Audio Generation (audio.py), Auth Routes (auth.py), Background Tasks (background_tasks.py), Chat Routes (chat.py), Database Models (database.py), Documents Routes (documents.py) (+44 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (38): dependencies, axios, @azure/msal-browser, date-fns, lucide-react, next, react, react-dom (+30 more) - -### Community 2 - "Community 2" -Cohesion: 0.11 -Nodes (42): Base, ChatMessage, ChatSession, Document, DocumentShare, DocumentSummary, drop_all_tables(), get_db() (+34 more) - -### Community 3 - "Community 3" -Cohesion: 0.10 -Nodes (42): set_user_ctx(), get_notebook_by_id(), create_mindmap_svg(), create_pdf_bytes(), create_pptx_bytes(), Generate PPTX file bytes styled with OLIVER brand guidelines., Generate PDF bytes from ReportOutput dict using WeasyPrint., Generate SVG bytes from MindMapOutput dict. (+34 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (38): Get the latest podcast generation task for a notebook, Datetime utilities for consistent timezone handling across the application. All, Get current UTC time as timezone-aware datetime. Use this instead of datetim, Serialize datetime to ISO format string with UTC marker. Args: dt:, serialize_datetime(), utc_now(), check_admin(), check_health() (+30 more) - -### Community 5 - "Community 5" -Cohesion: 0.06 -Nodes (38): create_access_token(), decode_token(), get_current_user(), get_optional_user(), JWT Authentication Middleware for FastAPI Provides token generation and validati, FastAPI dependency for optional authentication (returns None if not authenticate, Create a JWT access token for a user Args: user_id: The user's data, Decode and validate a JWT token Args: token: JWT token string (+30 more) - -### Community 6 - "Community 6" -Cohesion: 0.13 -Nodes (24): api, token, AdminStats, AuthResponse, ChatMessage, ChatSession, Document, DocumentSummary (+16 more) - -### Community 7 - "Community 7" -Cohesion: 0.10 -Nodes (25): get_db_session(), Get database session directly - caller must close with db.close() Use this, can_access_document(), create_chat_session(), create_document(), get_chat_history(), get_document_by_id(), get_document_shares() (+17 more) - -### Community 8 - "Community 8" -Cohesion: 0.10 -Nodes (26): cleanup_old_stashed_files(), execute_podcast_task(), get_llamaextract_agent_with_retry(), get_llamaparse_with_retry(), get_notebook_processing_tasks(), get_task_status(), get_user_tasks(), Simple background task system using database as queue No external dependencies l (+18 more) - -### Community 9 - "Community 9" -Cohesion: 0.16 -Nodes (19): BaseModel, Notebook, BarChartItem, DataTableOutput, DataTableRow, DiagramData, Flashcard, FlashcardsOutput (+11 more) - -### Community 10 - "Community 10" -Cohesion: 0.10 -Nodes (20): add_document_to_notebook(), create_notebook(), get_shared_chats(), get_user_notebooks(), get_user_private_chats(), Notebook management helper functions for multi-document notebooks, Create a new notebook (collection of documents) with dedicated pipeline Rai, Add a document to a notebook (+12 more) - -### Community 11 - "Community 11" -Cohesion: 0.10 -Nodes (19): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+11 more) - -### Community 12 - "Community 12" -Cohesion: 0.11 -Nodes (17): add_document_to_pipeline(), cleanup_all_orphaned_pipelines(), create_notebook_pipeline(), delete_notebook_documents_from_pipeline(), delete_pipeline_and_files(), get_or_create_shared_pipeline(), get_shared_pipeline_id(), Per-notebook pipeline management for data isolation Supports two modes: 1. Lega (+9 more) - -### Community 13 - "Community 13" -Cohesion: 0.25 -Nodes (11): MicrosoftCallbackPage(), authAPI, loginRequest, msalConfig, msalInstance, LoginPage(), NotebooksPage(), SignupPage() (+3 more) - -### Community 15 - "Community 15" -Cohesion: 0.17 -Nodes (15): extract_llama_tokens(), get_user_ctx(), model_id_for(), Map llm_factory model_type alias to the actual model ID string., Extract (input_tokens, output_tokens) from a LlamaIndex ChatResponse., generate_notebook_synthesis(), generate_podcast_outline(), generate_podcast_script_from_outline() (+7 more) - -### Community 16 - "Community 16" -Cohesion: 0.15 -Nodes (14): get_model_display_name(), Get user-friendly model name, check_pipeline_ready_with_test(), get_notebook_query_engine(), is_shared_pipeline(), query_notebook_pipeline(), Check if pipeline_id is the shared pipeline (with fallback lookup). This as, Check if pipeline is actually ready by doing ONE simple test query Only call (+6 more) - -### Community 17 - "Community 17" -Cohesion: 0.18 -Nodes (7): _conversation_audio(), ConversationTurn, MultiTurnConversation, PodcastGenerator, get_voice_name(), Voice configuration for ElevenLabs TTS podcast generation, Get the friendly name for a voice ID, or 'Unknown' if not found. - -### Community 18 - "Community 18" -Cohesion: 0.15 -Nodes (13): get_latest_document_summary(), Get all summaries for a document, Get the latest summary for a document, get_notebook_documents(), Get all documents in a notebook, Get all notebooks containing a document, Get count of documents in a notebook, get_document_summary() (+5 more) - -### Community 19 - "Community 19" -Cohesion: 0.17 -Nodes (11): _format_params(), _format_result(), log_api_call(), log_api_info(), log_api_retry(), API Call Logging Utilities Provides visibility into external API calls (LlamaClo, Format result for logging (extract key info), Simple info log for API-related messages. Usage: log_api_info("LLAM (+3 more) - -### Community 20 - "Community 20" -Cohesion: 0.20 -Nodes (9): Edge, get_mind_map(), MindMap, MindMapCreationFailedWarning, Node, process_file(), query_index(), A warning returned if the mind map creation failed (+1 more) - -### Community 21 - "Community 21" -Cohesion: 0.17 -Nodes (11): delete_chat_session(), Toggle a chat session between private and shared, Delete a chat session (only owner can delete), toggle_chat_sharing(), delete_session(), Chat session management routes, Toggle chat session sharing, Rename a chat session (+3 more) - -### Community 22 - "Community 22" -Cohesion: 0.22 -Nodes (9): montserrat, Navigation(), ProtectedRoute(), Theme, ThemeContext, ThemeContextValue, ThemeProvider(), useTheme() (+1 more) - -### Community 23 - "Community 23" -Cohesion: 0.20 -Nodes (9): get_llm_by_type(), get_model_emoji(), get_model_info(), get_structured_llm(), LLM Factory - Create OpenAI or Gemini LLMs based on user choice Supports per-not, Get structured LLM for pydantic output. Args: model_type: model ali, Get emoji for model type, Get model information including costs (+1 more) - -### Community 24 - "Community 24" -Cohesion: 0.22 -Nodes (9): analyze_video_with_gemini(), estimate_processing_time(), get_video_duration(), Gemini 2.5 Pro Video Processing Handles video upload, analysis, and transcript e, Get video duration in seconds using ffprobe (preferred) or moviepy (fallback)., Estimate processing time for video. Args: duration_seconds: Video d, Validate video meets requirements. Args: file_path: Path to video f, Analyze video using Gemini 2.5 Pro's multimodal capabilities. Uses the new g (+1 more) - -### Community 25 - "Community 25" -Cohesion: 0.27 -Nodes (8): Event, extract_file_data(), FileInputEvent, generate_mind_map(), MindMapCreationEvent, NotebookOutputEvent, StartEvent, StopEvent - -### Community 26 - "Community 26" -Cohesion: 0.22 -Nodes (3): AdminPage(), FEATURES, adminAPI - -### Community 27 - "Community 27" -Cohesion: 0.39 -Nodes (6): check_health(), error(), info(), on_error(), print_rollback(), warn() - -### Community 28 - "Community 28" -Cohesion: 0.31 -Nodes (8): _enabled(), preflight(), Lightweight AI Cost Tracker integration — fail-open, fire-and-forget., Record AI usage after a call. Fire-and-forget — errors never propagate., Enrich user record with profile data. Call once on login. Sync, non-fatal., Check budget before an AI call. Always returns True on error (fail-open)., record(), upsert_user() - -### Community 29 - "Community 29" -Cohesion: 0.36 -Nodes (9): build_context(), _generate(), generate_datatable(), generate_flashcards(), generate_infographic(), generate_quiz(), generate_report(), generate_slides() (+1 more) - -### Community 30 - "Community 30" -Cohesion: 0.25 -Nodes (4): DowngradePollingFilter, FastAPI application for Sandbox-NotebookLM Wraps existing Python backend with RE, # NOTE: Error suppression removed to allow proper debugging, Downgrade repetitive polling endpoint logs to DEBUG level - -### Community 31 - "Community 31" -Cohesion: 0.46 -Nodes (5): check_alive(), confirm(), info(), remove_dir(), warn() - -### Community 32 - "Community 32" -Cohesion: 0.32 -Nodes (7): apply_custom_styles(), get_custom_css(), Global CSS styles for NotebookLlaMa Apply consistent typography and styling acro, Display the logo at the top of the page, Apply custom CSS to the current page, Return custom CSS for the application, show_logo() - -### Community 33 - "Community 33" -Cohesion: 0.25 -Nodes (8): add_chat_message(), Add a message to a chat session, create_notebook_chat_session(), Create a chat session for a notebook, chat_websocket(), WebSocket endpoint for real-time chat with notebook, create_chat_session_endpoint(), Create a new chat session with deduplication - -### Community 34 - "Community 34" -Cohesion: 0.29 -Nodes (3): Message, chatAPI, notebookAPI - -### Community 35 - "Community 35" -Cohesion: 0.33 -Nodes (5): NotebookLMWorkflow, process_document_for_notebook(), Process a single document and add to notebook - DIRECT API CALLS (no MCP), sync_process_document(), Workflow - -### Community 36 - "Community 36" -Cohesion: 0.40 -Nodes (5): extract_with_llm(), parse_llm_extraction_response(), LLM-based document extraction fallback for file types not supported by LlamaExtr, Extract structured information from document text using LLM. This is a fallb, Parse the LLM response into structured format matching LlamaExtract output. - -### Community 37 - "Community 37" -Cohesion: 0.33 -Nodes (5): LoginRequest, MicrosoftLoginRequest, Search users by email or username for sharing purposes. - Requires minimum, search_users(), SignupRequest - -### Community 38 - "Community 38" -Cohesion: 0.33 -Nodes (6): create_task(), Create a background task, Start podcast generation in background and return task ID NOTE: Fully paral, Start document processing in background and return task ID, start_document_processing_background(), Start podcast generation in background - -### Community 39 - "Community 39" -Cohesion: 0.30 -Nodes (5): extract_slides_json_from_pptx(), Parse a PPTX binary and return a StudioSlides-compatible dict for preview., Regenerate a single slide based on a custom prompt., regenerate_single_slide(), SlideContent - -### Community 41 - "Community 41" -Cohesion: 0.50 -Nodes (4): delete_notebook(), Delete a notebook and cleanup LlamaCloud resources For shared pipelines: On, delete_notebook_endpoint(), Delete a notebook and all its data - -## Knowledge Gaps -- **70 isolated node(s):** `config`, `name`, `version`, `private`, `dev` (+65 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **6 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `get_db_session()` connect `Community 7` to `Community 33`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 38`, `Community 37`, `Community 8`, `Community 41`, `Community 10`, `Community 18`, `Community 21`?** - _High betweenness centrality (0.185) - this node is a cross-community bridge._ -- **Why does `analyze_pptx_template()` connect `Community 1` to `Community 9`?** - _High betweenness centrality (0.074) - this node is a cross-community bridge._ -- **Are the 59 inferred relationships involving `get_db_session()` (e.g. with `authenticate_user()` and `create_user()`) actually correct?** - _`get_db_session()` has 59 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 26 inferred relationships involving `get_notebook_by_id()` (e.g. with `execute_podcast_task()` and `Execute document processing task in background`) actually correct?** - _`get_notebook_by_id()` has 26 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `config`, `name`, `version` to the rest of the system?** - _260 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.07457627118644068 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.04591836734693878 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/semblance-structure.md b/wiki/architecture/semblance-structure.md deleted file mode 100644 index 0e126db..0000000 --- a/wiki/architecture/semblance-structure.md +++ /dev/null @@ -1,693 +0,0 @@ ---- -tags: [architecture, graphify, semblance] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/semblance (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 2218 nodes · 4047 edges · 252 communities (104 shown, 148 thin omitted) -- Extraction: 88% EXTRACTED · 12% INFERRED · 0% AMBIGUOUS · INFERRED: 500 edges (avg confidence: 0.73) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_COMMUNITY_Community 186|Community 186]] -- [[_COMMUNITY_Community 187|Community 187]] -- [[_COMMUNITY_Community 188|Community 188]] -- [[_COMMUNITY_Community 189|Community 189]] -- [[_COMMUNITY_Community 190|Community 190]] -- [[_COMMUNITY_Community 191|Community 191]] -- [[_COMMUNITY_Community 192|Community 192]] -- [[_COMMUNITY_Community 193|Community 193]] -- [[_COMMUNITY_Community 194|Community 194]] -- [[_COMMUNITY_Community 195|Community 195]] -- [[_COMMUNITY_Community 196|Community 196]] -- [[_COMMUNITY_Community 197|Community 197]] -- [[_COMMUNITY_Community 198|Community 198]] -- [[_COMMUNITY_Community 199|Community 199]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] - -## God Nodes (most connected - your core abstractions) -1. `Focus Group` - 106 edges -2. `cn()` - 81 edges -3. `get_db()` - 79 edges -4. `get_jwt_identity()` - 53 edges -5. `LLMService` - 47 edges -6. `Button` - 47 edges -7. `Autonomous Conversation Controller` - 42 edges -8. `DiscussionGuideValidator` - 40 edges -9. `conversation_state_manager.py` - 37 edges -10. `AIRecruiter()` - 36 edges - -## Surprising Connections (you probably didn't know these) -- `Semblance Architecture PDF Document` --semantically_similar_to--> `Application Documentation Overview` [INFERRED] [semantically similar] - semblance_architecture.pdf → semblance_app_documentation.md -- `Semblance Security Remediation Report PDF` --semantically_similar_to--> `Semblance Security Audit Report` [INFERRED] [semantically similar] - security_report.pdf → security_report.md -- `conversation_state_manager.py` --semantically_similar_to--> `services/conversation_state_manager.py` [INFERRED] [semantically similar] - CLAUDE.md → security_report.md -- `personasApi` --conceptually_related_to--> `Synthetic Persona` [INFERRED] - src/lib/api.ts → backend/prompts/persona-detailed-generation.md -- `focusGroupAiApi` --conceptually_related_to--> `Focus Group` [INFERRED] - src/lib/api.ts → backend/README.md - -## Communities (252 total, 148 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.05 -Nodes (79): ADR: Dedicated OS Thread for Autonomous AI, ADR: Quart + Hypercorn ASGI Stack, ADR: Multi-Provider LLM Routing, app/extensions.py (socketio AsyncServer), contexts/WebSocketContextNew.tsx, AI Runner Service (ai_runner_service.py), src/lib/api.ts, conversation_decision_service.py (+71 more) - -### Community 1 - "Community 1" -Cohesion: 0.04 -Nodes (54): UserCardProps, cn(), AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle (+46 more) - -### Community 2 - "Community 2" -Cohesion: 0.03 -Nodes (58): dependencies, axios, @azure/msal-browser, @azure/msal-react, caniuse-lite, class-variance-authority, clsx, cmdk (+50 more) - -### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (31): Autonomous Conversation Controller, get_autonomous_conversation_status(), get_reasoning_history(), Get the AI reasoning history for an autonomous conversation. Returns:, Get the status of autonomous conversation for a focus group. Returns:, Autonomous Conversation Controller Orchestrates the autonomous conversation flow, Fallback method to advance position sequentially., Yield control to allow other tasks to run and flush WebSocket frames. (+23 more) - -### Community 4 - "Community 4" -Cohesion: 0.07 -Nodes (44): BaseDocTemplate, Flowable, Paragraph, ArchDocTemplate, BookmarkedHeading, build_architecture_doc(), build_chapter_1(), bullet() (+36 more) - -### Community 5 - "Community 5" -Cohesion: 0.08 -Nodes (38): formSchema, AIRecruiterProps, ChatMessageProps, initialThemes, sampleFocusGroups, samplePersonas, DiscussionPanel(), DiscussionPanelProps (+30 more) - -### Community 6 - "Community 6" -Cohesion: 0.06 -Nodes (36): create_app(), Set up temporary directories for file handling., setup_temp_directories(), create_app_logger(), CustomHTTPFilter, Custom logging configuration for the application to reduce noise., Filter to reduce noise from routine HTTP requests., Filter log records to reduce noise from routine operations. (+28 more) - -### Community 7 - "Community 7" -Cohesion: 0.10 -Nodes (31): PersonaReviewList(), PersonaReviewListProps, LoginRequiredProps, ThemeHighlighterProps, StatCard(), StatCardProps, AutonomousDashboardProps, ConversationAnalytics (+23 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (43): batch_generate_and_save_personas(), batch_generate_personas(), batch_generate_summaries(), complete_and_save_persona(), complete_persona(), enhance_audience_brief_endpoint(), generate_ai_persona(), generate_and_save_persona() (+35 more) - -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (22): BackendAsset, LocalAsset, Folder, FolderTreeProps, DashboardHeader(), activityData, sentimentData, topicBreakdownData (+14 more) - -### Community 10 - "Community 10" -Cohesion: 0.07 -Nodes (26): AdminRoute(), AdminRouteProps, msalInstance, MsalProvider(), UserCreator(), loginRequest, silentRequest, tokenRequest (+18 more) - -### Community 11 - "Community 11" -Cohesion: 0.12 -Nodes (38): get_db(), Get database connection using singleton Motor client per event loop., Focus Group, _activate_visual_assets(), add_generated_theme(), add_message(), add_mode_event(), add_note() (+30 more) - -### Community 12 - "Community 12" -Cohesion: 0.07 -Nodes (22): Stop autonomous conversation for a focus group. Request body: {, stop_autonomous_conversation(), get_ai_runner(), init_ai_runner(), AI Runner Service Provides a single dedicated thread with an asyncio event loop, Main thread function that runs the asyncio event loop., Initialize async resources (database, HTTP clients) on the AI loop., Cleanup async resources. (+14 more) - -### Community 13 - "Community 13" -Cohesion: 0.11 -Nodes (24): PRESETS, Props, GroupBy, UsageTab(), User, UsersTab(), UsageSummaryParams, useAdminUsageSummary() (+16 more) - -### Community 14 - "Community 14" -Cohesion: 0.14 -Nodes (23): PricingRow, PricingTab(), PricingTier, CopyGuideDialog(), QuickNoteModalProps, Note, useCreatePricing(), DiscussionGuideGenerationReturn (+15 more) - -### Community 15 - "Community 15" -Cohesion: 0.16 -Nodes (25): AIRecruiter(), formSchema, UserCreatorProps, SetupTab(), SetupTabProps, ModificationFormData, modificationFormSchema, FormControl (+17 more) - -### Community 16 - "Community 16" -Cohesion: 0.13 -Nodes (21): formSchema, NavigationContextType, NavigationState, AnalyticsPanel(), FolderSidebar(), personasApi, PersonaEditor(), PersonaProfile() (+13 more) - -### Community 17 - "Community 17" -Cohesion: 0.11 -Nodes (27): AI Moderator Service, advance_discussion(), _advance_position(), _count_completed_items(), _count_total_items(), end_session_with_concluding_statement(), _format_messages_for_context(), _generate_concluding_statement() (+19 more) - -### Community 18 - "Community 18" -Cohesion: 0.10 -Nodes (17): Persona Export Service, Bulk Persona Export Service Handles bulk export of persona profiles to various, Create comprehensive markdown from persona data with all fields included., Service for bulk exporting persona profiles with progress tracking., Create a temporary directory for export files., Export multiple personas to specified format with progress tracking., Export personas as markdown files in a ZIP archive., Sanitize filename for safe file system use. (+9 more) - -### Community 19 - "Community 19" -Cohesion: 0.08 -Nodes (24): Image Description Service, Exception, FocusGroupSummaryError, generate_focus_group_summary(), Focus Group Summary Service This service generates LLM-powered one-line summari, Custom exception for focus group summary generation errors., Generate a one-line summary of a focus group for display in list views. Arg, generate_description() (+16 more) - -### Community 20 - "Community 20" -Cohesion: 0.09 -Nodes (29): create_user(), disable_user(), enable_user(), get_user(), list_focus_groups(), list_users(), _month_start(), _parse_iso() (+21 more) - -### Community 21 - "Community 21" -Cohesion: 0.08 -Nodes (17): WebSocketContext, WebSocketProvider(), WebSocketProviderProps, UseWebSocketOptions, UseWebSocketReturn, WebSocketState, convertWebSocketMessage(), convertWebSocketTheme() (+9 more) - -### Community 22 - "Community 22" -Cohesion: 0.12 -Nodes (20): createPersistentToast(), PersistentToastOptions, persistentToasts, toastService, updatePersistentToast(), UpdatePersistentToastOptions, sampleFocusGroups, statusColors (+12 more) - -### Community 23 - "Community 23" -Cohesion: 0.11 -Nodes (27): Focus Group Response Service (Mermaid), advance_moderator_discussion(), Advance the moderator to the next item in the discussion guide. For manual m, add_focus_group_message(), Add a new message to a focus group., _determine_response_length_preference(), extract_asset_filename_from_content(), FocusGroupResponseError (+19 more) - -### Community 24 - "Community 24" -Cohesion: 0.07 -Nodes (25): Separator, Sidebar, SidebarContext, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel (+17 more) - -### Community 25 - "Community 25" -Cohesion: 0.12 -Nodes (28): get_async_websocket_manager(), Get the global async WebSocket manager instance., generate_key_themes(), make_conversation_decision(), Make a conversation decision using the LLM decision engine. Returns 202 imme, Generate key themes from a focus group discussion. Request body: {, _run_conversation_decision_bg(), _run_key_themes_bg() (+20 more) - -### Community 26 - "Community 26" -Cohesion: 0.09 -Nodes (21): Quart Authentication Module Provides JWT authentication functionality compatibl, create_access_token(), decode_token(), get_current_user(), jwt_required(), QuartJWTError, Quart-compatible JWT Authentication Replacement for Flask-JWT-Extended to work, Get current user ID (alias for get_jwt_identity). (+13 more) - -### Community 27 - "Community 27" -Cohesion: 0.12 -Nodes (22): conversation_state_manager.py, get_conversation_analytics(), manual_intervention(), Manually intervene in autonomous conversation. Request body: {, Get detailed conversation analytics for a focus group. Returns:, Conversation State Manager Manages conversation state, analytics, and tracking f, Manager for conversation state and analytics., Check if the analytics cache is still valid. (+14 more) - -### Community 28 - "Community 28" -Cohesion: 0.10 -Nodes (13): AsyncWebSocketManager, Join a user session to a focus group room., Remove a user session from a focus group room., Emit an event to all users in a focus group room., Store the main ASGI event loop for cross-thread emission., Emit a new message to focus group participants., Register all WebSocket event handlers., Emit AI status change to focus group participants. (+5 more) - -### Community 29 - "Community 29" -Cohesion: 0.10 -Nodes (25): get_jwt_identity(), Get the identity (user ID) from the current JWT token. Returns:, cleanup_customer_data(), Upload customer data files and parse them using LlamaParse. Request: mu, Clean up customer data files for a specific session. Args: sess, Rate limit key: endpoint + user identity (set after JWT validation)., upload_customer_data(), _user_key() (+17 more) - -### Community 30 - "Community 30" -Cohesion: 0.08 -Nodes (23): initialize_database(), Set up temp directories before Quart imports., Initialize the application on startup., Run the server with enhanced shutdown pattern and diagnostics., run_server(), setup_early_temp_directories(), startup(), aliases (+15 more) - -### Community 31 - "Community 31" -Cohesion: 0.18 -Nodes (15): check_quota(), Check quotas and raise QuotaExceededError if either is exceeded. Returns a, Tests for the usage tracking infrastructure added in Phase A-C: - LLMCallConte, check_quota does lazy imports inside the function body: from app.models., test_admin_bypasses_user_quota(), test_db_error_in_quota_check_is_non_fatal(), test_exactly_at_quota_limit_is_exceeded(), test_fg_quota_at_80_percent_returns_warning() (+7 more) - -### Community 32 - "Community 32" -Cohesion: 0.09 -Nodes (15): ContainerData, DiscussionGuideItem, DiscussionGuideSection, DiscussionGuideSubsection, DroppableContainer(), getItemsByContainer(), ItemData, Kind (+7 more) - -### Community 33 - "Community 33" -Cohesion: 0.23 -Nodes (22): type, _extract_responses_api_content(), _extract_text_from_new_genai_response(), _extract_usage_metadata(), generate_content(), generate_contextual_response(), generate_multimodal_content(), generate_structured_array() (+14 more) - -### Community 34 - "Community 34" -Cohesion: 0.09 -Nodes (22): create_pricing(), list_pricing(), GET /api/admin/pricing — active pricing rows for all models., POST /api/admin/pricing — insert a new pricing row., add_focus_group_note(), create_focus_group(), get_all_focus_groups(), get_assets() (+14 more) - -### Community 35 - "Community 35" -Cohesion: 0.09 -Nodes (22): services/ai_persona_service.py, docs/project/api_spec.md, docs/project/architecture.md, services/autonomous_conversation_controller.py, docs/project/database_schema.md, AGENTS.md Project Entry Point, services/focus_group_response_service.py, services/focus_group_summary_service.py (+14 more) - -### Community 36 - "Community 36" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleDetection (+13 more) - -### Community 37 - "Community 37" -Cohesion: 0.10 -Nodes (21): delete_key_theme(), end_focus_group_session(), _format_persona_details_for_context(), generate_ai_response(), get_conversation_insights(), get_key_themes(), get_moderator_status(), _get_response_length_instructions() (+13 more) - -### Community 38 - "Community 38" -Cohesion: 0.13 -Nodes (19): Backend Service (Docker), Frontend Build Service (Docker), MongoDB Service (Docker), Backend Tech Stack, Hypercorn ASGI Server, MongoDB Database, Quart Async Python Framework, Socket.IO Real-Time Communication (+11 more) - -### Community 39 - "Community 39" -Cohesion: 0.11 -Nodes (20): services/key_theme_service.py, services/task_manager.py, A-H1: MSAL Token Backend Validation Fix, app/utils.py (make_serializable), src/contexts/AuthContext.tsx, auth/quart_jwt.py, services/conversation_state_manager.py, F-H2: Non-401 Auth Token Fix (AuthContext.tsx) (+12 more) - -### Community 40 - "Community 40" -Cohesion: 0.16 -Nodes (18): Conversation Context Service, _analyze_conversation(), _analyze_sentiment(), build_multimodal_context(), _detect_emerging_topics(), _extract_visual_timeline(), _format_conversation_history(), _format_text_context_simple() (+10 more) - -### Community 41 - "Community 41" -Cohesion: 0.18 -Nodes (8): QuotaExceededError, QuotaWarning, GET /api/admin/usage/events?user_id=&focus_group_id=&feature=&skip=&limit=, usage_events(), LLMCallContext, TestLLMUsageContext, TestQuotaExceededError, TestUsageEventRecord - -### Community 42 - "Community 42" -Cohesion: 0.11 -Nodes (4): OpenAI Responses API format (gpt-5.4-2026-03-05)., OpenAI Chat Completions format (legacy)., Fields that return None should be coerced to 0, not None., TestLLMServicePureStaticMethods - -### Community 43 - "Community 43" -Cohesion: 0.11 -Nodes (18): add_persona_to_folder(), create_folder(), delete_folder(), get_folder(), get_folder_descendants(), get_folders(), move_folder(), Delete a folder and its entire hierarchy. (+10 more) - -### Community 44 - "Community 44" -Cohesion: 0.12 -Nodes (12): get_websocket_manager(), init_websocket_manager(), WebSocket Manager for Synthetic Society Handles WebSocket connections, room mana, Join a user session to a focus group room., Remove a user session from a focus group room., Get information about a focus group room., Get overall connection statistics., Initialize the global WebSocket manager using singleton SocketIO. (+4 more) - -### Community 45 - "Community 45" -Cohesion: 0.14 -Nodes (17): add_persona(), add_personas_batch(), create(), delete(), delete_hierarchy(), find_by_id(), Folder, generate_unique_name() (+9 more) - -### Community 46 - "Community 46" -Cohesion: 0.11 -Nodes (5): Tests for LLMService — covers parse_json_response (sync) and generate_structured, Fields returning None should become 0, not None., Static — no external calls., TestExtractUsageMetadata, TestParseJsonResponse - -### Community 47 - "Community 47" -Cohesion: 0.12 -Nodes (11): find_by_user(), bump_token_version(), count(), find_all(), find_by_email(), find_by_id(), find_by_microsoft_id(), get_token_version() (+3 more) - -### Community 48 - "Community 48" -Cohesion: 0.12 -Nodes (17): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, lovable-tagger (+9 more) - -### Community 49 - "Community 49" -Cohesion: 0.14 -Nodes (4): runWebSocketDiagnostics(), WebSocketPerformanceMetrics, WebSocketTester, WebSocketTestResult - -### Community 50 - "Community 50" -Cohesion: 0.13 -Nodes (16): delete_asset(), ensure_upload_folder(), get_upload_folder(), process_files_directly_from_request(), Get the upload folder path for a focus group., Ensure the upload folder exists for a focus group., Save uploaded file directly to avoid temporary file issues., Upload creative assets for a focus group. (+8 more) - -### Community 51 - "Community 51" -Cohesion: 0.12 -Nodes (10): check_cancellation(), Task Manager Service for handling cancellable long-running operations. This ser, Get information about a task by its ID., Get all active tasks for a specific user., Store task result for polling. Called by background functions., Get the number of currently active tasks., Force cleanup of all tasks (useful for testing/shutdown)., Decorator to add cancellation checkpoints to functions. Should be used on fu (+2 more) - -### Community 52 - "Community 52" -Cohesion: 0.18 -Nodes (15): Key Theme Service, _build_theme_extraction_prompt(), _extract_themes_from_discussion(), generate_key_themes(), KeyThemeServiceError, _parse_quote_with_message_id(), Key Theme Generation Service This service provides functions for generating key, Exception raised for errors in key theme generation. (+7 more) - -### Community 53 - "Community 53" -Cohesion: 0.19 -Nodes (3): Two-tier Gemini pricing: <200k and >=200k., Single-tier GPT pricing., TestModelPricingPureLogic - -### Community 54 - "Community 54" -Cohesion: 0.12 -Nodes (15): compilerOptions, allowImportingTsExtensions, isolatedModules, lib, module, moduleDetection, moduleResolution, noEmit (+7 more) - -### Community 55 - "Community 55" -Cohesion: 0.14 -Nodes (7): Emit an event to all users in a focus group room., Emit a new message to focus group participants., Emit AI status change to focus group participants., Emit moderator status change to focus group participants., Emit theme update to focus group participants., Emit analytics update to focus group participants., Emit conversation state update to focus group participants. - -### Community 56 - "Community 56" -Cohesion: 0.15 -Nodes (8): Customer Data Service for parsing uploaded files using LlamaParse. Handles file, Get all parsed markdown content for a session. Args:, Clean up all files for a session. Args: session_id:, Exception raised for errors in customer data processing., Service for handling customer data upload and parsing., Initialize the service with LlamaParse API key., Generate a unique session ID for this upload session., Upload files and parse them using LlamaParse. Args: - -### Community 57 - "Community 57" -Cohesion: 0.14 -Nodes (13): find_legacy_folders(), find_user_id(), get_db_connection(), migrate_folder(), Migrate a single folder to add missing hierarchy fields., Main migration function., Get database connection using the same logic as the app., Find user ID by username. (+5 more) - -### Community 58 - "Community 58" -Cohesion: 0.19 -Nodes (14): AI Moderation, Discussion Guide, Probe Trigger, Thematic Analysis, DiscussionGuideItem, DiscussionGuideSection(), AI Moderator System Prompt, Conversation Decision Engine Prompt (+6 more) - -### Community 59 - "Community 59" -Cohesion: 0.19 -Nodes (13): convert_discussion_guide_to_markdown(), download_discussion_guide(), format_discussion_item_markdown(), Download the discussion guide for a focus group as a markdown file. Ret, Convert a discussion guide to markdown format. Handles both structured (JSON, Format a discussion item (question or activity) as markdown., convertLegacyDiscussionGuideToMarkdown(), convertStructuredDiscussionGuideToMarkdown() (+5 more) - -### Community 60 - "Community 60" -Cohesion: 0.18 -Nodes (8): CancellableGenerationControls, initialState, TaskPollingControls, TaskPollingState, cancelTask(), cancelTaskWithFeedback(), TaskCancellationResponse, CancellableGenerationHookState - -### Community 61 - "Community 61" -Cohesion: 0.18 -Nodes (11): Folder, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut() (+3 more) - -### Community 62 - "Community 62" -Cohesion: 0.15 -Nodes (12): compilerOptions, allowJs, baseUrl, noImplicitAny, noUnusedLocals, noUnusedParameters, paths, skipLibCheck (+4 more) - -### Community 63 - "Community 63" -Cohesion: 0.15 -Nodes (11): Context manager for creating cancellable tasks with automatic cleanup., CancellableResponse, DiscussionGuideResponse, GenerationProgressProps, KeyThemesResponse, PersonaGenerationResponse, PersonaModificationResponse, SummaryGenerationResponse (+3 more) - -### Community 64 - "Community 64" -Cohesion: 0.15 -Nodes (12): Carousel, CarouselApi, CarouselContent, CarouselContext, CarouselContextProps, CarouselItem, CarouselNext, CarouselOptions (+4 more) - -### Community 65 - "Community 65" -Cohesion: 0.17 -Nodes (9): ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartStyle(), ChartTooltipContent, sanitizeChartId() (+1 more) - -### Community 66 - "Community 66" -Cohesion: 0.17 -Nodes (7): get_websocket_debug_tap(), WebSocket Debug Tap Monitors all WebSocket emissions at the Flask-SocketIO level, Debug tap that monitors all WebSocket emissions., Install the debug tap on a SocketIO instance., Get recent WebSocket emissions., Clear the emission log., Get the global WebSocket debug tap. - -### Community 67 - "Community 67" -Cohesion: 0.17 -Nodes (12): AI Operations API Endpoints, POST /api/auth/login Endpoint, Focus Groups API Endpoints, Personas API Endpoints, Application Documentation Overview, AuthContext State Management, DiscussionGuide TypeScript Interface, FocusGroup TypeScript Interface (+4 more) - -### Community 68 - "Community 68" -Cohesion: 0.17 -Nodes (7): Background task done — retain result for polling (TTL sweeper handles cleanup)., Information about a running task., Convenience function to register a task with the global task manager. R, Generate a unique task ID., Register a new task for tracking and potential cancellation. Ar, register_cancellable_task(), TaskInfo - -### Community 69 - "Community 69" -Cohesion: 0.17 -Nodes (11): Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarRadioItem, MenubarSeparator, MenubarShortcut() (+3 more) - -### Community 70 - "Community 70" -Cohesion: 0.24 -Nodes (11): Auth Context (Mermaid), Focus Group Service (Mermaid), Offline Mode / Local Storage Fallback, AI Persona Service (Mermaid), System Architecture Mermaid Diagram, _add_metadata_to_activity(), _add_visual_asset_metadata_to_guide(), _generate_assets_section() (+3 more) - -### Community 71 - "Community 71" -Cohesion: 0.18 -Nodes (10): name, private, scripts, backend, build, build:dev, dev, lint (+2 more) - -### Community 72 - "Community 72" -Cohesion: 0.27 -Nodes (10): Persona, Sanitize persona data to make it JSON serializable. Args: perso, _sanitize_persona_data_for_json(), modify_persona(), PersonaModificationError, _protect_readonly_fields(), Persona Modification Service This service handles AI-powered modification of ex, Exception raised for errors in the persona modification process. (+2 more) - -### Community 73 - "Community 73" -Cohesion: 0.20 -Nodes (10): Authentication Feature, deploy.sh Deployment Script, Frontend Tech Stack, MSAL Azure AD Authentication, Persona Management Feature, Semblance Synthetic Society README, start.sh Local Development Script, msal==1.24.1 (+2 more) - -### Community 74 - "Community 74" -Cohesion: 0.20 -Nodes (9): ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut(), ContextMenuSubContent (+1 more) - -### Community 75 - "Community 75" -Cohesion: 0.20 -Nodes (8): ip_key(), rate_limit(), RateLimiter, Simple in-memory rate limiter for Quart endpoints. Uses a sliding-window counter, Thread-safe in-memory rate limiter using sliding window., Return True if the request is within the rate limit., Decorator that rate-limits a Quart route. Args: max_requests: Maxim, Rate limit key: function name + client IP. - -### Community 76 - "Community 76" -Cohesion: 0.22 -Nodes (5): Check if the state cache is still valid., Get the current topic of discussion., Calculate participation statistics., Get the current conversation state. Returns: Dictio, Assess the health of the conversation. - -### Community 77 - "Community 77" -Cohesion: 0.22 -Nodes (8): SheetContent, SheetContentProps, SheetDescription, SheetFooter(), SheetHeader(), SheetOverlay, SheetTitle, sheetVariants - -### Community 78 - "Community 78" -Cohesion: 0.22 -Nodes (8): get_task_result(), get_task_status(), get_user_tasks(), Task management routes for handling cancellable operations., Get all active tasks for the authenticated user. Returns: JSON resp, Get overall task manager status (for debugging/monitoring). Returns:, Poll for task status and result. Returns 200 with {task_id, status, task_typ, Get task status and result for polling endpoint. - -### Community 79 - "Community 79" -Cohesion: 0.25 -Nodes (6): Quart Extensions Module Provides singleton instances of Quart extensions to ensu, emit_websocket_event(), init_async_websocket_manager(), Async WebSocket Manager for Synthetic Society Handles WebSocket connections, roo, Initialize the global async WebSocket manager., Async WebSocket event emission function. Args: event: Event nam - -### Community 80 - "Community 80" -Cohesion: 0.39 -Nodes (8): Avatar / Profile Image Concept, Nonbinary Avatar PNG, XMP Metadata (Nonbinary Avatar), Placeholder SVG, Placeholder Circle Element, Placeholder SVG Linear Gradients, Placeholder SVG Icon/Clippath, Public Assets Directory - -### Community 81 - "Community 81" -Cohesion: 0.32 -Nodes (8): LLM Service (llm_service.py), AI Integration Feature, Google Gemini AI Model, LLM Service (llm_service.py), OpenAI GPT Models, Prompt Loader (prompt_loader.py), google-genai (Google Generative AI), openai==1.99.5 - -### Community 82 - "Community 82" -Cohesion: 0.25 -Nodes (4): Start autonomous conversation for a focus group. Request body: {, Update conversation state. Args: updates: Dictionar, Start autonomous conversation mode., End autonomous conversation mode. - -### Community 83 - "Community 83" -Cohesion: 0.25 -Nodes (5): barData, COLORS, LineChartProps, lineData, pieData - -### Community 85 - "Community 85" -Cohesion: 0.29 -Nodes (6): create(), delete(), find_by_id(), find_by_user(), get_all(), update() - -### Community 86 - "Community 86" -Cohesion: 0.29 -Nodes (6): active_required(), admin_required(), Route decorator requiring admin role. Must be stacked BELOW @jwt_required()., Route decorator that rejects requests from disabled users. Guards LLM-invok, Route decorator that injects the JWT user_id into the LLM usage ContextVar., with_user_context() - -### Community 87 - "Community 87" -Cohesion: 0.33 -Nodes (3): Generate conversation flow analytics., Assess the quality of conversation flow., Analyze turn-taking patterns. - -### Community 88 - "Community 88" -Cohesion: 0.47 -Nodes (5): connect_to_mongodb(), create_default_user(), main(), Connect to MongoDB using MONGO_URI env var or interactive credentials., Create a default admin user for sample data (DEV ONLY). Password must be pro - -### Community 89 - "Community 89" -Cohesion: 0.53 -Nodes (6): _cache_get(), _cache_set(), compute_cost(), current_for(), ModelPricing, pick_tier() - -### Community 90 - "Community 90" -Cohesion: 0.50 -Nodes (4): emit_websocket_event(), Start the background emitter task if it hasn't been started yet., Safe to call from ANY context (asyncio task, worker thread, request thread)., _start_emitter_if_needed() - -### Community 91 - "Community 91" -Cohesion: 0.67 -Nodes (3): get_script_db(), main(), Get MongoDB connection using MONGO_URI or interactive credentials. - -### Community 92 - "Community 92" -Cohesion: 0.50 -Nodes (4): is_allowed_file(), Check if file has an allowed extension., Validate uploaded asset file (images and documents)., validate_asset_file() - -### Community 93 - "Community 93" -Cohesion: 0.50 -Nodes (3): cancel_task_by_id(), Convenience function to cancel a task by ID. Returns: True if task, Cancel a task by its ID. Args: task_id: The ID of t - -### Community 95 - "Community 95" -Cohesion: 0.50 -Nodes (3): conftest.py — sys.modules stubs so tests run without the full Docker venv. All h, Register MagicMocks under each name in sys.modules., _stub() - -### Community 99 - "Community 99" -Cohesion: 0.67 -Nodes (3): get_conversation_state(), Get the current conversation state for a focus group. Returns:, Get the current status of the autonomous conversation. - -## Knowledge Gaps -- **442 isolated node(s):** `target`, `lib`, `module`, `skipLibCheck`, `moduleResolution` (+437 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **148 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Focus Group` connect `Community 11` to `Community 0`, `Community 3`, `Community 5`, `Community 6`, `Community 7`, `Community 9`, `Community 10`, `Community 14`, `Community 16`, `Community 17`, `Community 19`, `Community 22`, `Community 23`, `Community 25`, `Community 27`, `Community 29`, `Community 32`, `Community 34`, `Community 40`, `Community 41`, `Community 50`, `Community 52`, `Community 58`, `Community 59`, `Community 70`, `Community 92`, `Community 98`, `Community 106`, `Community 107`, `Community 108`, `Community 109`?** - _High betweenness centrality (0.403) - this node is a cross-community bridge._ -- **Why does `LLMService` connect `Community 33` to `Community 0`, `Community 70`, `Community 8`, `Community 41`, `Community 72`, `Community 42`, `Community 46`, `Community 17`, `Community 18`, `Community 19`, `Community 52`, `Community 53`, `Community 84`, `Community 23`, `Community 89`, `Community 31`?** - _High betweenness centrality (0.094) - this node is a cross-community bridge._ -- **Why does `cn()` connect `Community 1` to `Community 2`, `Community 5`, `Community 7`, `Community 9`, `Community 10`, `Community 13`, `Community 14`, `Community 15`, `Community 16`, `Community 22`, `Community 24`, `Community 32`, `Community 58`, `Community 61`, `Community 64`, `Community 65`, `Community 69`, `Community 74`, `Community 77`?** - _High betweenness centrality (0.082) - this node is a cross-community bridge._ -- **Are the 16 inferred relationships involving `Focus Group` (e.g. with `QuotaExceededError` and `QuotaWarning`) actually correct?** - _`Focus Group` has 16 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 77 inferred relationships involving `get_db()` (e.g. with `find_by_user()` and `find_by_email()`) actually correct?** - _`get_db()` has 77 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 50 inferred relationships involving `get_jwt_identity()` (e.g. with `get_profile()` and `get_persona()`) actually correct?** - _`get_jwt_identity()` has 50 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `target`, `lib`, `module` to the rest of the system?** - _961 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/wiki/architecture/smartcrop26-structure.md b/wiki/architecture/smartcrop26-structure.md deleted file mode 100644 index 946bd8b..0000000 --- a/wiki/architecture/smartcrop26-structure.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -tags: [architecture, graphify, smartcrop26] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/smartcrop26 (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 518 nodes · 694 edges · 44 communities (42 shown, 2 thin omitted) -- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 8 edges (avg confidence: 0.88) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 43|Community 43]] - -## God Nodes (most connected - your core abstractions) -1. `cn()` - 67 edges -2. `compilerOptions` - 19 edges -3. `Claude Code Guidance (CLAUDE.md)` - 19 edges -4. `Carousel` - 16 edges -5. `compilerOptions` - 14 edges -6. `SmartCrop26 Project Entry Point (AGENTS.md)` - 13 edges -7. `Pagination()` - 10 edges -8. `scripts` - 8 edges -9. `compilerOptions` - 8 edges -10. `CropSuggestion` - 8 edges - -## Surprising Connections (you probably didn't know these) -- `src/lib/crop-types.ts — Crop Type Definitions` --implements--> `parseConfig() — Multi-format Config Parser` [EXTRACTED] - src/lib/crop-types.ts → AGENTS.md -- `src/lib/crop-types.ts — Crop Type Definitions` --implements--> `PRESET_RATIOS — 12 Built-in Aspect Ratios` [EXTRACTED] - src/lib/crop-types.ts → AGENTS.md -- `src/lib/export-zip.ts — ZIP Export Pipeline` --references--> `JSZip — ZIP Generation Library` [EXTRACTED] - src/lib/export-zip.ts → CLAUDE.md -- `src/lib/export-zip.ts — ZIP Export Pipeline` --references--> `FileSaver — File Download Utility` [EXTRACTED] - src/lib/export-zip.ts → CLAUDE.md -- `src/lib/export-zip.ts — ZIP Export Pipeline` --references--> `Canvas API — Image Rendering & Export` [EXTRACTED] - src/lib/export-zip.ts → CLAUDE.md - -## Communities (44 total, 2 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.04 -Nodes (52): dependencies, @azure/msal-browser, @azure/msal-react, class-variance-authority, cmdk, date-fns, embla-carousel-react, file-saver (+44 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (36): useIsMobile(), Input, Separator, SheetContent, SheetContentProps, SheetDescription, SheetFooter(), SheetHeader() (+28 more) - -### Community 2 - "Community 2" -Cohesion: 0.11 -Nodes (21): CropPreviewCardProps, RatioSelectorProps, findBestCrop(), loadImage(), AspectRatioPreset, CropSuggestion, ImageFile, OutputSize (+13 more) - -### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (32): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, jsdom (+24 more) - -### Community 4 - "Community 4" -Cohesion: 0.11 -Nodes (31): SmartCrop26 Project Entry Point (AGENTS.md), Claude Code Guidance (CLAUDE.md), Azure AD SSO via MSAL, Canvas API — Image Rendering & Export, CropSuggestion — Normalized 0-1 Coordinates, FileSaver — File Download Utility, Google Gemini 2.5 Flash AI Engine, JSZip — ZIP Generation Library (+23 more) - -### Community 5 - "Community 5" -Cohesion: 0.12 -Nodes (22): Action, ActionType, actionTypes, addToRemoveQueue(), dispatch(), genId(), listeners, memoryState (+14 more) - -### Community 6 - "Community 6" -Cohesion: 0.11 -Nodes (13): AuthGate(), loginRequest, queryClient, msalInstance, Card, CardContent, CardDescription, CardFooter (+5 more) - -### Community 7 - "Community 7" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, isolatedModules, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 8 - "Community 8" -Cohesion: 0.12 -Nodes (18): AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter(), AlertDialogHeader(), AlertDialogOverlay, AlertDialogTitle (+10 more) - -### Community 9 - "Community 9" -Cohesion: 0.12 -Nodes (16): aliases, components, hooks, lib, ui, utils, rsc, $schema (+8 more) - -### Community 10 - "Community 10" -Cohesion: 0.12 -Nodes (14): Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut() (+6 more) - -### Community 11 - "Community 11" -Cohesion: 0.13 -Nodes (10): HoverCardContent, PopoverContent, RadioGroup, Skeleton(), Switch, Textarea, TextareaProps, ToggleGroup (+2 more) - -### Community 12 - "Community 12" -Cohesion: 0.12 -Nodes (15): compilerOptions, allowImportingTsExtensions, isolatedModules, lib, module, moduleDetection, moduleResolution, noEmit (+7 more) - -### Community 13 - "Community 13" -Cohesion: 0.15 -Nodes (10): FormControl, FormDescription, FormFieldContext, FormFieldContextValue, FormItem, FormItemContext, FormLabel, FormMessage (+2 more) - -### Community 14 - "Community 14" -Cohesion: 0.15 -Nodes (12): Carousel, CarouselApi, CarouselContent, CarouselContext, CarouselContextProps, CarouselItem, CarouselNext, CarouselOptions (+4 more) - -### Community 15 - "Community 15" -Cohesion: 0.17 -Nodes (11): compilerOptions, allowJs, noImplicitAny, noUnusedLocals, noUnusedParameters, paths, skipLibCheck, strictNullChecks (+3 more) - -### Community 16 - "Community 16" -Cohesion: 0.17 -Nodes (11): Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarRadioItem, MenubarSeparator, MenubarShortcut() (+3 more) - -### Community 17 - "Community 17" -Cohesion: 0.18 -Nodes (7): ChartConfig, ChartContainer, ChartContext, ChartContextProps, ChartLegendContent, ChartTooltipContent, THEMES - -### Community 18 - "Community 18" -Cohesion: 0.25 -Nodes (9): cn(), clsx, Breadcrumb, BreadcrumbEllipsis(), BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator(), ResizableHandle() (+1 more) - -### Community 19 - "Community 19" -Cohesion: 0.20 -Nodes (9): DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut(), DropdownMenuSubContent (+1 more) - -### Community 20 - "Community 20" -Cohesion: 0.20 -Nodes (9): ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut(), ContextMenuSubContent (+1 more) - -### Community 21 - "Community 21" -Cohesion: 0.22 -Nodes (8): Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow - -### Community 22 - "Community 22" -Cohesion: 0.25 -Nodes (6): DrawerContent, DrawerDescription, DrawerFooter(), DrawerHeader(), DrawerOverlay, DrawerTitle - -### Community 23 - "Community 23" -Cohesion: 0.25 -Nodes (7): SelectContent, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger - -### Community 24 - "Community 24" -Cohesion: 0.40 -Nodes (4): Alert, AlertDescription, AlertTitle, alertVariants - -### Community 25 - "Community 25" -Cohesion: 0.40 -Nodes (4): InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot - -### Community 26 - "Community 26" -Cohesion: 0.50 -Nodes (3): AccordionContent, AccordionItem, AccordionTrigger - -### Community 27 - "Community 27" -Cohesion: 0.50 -Nodes (3): Avatar, AvatarFallback, AvatarImage - -### Community 28 - "Community 28" -Cohesion: 0.67 -Nodes (3): Badge(), BadgeProps, badgeVariants - -### Community 29 - "Community 29" -Cohesion: 0.50 -Nodes (4): NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuViewport - -### Community 30 - "Community 30" -Cohesion: 0.50 -Nodes (3): TabsContent, TabsList, TabsTrigger - -## Knowledge Gaps -- **321 isolated node(s):** `target`, `lib`, `module`, `skipLibCheck`, `moduleResolution` (+316 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `cn()` connect `Community 18` to `Community 1`, `Community 2`, `Community 5`, `Community 6`, `Community 8`, `Community 10`, `Community 11`, `Community 13`, `Community 14`, `Community 16`, `Community 17`, `Community 19`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`?** - _High betweenness centrality (0.464) - this node is a cross-community bridge._ -- **Why does `dependencies` connect `Community 0` to `Community 18`, `Community 3`?** - _High betweenness centrality (0.314) - this node is a cross-community bridge._ -- **Why does `clsx` connect `Community 18` to `Community 0`?** - _High betweenness centrality (0.282) - this node is a cross-community bridge._ -- **What connects `target`, `lib`, `module` to the rest of the system?** - _321 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.038461538461538464 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05204872646733112 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.1126984126984127 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/social-reporting-tool-structure.md b/wiki/architecture/social-reporting-tool-structure.md deleted file mode 100644 index 942342d..0000000 --- a/wiki/architecture/social-reporting-tool-structure.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -tags: [architecture, graphify, social-reporting-tool] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/social-reporting-tool (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 328 nodes · 604 edges · 13 communities -- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 33 edges (avg confidence: 0.93) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] - -## God Nodes (most connected - your core abstractions) -1. `Security Audit Report` - 30 edges -2. `runPipeline()` - 19 edges -3. `Pipeline Orchestrator (pipeline-v2.ts)` - 14 edges -4. `ClientBrief` - 13 edges -5. `compilerOptions` - 12 edges -6. `runStage3()` - 11 edges -7. `Dashboard HTTP+SSE Server (server.ts)` - 11 edges -8. `TypeScript Types (types-v2.ts)` - 11 edges -9. `Social Listening Platform Overview` - 11 edges -10. `Stage 5: Enrichment Scrape (stage5-enrichment-scrape.ts)` - 11 edges - -## Surprising Connections (you probably didn't know these) -- `Frontend UI (frontend/index.html)` --semantically_similar_to--> `Dashboard UI (agents/social-listening/dashboard/index.html)` [INFERRED] [semantically similar] - frontend/index.html → agents/social-listening/dashboard/index.html -- `Social Listening Platform Overview` --references--> `Social Listening Pipeline` [INFERRED] - DEVELOPER_BRIEF.md → README.md -- `Social Listening App Service` --shares_data_with--> `PostgreSQL Database` [INFERRED] - docker-compose.yml → README.md -- `Dashboard UI (agents/social-listening/dashboard/index.html)` --references--> `Dashboard HTTP+SSE Server (server.ts)` [INFERRED] - agents/social-listening/dashboard/index.html → AGENTS.md -- `POST /api/login Endpoint` --references--> `Dashboard HTTP+SSE Server (server.ts)` [INFERRED] - frontend/login.html → AGENTS.md - -## Communities (13 total, 0 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (40): base64urlDecode(), BRIEFS_DIR, getAzureSigningKeys(), getSessionData(), handleRunPipeline(), isAuthenticated(), loginAttempts, OUTPUTS_DIR (+32 more) - -### Community 1 - "Community 1" -Cohesion: 0.05 -Nodes (50): Apache Config (apache-social-reports.conf), Apify Client (apify.ts), PostgreSQL Client (db.ts), Static Frontend (frontend/), Project Entry Point (AGENTS.md), Pipeline CLI Runner (run.ts), Dashboard HTTP+SSE Server (server.ts), Server Setup Script (setup.sh) (+42 more) - -### Community 2 - "Community 2" -Cohesion: 0.08 -Nodes (33): ACTORS, APIFY_COST_LIMIT, ApifyRunResult, __dirname, fileEnv, __filename, getApifyCost(), getApifyCostLimit() (+25 more) - -### Community 3 - "Community 3" -Cohesion: 0.12 -Nodes (28): callClaudeJSON(), parseJSONResponse(), AgentReview, AudienceInsight, ClientBrief, CreatorSpotlight, DeskResearchSource, DiscoveryData (+20 more) - -### Community 4 - "Community 4" -Cohesion: 0.12 -Nodes (33): Pipeline Orchestrator (pipeline-v2.ts), TypeScript Types (types-v2.ts), AgentReview Interface, Claude CLI Wrapper (claude-cli.ts), ClientBrief Interface, DeskResearchSource Interface, DiscoveryData Interface, Engagement Score Formula (+25 more) - -### Community 5 - "Community 5" -Cohesion: 0.14 -Nodes (25): instagram, buildMarkdown(), deriveFormatCards(), esc(), extractInstagramShortcode(), extractTikTokVideoId(), extractYouTubeId(), formatDateRange() (+17 more) - -### Community 6 - "Community 6" -Cohesion: 0.16 -Nodes (19): ApiContentBlock, ApiMessage, ApiResponse, calculateCost(), callApi(), callClaude(), callClaudeVision(), callClaudeWithUsage() (+11 more) - -### Community 7 - "Community 7" -Cohesion: 0.12 -Nodes (15): dependencies, postgres, tsx, typescript, devDependencies, @types/node, name, private (+7 more) - -### Community 8 - "Community 8" -Cohesion: 0.13 -Nodes (14): compilerOptions, declaration, esModuleInterop, module, moduleResolution, outDir, resolveJsonModule, rootDir (+6 more) - -### Community 9 - "Community 9" -Cohesion: 0.17 -Nodes (12): Saved Briefs Tab, Live Cost Tracker UI, Help Tab, Run History Tab, Dashboard UI (agents/social-listening/dashboard/index.html), Pipeline Tab, Stage Progress Section, Frontend Saved Briefs Tab (+4 more) - -### Community 10 - "Community 10" -Cohesion: 0.18 -Nodes (10): category, clientName, dateRange, from, to, hashtags, influencers, tiktok (+2 more) - -## Knowledge Gaps -- **101 isolated node(s):** `name`, `version`, `type`, `private`, `pipeline` (+96 more) - These have ≤1 connection - possible missing edges or undocumented components. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `instagram` connect `Community 5` to `Community 10`?** - _High betweenness centrality (0.038) - this node is a cross-community bridge._ -- **Why does `Security Audit Report` connect `Community 1` to `Community 4`?** - _High betweenness centrality (0.038) - this node is a cross-community bridge._ -- **Why does `ClientBrief` connect `Community 3` to `Community 0`, `Community 2`, `Community 5`?** - _High betweenness centrality (0.036) - this node is a cross-community bridge._ -- **Are the 13 inferred relationships involving `Pipeline Orchestrator (pipeline-v2.ts)` (e.g. with `Pipeline CLI Runner (run.ts)` and `TypeScript Types (types-v2.ts)`) actually correct?** - _`Pipeline Orchestrator (pipeline-v2.ts)` has 13 INFERRED edges - model-reasoned connections that need verification._ -- **What connects `name`, `version`, `type` to the rest of the system?** - _111 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.061683599419448475 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.05333333333333334 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/solventum-image-metadata-structure.md b/wiki/architecture/solventum-image-metadata-structure.md deleted file mode 100644 index 3298f6c..0000000 --- a/wiki/architecture/solventum-image-metadata-structure.md +++ /dev/null @@ -1,446 +0,0 @@ ---- -tags: [architecture, graphify, solventum-image-metadata] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/solventum-image-metadata (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 1188 nodes · 1725 edges · 111 communities (80 shown, 31 thin omitted) -- Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 130 edges (avg confidence: 0.75) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] - -## God Nodes (most connected - your core abstractions) -1. `Oliver Metadata Tool v3.1` - 40 edges -2. `Database` - 28 edges -3. `SessionStore` - 23 edges -4. `web_app.py (Flask Entry Point)` - 23 edges -5. `MetadataProcessor` - 19 edges -6. `ExifToolUpdater` - 18 edges -7. `sanitize_metadata_value()` - 17 edges -8. `PDFExtractor` - 16 edges -9. `OfficeExtractor` - 16 edges -10. `OfficeUpdater` - 16 edges - -## Surprising Connections (you probably didn't know these) -- `create_user_session()` --shares_data_with--> `sessions Table` [INFERRED] - src/auth.py → docs/project/database_schema.md -- `SQLite Database (oliver_metadata.db)` --semantically_similar_to--> `Oliver Metadata Tool v3.1` [EXTRACTED] [semantically similar] - docs/project/architecture.md → CLAUDE.md -- `Unified metadata updater using ExifTool for images, video, and PDF files.` --rationale_for--> `ExifToolUpdater` [EXTRACTED] - src/updaters/exiftool_updater.py → CLAUDE.md -- `Update metadata using ExifTool. Supports images (JPEG, PNG, GIF, TIFF, HEIC` --rationale_for--> `ExifToolUpdater` [EXTRACTED] - src/updaters/exiftool_updater.py → CLAUDE.md -- `Office document metadata updater.` --rationale_for--> `OfficeUpdater` [EXTRACTED] - src/updaters/office_updater.py → CLAUDE.md - -## Communities (111 total, 31 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (59): actions, addCustomField(), applyTemplate(), autoSelectImportColumns(), buildImportPreviewTable(), closeCreateTemplateModal(), closeImportMappingModal(), confirmImportMapping() (+51 more) - -### Community 1 - "Community 1" -Cohesion: 0.06 -Nodes (59): ADR: ExifTool as Primary Metadata Handler, ADR: Migrate from Flask to FastAPI, API Specification, AI Service (app/services/ai_service.py), Apache Reverse Proxy, ExifTool Extractor (src/extractors/exiftool_extractor.py), ExifTool Updater (src/updaters/exiftool_updater.py), FileDetector (+51 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (30): Add a processed file entry to a session. If a file with the same filena, Update specific fields of a file entry within a session., Persistent session store replacing in-memory dicts. Stores file processing, Get just the files list from a session., Delete a file session., Get all active session IDs for a user., Create an import/excel session., Get import session by ID. (+22 more) - -### Community 3 - "Community 3" -Cohesion: 0.06 -Nodes (32): apply_template(), delete_template(), _get_template_manager(), list_templates(), load_template(), preview_template(), Template management router: list, save, load, delete, apply, preview., Apply a template to generate metadata for files. (+24 more) - -### Community 4 - "Community 4" -Cohesion: 0.08 -Nodes (23): Database, Add role column if it doesn't exist (for existing databases)., SQLite database manager for Oliver Metadata Tool. Uses connection-per-opera, Create test user (tester/oliveradmin) if doesn't exist., Create or promote superadmin user (case-insensitive match)., Get user by username., Create a new user. Returns user ID if successful., Update user's last login timestamp. (+15 more) - -### Community 5 - "Community 5" -Cohesion: 0.06 -Nodes (26): Enum, detect_file_type(), FileType, is_supported(), File type detection and routing., Detect file type and route to appropriate handlers., Supported file types., AI-powered metadata analysis using OpenAI GPT with production-ready features. (+18 more) - -### Community 6 - "Community 6" -Cohesion: 0.06 -Nodes (27): src/config.py, ExifTool, ExifToolExtractor, ExifToolUpdater, ADR: ExifTool Primary Handler, ExifTool (System Tool), ExifToolHelper, ExifTool Setup Guide (+19 more) - -### Community 7 - "Community 7" -Cohesion: 0.08 -Nodes (33): BaseModel, DownloadSelectedRequest, ExcelMappingRequest, ExcelSheetPreviewRequest, ImportMappingRequest, Pydantic request models with validation., Request to update file with manually entered metadata., Request to preview a specific Excel sheet. (+25 more) - -### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (18): cleanup_expired_sessions() function, MicrosoftSSO, Framework-agnostic authentication service., Microsoft SSO handler. Frontend uses MSAL.js for auth, backend validates via Gra, Authentication logic extracted from src/auth.py, without Flask dependencies., Authenticate user with username and password. Returns dict with 'succes, Create a new auth session for an authenticated user., Destroy an auth session (logout). (+10 more) - -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (27): login_required / get_current_user Dependency, auth_callback(), login(), login_microsoft(), logout(), Clean up files associated with a session. Removes uploaded files from disk t, Login page and handler., Logout user and cleanup session files. (+19 more) - -### Community 10 - "Community 10" -Cohesion: 0.11 -Nodes (10): Admin service: user management, audit log, AI usage stats., Get combined statistics for admin dashboard., Business logic for admin operations., Get all users with sanitized output (no password hashes)., Get single user by ID., Update user fields (role, is_active, full_name, email)., Deactivate a user account., Get audit log with optional filters. (+2 more) - -### Community 11 - "Community 11" -Cohesion: 0.10 -Nodes (18): Sanitize filename while preserving Unicode characters (CJK, etc.)., cleanup_old_files(), configure_excel_mapping(), configure_import_mapping(), download_file(), import_metadata(), list_templates(), open_browser() (+10 more) - -### Community 12 - "Community 12" -Cohesion: 0.09 -Nodes (13): Tests for authentication endpoints., Unauthenticated access to / redirects to /login., POST /login with valid credentials redirects to /., POST /login with wrong password shows error., POST /login with empty fields shows error., GET /logout redirects to /login., / requires authentication., GET /login returns login form. (+5 more) - -### Community 13 - "Community 13" -Cohesion: 0.10 -Nodes (21): get_current_admin Dependency, MSAL OAuth2 (Microsoft Azure AD SSO), Oliver Metadata Tool v3.1, AUD-03: Admins can query audit log and AI usage via admin dashboard, AUTH-01: Users must authenticate before accessing any feature, AUTH-03: Microsoft Azure AD SSO optional, AUTH-05: Admin role grants access to user management and audit log, AUTH-06: Superadmin promoted from SUPERADMIN_EMAIL env var (+13 more) - -### Community 14 - "Community 14" -Cohesion: 0.12 -Nodes (11): ImageExtractor, Image content and metadata extractor., Read EXIF metadata from image. Args: file_path: Path to ima, Read IPTC metadata from image. Args: file_path: Path to ima, Extractor for image files (JPEG, PNG, etc.) with OCR and EXIF metadata., Initialize image extractor., Extract text content from image using OCR. Uses pytesseract to perform, Read image metadata from EXIF and IPTC data. Extracts standard image me (+3 more) - -### Community 15 - "Community 15" -Cohesion: 0.13 -Nodes (13): BaseUpdater, PDFUpdater, VideoUpdater, Initialize the processor. Args: preview_mode: If True, show, create_backup(), Create a backup of the file before modification. Args: file_path: P, PDF metadata updater., Updater for PDF file metadata. (+5 more) - -### Community 16 - "Community 16" -Cohesion: 0.14 -Nodes (11): OfficeExtractor, Office document content and metadata extractor., Extract text content from PPTX file., Read metadata from DOCX file., Extractor for Office files (DOCX, XLSX, PPTX)., Read metadata from XLSX file., Read metadata from PPTX file., Extract text content from Office document. Routes to appropriate extrac (+3 more) - -### Community 17 - "Community 17" -Cohesion: 0.12 -Nodes (12): Upload Excel file for metadata lookup — returns sheet structure for mapping., upload_excel(), Upload Excel file for Excel Lookup metadata source., Excel-based metadata lookup service., Lookup metadata by filename (ignoring extension). Args: fil, Lookup metadata from Excel spreadsheet by filename., Search metadata by Celum ID. Args: celum_id: Celum ID to se, Initialize the lookup service. Args: excel_path: Path to th (+4 more) - -### Community 18 - "Community 18" -Cohesion: 0.12 -Nodes (10): ABC, BaseExtractor, BaseUpdater, Base class for all content extractors., Truncate content to maximum length for AI processing. Args:, Clean extracted text (remove excessive whitespace, etc.). Args:, Abstract base class for content extractors., Base class for all metadata updaters. (+2 more) - -### Community 19 - "Community 19" -Cohesion: 0.21 -Nodes (13): closeCreateUserModal(), createUser(), loadAiUsage(), loadAuditLog(), loadUsers(), populateAuditUserFilter(), renderAiStats(), renderAiUsageTable() (+5 more) - -### Community 20 - "Community 20" -Cohesion: 0.13 -Nodes (14): get_settings(), Get cached settings instance., init_dependencies(), Initialize singleton dependencies. Called once from app lifespan., create_app(), lifespan(), FastAPI application factory with lifespan management., Startup/shutdown lifecycle. (+6 more) - -### Community 21 - "Community 21" -Cohesion: 0.16 -Nodes (15): Handle multiple file uploads with metadata source selection., upload_files(), generate_metadata_async(), _get_analyzer(), get_progress_queue(), process_bulk_ai(), Async wrapper around MetadataAnalyzer for non-blocking AI generation., Process multiple files with AI in background, sending progress via SSE. Arg (+7 more) - -### Community 22 - "Community 22" -Cohesion: 0.14 -Nodes (9): Preview file structure and suggest field mappings., preview_import(), Metadata importer for external files (CSV, Excel, JSON)., Import metadata from various file formats (CSV, Excel, JSON)., Normalize metadata dictionary to standard format. Args: met, Get metadata for a specific file from imported map. Args: m, Validate imported metadata and return statistics. Args: met, Import file with custom field mapping. Args: file_path: Pat (+1 more) - -### Community 23 - "Community 23" -Cohesion: 0.16 -Nodes (9): PDFExtractor, PDF content extractor., Extract text using pdfplumber library. Args: file_path: Pat, Extract text using OCR via pdf2image and pytesseract. Args:, Read PDF metadata from document properties. Extracts standard PDF metad, Extractor for PDF files with fallback to OCR., Initialize PDF extractor., Extract text content from PDF using multiple fallback strategies. First (+1 more) - -### Community 24 - "Community 24" -Cohesion: 0.24 -Nodes (13): OfficeUpdater, Sanitize and truncate metadata value. Args: value: Metadata value, sanitize_metadata_value(), Office document metadata updater., Update XLSX metadata., Update PPTX metadata., Updater for Office file metadata (DOCX, XLSX, PPTX)., Verify that metadata was written correctly to Office document. Args: (+5 more) - -### Community 25 - "Community 25" -Cohesion: 0.21 -Nodes (13): get_database(), Get Database instance., create_user(), _get_admin_service(), get_ai_usage(), get_audit_log(), list_users(), Admin router: user management, audit log, AI usage stats. (+5 more) - -### Community 26 - "Community 26" -Cohesion: 0.13 -Nodes (8): Tests for template management endpoints., POST /templates/save creates a new template., GET /templates/load/{name} loads a template., GET /templates/load/{name} returns 404 for missing template., POST /templates/save with empty name returns error., DELETE /templates/delete/{name} removes a template., GET /templates/list returns template list., POST /templates/preview returns preview output. - -### Community 27 - "Community 27" -Cohesion: 0.15 -Nodes (10): Application settings via pydantic-settings., download_selected_files(), Download router: single file, ZIP batch, session cleanup., Download selected files from session as ZIP archive., get_session_files(), Metadata router: update, manual update, stats., Get current state of files in a session (for polling AI progress)., Update file with manually entered metadata. (+2 more) - -### Community 28 - "Community 28" -Cohesion: 0.37 -Nodes (13): build(), check_docker(), clean(), logs(), print_error(), print_header(), print_info(), print_success() (+5 more) - -### Community 29 - "Community 29" -Cohesion: 0.15 -Nodes (12): Validate that filepath is within upload folder (prevent traversal)., create_report_entry(), format_metadata_comparison(), get_file_size_mb(), get_logger(), Utility functions for backup, logging, and file operations., Validate file path exists and is accessible. Args: file_path: Path, Get file size in MB. Args: file_path: Path to file Returns: (+4 more) - -### Community 30 - "Community 30" -Cohesion: 0.19 -Nodes (13): authenticate_user() function, SQLite Database (oliver_metadata.db), SQLite WAL Mode, ai_usage Table, audit_log Table, Database Class (src/database.py), oliver_sessions.db, sessions Table (+5 more) - -### Community 31 - "Community 31" -Cohesion: 0.18 -Nodes (12): get_auth_service(), get_current_admin(), get_session_store(), FastAPI dependency injection providers., Get SessionStore instance., Get AuthService instance., FastAPI dependency: require authenticated user. Replaces Flask's @login_req, Same as get_current_user but returns None instead of raising. (+4 more) - -### Community 32 - "Community 32" -Cohesion: 0.18 -Nodes (7): File handling: upload, naming, cleanup., Handles file uploads, per-user storage, and cleanup., Save an uploaded file to disk using streaming. Returns the path to the, Delete a file from disk., Delete all files for a user., Resolve filepath from filename. Checks user dir first, then root., safe_filename() - -### Community 33 - "Community 33" -Cohesion: 0.17 -Nodes (7): Field mapping with automatic detection and manual override., Validate a field mapping configuration. Args: mapping: Dict, Map source fields to standard metadata fields with fuzzy matching., Apply field mapping to transform source data to standard format. Args:, Initialize field mapper. Args: presets_path: Path to JSON f, Automatically map source fields to standard fields using fuzzy matching., Find best matching standard field for source field. Args: s - -### Community 34 - "Community 34" -Cohesion: 0.15 -Nodes (7): Tests for admin endpoints., GET /admin returns 403 for non-admin users., GET /admin/users returns 403 for non-admin users., GET /admin/audit returns 403 for non-admin users., GET /admin/ai-usage returns 403 for non-admin users., GET /admin requires authentication., TestAdminAccess - -### Community 35 - "Community 35" -Cohesion: 0.20 -Nodes (8): BaseExtractor, VideoExtractor, Video metadata extractor., Read video metadata using pymediainfo. Args: file_path: Pat, Extractor for video files (MP4, MOV, AVI) - metadata extraction only., Extract text content from video (not supported). Video files cannot be, Read metadata from video file using mutagen. Extracts standard video me, Read video metadata using mutagen. Args: file_path: Path to - -### Community 36 - "Community 36" -Cohesion: 0.23 -Nodes (7): ImageUpdater, Image metadata updater., Update PNG metadata using PIL. Args: file_path: Path to PNG, Updater for image file metadata (JPEG, PNG)., Verify JPEG metadata., Update image metadata using EXIF for JPEG and PIL for PNG. Args:, Update JPEG metadata using EXIF. Args: file_path: Path to J - -### Community 37 - "Community 37" -Cohesion: 0.17 -Nodes (11): ExcelMetadataLookup, FieldMapper, FileDetector, FileType Enum, Flask Framework, MetadataAnalyzer, MetadataImporter, OpenAI API (+3 more) - -### Community 38 - "Community 38" -Cohesion: 0.21 -Nodes (11): detect_file(), extract_content(), extract_metadata(), process_uploaded_file(), Metadata processing orchestration: upload → detect → extract → generate., Process a single uploaded file through the full pipeline. Args: fil, Detect the type of a file., Read current metadata from file. (+3 more) - -### Community 39 - "Community 39" -Cohesion: 0.17 -Nodes (11): auth_client(), client(), Test fixtures for Oliver Metadata Tool., Create a temporary directory for test artifacts., Create test HTTP client., Authenticated test client (logged in as tester)., Create a minimal PDF for testing., Create a sample CSV for import testing. (+3 more) - -### Community 40 - "Community 40" -Cohesion: 0.27 -Nodes (7): main(), MetadataProcessor, Process all supported files in a directory. Args: directory, Save processing report to CSV., Main CLI entry point., Main processor for metadata automation., Process a single file. Args: file_path: Path to the file - -### Community 41 - "Community 41" -Cohesion: 0.18 -Nodes (11): docs/project/database_schema.md, docs/project/infrastructure.md, docker-run.sh (Helper Script), nginx Reverse Proxy, Docker Volume: database, Docker Network: oliver-metadata-network, oliver-metadata Docker Service, Docker Volume: output (+3 more) - -### Community 42 - "Community 42" -Cohesion: 0.20 -Nodes (11): app/main.py (FastAPI Entry Point), app/routers/auth.py, app/routers/downloads.py, app/routers/upload.py, Microsoft SSO (Azure AD / OAuth2), src/auth.py, FastAPI, gunicorn (+3 more) - -### Community 43 - "Community 43" -Cohesion: 0.18 -Nodes (6): Tests for upload endpoints., POST /upload with manual source processes file., API response should not expose server file paths., POST /upload-excel requires authentication., POST /upload with no files returns error., TestUpload - -### Community 44 - "Community 44" -Cohesion: 0.49 -Nodes (9): create_parser(), dumpallobjs(), dumpoutline(), dumppdf(), dumptrailers(), dumpxml(), escape(), extractembedded() (+1 more) - -### Community 45 - "Community 45" -Cohesion: 0.20 -Nodes (10): src/config.py, src/excel_metadata_lookup.py, src/field_mapper.py, src/metadata_importer.py, src/template_manager.py, templates/index.html, templates/login.html, web_app.py (Flask Entry Point) (+2 more) - -### Community 46 - "Community 46" -Cohesion: 0.20 -Nodes (5): Parse pandas DataFrame into metadata map. Args: df: DataFra, Import metadata from CSV file. Expected columns: filename, title, subjec, Detect column name from a list of candidates (case-insensitive). Args:, Get value from row, handling None column and NaN values. Args:, Import metadata from Excel file. Args: excel_path: Path to - -### Community 47 - "Community 47" -Cohesion: 0.28 -Nodes (9): src/updaters/ (Metadata Write Layer), ExifTool (System Dependency), src/extractors/exiftool_extractor.py, src/updaters/exiftool_updater.py, src/updaters/image_updater.py, src/updaters/office_updater.py, src/updaters/pdf_updater.py, src/updaters/video_updater.py (+1 more) - -### Community 48 - "Community 48" -Cohesion: 0.22 -Nodes (9): ADR: FastAPI Migration, project/api_spec.md, project/architecture.md, Documentation Hub, project/infrastructure.md, project/requirements.md, project/runbook.md, tasks/README.md (+1 more) - -### Community 49 - "Community 49" -Cohesion: 0.22 -Nodes (7): auth_azure_token(), login_submit(), logout(), Authentication router: login, logout, Microsoft SSO., Logout and destroy session., Validate Azure AD access token from client-side MSAL.js. Frontend handles t, Process login form. Rate limited to 5 attempts per minute. - -### Community 50 - "Community 50" -Cohesion: 0.25 -Nodes (8): ExcelMetadataLookup Service, File Service (app/services/file_service.py), safe_filename() function, Services Layer (app/services/), TemplateManager Service, SRC-04: Templates with variable substitution, SRC-05: Excel lookup against pre-loaded mapping file, UP-04: Preserve Unicode filenames including CJK characters - -### Community 51 - "Community 51" -Cohesion: 0.25 -Nodes (5): Application settings loaded from environment variables and .env file., Settings, BaseSettings, _ExcelLookupAdapter, Wraps a metadata_map dict to behave like ExcelMetadataLookup. - -### Community 52 - "Community 52" -Cohesion: 0.32 -Nodes (7): configure_import_mapping(), _get_file_service(), import_metadata(), preview_import(), Import router: import metadata from CSV/Excel/JSON files., Upload import file and preview structure for mapping., Configure import column mapping and load metadata. - -### Community 53 - "Community 53" -Cohesion: 0.33 -Nodes (7): app/services/ai_service.py, OpenAI gpt-5.2 (Responses API), OpenAI API (gpt-4o-mini), src/metadata_analyzer.py, openai, tenacity, tiktoken - -### Community 54 - "Community 54" -Cohesion: 0.29 -Nodes (4): Load mapping preset from file. Args: name: Preset name, List all saved presets. Returns: List of preset information, Delete a mapping preset. Args: name: Preset name R, Load all presets from file. - -### Community 55 - "Community 55" -Cohesion: 0.29 -Nodes (4): Tests for import endpoints., POST /import-metadata with unsupported file returns error., POST /import-metadata requires authentication., POST /import-metadata with CSV file returns columns and sample data. - -### Community 56 - "Community 56" -Cohesion: 0.53 -Nodes (4): create_parser(), extract_text(), main(), parse_args() - -### Community 57 - "Community 57" -Cohesion: 0.33 -Nodes (6): FastAPI Application (app/main.py), Flask Legacy Entrypoint (web_app.py), FastAPI Routers (app/routers/), Session Store (app/session/), src/ Library (shared), In-Memory File Processing Session (SessionStore) - -### Community 58 - "Community 58" -Cohesion: 0.33 -Nodes (6): src/auth.py, src/database.py, @login_required Decorator, MSAL (Microsoft SSO), SQLite Database (oliver_metadata.db), project/database_schema.md - -### Community 59 - "Community 59" -Cohesion: 0.33 -Nodes (5): configure_excel_mapping(), preview_excel_sheet(), Upload router: file upload, Excel upload, mapping configuration., Preview a specific sheet from uploaded Excel file., Configure Excel column mapping and load metadata into session. - -### Community 60 - "Community 60" -Cohesion: 0.33 -Nodes (6): Update file metadata using suggested metadata from session., update_metadata(), Write metadata to file. Returns True on success., Update file metadata using suggested metadata from session., Update file with manually entered metadata., update_manual_metadata() - -### Community 61 - "Community 61" -Cohesion: 0.40 -Nodes (5): docs/project/api_spec.md, docs/project/architecture.md, docs/project/runbook.md, docs/project/tech_stack.md, Oliver Metadata Tool v3.1 Enterprise Edition - -### Community 62 - "Community 62" -Cohesion: 0.40 -Nodes (5): get_stats(), Get metadata statistics., get_metadata_lookup(), get_stats(), Get or create metadata lookup instance. - -### Community 63 - "Community 63" -Cohesion: 0.50 -Nodes (4): src/extractors/video_extractor.py, ffmpeg-python, mutagen, pymediainfo - -### Community 64 - "Community 64" -Cohesion: 0.67 -Nodes (4): FieldMapper Service, MetadataImporter Service, MAP-01: Fuzzy matching auto-suggests column to field mapping, SRC-01: Import from file (CSV, Excel, JSON) - -### Community 65 - "Community 65" -Cohesion: 0.50 -Nodes (3): ai_progress_stream(), SSE router: Server-Sent Events for realtime AI progress., Stream AI processing progress events via SSE. Events: - processing: - -### Community 69 - "Community 69" -Cohesion: 0.67 -Nodes (3): src/extractors/office_extractor.py, python-docx, python-pptx - -### Community 70 - "Community 70" -Cohesion: 0.67 -Nodes (3): src/extractors/image_extractor.py, Pillow, pytesseract - -### Community 71 - "Community 71" -Cohesion: 0.67 -Nodes (3): src/extractors/pdf_extractor.py, pdfplumber, pypdf - -## Knowledge Gaps -- **107 isolated node(s):** `currentFiles`, `selectedFiles`, `uploadArea`, `fileInput`, `spinner` (+102 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **31 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Oliver Metadata Tool v3.1` connect `Community 13` to `Community 64`, `Community 1`, `Community 37`, `Community 6`, `Community 48`, `Community 50`, `Community 30`?** - _High betweenness centrality (0.134) - this node is a cross-community bridge._ -- **Why does `sessions Table` connect `Community 30` to `Community 8`, `Community 9`, `Community 13`?** - _High betweenness centrality (0.081) - this node is a cross-community bridge._ -- **Why does `applyTemplate()` connect `Community 0` to `Community 3`, `Community 11`?** - _High betweenness centrality (0.079) - this node is a cross-community bridge._ -- **Are the 2 inferred relationships involving `Database` (e.g. with `init_dependencies()` and `MicrosoftSSO`) actually correct?** - _`Database` has 2 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 5 inferred relationships involving `SessionStore` (e.g. with `_ExcelLookupAdapter` and `TestFileSession`) actually correct?** - _`SessionStore` has 5 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 11 inferred relationships involving `web_app.py (Flask Entry Point)` (e.g. with `src/extractors/pdf_extractor.py` and `src/extractors/image_extractor.py`) actually correct?** - _`web_app.py (Flask Entry Point)` has 11 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 12 inferred relationships involving `MetadataProcessor` (e.g. with `Config` and `metadata_analyzer.py`) actually correct?** - _`MetadataProcessor` has 12 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/video-accessibility-old-structure.md b/wiki/architecture/video-accessibility-old-structure.md deleted file mode 100644 index 167a613..0000000 --- a/wiki/architecture/video-accessibility-old-structure.md +++ /dev/null @@ -1,982 +0,0 @@ ---- -tags: [architecture, graphify, video-accessibility-old] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/video-accessibility-old (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 4214 nodes · 9399 edges · 307 communities (175 shown, 132 thin omitted) -- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 514 edges (avg confidence: 0.58) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 175|Community 175]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 179|Community 179]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 185|Community 185]] -- [[_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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 237|Community 237]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] -- [[_COMMUNITY_Community 254|Community 254]] -- [[_COMMUNITY_Community 255|Community 255]] -- [[_COMMUNITY_Community 256|Community 256]] -- [[_COMMUNITY_Community 257|Community 257]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 264|Community 264]] -- [[_COMMUNITY_Community 265|Community 265]] -- [[_COMMUNITY_Community 266|Community 266]] -- [[_COMMUNITY_Community 267|Community 267]] -- [[_COMMUNITY_Community 268|Community 268]] -- [[_COMMUNITY_Community 269|Community 269]] -- [[_COMMUNITY_Community 270|Community 270]] -- [[_COMMUNITY_Community 271|Community 271]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 296|Community 296]] -- [[_COMMUNITY_Community 297|Community 297]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] - -## God Nodes (most connected - your core abstractions) -1. `ApiClient` - 121 edges -2. `PM` - 106 edges -3. `constructor()` - 86 edges -4. `we()` - 83 edges -5. `set()` - 65 edges -6. `get()` - 59 edges -7. `Ud` - 56 edges -8. `qf` - 54 edges -9. `dE()` - 54 edges -10. `pE()` - 54 edges - -## Surprising Connections (you probably didn't know these) -- `handleDownload()` --calls--> `fetch()` [INFERRED] - frontend/src/routes/Downloads.tsx → assets/index-BMcXQls5.js -- `Audit logging service for tracking sensitive operations.` --rationale_for--> `Audit Logger` [EXTRACTED] - backend/app/services/audit_logger.py → docs/reference/guides/testing-strategy.md -- `Service for managing audit logs.` --rationale_for--> `Audit Logger` [EXTRACTED] - backend/app/services/audit_logger.py → docs/reference/guides/testing-strategy.md -- `main()` --calls--> `parse_ad_cues()` [INFERRED] - scripts/replace_cue_voice.py → backend/app/tasks/tts_synthesis.py -- `main()` --calls--> `GeminiTTSService` [INFERRED] - scripts/replace_cue_voice.py → backend/app/services/gemini_tts.py - -## Communities (307 total, 132 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.01 -Nodes (156): _1(), a4, AI, aw(), ax, b3, b4, b5 (+148 more) - -### Community 1 - "Community 1" -Cohesion: 0.03 -Nodes (88): ACTION_GROUPS, SEVERITY_COLORS, Tab, VoicePreviewButtonProps, VoiceSelector(), JOB_STATUS_LABEL, LinguistQueue(), STATUS_TABS (+80 more) - -### Community 2 - "Community 2" -Cohesion: 0.06 -Nodes (87): _5, _6, $A(), aS, aU(), bC(), BM(), Bu (+79 more) - -### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (72): _2(), _3, az(), bE(), bj(), Bp(), CE(), Cl() (+64 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (57): FinalDetail(), LanguagePreview(), FinalList(), LANG_QC_BADGE, LANG_QC_ICON, QCDetail(), QCList(), StatusBadgeProps (+49 more) - -### Community 5 - "Community 5" -Cohesion: 0.05 -Nodes (46): Config, Microsoft Authentication Service Validates Microsoft ID tokens and extracts use, Render accessible video based on Gemini analysis. Args: sou, # NOTE: Use _get_video_duration_local directly since freeze segments are, Service for re-timing VTT files when pauses are inserted into video., get_connection_manager(), WebSocket Connection Manager for Real-time Job Status Updates This module provi, Dependency to get the connection manager (+38 more) - -### Community 6 - "Community 6" -Cohesion: 0.06 -Nodes (70): addObserver(), AE(), Bg(), bO(), build(), #C(), cancel(), clearGcTimeout() (+62 more) - -### Community 7 - "Community 7" -Cohesion: 0.04 -Nodes (46): AccessibleVideoEditState, AISection, Config, Job, JobCreate, JobUpdate, LanguageQCEvent, PausePointData (+38 more) - -### Community 8 - "Community 8" -Cohesion: 0.08 -Nodes (12): add(), Dl(), ig(), jg(), L2(), n2, Ud, Vt() (+4 more) - -### Community 9 - "Community 9" -Cohesion: 0.06 -Nodes (15): accessor(), ap(), ct, dM(), en, _f(), jn, Ki() (+7 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (51): ClientDetail(), ClientList(), UserAssignmentsPanel(), UserDetail(), useAddTeamMember(), useArchiveProject(), useAssignPM(), useClient() (+43 more) - -### Community 11 - "Community 11" -Cohesion: 0.04 -Nodes (11): ApiClient, Get system statistics (production/admin only), Get audit logs with filtering (production/admin only), Force reprocessing of a job (production/admin emergency function), Get audit logs for a specific user (production/admin only), Get recent security events (production/admin only), reprocess_job(), Get a single review note by ID. (+3 more) - -### Community 12 - "Community 12" -Cohesion: 0.12 -Nodes (19): b1(), b2(), Bf(), clear(), Dd, er(), f1, H1 (+11 more) - -### Community 13 - "Community 13" -Cohesion: 0.09 -Nodes (23): a2(), AN(), Cn, d1, ds(), e2(), eo, FA() (+15 more) - -### Community 14 - "Community 14" -Cohesion: 0.06 -Nodes (37): RequireAuth(), RequireAuthProps, RoleGate(), RoleGateProps, GlossaryDetail(), Tab, GlossaryList(), useMyMemberships() (+29 more) - -### Community 15 - "Community 15" -Cohesion: 0.12 -Nodes (6): IE(), kE(), ub(), Wf, xk, Zn() - -### Community 17 - "Community 17" -Cohesion: 0.09 -Nodes (17): ag(), C1(), D2(), from(), G1(), HA(), j1(), Ji() (+9 more) - -### Community 18 - "Community 18" -Cohesion: 0.06 -Nodes (15): Ad(), aj, bl(), cb(), _d, Gi, hS(), jb() (+7 more) - -### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (44): get_accessible_project_ids(), Returns project IDs the user may access, or None meaning "see everything"., log_job_action(), Log job-related actions., adjust_vtt_timing(), approve_english(), approve_source(), bulk_approve_jobs() (+36 more) - -### Community 20 - "Community 20" -Cohesion: 0.08 -Nodes (6): db(), gk(), kn, t1, tt, yf() - -### Community 21 - "Community 21" -Cohesion: 0.06 -Nodes (42): a3(), Al(), Bd, cI(), concat(), cS(), cw, eC() (+34 more) - -### Community 22 - "Community 22" -Cohesion: 0.05 -Nodes (38): create_indexes(), MongoDB, Create database indexes as specified in the development plan, axios, @azure/msal-browser, @azure/msal-react, date-fns, @hookform/resolvers (+30 more) - -### Community 23 - "Community 23" -Cohesion: 0.09 -Nodes (40): ar(), At(), Bs(), Cf(), Cj(), cR(), Dg(), DN() (+32 more) - -### Community 24 - "Community 24" -Cohesion: 0.08 -Nodes (4): ls, pk(), qf, sb() - -### Community 25 - "Community 25" -Cohesion: 0.07 -Nodes (17): bindMethods(), constructor(), eb(), _g, gt, I2, kd, Lf() (+9 more) - -### Community 26 - "Community 26" -Cohesion: 0.07 -Nodes (32): Test direct database connection., test_database_connection(), get_password_hash(), verify_password(), Seed utilities for initial data setup., Ensure the default admin user exists and has the admin role. Looks up vadym, seed_default_admin(), Log user management actions. (+24 more) - -### Community 27 - "Community 27" -Cohesion: 0.25 -Nodes (38): AccessibleVideoProgressItem, JobStatus, LangOutput, Progress tracking for accessible video rendering per language., TTS voice preferences for audio description generation, RequestedOutputs, Review, TTSPreferences (+30 more) - -### Community 28 - "Community 28" -Cohesion: 0.07 -Nodes (36): aC(), aM(), aO(), BA(), bt, C4(), cO(), dI (+28 more) - -### Community 29 - "Community 29" -Cohesion: 0.10 -Nodes (34): BaseModel, Client, ClientCreate, ClientUpdate, Project, ProjectCreate, ProjectUpdate, Team (+26 more) - -### Community 30 - "Community 30" -Cohesion: 0.06 -Nodes (34): devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, jsdom (+26 more) - -### Community 31 - "Community 31" -Cohesion: 0.09 -Nodes (28): AuditLog(), Audit Logger, AuditLog, AuditLogQuery, AuditLogResponse, Config, Audit log model for tracking sensitive operations., Schema for querying audit logs. (+20 more) - -### Community 32 - "Community 32" -Cohesion: 0.07 -Nodes (34): Async wrapper for broadcasting job status updates from API routes For Ce, _async_render_accessible_video(), _build_placements_from_ad_vtt(), _check_accessible_video_completion(), Build placement instructions from AD VTT cues and TTS durations. Uses AD VT, Check if all accessible videos are complete and update job status accordingly., Async implementation of accessible video rendering., _build_placements_with_adjustments() (+26 more) - -### Community 33 - "Community 33" -Cohesion: 0.10 -Nodes (33): concatenate_segments(), ConcatenateRequest, _download_from_gcs(), encode_segment(), EncodeSegmentRequest, extract_frame(), ExtractFrameRequest, _parse_gcs_uri() (+25 more) - -### Community 34 - "Community 34" -Cohesion: 0.06 -Nodes (31): Request to regenerate TTS for a specific cue during QC., TTSRegenerationRequest, AccessibleVideoEditStateResponse, AccessibleVideoRenderRequest, ADCueSegment, ADPlacementCue, GeminiAccessibleVideoAnalysis, PausePointResponse (+23 more) - -### Community 35 - "Community 35" -Cohesion: 0.09 -Nodes (23): NOTIFICATION_TYPE_ICONS, CONNECTION_MESSAGES, useWebSocketToastHandler(), WebSocketToastHandlerProps, GlobalWebSocketProvider(), NotificationItem, NotificationProvider(), ToastContext (+15 more) - -### Community 36 - "Community 36" -Cohesion: 0.06 -Nodes (3): get(), getSetCookie(), lM() - -### Community 37 - "Community 37" -Cohesion: 0.12 -Nodes (30): Enum, AuditAction, AuditLogSeverity, Enumeration of auditable actions., Severity levels for audit events., AuthProvider, Convert ObjectId to string, UserRole (+22 more) - -### Community 38 - "Community 38" -Cohesion: 0.09 -Nodes (19): test_login(), test_login(), get_current_user(), create_access_token(), create_refresh_token(), decode_token(), Test decoding expired JWT token, Test decoding token with wrong secret (+11 more) - -### Community 39 - "Community 39" -Cohesion: 0.14 -Nodes (17): .archive/source-docs-2026-04-29/original/README.md, .github/workflows/cd-backend.yml, .github/workflows/cd-frontend.yml, .github/workflows/ci.yml, Celery Workers, FastAPI Backend, Google Cloud Storage, Gemini 2.5 Pro AI (+9 more) - -### Community 40 - "Community 40" -Cohesion: 0.19 -Nodes (20): _assert_client_access(), _assert_pm_or_admin(), assign_pm(), _client_from_doc(), create_team(), deactivate_client(), delete_team(), get_client() (+12 more) - -### Community 41 - "Community 41" -Cohesion: 0.09 -Nodes (13): EmailService, Sends email via Mailgun REST API (httpx, async-safe)., Render the completion email HTML template, Test rendering completion email template, Test rendering template with single language, Test rendering template with no download links, Test that rendered template has proper HTML structure, Test that download links are properly formatted in template (+5 more) - -### Community 42 - "Community 42" -Cohesion: 0.07 -Nodes (13): GCSService, Delete a file from GCS, Check if a file exists in GCS, Upload file to GCS and return the GCS URI, Generate a signed URL for downloading a file, upload_file_to_gcs(), gcs_service(), Test Google Cloud Storage service functionality (+5 more) - -### Community 43 - "Community 43" -Cohesion: 0.07 -Nodes (16): Test VTT editing functionality, Test translating text while preserving timing, Test error handling for text count mismatch, Test updating a specific cue's text, Test error handling for invalid cue index, Test validation of valid VTT content, Test validation fails without WEBVTT header, Test validation catches timing errors (+8 more) - -### Community 44 - "Community 44" -Cohesion: 0.09 -Nodes (18): ABC, Database migration framework for MongoDB., down(), migrate_down(), migrate_up(), Migration, MongoDB migration framework., Get list of applied migration versions. (+10 more) - -### Community 45 - "Community 45" -Cohesion: 0.10 -Nodes (26): _all_approved(), _any_rejected(), approve_language(), _assert_can_act(), assign_linguist(), _job_languages(), list_for_linguist(), _maybe_advance_job() (+18 more) - -### Community 46 - "Community 46" -Cohesion: 0.11 -Nodes (28): _, B(), BR(), cP, Cu, Fd(), getUri(), GR() (+20 more) - -### Community 47 - "Community 47" -Cohesion: 0.08 -Nodes (23): cors_error_handler(), general_exception_handler(), http_exception_handler(), lifespan(), metrics(), rate_limiting_middleware(), Ensure CORS headers are added to all responses, including errors., Handle HTTP exceptions with CORS headers (+15 more) - -### Community 48 - "Community 48" -Cohesion: 0.10 -Nodes (16): ConnectionManager, JobStatusUpdate, Connect a WebSocket for job list updates (all jobs for a user), Disconnect a WebSocket and clean up subscriptions, Background task to handle Redis pub/sub messages with reconnection logic, Schema for job status update messages, Handle incoming Redis pub/sub message, Send job status update to specific job subscribers (+8 more) - -### Community 49 - "Community 49" -Cohesion: 0.08 -Nodes (23): Telemetry package for OpenTelemetry tracing and metrics collection, get_tracer(), instrument_dependencies(), instrument_fastapi_app(), Decorator for tracing async operations, Decorator for tracing job pipeline stages, Decorator for tracing AI service operations, Initialize OpenTelemetry tracing for the application (+15 more) - -### Community 50 - "Community 50" -Cohesion: 0.16 -Nodes (21): LanguageQCState, LanguageQCStatus, User, UserInDB, ApproveLanguageRequest, AssignRequest, LanguageQCMapResponse, LanguageQCStateResponse (+13 more) - -### Community 51 - "Community 51" -Cohesion: 0.10 -Nodes (26): FloatRange, get_tts_options(), LanguagesResponse, list_languages(), list_voices(), _preview_elevenlabs(), _preview_gemini(), preview_voice() (+18 more) - -### Community 52 - "Community 52" -Cohesion: 0.13 -Nodes (15): Service for rendering accessible video with embedded audio descriptions using ff, Delete temporary GCS file. Args: gcs_uri: GCS URI to delete, Concatenate audio files via Cloud Run FFmpeg service., Generate a silent audio file of specified duration. Used to create 500m, Upload local file to permanent GCS location (not temp). Args:, Generate silence using local ffmpeg via Celery queue., Generate silence via Cloud Run FFmpeg service., Concatenate video segments via Cloud Run FFmpeg service. (+7 more) - -### Community 53 - "Community 53" -Cohesion: 0.13 -Nodes (25): get_database(), Set the database instance., glossary_from_doc(), activate_version(), archive_glossary(), _cell(), _ensure_indexes(), get_glossaries_for_client() (+17 more) - -### Community 54 - "Community 54" -Cohesion: 0.13 -Nodes (26): backend/tests/conftest.py, Glossary Service Hybrid Retrieval, RBAC Permission Checks, Risk-Based Testing Strategy, Translation Pipeline, services/audit_logger.py, core/authz.py, services/gcs.py (+18 more) - -### Community 55 - "Community 55" -Cohesion: 0.18 -Nodes (18): bump_user_membership_cache(), Invalidate the Redis membership cache for a user (call on any membership write)., get_membership(), get_memberships_for_user(), has_org_role(), _membership_from_doc(), _now(), Membership service — queries the memberships collection. (+10 more) - -### Community 56 - "Community 56" -Cohesion: 0.11 -Nodes (18): FileListItem, MultiUploadFileListProps, UploadProgressItem, UploadStatus, useLanguages(), AxiosErrorLike, FileListItem, SharedJobSettings (+10 more) - -### Community 57 - "Community 57" -Cohesion: 0.13 -Nodes (13): Calculate cumulative offset for timestamps AT or AFTER pause points. A, Service for re-timing VTT subtitle files after pause insertions., Retime a single cue, potentially splitting it across pause points. If a, Retime a cue that doesn't span any pause points. Start time uses offset, Generate new VTT with adjusted timings for pause-insert accessible video., Filter out segments that are too short to display meaningfully., Re-time the audio description VTT for pause-insert accessible video. Fo, Parse VTT content into a list of cue dictionaries. (+5 more) - -### Community 58 - "Community 58" -Cohesion: 0.08 -Nodes (13): Cue 8s-10s with pause at 10s should remain at 8s-10s., Cue 5s-25s with pauses at 10s and 20s should split into 3 segments., Cue 8s-12s with pause at 10s (4s freeze) should split into 8s-10s + 14s-16s., Very short segments (<100ms) should be filtered out., No placements should return original VTT unchanged., Multiple cues with a pause between them., Pause at 0.0 should shift all subsequent cues., Multiple placements at the same pause point should be handled correctly. (+5 more) - -### Community 59 - "Community 59" -Cohesion: 0.10 -Nodes (16): BudgetExceeded, preflight(), Thin HTTP client for the centralized Oliver AI Cost Tracker., Raised by preflight() when the cost tracker rejects a call due to budget limits., generate_descriptive_transcript(), Descriptive Transcript Service Generates a WCAG-compliant descriptive transcrip, Merge captions VTT and audio description VTT into a descriptive transcript., Upload text content to GCS and return the GCS URI (+8 more) - -### Community 60 - "Community 60" -Cohesion: 0.13 -Nodes (17): LanguageTrack, useCreateReviewNote(), useDeleteReviewNote(), useReviewNotes(), useUpdateReviewNote(), DownloadCard(), handleDownload(), LangOutput (+9 more) - -### Community 61 - "Community 61" -Cohesion: 0.13 -Nodes (18): Exception, Validate file type using magic numbers., Validate file size limits., Validate JSON request payload., Custom validation error., Recursively validate JSON values., Validate query parameters., Validate request headers. (+10 more) - -### Community 62 - "Community 62" -Cohesion: 0.09 -Nodes (15): ApplicationMetrics, Initialize metrics provider and meter, Start Prometheus metrics HTTP server, Record a new job creation, Record job status change, Central metrics collection for the accessible video platform, Record time taken for job processing stage, Record AI service request (+7 more) - -### Community 64 - "Community 64" -Cohesion: 0.09 -Nodes (13): Test helper methods of VTTRetimerService., offset_at should return 0 for timestamps before any pause., offset_at should include offset for timestamps AT pause point., offset_at should include offset for timestamps after pause., offset_at should sum offsets from all applicable pauses., offset_before should return 0 for timestamps before any pause., offset_before should NOT include offset for timestamps AT pause point., offset_before should include offset for timestamps after pause. (+5 more) - -### Community 65 - "Community 65" -Cohesion: 0.17 -Nodes (16): Invitation, InvitationAcceptRequest, InvitationCreate, InvitationPreviewResponse, InvitationResponse, MemberDetail, Membership, MembershipCreate (+8 more) - -### Community 66 - "Community 66" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 67 - "Community 67" -Cohesion: 0.10 -Nodes (14): createMockFile(), mockApiResponses, badge, unknownStatus, customAccept, invalidFile, largeFile, mockFile (+6 more) - -### Community 68 - "Community 68" -Cohesion: 0.10 -Nodes (11): Test parsing different timestamp formats, Test formatting seconds to VTT timestamp, Test that parsing and building are consistent, Test parsing VTT with cue identifiers, Test parsing VTT with multi-line cue text, Test VTT parsing and building functionality, Test parsing VTT with NOTE sections, Test building VTT from cues (+3 more) - -### Community 69 - "Community 69" -Cohesion: 0.11 -Nodes (11): Utility class for editing VTT content while preserving timing, VTTEditor, endTimeInput, onChange, startTimeInput, textarea, user, computeCueErrors() (+3 more) - -### Community 70 - "Community 70" -Cohesion: 0.16 -Nodes (19): a5(), c5(), dC(), e5(), fS(), hC(), i5(), l5() (+11 more) - -### Community 71 - "Community 71" -Cohesion: 0.13 -Nodes (14): _cached_memberships(), get_membership_context(), _load_memberships(), MembershipContext, OrgScopedQuery, Central authorization module (Phase 3 SaaS). Provides: - MembershipContext —, Dependency factory: ensures the current user has at least `min_role` in the, Dependency: platform admin only. (+6 more) - -### Community 72 - "Community 72" -Cohesion: 0.14 -Nodes (14): VTT Version Control API Endpoints, _count_cues(), create_version(), _next_version(), VTT version control service — DB-backed snapshots with GCS storage., Create a new version whose content is a copy of an older version (non-destructiv, Line-level diff between two versions using difflib., Count WebVTT cue blocks (lines containing ' --> '). (+6 more) - -### Community 73 - "Community 73" -Cohesion: 0.14 -Nodes (8): firstCue, textarea, mockApiResponses, testJobs, testUsers, testVttContent, AuthHelper, MockAPIHelper - -### Community 74 - "Community 74" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+10 more) - -### Community 75 - "Community 75" -Cohesion: 0.13 -Nodes (18): all_codes(), all_display_map(), get(), get_display_name(), get_gemini_label(), get_preview_sample(), get_tts_lang(), Locale (+10 more) - -### Community 76 - "Community 76" -Cohesion: 0.12 -Nodes (19): ADR-003: Hybrid Exact + Vector Glossary Retrieval, Admin API Endpoints, Glossaries API Endpoints, VTT Management API Endpoints, services/audit_logger.py, services/glossary_service.py, Hybrid Glossary Retrieval, Job State Machine (16 States) (+11 more) - -### Community 77 - "Community 77" -Cohesion: 0.15 -Nodes (15): get_redis(), Get a secret value if it was loaded from Secret Manager., get_api_keys(), get_jwt_secrets(), get_secret(), get_secrets_batch(), Google Cloud Secret Manager integration service., Custom exception for Secret Manager operations. (+7 more) - -### Community 78 - "Community 78" -Cohesion: 0.15 -Nodes (18): EmbeddingStatus, Glossary, GlossaryCreate, GlossaryDetailResponse, GlossaryResponse, GlossarySource, GlossaryStatus, GlossaryTerm (+10 more) - -### Community 79 - "Community 79" -Cohesion: 0.14 -Nodes (15): close_publisher(), get_job_eligible_users(), JobStatusUpdate, publish_job_status_update(), publish_job_update_with_eligibility(), Synchronous WebSocket Publisher for Celery Workers This module provides a synch, Close Redis connection, Convenience function to publish job status update This is the function that (+7 more) - -### Community 80 - "Community 80" -Cohesion: 0.13 -Nodes (18): d4(), Fl(), jL(), mz, nj(), Os, Pp, pw() (+10 more) - -### Community 81 - "Community 81" -Cohesion: 0.22 -Nodes (13): AcceptInvite(), Stage, _assert_org_admin(), _get_org_name(), _hash_token(), _inv_from_doc(), _make_token(), _now() (+5 more) - -### Community 82 - "Community 82" -Cohesion: 0.12 -Nodes (18): ADR-001: Async Celery Bridge via New Event Loop Per Task, ADR-002: Access Tokens Stored in JS Memory, lib/api.ts, lib/auth.ts, services/gcs.py, services/gemini.py, tasks/ingest_and_ai.py, services/microsoft_auth.py (+10 more) - -### Community 83 - "Community 83" -Cohesion: 0.15 -Nodes (12): main(), MigrationCLI, # TODO: Implement your migration logic here, # TODO: Implement your rollback logic here, Main CLI entry point., Command-line interface for database migrations., Show current migration status., Create a new migration template. (+4 more) - -### Community 84 - "Community 84" -Cohesion: 0.11 -Nodes (10): Test parsing audio description cues, Test parsing empty VTT content, Test timestamp parsing, Test getting default ElevenLabs voice for language, Test getting custom ElevenLabs voice, Test ElevenLabs voice fallback for unknown language, Test service initialization with no credentials, Test Text-to-Speech service functionality (+2 more) - -### Community 85 - "Community 85" -Cohesion: 0.18 -Nodes (8): Return the pre-built glossary block (from glossary_service.build_glossary_prompt, Build the brand context instruction block for injection into prompts., Extract captions and audio descriptions from video using Gemini 2.0 Retu, Load prompt template from prompts directory, Wait for uploaded file to become ACTIVE state, Transcreate English VTT content to target language with cultural adaptation, Rewrite an audio description cue to be TTS-friendly. Called when TTS sy, _record_gemini_usage() - -### Community 86 - "Community 86" -Cohesion: 0.12 -Nodes (8): Migration, Add rendering_video status to jobs collection validator., Revert to previous validator (without rendering_video)., Migration, Add rendering_qc status to jobs collection validator. This status is used durin, Update MongoDB schema validator to support rendering_qc status., Update the jobs collection validator to include rendering_qc status., Revert to previous validator (without rendering_qc status). - -### Community 87 - "Community 87" -Cohesion: 0.23 -Nodes (13): activate_version(), _assert_can_read(), list_glossaries(), list_terms(), Glossary management endpoints. Access: - All glossary mutations (upload, acti, Upload a new xlsx file as a new version of an existing glossary., List all active glossaries for a client., Upload a new glossary xlsx file and associate it with a client. (+5 more) - -### Community 88 - "Community 88" -Cohesion: 0.13 -Nodes (10): BaseConfig, BaseSettings, Settings, initialize_config(), Enhanced configuration system with Secret Manager integration., Initialize configuration with secrets loading., Enhanced configuration that loads secrets from GCP Secret Manager., Load secrets from Secret Manager asynchronously. (+2 more) - -### Community 89 - "Community 89" -Cohesion: 0.16 -Nodes (13): _format_timestamp(), Config, Review Note model for timestamped video review notes., A timestamped note attached to a video asset during review., ReviewNote, ReviewNote, AddNoteForm(), AddNoteFormProps (+5 more) - -### Community 90 - "Community 90" -Cohesion: 0.14 -Nodes (16): optical-web-1 Production Server, AI Prompt for Generating Accessible Closed Captions, DCMP Closed Captioning Guidelines, Merriam-Webster Online, WebVTT Format, R-02: AI Processing Pipeline, R-11: Real-time Notifications, scripts/full-deploy.sh (+8 more) - -### Community 91 - "Community 91" -Cohesion: 0.13 -Nodes (10): Concatenate video segments using ffmpeg concat demuxer., Copy video without modification., Render with overlay method: 1. Create AD audio track with segments at ta, Render with pause-insert method: 1. Split video at each pause point, Get video duration in seconds using ffprobe., Get video duration using local ffprobe via Celery queue., Get detailed video and audio properties., Get video properties using local ffprobe via Celery queue. (+2 more) - -### Community 92 - "Community 92" -Cohesion: 0.17 -Nodes (10): GeminiTTSService, Raised when TTS synthesis fails after all retries., Generate a preview audio sample for voice selection. Uses language-speci, Synthesize a single cue with exponential backoff retry. Args:, Text-to-Speech service using Gemini TTS API, Synthesize full audio description from VTT content. Maintains timing ali, Convert raw PCM audio (24kHz, 16-bit, mono) to MP3. Gemini TTS outputs P, Synthesize text to audio using Gemini TTS. Returns MP3 audio bytes. (+2 more) - -### Community 93 - "Community 93" -Cohesion: 0.14 -Nodes (11): GeminiService, Attempt to self-heal invalid JSON response from Gemini, Attempt to self-heal invalid JSON response from targeted extraction, Attempt to fix common JSON syntax issues, Translate VTT content using Gemini, preserving timing programmatically., Tests for GeminiService.translate_vtt() method, Integration tests for Gemini service (requires actual API key), Test real Gemini extraction (requires setup) (+3 more) - -### Community 94 - "Community 94" -Cohesion: 0.17 -Nodes (8): Parser and builder for WebVTT files, Parse VTT content into a list of cues, Build VTT content from a list of cues, VTTCue, VTTParser, VTTValidator, cues, SyncedCaptionList() - -### Community 95 - "Community 95" -Cohesion: 0.17 -Nodes (11): MicrosoftAuthError, MicrosoftAuthService, MicrosoftTokenValidationError, MicrosoftUserInfo, Validate Microsoft ID token and extract user information. Args:, User information extracted from Microsoft ID token., Base exception for Microsoft authentication errors., Raised when token validation fails. (+3 more) - -### Community 96 - "Community 96" -Cohesion: 0.16 -Nodes (10): FFmpegExecutionError, _get_cloud_run_id_token(), Extract segment with RE-ENCODING for frame-accurate cuts. Crucial for p, Extract segment with re-encoding using local ffmpeg via Celery queue., Extract segment with re-encoding via Cloud Run FFmpeg service., Extract frame via Cloud Run FFmpeg service., Call Cloud Run FFmpeg service endpoint. Args: endpoint: End, Dispatch FFmpeg command to the dedicated ffmpeg queue and wait for result. (+2 more) - -### Community 97 - "Community 97" -Cohesion: 0.14 -Nodes (9): Whisper HTTP Service - FastAPI application for Cloud Run deployment. This servi, Pre-load Whisper model on startup to reduce first-request latency., startup_event(), Service for Whisper-based speech analysis and pause point refinement., Identify gaps between words that could serve as pause points. Args:, A gap between words, potential pause point., Find the gap type for a given timestamp., Service for speech analysis using faster-whisper. (+1 more) - -### Community 99 - "Community 99" -Cohesion: 0.16 -Nodes (13): CachedWhisperTranscript, CachedWordTimestamp, Schemas for Whisper transcript caching., Cached Whisper transcript stored in job document., Word timestamp for MongoDB storage., _dispatch_whisper_transcription(), _extract_audio_for_whisper(), Refine Gemini pause points using Whisper speech gap detection. This functio (+5 more) - -### Community 100 - "Community 100" -Cohesion: 0.14 -Nodes (13): { login }, loginCall, loginError, loginPromise, { logout }, mockApiClient, mockLoginResponse, mockUser (+5 more) - -### Community 101 - "Community 101" -Cohesion: 0.18 -Nodes (14): build_glossary_prompt_block(), _exact_match(), _get_active_version_id(), get_glossary_block_for_job(), _get_translation(), match_terms_for_text(), Hybrid retrieval: exact-match (Aho-Corasick) + semantic (Atlas Vector Search)., Return the active version_id for the active glossary of a client, or None. (+6 more) - -### Community 102 - "Community 102" -Cohesion: 0.14 -Nodes (8): Check if a pause point is "during speaking" (words nearby). Args:, Find all sentence boundaries (starts and ends) from the transcript. Bou, Snap a Gemini pause point to the nearest sentence boundary. Simplified, Refine all pause points in a Gemini analysis result. Two-phase algorith, Consolidate AD cues whose pause points are within threshold seconds of each othe, Log information about consolidated AD cue groups., A sentence boundary (start or end) for pause point snapping. Used to determ, SentenceBoundary - -### Community 104 - "Community 104" -Cohesion: 0.15 -Nodes (8): b6(), d5(), nM(), [Symbol.iterator](), toJSON(), toString(), wj(), xC() - -### Community 105 - "Community 105" -Cohesion: 0.21 -Nodes (10): MetricsTimer, Context manager for timing operations, Time a job processing stage, Time an AI service request, Time a storage operation, Time a Celery task execution, time_ai_request(), time_celery_task() (+2 more) - -### Community 106 - "Community 106" -Cohesion: 0.49 -Nodes (12): deploy_backend(), deploy_frontend(), display_status(), main(), preflight_checks(), print_error(), print_header(), print_info() (+4 more) - -### Community 107 - "Community 107" -Cohesion: 0.50 -Nodes (12): build_and_deploy_frontend(), display_summary(), main(), preflight_checks(), print_error(), print_header(), print_info(), print_success() (+4 more) - -### Community 108 - "Community 108" -Cohesion: 0.17 -Nodes (9): create_freeze_segment(), Request for creating a freeze-frame video with audio., Extract a video segment using ffmpeg (stream copy - for overlay method)., Create a freeze-frame video segment with audio overlay (for overlay method)., Create freeze frame that rigidly matches the source video properties. T, Create freeze segment using local ffmpeg via Celery queue., Create freeze segment via Cloud Run FFmpeg service., Extract audio segment from video for catch-up audio. Used to extract th (+1 more) - -### Community 109 - "Community 109" -Cohesion: 0.15 -Nodes (8): Tests for VTT retiming service for pause-insert accessible videos., Test VTT retiming with actual_freeze_duration field., Should use actual_freeze_duration instead of calculated value., Should use calculated value when actual_freeze_duration not provided., Should handle mix of actual and calculated freeze durations., Cue spanning pause should use actual_freeze_duration for split timing., retimer(), TestVTTRetimerActualFreezeDuration - -### Community 110 - "Community 110" -Cohesion: 0.17 -Nodes (12): _delete_gcs_temp(), _get_cloud_run_id_token(), Transcribe audio using local Whisper service., Run Whisper transcription - via Cloud Run if configured, otherwise locally., Get an ID token for authenticating to Cloud Run services. Uses the service, Upload local audio file to GCS temporary location and return GCS URI., Delete temporary GCS file., Transcribe audio via Cloud Run Whisper service. Uploads local audio to GCS (+4 more) - -### Community 111 - "Community 111" -Cohesion: 0.30 -Nodes (8): CreateUserModal(), UserList(), useCreateUser(), useDeactivateUser(), useResetUserPassword(), useUsers(), CreateUserRequest, UpdateUserRequest - -### Community 112 - "Community 112" -Cohesion: 0.33 -Nodes (11): adjust_timing_offset(), build(), get_cue_count(), get_total_duration(), parse(), _parse_timestamp(), translate_preserving_timing(), update_cue_text() (+3 more) - -### Community 113 - "Community 113" -Cohesion: 0.20 -Nodes (12): Cloud Run API Service, Cloud Build HTTP Services Pipeline, Cloud Build Main Pipeline, Cloud Run Deployment README, Accessible Video API Service, FFmpeg Video Processing Service, TTS Worker Service, Whisper Transcription Service (+4 more) - -### Community 114 - "Community 114" -Cohesion: 0.23 -Nodes (11): create_secrets(), generate_secure_key(), list_secrets(), main(), List all existing secrets in the project., Test secret retrieval to ensure everything is working., Main CLI entry point., Generate a cryptographically secure random key. (+3 more) - -### Community 115 - "Community 115" -Cohesion: 0.18 -Nodes (11): Response model for pause point refinement., Refine Gemini pause points using Whisper transcript analysis. This endpoint, Request model for transcription endpoint., Request model for pause point refinement., refine_pause_points(), RefinePausePointsRequest, RefinePausePointsResponse, TranscribeRequest (+3 more) - -### Community 116 - "Community 116" -Cohesion: 0.24 -Nodes (5): ElevenLabs Voice Catalog Service. Fetches and caches available voices from the, Structured voice data from ElevenLabs., Fetch voices from ElevenLabs API with in-memory cache (1-hour TTL). Fall, Fetch voices from the ElevenLabs API., Look up a specific voice by ID. - -### Community 117 - "Community 117" -Cohesion: 0.18 -Nodes (10): auth_provider_x509_cert_url, auth_uri, client_email, client_id, client_x509_cert_url, private_key, project_id, token_uri (+2 more) - -### Community 118 - "Community 118" -Cohesion: 0.18 -Nodes (11): Jobs API Endpoints, FastAPI Backend Application, GCP Secret Manager, FastAPI Backend, MongoDB Atlas, React SPA (TypeScript + Vite), FastAPI 0.115.0, Motor AsyncIOMotor (+3 more) - -### Community 119 - "Community 119" -Cohesion: 0.20 -Nodes (6): Migration, Migrate audit log schema from basic to comprehensive format., Rollback to old audit log schema format (limited)., Migrate existing audit logs to new schema format., Map old action strings to new AuditAction enum values., Update audit log schema to comprehensive format. - -### Community 120 - "Community 120" -Cohesion: 0.51 -Nodes (9): display_status(), main(), preflight_checks(), print_error(), print_header(), print_info(), print_success(), start_services() (+1 more) - -### Community 121 - "Community 121" -Cohesion: 0.22 -Nodes (4): TTSService, test_synthesize_no_service_configured(), tts_service_elevenlabs(), tts_service_google() - -### Community 122 - "Community 122" -Cohesion: 0.29 -Nodes (10): canRun(), continue(), execute(), find(), isFocused(), onFocus(), onOnline(), refetch() (+2 more) - -### Community 123 - "Community 123" -Cohesion: 0.20 -Nodes (10): record(), Synthesize a single cue's text to audio. Returns: Tuple of (audio_b, Upload a cue's audio to GCS. Path convention: gs://{bucket}/{job_id}/{langu, Run an async coroutine in a sync context., Synthesize a single AD cue and upload to GCS immediately. This task runs on, _record_tts_cost(), _run_async(), synthesize_cue_task() (+2 more) - -### Community 124 - "Community 124" -Cohesion: 0.29 -Nodes (6): RateLimitMiddleware, Get client identifier for rate limiting., Get endpoint pattern for rate limiting., Get rate limit for the current request., Process rate limiting for the request., FastAPI middleware for rate limiting. - -### Community 125 - "Community 125" -Cohesion: 0.20 -Nodes (10): middleware/rate_limiting.py, R-04: Per-Language QC, R-05: Translation and TTS, Celery Workers, Google Translate, Redis Queue, SendGrid Email, Text-to-Speech Service (+2 more) - -### Community 126 - "Community 126" -Cohesion: 0.58 -Nodes (9): deploy_to_apache(), display_summary(), main(), preflight_checks(), print_error(), print_header(), print_info(), print_success() (+1 more) - -### Community 127 - "Community 127" -Cohesion: 0.22 -Nodes (6): Generate MP3 audio from audio description VTT content AND return individual segm, Represents a synthesized audio segment for a single AD cue., Generate MP3 using ElevenLabs TTS, Synthesize text using ElevenLabs API, Get ElevenLabs voice ID for language, TTSCueSegment - -### Community 128 - "Community 128" -Cohesion: 0.28 -Nodes (7): AuditLogCreate, Schema for creating audit log entries., Task, NotifyClientTask, Async task for client notifications, Celery task wrapper for client notification, Pipeline 3: Client Notification Triggered when job status changes to 'co - -### Community 129 - "Community 129" -Cohesion: 0.22 -Nodes (5): Migration, Update user collection schema validator for PRODUCTION role and nullable passwor, Update the users collection validator., Update MongoDB schema validator to support production role and Microsoft users., Revert to previous validator (client, reviewer, admin only). - -### Community 130 - "Community 130" -Cohesion: 0.22 -Nodes (5): Migration, Initial database schema setup migration., Create initial collections and indexes., Drop all collections (destructive - use with caution)., Initial schema setup with all collections and indexes. - -### Community 131 - "Community 131" -Cohesion: 0.22 -Nodes (5): Migration, Index optimization migration for improved query performance., Remove the optimized indexes., Add optimized indexes for common query patterns., Optimize indexes for better query performance. - -### Community 132 - "Community 132" -Cohesion: 0.22 -Nodes (5): Migration, Add tts_failed and render_failed statuses to jobs collection validator. These s, Update MongoDB schema validator to support tts_failed and render_failed statuses, Update the jobs collection validator to include failed statuses., Revert to previous validator (without failed statuses). - -### Community 133 - "Community 133" -Cohesion: 0.22 -Nodes (5): Migration, Add linguist role to user collection schema validator., Update the users collection validator., Update MongoDB schema validator to support linguist role., Revert to validator without linguist role. - -### Community 134 - "Community 134" -Cohesion: 0.22 -Nodes (5): Migration, Add project_manager role to user collection schema validator., Update the users collection validator., Update MongoDB schema validator to support project_manager role., Revert to validator without project_manager role. - -### Community 135 - "Community 135" -Cohesion: 0.22 -Nodes (9): _download_from_gcs(), _parse_gcs_uri(), Parse GCS URI into bucket and blob path., Download file from GCS to local path., Transcribe audio file from GCS and return word-level timestamps. This endpo, Response model for transcription endpoint., transcribe(), TranscribeResponse (+1 more) - -### Community 136 - "Community 136" -Cohesion: 0.25 -Nodes (3): ErrorBoundary, Props, State - -### Community 137 - "Community 137" -Cohesion: 0.29 -Nodes (6): Apply request validation middleware., validation_middleware(), create_validation_middleware(), Enhanced request validation middleware., FastAPI middleware for enhanced request validation., Factory function to create validation middleware. - -### Community 138 - "Community 138" -Cohesion: 0.29 -Nodes (4): Migration, Add auth_provider field to users collection., Remove auth_provider field from all users., Add auth_provider field to support Microsoft authentication. - -### Community 139 - "Community 139" -Cohesion: 0.29 -Nodes (7): main(), Test downloading directly from GCS (bypass signed URL)., Test the complete MP3 serving pipeline., test_direct_gcs_download(), get_signed_download_url(), test_get_signed_download_url(), get_job_downloads() - -### Community 141 - "Community 141" -Cohesion: 0.29 -Nodes (6): audio_description_vtt, captions_vtt, confidence, language, summary, transcript_plaintext - -### Community 142 - "Community 142" -Cohesion: 0.43 -Nodes (6): AssetValidationService, Service for validating job assets before completion, validate_job_assets(), _validate_mp3_asset(), _validate_video_asset(), _validate_vtt_asset() - -### Community 143 - "Community 143" -Cohesion: 0.29 -Nodes (4): Test VTTCue dataclass, Test creating a VTT cue, Test creating a VTT cue without identifier, TestVTTCue - -### Community 144 - "Community 144" -Cohesion: 0.29 -Nodes (4): IPWhitelist, IP whitelist for bypassing rate limits., Check if IP is whitelisted., Remove IP from whitelist. - -### Community 145 - "Community 145" -Cohesion: 0.29 -Nodes (5): RateLimiter, Redis-based rate limiter with sliding window algorithm., Check if request is allowed under rate limit. Returns:, Track rate limiting metrics, track_rate_limit_metrics() - -### Community 146 - "Community 146" -Cohesion: 0.29 -Nodes (4): Migration, Add approved_source and qc_feedback statuses to jobs collection validator., Revert to previous validator (without approved_source and qc_feedback)., Update MongoDB schema validator to support approved_source and qc_feedback statu - -### Community 147 - "Community 147" -Cohesion: 0.29 -Nodes (3): Convert VTT timestamp to seconds, Parse audio description VTT and extract timing + text, Convert VTT timestamp to seconds - -### Community 148 - "Community 148" -Cohesion: 0.29 -Nodes (6): get_settings(), Get settings instance - for dependency injection, get_settings_cached(), Get settings instance (synchronous)., Get cached settings instance., Get setting value from Settings object or environment variable. - -### Community 149 - "Community 149" -Cohesion: 0.29 -Nodes (7): Transcribe audio and identify speech gaps for pause point placement. This e, Speech gap in response., Request model for transcription with gap analysis., Response model for transcription with gap analysis., SpeechGapResponse, transcribe_with_gaps(), TranscribeWithGapsResponse - -### Community 152 - "Community 152" -Cohesion: 0.33 -Nodes (5): Job, JobDownloadsResponse, JobStatus, LoginRequest, LoginResponse - -### Community 153 - "Community 153" -Cohesion: 0.33 -Nodes (4): Middleware package for FastAPI application., create_rate_limit_middleware(), Rate limiting middleware for API endpoints., Factory function to create rate limit middleware. - -### Community 159 - "Community 159" -Cohesion: 0.33 -Nodes (6): _get_ffmpeg_version(), health_check(), HealthResponse, Health check response., Get FFmpeg version string., Health check endpoint. - -### Community 160 - "Community 160" -Cohesion: 0.33 -Nodes (4): Test Gemini AI service functionality, Test successful prompt loading, Test prompt loading with missing file, TestGeminiService - -### Community 162 - "Community 162" -Cohesion: 0.40 -Nodes (4): Test database dependency injection., Test simple endpoint without dependencies., test_db_endpoint(), test_simple_endpoint() - -### Community 164 - "Community 164" -Cohesion: 0.50 -Nodes (4): generate_zip_filename(), Generate zip filename with current datetime., bulk_download_jobs(), Generate a zip file containing all downloadable assets from specified jobs. - -### Community 168 - "Community 168" -Cohesion: 0.50 -Nodes (4): Dependency: ensures the current user is an Admin or PM for the given client., require_pm_for_client(), Dependency: admin or PM of this client., _require_client_staff() - -### Community 169 - "Community 169" -Cohesion: 0.50 -Nodes (4): health_check(), HealthResponse, Health check response., Health check endpoint. - -### Community 171 - "Community 171" -Cohesion: 0.67 -Nodes (3): WebSocket API Endpoints, services/websocket.py, hooks/useJobStatusWebSocket.ts - -### Community 172 - "Community 172" -Cohesion: 0.67 -Nodes (3): Authentication API Endpoints, core/dependencies.py, core/security.py - -### Community 174 - "Community 174" -Cohesion: 0.67 -Nodes (3): Cloud Build SPA Pipeline, Frontend index.html, frontend/src/main.tsx - -## Knowledge Gaps -- **427 isolated node(s):** `tsBuildInfoFile`, `target`, `lib`, `module`, `skipLibCheck` (+422 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **132 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `set()` connect `Community 3` to `Community 0`, `Community 2`, `Community 6`, `Community 8`, `Community 12`, `Community 13`, `Community 15`, `Community 17`, `Community 18`, `Community 25`, `Community 28`, `Community 32`, `Community 45`, `Community 46`, `Community 48`, `Community 79`, `Community 98`, `Community 101`, `Community 102`?** - _High betweenness centrality (0.255) - this node is a cross-community bridge._ -- **Why does `create_refresh_token()` connect `Community 38` to `Community 81`, `Community 26`, `Community 13`, `Community 31`?** - _High betweenness centrality (0.104) - this node is a cross-community bridge._ -- **Why does `get_database()` connect `Community 53` to `Community 101`, `Community 44`, `Community 77`, `Community 47`, `Community 48`, `Community 22`, `Community 31`?** - _High betweenness centrality (0.092) - this node is a cross-community bridge._ -- **What connects `tsBuildInfoFile`, `target`, `lib` to the rest of the system?** - _1248 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.01099760921538796 - nodes in this community are weakly interconnected._ -- **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.03287128712871287 - nodes in this community are weakly interconnected._ -- **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.056654456654456654 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/wiki/architecture/video-accessibility-structure.md b/wiki/architecture/video-accessibility-structure.md deleted file mode 100644 index d523dd9..0000000 --- a/wiki/architecture/video-accessibility-structure.md +++ /dev/null @@ -1,1027 +0,0 @@ ---- -tags: [architecture, graphify, video-accessibility] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/video-accessibility (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 3843 nodes · 7213 edges · 317 communities (183 shown, 134 thin omitted) -- Extraction: 86% EXTRACTED · 14% INFERRED · 0% AMBIGUOUS · INFERRED: 1028 edges (avg confidence: 0.63) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 5|Community 5]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] -- [[_COMMUNITY_Community 8|Community 8]] -- [[_COMMUNITY_Community 9|Community 9]] -- [[_COMMUNITY_Community 10|Community 10]] -- [[_COMMUNITY_Community 11|Community 11]] -- [[_COMMUNITY_Community 12|Community 12]] -- [[_COMMUNITY_Community 13|Community 13]] -- [[_COMMUNITY_Community 14|Community 14]] -- [[_COMMUNITY_Community 15|Community 15]] -- [[_COMMUNITY_Community 16|Community 16]] -- [[_COMMUNITY_Community 17|Community 17]] -- [[_COMMUNITY_Community 18|Community 18]] -- [[_COMMUNITY_Community 19|Community 19]] -- [[_COMMUNITY_Community 20|Community 20]] -- [[_COMMUNITY_Community 21|Community 21]] -- [[_COMMUNITY_Community 22|Community 22]] -- [[_COMMUNITY_Community 23|Community 23]] -- [[_COMMUNITY_Community 24|Community 24]] -- [[_COMMUNITY_Community 25|Community 25]] -- [[_COMMUNITY_Community 26|Community 26]] -- [[_COMMUNITY_Community 27|Community 27]] -- [[_COMMUNITY_Community 28|Community 28]] -- [[_COMMUNITY_Community 29|Community 29]] -- [[_COMMUNITY_Community 30|Community 30]] -- [[_COMMUNITY_Community 31|Community 31]] -- [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] -- [[_COMMUNITY_Community 35|Community 35]] -- [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] -- [[_COMMUNITY_Community 38|Community 38]] -- [[_COMMUNITY_Community 39|Community 39]] -- [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] -- [[_COMMUNITY_Community 44|Community 44]] -- [[_COMMUNITY_Community 45|Community 45]] -- [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] -- [[_COMMUNITY_Community 48|Community 48]] -- [[_COMMUNITY_Community 49|Community 49]] -- [[_COMMUNITY_Community 50|Community 50]] -- [[_COMMUNITY_Community 51|Community 51]] -- [[_COMMUNITY_Community 52|Community 52]] -- [[_COMMUNITY_Community 53|Community 53]] -- [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 56|Community 56]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 58|Community 58]] -- [[_COMMUNITY_Community 59|Community 59]] -- [[_COMMUNITY_Community 60|Community 60]] -- [[_COMMUNITY_Community 61|Community 61]] -- [[_COMMUNITY_Community 62|Community 62]] -- [[_COMMUNITY_Community 63|Community 63]] -- [[_COMMUNITY_Community 64|Community 64]] -- [[_COMMUNITY_Community 65|Community 65]] -- [[_COMMUNITY_Community 66|Community 66]] -- [[_COMMUNITY_Community 67|Community 67]] -- [[_COMMUNITY_Community 68|Community 68]] -- [[_COMMUNITY_Community 69|Community 69]] -- [[_COMMUNITY_Community 70|Community 70]] -- [[_COMMUNITY_Community 71|Community 71]] -- [[_COMMUNITY_Community 72|Community 72]] -- [[_COMMUNITY_Community 73|Community 73]] -- [[_COMMUNITY_Community 74|Community 74]] -- [[_COMMUNITY_Community 75|Community 75]] -- [[_COMMUNITY_Community 76|Community 76]] -- [[_COMMUNITY_Community 77|Community 77]] -- [[_COMMUNITY_Community 78|Community 78]] -- [[_COMMUNITY_Community 79|Community 79]] -- [[_COMMUNITY_Community 80|Community 80]] -- [[_COMMUNITY_Community 81|Community 81]] -- [[_COMMUNITY_Community 82|Community 82]] -- [[_COMMUNITY_Community 83|Community 83]] -- [[_COMMUNITY_Community 84|Community 84]] -- [[_COMMUNITY_Community 85|Community 85]] -- [[_COMMUNITY_Community 86|Community 86]] -- [[_COMMUNITY_Community 87|Community 87]] -- [[_COMMUNITY_Community 88|Community 88]] -- [[_COMMUNITY_Community 89|Community 89]] -- [[_COMMUNITY_Community 90|Community 90]] -- [[_COMMUNITY_Community 91|Community 91]] -- [[_COMMUNITY_Community 92|Community 92]] -- [[_COMMUNITY_Community 93|Community 93]] -- [[_COMMUNITY_Community 94|Community 94]] -- [[_COMMUNITY_Community 95|Community 95]] -- [[_COMMUNITY_Community 96|Community 96]] -- [[_COMMUNITY_Community 97|Community 97]] -- [[_COMMUNITY_Community 98|Community 98]] -- [[_COMMUNITY_Community 99|Community 99]] -- [[_COMMUNITY_Community 100|Community 100]] -- [[_COMMUNITY_Community 101|Community 101]] -- [[_COMMUNITY_Community 102|Community 102]] -- [[_COMMUNITY_Community 103|Community 103]] -- [[_COMMUNITY_Community 104|Community 104]] -- [[_COMMUNITY_Community 105|Community 105]] -- [[_COMMUNITY_Community 106|Community 106]] -- [[_COMMUNITY_Community 107|Community 107]] -- [[_COMMUNITY_Community 108|Community 108]] -- [[_COMMUNITY_Community 109|Community 109]] -- [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] -- [[_COMMUNITY_Community 113|Community 113]] -- [[_COMMUNITY_Community 114|Community 114]] -- [[_COMMUNITY_Community 115|Community 115]] -- [[_COMMUNITY_Community 116|Community 116]] -- [[_COMMUNITY_Community 117|Community 117]] -- [[_COMMUNITY_Community 118|Community 118]] -- [[_COMMUNITY_Community 119|Community 119]] -- [[_COMMUNITY_Community 120|Community 120]] -- [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] -- [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 125|Community 125]] -- [[_COMMUNITY_Community 126|Community 126]] -- [[_COMMUNITY_Community 127|Community 127]] -- [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] -- [[_COMMUNITY_Community 130|Community 130]] -- [[_COMMUNITY_Community 131|Community 131]] -- [[_COMMUNITY_Community 132|Community 132]] -- [[_COMMUNITY_Community 133|Community 133]] -- [[_COMMUNITY_Community 134|Community 134]] -- [[_COMMUNITY_Community 135|Community 135]] -- [[_COMMUNITY_Community 136|Community 136]] -- [[_COMMUNITY_Community 137|Community 137]] -- [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] -- [[_COMMUNITY_Community 141|Community 141]] -- [[_COMMUNITY_Community 142|Community 142]] -- [[_COMMUNITY_Community 143|Community 143]] -- [[_COMMUNITY_Community 144|Community 144]] -- [[_COMMUNITY_Community 145|Community 145]] -- [[_COMMUNITY_Community 146|Community 146]] -- [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_Community 148|Community 148]] -- [[_COMMUNITY_Community 149|Community 149]] -- [[_COMMUNITY_Community 150|Community 150]] -- [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_Community 152|Community 152]] -- [[_COMMUNITY_Community 153|Community 153]] -- [[_COMMUNITY_Community 154|Community 154]] -- [[_COMMUNITY_Community 155|Community 155]] -- [[_COMMUNITY_Community 156|Community 156]] -- [[_COMMUNITY_Community 157|Community 157]] -- [[_COMMUNITY_Community 158|Community 158]] -- [[_COMMUNITY_Community 159|Community 159]] -- [[_COMMUNITY_Community 160|Community 160]] -- [[_COMMUNITY_Community 161|Community 161]] -- [[_COMMUNITY_Community 162|Community 162]] -- [[_COMMUNITY_Community 163|Community 163]] -- [[_COMMUNITY_Community 164|Community 164]] -- [[_COMMUNITY_Community 165|Community 165]] -- [[_COMMUNITY_Community 166|Community 166]] -- [[_COMMUNITY_Community 167|Community 167]] -- [[_COMMUNITY_Community 168|Community 168]] -- [[_COMMUNITY_Community 169|Community 169]] -- [[_COMMUNITY_Community 170|Community 170]] -- [[_COMMUNITY_Community 171|Community 171]] -- [[_COMMUNITY_Community 172|Community 172]] -- [[_COMMUNITY_Community 173|Community 173]] -- [[_COMMUNITY_Community 174|Community 174]] -- [[_COMMUNITY_Community 176|Community 176]] -- [[_COMMUNITY_Community 177|Community 177]] -- [[_COMMUNITY_Community 178|Community 178]] -- [[_COMMUNITY_Community 180|Community 180]] -- [[_COMMUNITY_Community 181|Community 181]] -- [[_COMMUNITY_Community 182|Community 182]] -- [[_COMMUNITY_Community 183|Community 183]] -- [[_COMMUNITY_Community 184|Community 184]] -- [[_COMMUNITY_Community 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]] -- [[_COMMUNITY_Community 222|Community 222]] -- [[_COMMUNITY_Community 223|Community 223]] -- [[_COMMUNITY_Community 224|Community 224]] -- [[_COMMUNITY_Community 225|Community 225]] -- [[_COMMUNITY_Community 226|Community 226]] -- [[_COMMUNITY_Community 227|Community 227]] -- [[_COMMUNITY_Community 228|Community 228]] -- [[_COMMUNITY_Community 229|Community 229]] -- [[_COMMUNITY_Community 230|Community 230]] -- [[_COMMUNITY_Community 231|Community 231]] -- [[_COMMUNITY_Community 232|Community 232]] -- [[_COMMUNITY_Community 233|Community 233]] -- [[_COMMUNITY_Community 234|Community 234]] -- [[_COMMUNITY_Community 235|Community 235]] -- [[_COMMUNITY_Community 236|Community 236]] -- [[_COMMUNITY_Community 238|Community 238]] -- [[_COMMUNITY_Community 239|Community 239]] -- [[_COMMUNITY_Community 240|Community 240]] -- [[_COMMUNITY_Community 241|Community 241]] -- [[_COMMUNITY_Community 242|Community 242]] -- [[_COMMUNITY_Community 243|Community 243]] -- [[_COMMUNITY_Community 244|Community 244]] -- [[_COMMUNITY_Community 245|Community 245]] -- [[_COMMUNITY_Community 246|Community 246]] -- [[_COMMUNITY_Community 247|Community 247]] -- [[_COMMUNITY_Community 248|Community 248]] -- [[_COMMUNITY_Community 249|Community 249]] -- [[_COMMUNITY_Community 250|Community 250]] -- [[_COMMUNITY_Community 251|Community 251]] -- [[_COMMUNITY_Community 252|Community 252]] -- [[_COMMUNITY_Community 253|Community 253]] -- [[_COMMUNITY_Community 254|Community 254]] -- [[_COMMUNITY_Community 255|Community 255]] -- [[_COMMUNITY_Community 256|Community 256]] -- [[_COMMUNITY_Community 257|Community 257]] -- [[_COMMUNITY_Community 258|Community 258]] -- [[_COMMUNITY_Community 259|Community 259]] -- [[_COMMUNITY_Community 260|Community 260]] -- [[_COMMUNITY_Community 261|Community 261]] -- [[_COMMUNITY_Community 262|Community 262]] -- [[_COMMUNITY_Community 263|Community 263]] -- [[_COMMUNITY_Community 264|Community 264]] -- [[_COMMUNITY_Community 265|Community 265]] -- [[_COMMUNITY_Community 266|Community 266]] -- [[_COMMUNITY_Community 267|Community 267]] -- [[_COMMUNITY_Community 268|Community 268]] -- [[_COMMUNITY_Community 269|Community 269]] -- [[_COMMUNITY_Community 270|Community 270]] -- [[_COMMUNITY_Community 271|Community 271]] -- [[_COMMUNITY_Community 272|Community 272]] -- [[_COMMUNITY_Community 273|Community 273]] -- [[_COMMUNITY_Community 274|Community 274]] -- [[_COMMUNITY_Community 275|Community 275]] -- [[_COMMUNITY_Community 276|Community 276]] -- [[_COMMUNITY_Community 277|Community 277]] -- [[_COMMUNITY_Community 278|Community 278]] -- [[_COMMUNITY_Community 279|Community 279]] -- [[_COMMUNITY_Community 280|Community 280]] -- [[_COMMUNITY_Community 281|Community 281]] -- [[_COMMUNITY_Community 282|Community 282]] -- [[_COMMUNITY_Community 283|Community 283]] -- [[_COMMUNITY_Community 284|Community 284]] -- [[_COMMUNITY_Community 285|Community 285]] -- [[_COMMUNITY_Community 286|Community 286]] -- [[_COMMUNITY_Community 287|Community 287]] -- [[_COMMUNITY_Community 288|Community 288]] -- [[_COMMUNITY_Community 289|Community 289]] -- [[_COMMUNITY_Community 290|Community 290]] -- [[_COMMUNITY_Community 291|Community 291]] -- [[_COMMUNITY_Community 292|Community 292]] -- [[_COMMUNITY_Community 293|Community 293]] -- [[_COMMUNITY_Community 294|Community 294]] -- [[_COMMUNITY_Community 295|Community 295]] -- [[_COMMUNITY_Community 298|Community 298]] -- [[_COMMUNITY_Community 299|Community 299]] -- [[_COMMUNITY_Community 300|Community 300]] -- [[_COMMUNITY_Community 301|Community 301]] -- [[_COMMUNITY_Community 302|Community 302]] -- [[_COMMUNITY_Community 303|Community 303]] -- [[_COMMUNITY_Community 304|Community 304]] -- [[_COMMUNITY_Community 305|Community 305]] -- [[_COMMUNITY_Community 306|Community 306]] -- [[_COMMUNITY_Community 307|Community 307]] -- [[_COMMUNITY_Community 308|Community 308]] -- [[_COMMUNITY_Community 309|Community 309]] -- [[_COMMUNITY_Community 310|Community 310]] -- [[_COMMUNITY_Community 311|Community 311]] -- [[_COMMUNITY_Community 312|Community 312]] -- [[_COMMUNITY_Community 313|Community 313]] -- [[_COMMUNITY_Community 314|Community 314]] -- [[_COMMUNITY_Community 315|Community 315]] -- [[_COMMUNITY_Community 316|Community 316]] - -## God Nodes (most connected - your core abstractions) -1. `ApiClient` - 155 edges -2. `UserRole` - 62 edges -3. `useClients()` - 55 edges -4. `get_job_or_403()` - 55 edges -5. `User` - 51 edges -6. `RequestedOutputs` - 44 edges -7. `VTTEditor` - 41 edges -8. `JobStatus` - 40 edges -9. `VideoRendererService` - 39 edges -10. `useAuthStore` - 37 edges - -## Surprising Connections (you probably didn't know these) -- `QC List Screenshot` --references--> `React Frontend SPA` [INFERRED] - qc-list.png → .archive/source-docs-2026-04-29/original/README.md -- `Help Admin Screenshot Visible` --references--> `Role-Based Access Control` [INFERRED] - help-admin-screenshot-visible.png → .archive/source-docs-2026-04-29/original/README.md -- `Gemini AI Service (README)` --semantically_similar_to--> `Gemini 2.5 Pro AI Service` [INFERRED] [semantically similar] - README.md → video_accessibility_development_plan.txt -- `New Job Translation Banner Screenshot` --references--> `Translation Pipeline` [INFERRED] - new-job-translation-banner.png → .archive/source-docs-2026-04-29/original/README.md -- `New Job Scrolled Screenshot` --references--> `React Frontend SPA` [INFERRED] - new-job-scrolled.png → .archive/source-docs-2026-04-29/original/README.md - -## Communities (317 total, 134 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.03 -Nodes (86): ACTION_GROUPS, SEVERITY_COLORS, Tab, VoicePreviewButtonProps, VoiceSelector(), GlossaryList(), bytesLabel(), KIND_LABELS (+78 more) - -### Community 1 - "Community 1" -Cohesion: 0.03 -Nodes (19): ApiClient, getCsrfToken(), Upload a hand-crafted VTT to override AI output and advance job to PENDING_QC., Return users who can be assigned a brief (PM, production, admin). Accessible to, Get system statistics (production/admin only), Force reprocessing of a job (production/admin emergency function), Get audit logs for a specific user — accepts user ID or email (production/admin, Get recent security events (production/admin only) (+11 more) - -### Community 2 - "Community 2" -Cohesion: 0.05 -Nodes (62): ClientDetail(), ClientList(), UserAssignmentsPanel(), UserDetail(), CreateUserModal(), UserList(), ALL_LANGUAGES, NewBrief() (+54 more) - -### Community 3 - "Community 3" -Cohesion: 0.04 -Nodes (52): Ingest and AI Task, _download_from_gcs(), health_check(), HealthResponse, _parse_gcs_uri(), Whisper HTTP Service - FastAPI application for Cloud Run deployment. This servi, Response model for pause point refinement., Health check response. (+44 more) - -### Community 4 - "Community 4" -Cohesion: 0.06 -Nodes (38): VTT Retimer, Config, Microsoft Authentication Service Validates Microsoft ID tokens and extracts use, Render accessible video based on Gemini analysis. Args: sou, Service for re-timing VTT files when pauses are inserted into video., _download_blob(), generate_zip_stream(), Zip download service for bulk job downloads. Generates streaming zip files cont (+30 more) - -### Community 5 - "Community 5" -Cohesion: 0.04 -Nodes (57): _cached_memberships(), get_membership_context(), _load_memberships(), Central authorization module (Phase 3 SaaS). Provides: - MembershipContext —, Dependency factory: ensures the current user has at least `min_role` in the, Dependency: platform admin only., Load memberships from DB., Load memberships, with Redis cache (60s TTL). (+49 more) - -### Community 6 - "Community 6" -Cohesion: 0.05 -Nodes (62): accessible-video-api Docker Image, accessible-video-whisper-worker Docker Image, accessible-video-worker Docker Image, Cloud Build CI/CD Pipeline, AI Cost Tracker Service, GCP Cloud Build, Google Cloud Run, GCP Secret Manager (+54 more) - -### Community 7 - "Community 7" -Cohesion: 0.04 -Nodes (44): AccessibleVideoEditState, AISection, Config, Job, JobCreate, JobUpdate, LanguageQCEvent, PausePointData (+36 more) - -### Community 8 - "Community 8" -Cohesion: 0.06 -Nodes (56): BaseModel, Client, ClientCreate, ClientUpdate, Project, ProjectCreate, ProjectUpdate, Team (+48 more) - -### Community 9 - "Community 9" -Cohesion: 0.05 -Nodes (48): RequireAuth(), RequireAuthProps, RoleGate(), RoleGateProps, AuthState, useAuthStore, loginRequest, msalConfig (+40 more) - -### Community 10 - "Community 10" -Cohesion: 0.06 -Nodes (58): Dashboard Screenshot, Jobs List Bulk Screenshot, QC Queue Screenshot, QC Detail Screenshot (Reviewer), QC List Screenshot, Start Work Screenshot, Approve Button Screenshot, Failures Screenshot (+50 more) - -### Community 11 - "Community 11" -Cohesion: 0.08 -Nodes (43): MembershipContext, Return all org IDs the user has any membership in., LanguageQCStatus, _AsyncIterableMock, _make_ctx(), _make_user(), Admin users org filter tests (MT-8). Verifies that list_users is scoped by org, Platform admin with ?org_id=org-x → filter restricted to that org's members. (+35 more) - -### Community 12 - "Community 12" -Cohesion: 0.07 -Nodes (54): get_job_or_403(), Load job document and verify ctx user can access its organization. Returns 404 f, JobResponse, log_job_action(), Log job-related actions., adjust_vtt_timing(), approve_english(), approve_source() (+46 more) - -### Community 13 - "Community 13" -Cohesion: 0.04 -Nodes (50): OrgScopedQuery, Helper that adds organization_id filters to MongoDB queries. Usage:, generate_descriptive_transcript(), Descriptive Transcript Service Generates a WCAG-compliant descriptive transcrip, Merge captions VTT and audio description VTT into a descriptive transcript., gcs_path(), Return a GCS object path rooted at the job's prefix. Jobs created before MT, Upload text content to GCS and return the GCS URI (+42 more) - -### Community 14 - "Community 14" -Cohesion: 0.08 -Nodes (38): FailuresList(), STEP_LABELS, FinalList(), QCList(), BriefDetail(), STATUS_BADGE, BriefsList(), Dashboard View (+30 more) - -### Community 15 - "Community 15" -Cohesion: 0.24 -Nodes (45): AccessibleVideoProgressItem, JobFailure, JobStatus, LangOutput, Progress tracking for accessible video rendering per language., TTS voice preferences for audio description generation, RequestedOutputs, Review (+37 more) - -### Community 16 - "Community 16" -Cohesion: 0.08 -Nodes (34): add_comment(), approve_language(), _assert_can_approve(), _assert_user_in_job_org(), assign_linguist(), _deep_link(), _qc_recipients(), Return [(email, full_name)] for linguist + reviewer assigned to a language, minu (+26 more) - -### Community 17 - "Community 17" -Cohesion: 0.06 -Nodes (28): ErrorBoundary, Props, State, NOTIFICATION_TYPE_ICONS, NotificationItem, NotificationProvider(), ToastContext, ToastContextType (+20 more) - -### Community 18 - "Community 18" -Cohesion: 0.06 -Nodes (42): Gemini Transcreation Prompt, Gemini TTS Rewrite Prompt, routes/AcceptInvite.tsx, tests/helpers/auth.ts, Build Health Audit — ln-622, contexts/GlobalWebSocketContext.tsx, contexts/NotificationContext.tsx, routes/admin/QCDetail.tsx (+34 more) - -### Community 19 - "Community 19" -Cohesion: 0.07 -Nodes (41): concatenate_segments(), ConcatenateRequest, _download_from_gcs(), encode_segment(), EncodeSegmentRequest, extract_frame(), ExtractFrameRequest, _get_ffmpeg_version() (+33 more) - -### Community 20 - "Community 20" -Cohesion: 0.09 -Nodes (28): Identify gaps between words that could serve as pause points. Args:, A gap between words, potential pause point., A sentence boundary (start or end) for pause point snapping. Used to determ, SentenceBoundary, SpeechGap, _boundary(), _gap(), Tests for the improved snap_pause_point algorithm (A1/A2/A3). (+20 more) - -### Community 21 - "Community 21" -Cohesion: 0.07 -Nodes (42): Auth Architecture (Token Flow), core/authz.py, core/dependencies.py, core/secrets_config.py, core/security.py, Architecture — Accessible Video Processing Platform, contexts/GlobalWebSocketContext.tsx, hooks/useJobStatusWebSocket.ts (+34 more) - -### Community 22 - "Community 22" -Cohesion: 0.09 -Nodes (29): FinalDetail(), LanguagePreview(), ApiError, LANG_QC_BADGE, LANG_QC_ICON, LANG_QC_LABEL, QCDetail(), useQueueTTSRegeneration() (+21 more) - -### Community 23 - "Community 23" -Cohesion: 0.14 -Nodes (26): AuditAction, Enumeration of auditable actions., LanguageQCComment, LanguageQCState, User, UserInDB, PM/PROD/ADMIN assigns a reviewer to a language., AddCommentRequest (+18 more) - -### Community 24 - "Community 24" -Cohesion: 0.06 -Nodes (21): main(), Test downloading directly from GCS (bypass signed URL)., Test the complete MP3 serving pipeline., test_direct_gcs_download(), create_resumable_upload_session(), GCSService, get_signed_download_url(), Create a GCS resumable upload session and return the session URI. (+13 more) - -### Community 25 - "Community 25" -Cohesion: 0.06 -Nodes (35): frontend/tailwind.config.js, Tailwind CSS v4, devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-hooks, eslint-plugin-react-refresh (+27 more) - -### Community 26 - "Community 26" -Cohesion: 0.14 -Nodes (25): _assert_client_access(), _assert_pm_or_admin(), _assert_pm_or_client_member(), assign_pm(), _client_from_doc(), create_team(), deactivate_client(), delete_team() (+17 more) - -### Community 27 - "Community 27" -Cohesion: 0.08 -Nodes (6): EmailService, Sends email via Mailgun REST API (httpx, async-safe)., Render the completion email HTML template, Test email service (Mailgun-based), service(), TestEmailService - -### Community 28 - "Community 28" -Cohesion: 0.09 -Nodes (18): ConnectionManager, JobStatusUpdate, Connect a WebSocket for job list updates (all jobs for a user). ``acces, Disconnect a WebSocket and clean up subscriptions, Background task to handle Redis pub/sub messages with reconnection logic, Schema for job status update messages, Handle incoming Redis pub/sub message, Send job status update to specific job subscribers (+10 more) - -### Community 29 - "Community 29" -Cohesion: 0.08 -Nodes (24): STATUS_BADGE, StatusBadgeProps, useBulkDeleteJobs(), useBulkReturnToQC(), useCloneJob(), useDeleteJob(), useReprocessJob(), DATE_RANGE_OPTIONS (+16 more) - -### Community 30 - "Community 30" -Cohesion: 0.15 -Nodes (27): assert_job_in_user_org(), get_user_org_ids(), Return org IDs the user belongs to, or None meaning unrestricted (ADMIN). P, Raise 404 (not 403) when user cannot access this job — avoids information disclo, list_for_reviewer(), Return jobs where the reviewer is assigned to at least one language., _AsyncIterableMock, _make_db() (+19 more) - -### Community 31 - "Community 31" -Cohesion: 0.08 -Nodes (30): Admin Dashboard Screenshot, After EN Approval Screenshot, API Specification, Architecture Documentation, Database Schema Documentation, Infrastructure Documentation, Development Principles, Requirements Documentation (+22 more) - -### Community 32 - "Community 32" -Cohesion: 0.08 -Nodes (20): CONNECTION_MESSAGES, useWebSocketToastHandler(), WebSocketToastHandlerProps, GlobalWebSocketProvider(), useGlobalWebSocket(), ConnectionStatus, JobStatusUpdate, UseJobStatusWebSocketReturn (+12 more) - -### Community 33 - "Community 33" -Cohesion: 0.14 -Nodes (21): assert_user_in_org(), Raise 403 if ctx user does not have min_role in org_id. Platform admins always p, _doc_to_response(), get_brief(), list_briefs(), Job Brief CRUD endpoints., update_brief(), activate_version() (+13 more) - -### Community 34 - "Community 34" -Cohesion: 0.13 -Nodes (29): services/gemini.py, Gemini 2.5 Pro, Video Accessibility Demo User Guide, Apache Reverse Proxy, Audio Description Generation, Audit Trail and Compliance Logging, AI-Powered Caption Generation, Google Cloud Translate (+21 more) - -### Community 35 - "Community 35" -Cohesion: 0.12 -Nodes (29): tasks/translate_and_synthesize.py, Audit Logging, ElevenLabs TTS Service, Google Cloud Storage File Layout, Google Gemini 2.5 Pro Integration, Google TTS, Job Processing State Machine, JWT Authentication (+21 more) - -### Community 36 - "Community 36" -Cohesion: 0.07 -Nodes (16): Test VTT editing functionality, Test translating text while preserving timing, Test error handling for text count mismatch, Test updating a specific cue's text, Test error handling for invalid cue index, Test validation of valid VTT content, Test validation fails without WEBVTT header, Test validation catches timing errors (+8 more) - -### Community 37 - "Community 37" -Cohesion: 0.11 -Nodes (17): ABC, Database migration framework for MongoDB., down(), migrate_down(), migrate_up(), MigrationManager, MongoDB migration framework., Get list of applied migration versions. (+9 more) - -### Community 38 - "Community 38" -Cohesion: 0.09 -Nodes (28): FloatRange, get_tts_options(), LanguagesResponse, list_languages(), list_voices(), _preview_elevenlabs(), _preview_gemini(), preview_voice() (+20 more) - -### Community 39 - "Community 39" -Cohesion: 0.07 -Nodes (5): Tests for GeminiService.translate_vtt() method, Integration tests for Gemini service (requires actual API key), Test real Gemini extraction (requires setup), TestGeminiServiceIntegration, TestGeminiTranslateVtt - -### Community 40 - "Community 40" -Cohesion: 0.08 -Nodes (23): Telemetry package for OpenTelemetry tracing and metrics collection, get_tracer(), instrument_dependencies(), instrument_fastapi_app(), Decorator for tracing async operations, Decorator for tracing job pipeline stages, Decorator for tracing AI service operations, Initialize OpenTelemetry tracing for the application (+15 more) - -### Community 41 - "Community 41" -Cohesion: 0.13 -Nodes (27): AuthProvider, UserRole, AdminStatsResponse, ChangePasswordRequest, CreateUserRequest, LoginRequest, LoginResponse, LogoutResponse (+19 more) - -### Community 42 - "Community 42" -Cohesion: 0.09 -Nodes (27): Google Cloud Storage Integration, Video Accessibility Pipeline, routes_files.py - Upload Route, routes_language_qc.py - Final Review Route, Security Architecture (JWT, RBAC, HttpOnly cookies), services/emailer.py - Email Service, services/gemini.py - Gemini AI Service, services/language_qc.py - QC Service (+19 more) - -### Community 43 - "Community 43" -Cohesion: 0.11 -Nodes (17): Metadata for a video segment between pause points., VideoSegmentMetadata, FFmpegExecutionError, _get_cloud_run_id_token(), Service for rendering accessible video with embedded audio descriptions using ff, Get video properties via Cloud Run FFmpeg service., Extract a single frame as PNG using ffmpeg., Extract frame using local ffmpeg via Celery queue. (+9 more) - -### Community 44 - "Community 44" -Cohesion: 0.12 -Nodes (17): LanguageTrack, useCreateReviewNote(), useDeleteReviewNote(), useReviewNotes(), useUpdateReviewNote(), DownloadCard(), JobDownloadsResponse, LangOutput (+9 more) - -### Community 45 - "Community 45" -Cohesion: 0.09 -Nodes (18): block, { container }, freeze, makeFreezeSegment(), makeSegment(), marker, onPausePointClick, onPausePointUpdate (+10 more) - -### Community 46 - "Community 46" -Cohesion: 0.08 -Nodes (13): Utility class for editing VTT content while preserving timing, VTTEditor, endTimeInput, onChange, startTimeInput, textarea, user, GlossaryTerm (+5 more) - -### Community 47 - "Community 47" -Cohesion: 0.09 -Nodes (21): cors_error_handler(), general_exception_handler(), http_exception_handler(), lifespan(), metrics(), rate_limiting_middleware(), Ensure CORS headers are added to all responses, including errors., Handle HTTP exceptions with CORS headers (+13 more) - -### Community 48 - "Community 48" -Cohesion: 0.13 -Nodes (13): Calculate cumulative offset for timestamps AT or AFTER pause points. A, Service for re-timing VTT subtitle files after pause insertions., Retime a single cue, potentially splitting it across pause points. If a, Retime a cue that doesn't span any pause points. Start time uses offset, Generate new VTT with adjusted timings for pause-insert accessible video., Filter out segments that are too short to display meaningfully., Re-time the audio description VTT for pause-insert accessible video. Fo, Parse VTT content into a list of cue dictionaries. (+5 more) - -### Community 49 - "Community 49" -Cohesion: 0.08 -Nodes (13): Cue 8s-10s with pause at 10s should remain at 8s-10s., Cue 5s-25s with pauses at 10s and 20s should split into 3 segments., Cue 8s-12s with pause at 10s (4s freeze) should split into 8s-10s + 14s-16s., Very short segments (<100ms) should be filtered out., No placements should return original VTT unchanged., Multiple cues with a pause between them., Pause at 0.0 should shift all subsequent cues., Multiple placements at the same pause point should be handled correctly. (+5 more) - -### Community 50 - "Community 50" -Cohesion: 0.14 -Nodes (24): Artifact Registry Repository, Cloud Run Job: va-worker, va-worker Cloud Build Image, Backend Dockerfile, Celery Workers, Redis Broker/Cache, API Service (FastAPI), backend/Dockerfile (+16 more) - -### Community 51 - "Community 51" -Cohesion: 0.09 -Nodes (17): createMockFile(), mockApiResponses, invalidFile, largeFile, mockFile, mockOnDrop, onFilesSelect, user (+9 more) - -### Community 52 - "Community 52" -Cohesion: 0.09 -Nodes (12): Migration, Add approved_source and qc_feedback statuses to jobs collection validator., Revert to previous validator (without approved_source and qc_feedback)., Update MongoDB schema validator to support approved_source and qc_feedback statu, Migration, Add rendering_video status to jobs collection validator., Revert to previous validator (without rendering_video)., Migration (+4 more) - -### Community 53 - "Community 53" -Cohesion: 0.09 -Nodes (14): Extract a video segment using ffmpeg (stream copy - for overlay method)., Extract segment with RE-ENCODING for frame-accurate cuts. Crucial for p, Extract segment with re-encoding using local ffmpeg via Celery queue., Extract segment with re-encoding via Cloud Run FFmpeg service., Extract audio segment from video for catch-up audio. Used to extract th, Concatenate multiple audio files for combined AD + catch-up audio. Uses, Concatenate audio files using local ffmpeg via Celery queue., Generate a silent audio file of specified duration. Used to create adap (+6 more) - -### Community 54 - "Community 54" -Cohesion: 0.09 -Nodes (16): BaseConfig, BaseSettings, get_settings(), Get settings instance - for dependency injection, Settings, get_settings_cached(), initialize_config(), Enhanced configuration system with Secret Manager integration. (+8 more) - -### Community 55 - "Community 55" -Cohesion: 0.09 -Nodes (15): ApplicationMetrics, Initialize metrics provider and meter, Start Prometheus metrics HTTP server, Record a new job creation, Record job status change, Central metrics collection for the accessible video platform, Record time taken for job processing stage, Record AI service request (+7 more) - -### Community 56 - "Community 56" -Cohesion: 0.09 -Nodes (12): Test parsing different timestamp formats, Test formatting seconds to VTT timestamp, Test error handling for invalid timestamps, Test that parsing and building are consistent, Test parsing VTT with cue identifiers, Test parsing VTT with multi-line cue text, Test VTT parsing and building functionality, Test parsing VTT with NOTE sections (+4 more) - -### Community 57 - "Community 57" -Cohesion: 0.13 -Nodes (17): Validate file type using magic numbers., Validate file size limits., Validate JSON request payload., Custom validation error., Recursively validate JSON values., Validate query parameters., Validate request headers., Raised when security validation fails. (+9 more) - -### Community 58 - "Community 58" -Cohesion: 0.09 -Nodes (13): Test helper methods of VTTRetimerService., offset_at should return 0 for timestamps before any pause., offset_at should include offset for timestamps AT pause point., offset_at should include offset for timestamps after pause., offset_at should sum offsets from all applicable pauses., offset_before should return 0 for timestamps before any pause., offset_before should NOT include offset for timestamps AT pause point., offset_before should include offset for timestamps after pause. (+5 more) - -### Community 59 - "Community 59" -Cohesion: 0.17 -Nodes (16): Invitation, InvitationAcceptRequest, InvitationCreate, InvitationPreviewResponse, InvitationResponse, MemberDetail, Membership, MembershipCreate (+8 more) - -### Community 60 - "Community 60" -Cohesion: 0.16 -Nodes (22): Client Help Workflow, Client Project Screenshot, Interface Navigation, Login Flow, Create Job Button Screenshot, Dashboard Screenshot, Downloads Screenshot, Login Button Help Screenshot (+14 more) - -### Community 61 - "Community 61" -Cohesion: 0.09 -Nodes (21): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+13 more) - -### Community 62 - "Community 62" -Cohesion: 0.12 -Nodes (17): AuditLogQuery, AuditLogResponse, AuditLogSeverity, Severity levels for audit events., Schema for querying audit logs., Response schema for audit log queries., AuditLogger, log_action() (+9 more) - -### Community 63 - "Community 63" -Cohesion: 0.16 -Nodes (21): ADR-001: Async Celery Bridge, API Specification, tasks/ffmpeg_operations.py, asyncio EventLoop per Task, Azure AD / Microsoft OIDC SSO, Celery, Google Cloud Run, Docker Compose Services (+13 more) - -### Community 64 - "Community 64" -Cohesion: 0.11 -Nodes (12): test_login(), test_login(), create_access_token(), Test JWT token creation and validation, Test token security properties, Test that tokens don't contain sensitive information, Test creating access token with default expiry, Test that refresh tokens have type field (+4 more) - -### Community 65 - "Community 65" -Cohesion: 0.14 -Nodes (13): main(), MigrationCLI, # TODO: Implement your migration logic here, # TODO: Implement your rollback logic here, Main CLI entry point., Command-line interface for database migrations., Initialize database connection and migration manager, Show current migration status. (+5 more) - -### Community 66 - "Community 66" -Cohesion: 0.12 -Nodes (17): _all_approved(), _any_rejected(), auto_assign_defaults(), _job_languages(), list_for_linguist(), _maybe_advance_job(), open_review(), Per-language QC service — two-stage (linguist → reviewer) assignment, approval, (+9 more) - -### Community 67 - "Community 67" -Cohesion: 0.12 -Nodes (16): AuditLog(), AuditLogCreate, Config, Audit log model for tracking sensitive operations., Schema for creating audit log entries., SignedUploadRequest, SignedUploadResponse, generate_signed_upload_url() (+8 more) - -### Community 68 - "Community 68" -Cohesion: 0.15 -Nodes (11): Generate MP3 audio from audio description VTT content AND return individual segm, Represents a synthesized audio segment for a single AD cue., Generate MP3 using Google TTS with 2-second pauses between passages, Generate MP3 using ElevenLabs TTS, Synthesize text using ElevenLabs API, Get ElevenLabs voice ID for language, Convert VTT timestamp to seconds, Generate MP3 audio from audio description VTT content. Synthesizes each (+3 more) - -### Community 69 - "Community 69" -Cohesion: 0.14 -Nodes (19): EmbeddingStatus, Glossary, GlossaryCreate, GlossaryDetailResponse, GlossaryResponse, GlossarySource, GlossaryStatus, GlossaryTerm (+11 more) - -### Community 70 - "Community 70" -Cohesion: 0.15 -Nodes (15): get_redis(), Get a secret value if it was loaded from Secret Manager., get_api_keys(), get_jwt_secrets(), get_secret(), get_secrets_batch(), Google Cloud Secret Manager integration service., Custom exception for Secret Manager operations. (+7 more) - -### Community 71 - "Community 71" -Cohesion: 0.20 -Nodes (14): AcceptInvite(), Stage, InvitationPreview, _assert_org_admin(), _get_org_name(), _hash_token(), _inv_from_doc(), _make_token() (+6 more) - -### Community 72 - "Community 72" -Cohesion: 0.18 -Nodes (19): MongoDB Change Stream Watcher, Google Cloud Storage, Gemini 2.5 Pro AI Service, Gemini Ingestion Prompt, Gemini Transcreation Prompt, Celery Task: ingest_and_ai, Jobs MongoDB Collection, JWT Authentication with RBAC (+11 more) - -### Community 73 - "Community 73" -Cohesion: 0.14 -Nodes (8): firstCue, textarea, mockApiResponses, testJobs, testUsers, testVttContent, AuthHelper, MockAPIHelper - -### Community 74 - "Community 74" -Cohesion: 0.13 -Nodes (13): FileListItem, MultiUploadFileListProps, UploadProgressItem, UploadStatus, AxiosErrorLike, FileListItem, SharedJobSettings, useMultiUpload() (+5 more) - -### Community 75 - "Community 75" -Cohesion: 0.11 -Nodes (18): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+10 more) - -### Community 76 - "Community 76" -Cohesion: 0.13 -Nodes (18): all_codes(), all_display_map(), get(), get_display_name(), get_gemini_label(), get_preview_sample(), get_tts_lang(), Locale (+10 more) - -### Community 77 - "Community 77" -Cohesion: 0.14 -Nodes (15): close_publisher(), get_job_eligible_users(), JobStatusUpdate, publish_job_status_update(), publish_job_update_with_eligibility(), Synchronous WebSocket Publisher for Celery Workers This module provides a synch, Close Redis connection, Convenience function to publish job status update This is the function that (+7 more) - -### Community 78 - "Community 78" -Cohesion: 0.15 -Nodes (13): Test direct database connection., test_database_connection(), get_password_hash(), verify_password(), Test password hashing and verification, Test password hashing, Test password verification with correct password, Test that same password generates different hashes (due to salt) (+5 more) - -### Community 79 - "Community 79" -Cohesion: 0.17 -Nodes (18): ADR-003: Hybrid Glossary Retrieval, Glossary Service, Hybrid Exact + Vector Glossary Retrieval, glossary_from_doc(), build_glossary_prompt_block(), _cell(), _ensure_indexes(), get_glossaries_for_client() (+10 more) - -### Community 80 - "Community 80" -Cohesion: 0.16 -Nodes (11): WebSocket org isolation tests (MT-7). Tests _can_access_org helper and the org-, Legacy job with no org_id — pass through (further checks done in handler)., _can_access_org only uses `in` operator — any dict-like works., Verify that the handler emits 4403 for org-denied jobs by simulating the rel, test_org_allowed_does_not_close(), test_org_denied_closes_with_4403(), test_platform_admin_none_memberships_not_denied(), TestCanAccessOrg (+3 more) - -### Community 81 - "Community 81" -Cohesion: 0.11 -Nodes (9): Migration, Base class for database migrations., Represents a migration record in the database., Migration, Add PROCESSING_FAILED status to job schema validator and create failure indexes., Migration, Create job_briefs collection with indexes., Migration (+1 more) - -### Community 82 - "Community 82" -Cohesion: 0.26 -Nodes (17): Audio Description (AD), Audio Ducking for AD Overlay, Brand Name Recognition in Video, Closed Captions, DCMP Captioning Standard, Disfluency Removal (DCMP §6.01), On-Screen Text Mandatory Description, Overlay AD Integration Method (+9 more) - -### Community 83 - "Community 83" -Cohesion: 0.18 -Nodes (17): Job Processing Workflow, Quality Control Workflow, VTT Subtitle Editing, Linguist Help Screenshots Section, Job After EN Approve Screenshot, Linguist Dashboard Help Screenshot, QC Detail Help Screenshot, QC Detail Placeholder Help Screenshot (+9 more) - -### Community 84 - "Community 84" -Cohesion: 0.15 -Nodes (13): _count_cues(), create_version(), _next_version(), VTT version control service — DB-backed snapshots with GCS storage., Create a new version whose content is a copy of an older version (non-destructiv, Line-level diff between two versions using difflib., Count WebVTT cue blocks (lines containing ' --> ')., Atomically increment and return the next version number for this job/lang/kind. (+5 more) - -### Community 85 - "Community 85" -Cohesion: 0.15 -Nodes (11): format_ts(), main(), _extract_retry_after(), GeminiTTSService, Synthesize a single cue with retry, honouring API-provided retryDelay on 429., Raised when TTS synthesis fails after all retries., Synthesize full audio description from VTT content. Maintains timing ali, Text-to-Speech service using Google Cloud Text-to-Speech API with Gemini models. (+3 more) - -### Community 86 - "Community 86" -Cohesion: 0.21 -Nodes (13): ShareToken, ShareTokenResponse, client_decision(), CreateShareTokenRequest, PublicJobPreviewLanguage, PublicJobPreviewResponse, Share-token endpoints — create/revoke/list tokens + public read-only view + clie, List all active share tokens for a job. (+5 more) - -### Community 87 - "Community 87" -Cohesion: 0.26 -Nodes (16): Apache Deployment Guide (Archived), Deployment Guide (Archived), Deployment Options (Archived), README (Archived), Archive README Cleanup, CD Backend Workflow, CD Frontend Workflow, CI Workflow (+8 more) - -### Community 88 - "Community 88" -Cohesion: 0.16 -Nodes (13): _format_timestamp(), Config, Review Note model for timestamped video review notes., A timestamped note attached to a video asset during review., ReviewNote, ReviewNote, AddNoteForm(), AddNoteFormProps (+5 more) - -### Community 89 - "Community 89" -Cohesion: 0.46 -Nodes (15): build_images(), deploy_frontend(), ensure_apache_config(), ensure_apache_modules(), ensure_gcs_cors(), fail(), info(), main() (+7 more) - -### Community 90 - "Community 90" -Cohesion: 0.21 -Nodes (15): create_refresh_token(), log_auth_failure(), log_auth_success(), Log successful authentication., Log failed authentication attempt., get_microsoft_auth_service(), Get Microsoft authentication service instance., _get_user_org_ids() (+7 more) - -### Community 91 - "Community 91" -Cohesion: 0.27 -Nodes (13): bump_user_membership_cache(), Invalidate the Redis membership cache for a user (call on any membership write)., get_membership(), get_memberships_for_user(), has_org_role(), _membership_from_doc(), _now(), Membership service — queries the memberships collection. (+5 more) - -### Community 92 - "Community 92" -Cohesion: 0.23 -Nodes (15): Accessible Video Method Screenshot, All Jobs Screenshot, Audit Log Screenshot, Client Help Screenshots, Create Job Form Complete Screenshot, Job Assets Screenshot, Job Created Success Screenshot, Job Detail Screenshot (+7 more) - -### Community 93 - "Community 93" -Cohesion: 0.29 -Nodes (14): adjust_timing_offset(), assert_cue_alignment(), build(), clean_disfluencies(), fix_overlapping_cues(), get_cue_count(), get_total_duration(), parse() (+6 more) - -### Community 94 - "Community 94" -Cohesion: 0.17 -Nodes (8): Parser and builder for WebVTT files, Parse VTT content into a list of cues, Build VTT content from a list of cues, VTTCue, VTTParser, VTTValidator, cues, SyncedCaptionList() - -### Community 95 - "Community 95" -Cohesion: 0.17 -Nodes (11): MicrosoftAuthError, MicrosoftAuthService, MicrosoftTokenValidationError, MicrosoftUserInfo, Validate Microsoft ID token and extract user information. Args:, User information extracted from Microsoft ID token., Base exception for Microsoft authentication errors., Raised when token validation fails. (+3 more) - -### Community 96 - "Community 96" -Cohesion: 0.18 -Nodes (13): authenticate_websocket(), get_connection_manager(), WebSocket Connection Manager for Real-time Job Status Updates This module provi, Authenticate a WebSocket connection using a JWT token Returns user_id if val, Dependency to get the connection manager, WebSocket routes for real-time job status updates Provides WebSocket endpoints, Get WebSocket connection status and statistics (debug/monitoring)., Fetch user document and resolve org memberships from cache. Returns (user_do (+5 more) - -### Community 97 - "Community 97" -Cohesion: 0.13 -Nodes (9): Test parsing audio description cues, Test parsing empty VTT content, Test timestamp parsing, Test getting default ElevenLabs voice for language, Test getting custom ElevenLabs voice, Test ElevenLabs voice fallback for unknown language, Test service initialization with no credentials, Test Text-to-Speech service functionality (+1 more) - -### Community 98 - "Community 98" -Cohesion: 0.35 -Nodes (14): annotateAndScreenshot(), AnnotationRect, captureAdmin(), captureClient(), captureGlobal(), captureLinguist(), captureProduction(), captureProjectManager() (+6 more) - -### Community 99 - "Community 99" -Cohesion: 0.27 -Nodes (5): GeminiService, Return the pre-built glossary block (from glossary_service.build_glossary_prompt, Build the brand context instruction block for injection into prompts., Extract captions and audio descriptions from video using Gemini 2.0 Retu, Wait for uploaded file to become ACTIVE state - -### Community 100 - "Community 100" -Cohesion: 0.24 -Nodes (14): ADR-002: JWT Memory Storage, Audit Logger Service, Authorization Module (authz.py), Bearer Token Authentication, Frontend Auth Module (auth.ts), JWT In-Memory Storage, Language QC Service, Playwright E2E Testing (+6 more) - -### Community 101 - "Community 101" -Cohesion: 0.15 -Nodes (9): create_rate_limit_middleware(), IPWhitelist, RateLimiter, Rate limiting middleware for API endpoints., Redis-based rate limiter with sliding window algorithm., IP whitelist for bypassing rate limits., Check if IP is whitelisted., Remove IP from whitelist. (+1 more) - -### Community 102 - "Community 102" -Cohesion: 0.26 -Nodes (13): input, copy_prefix(), delete_prefix(), gsutil_hash(), gsutil_list(), load_resume(), main(), migrate_job_mongo() (+5 more) - -### Community 103 - "Community 103" -Cohesion: 0.16 -Nodes (13): CachedWhisperTranscript, CachedWordTimestamp, Schemas for Whisper transcript caching., Cached Whisper transcript stored in job document., Word timestamp for MongoDB storage., _dispatch_whisper_transcription(), _extract_audio_for_whisper(), Refine Gemini pause points using Whisper speech gap detection. This functio (+5 more) - -### Community 104 - "Community 104" -Cohesion: 0.21 -Nodes (7): Call generate_content, falling back on 429/503 transient errors. Returns (respon, DEPRECATED: This function is no longer called in the render pipeline. P, Attempt to self-heal invalid JSON response from accessible video analysis, Transcreate English VTT content to target language with cultural adaptation, Load prompt template from prompts directory, Rewrite an audio description cue to be TTS-friendly. Called when TTS sy, _record_gemini_usage() - -### Community 105 - "Community 105" -Cohesion: 0.22 -Nodes (6): Delete temporary GCS file. Args: gcs_uri: GCS URI to delete, Concatenate audio files via Cloud Run FFmpeg service., Concatenate video segments via Cloud Run FFmpeg service., Get or create GCS client for file transfers., Upload local file to GCS temp location and return gs:// URI. Args:, Get video duration via Cloud Run FFmpeg service. - -### Community 106 - "Community 106" -Cohesion: 0.21 -Nodes (10): MetricsTimer, Context manager for timing operations, Time a job processing stage, Time an AI service request, Time a storage operation, Time a Celery task execution, time_ai_request(), time_celery_task() (+2 more) - -### Community 107 - "Community 107" -Cohesion: 0.15 -Nodes (8): Tests for VTT retiming service for pause-insert accessible videos., Test VTT retiming with actual_freeze_duration field., Should use actual_freeze_duration instead of calculated value., Should use calculated value when actual_freeze_duration not provided., Should handle mix of actual and calculated freeze durations., Cue spanning pause should use actual_freeze_duration for split timing., retimer(), TestVTTRetimerActualFreezeDuration - -### Community 108 - "Community 108" -Cohesion: 0.23 -Nodes (11): create_secrets(), generate_secure_key(), list_secrets(), main(), List all existing secrets in the project., Test secret retrieval to ensure everything is working., Main CLI entry point., Generate a cryptographically secure random key. (+3 more) - -### Community 109 - "Community 109" -Cohesion: 0.17 -Nodes (12): record(), _extract_retry_after(), Synthesize a single AD cue and upload to GCS immediately. This task runs on, Synthesize a single cue's text to audio. Returns: Tuple of (audio_b, Return seconds to wait from a Google API 429 retryDelay, or None., Upload a cue's audio to GCS. Path convention: gs://{bucket}/{job_id}/{langu, Run an async coroutine in a sync context., _record_tts_cost() (+4 more) - -### Community 110 - "Community 110" -Cohesion: 0.17 -Nodes (12): _delete_gcs_temp(), _get_cloud_run_id_token(), Transcribe audio using local Whisper service., Run Whisper transcription - via Cloud Run if configured, otherwise locally., Get an ID token for authenticating to Cloud Run services. Uses the service, Upload local audio file to GCS temporary location and return GCS URI., Delete temporary GCS file., Transcribe audio via Cloud Run Whisper service. Uploads local audio to GCS (+4 more) - -### Community 111 - "Community 111" -Cohesion: 0.17 -Nodes (5): clearIntervalSpy, MockWebSocket, { result, unmount }, statusMsg, { unmount } - -### Community 112 - "Community 112" -Cohesion: 0.17 -Nodes (7): decode_token(), Seed utilities for initial data setup., Ensure the default admin user exists and has the admin role. Looks up vadym, seed_default_admin(), Test decoding expired JWT token, Test decoding token with wrong secret, Test decoding valid JWT token - -### Community 113 - "Community 113" -Cohesion: 0.24 -Nodes (11): _buffers(), Tests for adaptive silence buffer formula in video_renderer.py (A1). The render, total_freeze_duration = ad_duration + silence_before + silence_after., silence_before never < 0.05, silence_after never < 0.10, regardless of gap size., Larger natural gap → smaller combined silence overhead., The config defaults used in the formula match the expected values., test_buffer_formula(), test_buffers_never_below_floor() (+3 more) - -### Community 114 - "Community 114" -Cohesion: 0.24 -Nodes (5): ElevenLabs Voice Catalog Service. Fetches and caches available voices from the, Structured voice data from ElevenLabs., Fetch voices from ElevenLabs API with in-memory cache (1-hour TTL). Fall, Fetch voices from the ElevenLabs API., Look up a specific voice by ID. - -### Community 115 - "Community 115" -Cohesion: 0.22 -Nodes (11): get_database(), Set the database instance., activate_version(), archive_glossary(), get_terms_page(), _invalidate_cache(), Atomically set the active version of a glossary., Hard-delete the glossary and all its versions and terms. (+3 more) - -### Community 116 - "Community 116" -Cohesion: 0.18 -Nodes (10): auth_provider_x509_cert_url, auth_uri, client_email, client_id, client_x509_cert_url, private_key, project_id, token_uri (+2 more) - -### Community 117 - "Community 117" -Cohesion: 0.38 -Nodes (5): _get_org_or_404(), list_members(), _now(), _org_from_doc(), Organization management (SaaS multi-tenant replacement for /clients). Access ru - -### Community 118 - "Community 118" -Cohesion: 0.25 -Nodes (10): align(), _cursor_for_time(), _find_match(), _Match, Align Gemini caption VTT timings against Whisper word-level timestamps. Algorit, Lower-case, strip punctuation, drop short tokens., Return the best match for cue_tokens starting at cursor ± SEARCH_WINDOW., Return the index of the first Whisper word at or after time t, starting from fro (+2 more) - -### Community 119 - "Community 119" -Cohesion: 0.20 -Nodes (6): Migration, Migrate audit log schema from basic to comprehensive format., Rollback to old audit log schema format (limited)., Migrate existing audit logs to new schema format., Map old action strings to new AuditAction enum values., Update audit log schema to comprehensive format. - -### Community 120 - "Community 120" -Cohesion: 0.51 -Nodes (9): display_status(), main(), preflight_checks(), print_error(), print_header(), print_info(), print_success(), start_services() (+1 more) - -### Community 121 - "Community 121" -Cohesion: 0.18 -Nodes (9): Pydantic schemas for Review Note API requests and responses., Request body for updating an existing review note., Response model for a single review note., Response model for a list of review notes., Request body for creating a new review note., ReviewNoteCreateRequest, ReviewNoteResponse, ReviewNotesListResponse (+1 more) - -### Community 122 - "Community 122" -Cohesion: 0.22 -Nodes (9): bulk_retry(), BulkRetryRequest, BulkRetryResponse, get_queue_stats(), QueueStats, Admin production endpoints: failure dashboard, bulk retry, queue stats, VTT over, Return pending task counts per Celery queue (via Redis LLEN)., List all jobs in a failed status, optionally filtered by step and org. (+1 more) - -### Community 123 - "Community 123" -Cohesion: 0.22 -Nodes (10): _exact_match(), _get_active_version_id(), _get_translation(), match_terms_for_text(), Hybrid retrieval: exact-match (Aho-Corasick) + semantic (Atlas Vector Search)., Return the active version_id for the active glossary of a client, or None., Find terms present in `text` using Aho-Corasick over the glossary terms., Semantic search via Atlas Vector Search ($vectorSearch). (+2 more) - -### Community 124 - "Community 124" -Cohesion: 0.22 -Nodes (7): Apply request validation middleware., validation_middleware(), Middleware package for FastAPI application., create_validation_middleware(), Enhanced request validation middleware., FastAPI middleware for enhanced request validation., Factory function to create validation middleware. - -### Community 125 - "Community 125" -Cohesion: 0.29 -Nodes (6): RateLimitMiddleware, Get client identifier for rate limiting., Get endpoint pattern for rate limiting., Get rate limit for the current request., Process rate limiting for the request., FastAPI middleware for rate limiting. - -### Community 126 - "Community 126" -Cohesion: 0.58 -Nodes (9): deploy_to_apache(), display_summary(), main(), preflight_checks(), print_error(), print_header(), print_info(), print_success() (+1 more) - -### Community 127 - "Community 127" -Cohesion: 0.33 -Nodes (9): API Service (Docker), FFmpeg HTTP Cloud Run Service, FFmpeg Worker Service (Docker), MongoDB Service (Docker), Docker Compose optical-dev Override, Redis Service (Docker), TTS Worker Service (Docker), Whisper HTTP Cloud Run Service (+1 more) - -### Community 128 - "Community 128" -Cohesion: 0.22 -Nodes (5): Migration, Add tts_failed and render_failed statuses to jobs collection validator. These s, Update MongoDB schema validator to support tts_failed and render_failed statuses, Update the jobs collection validator to include failed statuses., Revert to previous validator (without failed statuses). - -### Community 129 - "Community 129" -Cohesion: 0.22 -Nodes (5): Migration, Initial database schema setup migration., Create initial collections and indexes., Drop all collections (destructive - use with caution)., Initial schema setup with all collections and indexes. - -### Community 130 - "Community 130" -Cohesion: 0.22 -Nodes (5): Migration, Index optimization migration for improved query performance., Remove the optimized indexes., Add optimized indexes for common query patterns., Optimize indexes for better query performance. - -### Community 131 - "Community 131" -Cohesion: 0.22 -Nodes (5): Migration, Update user collection schema validator for PRODUCTION role and nullable passwor, Update the users collection validator., Update MongoDB schema validator to support production role and Microsoft users., Revert to previous validator (client, reviewer, admin only). - -### Community 132 - "Community 132" -Cohesion: 0.22 -Nodes (5): Migration, Add linguist role to user collection schema validator., Update the users collection validator., Update MongoDB schema validator to support linguist role., Revert to validator without linguist role. - -### Community 133 - "Community 133" -Cohesion: 0.22 -Nodes (5): Migration, Add project_manager role to user collection schema validator., Update the users collection validator., Update MongoDB schema validator to support project_manager role., Revert to validator without project_manager role. - -### Community 134 - "Community 134" -Cohesion: 0.31 -Nodes (4): _parse_retry_delay(), Embedding service backed by Vertex AI text-multilingual-embedding-002. Uses the, Extract the server-suggested retry delay from a 429 error., Embed a list of texts and return a list of 768-dim float vectors. Proces - -### Community 135 - "Community 135" -Cohesion: 0.53 -Nodes (8): _make_ctx(), _make_db(), _make_user(), VTT versions org isolation tests (MT-6). All 4 vtt_versions handlers delegate t, test_cross_org_raises_404(), test_missing_job_raises_404(), test_platform_admin_bypasses_org_check(), test_same_org_passes() - -### Community 136 - "Community 136" -Cohesion: 0.22 -Nodes (8): get_accessible_project_ids(), Returns project IDs the user may access, or None meaning "see everything"., generate_zip_filename(), Generate zip filename with current datetime., bulk_download_jobs(), get_job_downloads(), Get VTT content for editing. If language is not specified, returns source langua, Generate a zip file containing all downloadable assets from specified jobs. - -### Community 137 - "Community 137" -Cohesion: 0.29 -Nodes (5): Exception, BudgetExceeded, preflight(), Thin HTTP client for the centralized Oliver AI Cost Tracker., Raised by preflight() when the cost tracker rejects a call due to budget limits. - -### Community 138 - "Community 138" -Cohesion: 0.39 -Nodes (8): Approve Decision Screenshot, Briefs List Screenshot, Final Detail Screenshot, Final List Screenshot, Glossary List Screenshot, Glossary Upload Screenshot, Project Manager Glossary Screenshot, Project Manager Help Section - -### Community 139 - "Community 139" -Cohesion: 0.29 -Nodes (4): Migration, Add auth_provider field to users collection., Remove auth_provider field from all users., Add auth_provider field to support Microsoft authentication. - -### Community 141 - "Community 141" -Cohesion: 0.29 -Nodes (6): audio_description_vtt, captions_vtt, confidence, language, summary, transcript_plaintext - -### Community 142 - "Community 142" -Cohesion: 0.43 -Nodes (7): Accessible Video Processing Platform, API Spec doc, Architecture doc, Architecture doc, Tech Stack doc, Architecture doc, Infrastructure doc - -### Community 143 - "Community 143" -Cohesion: 0.38 -Nodes (7): Cloud-Native Google Cloud Deployment, docker-compose.prod.yml (referenced), Docker Development Setup, All-in-Docker Production Setup, nginx/nginx.conf, Single Domain Nginx Proxy Setup, Deployment Options for Video Accessibility Platform - -### Community 144 - "Community 144" -Cohesion: 0.43 -Nodes (6): AssetValidationService, Service for validating job assets before completion, validate_job_assets(), _validate_mp3_asset(), _validate_video_asset(), _validate_vtt_asset() - -### Community 145 - "Community 145" -Cohesion: 0.29 -Nodes (4): Test VTTCue dataclass, Test creating a VTT cue, Test creating a VTT cue without identifier, TestVTTCue - -### Community 146 - "Community 146" -Cohesion: 0.29 -Nodes (6): create_freeze_segment(), Request for creating a freeze-frame video with audio., Create a freeze-frame video segment with audio overlay (for overlay method)., Create freeze frame that rigidly matches the source video properties. T, Create freeze segment using local ffmpeg via Celery queue., Create freeze segment via Cloud Run FFmpeg service. - -### Community 147 - "Community 147" -Cohesion: 0.29 -Nodes (5): Render with overlay method: 1. Create AD audio track with segments at ta, Get video duration in seconds using ffprobe., Get video duration using local ffprobe via Celery queue., _get_video_duration(), Get video duration using ffprobe - -### Community 148 - "Community 148" -Cohesion: 0.38 -Nodes (6): _celery_fallback(), dispatch(), _job_resource(), Cloud Run Jobs dispatcher — replaces Celery .delay() for heavy pipeline tasks., Dispatch a heavy task to Cloud Run Jobs. Returns the Cloud Run Operation na, Use local Celery when Cloud Run is not available (dev/test). - -### Community 149 - "Community 149" -Cohesion: 0.29 -Nodes (7): Log user management actions., create_user(), deactivate_user(), Create a new user (admin only), Update user details (admin only), Deactivate user account (admin only) - soft delete, update_user() - -### Community 150 - "Community 150" -Cohesion: 0.33 -Nodes (3): Attempt to self-heal invalid JSON response from Gemini, Attempt to self-heal invalid JSON response from targeted extraction, Attempt to fix common JSON syntax issues - -### Community 151 - "Community 151" -Cohesion: 0.33 -Nodes (4): Test Gemini AI service functionality, Test successful prompt loading, Test prompt loading with missing file, TestGeminiService - -### Community 157 - "Community 157" -Cohesion: 0.33 -Nodes (5): Job, JobDownloadsResponse, JobStatus, LoginRequest, LoginResponse - -### Community 158 - "Community 158" -Cohesion: 0.40 -Nodes (4): get_versions_by_ids(), Batch-fetch versions by ID, returns {version_id: GlossaryVersion}., GlossaryVersion, Get full VTT content for a specific version. - -### Community 159 - "Community 159" -Cohesion: 0.40 -Nodes (4): Test database dependency injection., Test simple endpoint without dependencies., test_db_endpoint(), test_simple_endpoint() - -### Community 160 - "Community 160" -Cohesion: 0.40 -Nodes (3): For /ws/jobs, accessible_org_ids must be the list of the user's org IDs., Platform admin memberships=None → accessible_org_ids=None (unrestricted)., TestJobListOrgFilter - -### Community 164 - "Community 164" -Cohesion: 0.60 -Nodes (4): _async_embed_version(), _embed_batch(), embed_glossary_version_task(), Celery task: compute and store Gemini embeddings for all terms in a glossary ver - -### Community 165 - "Community 165" -Cohesion: 0.40 -Nodes (3): Generate a preview audio sample for voice selection., Synthesize text to MP3 using Google Cloud TTS with Gemini model. Args:, Synthesize a single text string to audio using Google TTS - -### Community 166 - "Community 166" -Cohesion: 0.60 -Nodes (5): Tests README, Backend Tests (pytest), pytest conftest.py (missing), E2E Tests (Playwright), Frontend Tests (Vitest/Playwright) - -### Community 168 - "Community 168" -Cohesion: 0.50 -Nodes (3): Check if request is allowed under rate limit. Returns: Tupl, Track rate limiting metrics, track_rate_limit_metrics() - -### Community 169 - "Community 169" -Cohesion: 0.50 -Nodes (4): bulk_delete_jobs(), _delete_job_gcs_assets(), Delete all GCS assets for a job using prefix-based cleanup. All job files a, Bulk delete jobs (production/admin only) - -### Community 170 - "Community 170" -Cohesion: 0.67 -Nodes (3): backend/app/migrations/scripts/, migrations collection, migrate.py - -### Community 173 - "Community 173" -Cohesion: 1.00 -Nodes (3): Global Help Screenshots, Login Screenshot, Notifications Screenshot - -### Community 174 - "Community 174" -Cohesion: 0.67 -Nodes (3): Apache mod_proxy_wstunnel, scripts/deploy-dev.sh, optical-web-1 deployment target - -## Ambiguous Edges - Review These -- `Architecture doc` → `Architecture doc` [AMBIGUOUS] - docs/project/database_schema.md · relation: semantically_similar_to -- `Architecture doc` → `Architecture doc` [AMBIGUOUS] - docs/project/database_schema.md · relation: semantically_similar_to -- `API Spec doc` → `Architecture doc` [AMBIGUOUS] - docs/project/database_schema.md · relation: semantically_similar_to - -## Knowledge Gaps -- **445 isolated node(s):** `OUT_DIR`, `ROLES`, `AnnotationRect`, `tsBuildInfoFile`, `target` (+440 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **134 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **What is the exact relationship between `Architecture doc` and `Architecture doc`?** - _Edge tagged AMBIGUOUS (relation: semantically_similar_to) - confidence is low._ -- **What is the exact relationship between `Architecture doc` and `Architecture doc`?** - _Edge tagged AMBIGUOUS (relation: semantically_similar_to) - confidence is low._ -- **What is the exact relationship between `API Spec doc` and `Architecture doc`?** - _Edge tagged AMBIGUOUS (relation: semantically_similar_to) - confidence is low._ -- **Why does `VTTEditor` connect `Community 46` to `Community 0`, `Community 3`, `Community 99`, `Community 36`, `Community 144`, `Community 145`, `Community 51`, `Community 22`, `Community 118`, `Community 56`, `Community 93`, `Community 94`?** - _High betweenness centrality (0.106) - this node is a cross-community bridge._ -- **Why does `get_database()` connect `Community 115` to `Community 96`, `Community 5`, `Community 37`, `Community 70`, `Community 47`, `Community 79`, `Community 81`, `Community 62`, `Community 123`, `Community 28`, `Community 158`?** - _High betweenness centrality (0.104) - this node is a cross-community bridge._ -- **Why does `ApiClient` connect `Community 1` to `Community 0`, `Community 2`, `Community 4`, `Community 136`, `Community 9`, `Community 12`, `Community 14`, `Community 15`, `Community 17`, `Community 149`, `Community 22`, `Community 23`, `Community 26`, `Community 29`, `Community 158`, `Community 32`, `Community 33`, `Community 38`, `Community 169`, `Community 44`, `Community 51`, `Community 71`, `Community 74`, `Community 84`, `Community 86`, `Community 91`, `Community 117`, `Community 122`?** - _High betweenness centrality (0.103) - this node is a cross-community bridge._ -- **Are the 60 inferred relationships involving `UserRole` (e.g. with `ResetPasswordResponse` and `.assignReviewerQC()`) actually correct?** - _`UserRole` has 60 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/wiki/architecture/wsj-filenaming-structure.md b/wiki/architecture/wsj-filenaming-structure.md deleted file mode 100644 index d13aafc..0000000 --- a/wiki/architecture/wsj-filenaming-structure.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -tags: [architecture, graphify, wsj-filenaming] -updated: 2026-05-18 ---- - -# Graph Report - /Users/ai_leed/Documents/Projects/Oliver/wsj-filenaming (2026-05-18) - -## Corpus Check -- cluster-only mode — file stats not available - -## Summary -- 100 nodes · 139 edges · 15 communities (14 shown, 1 thin omitted) -- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 10 edges (avg confidence: 0.86) -- Token cost: 0 input · 0 output - -## Graph Freshness -- Built from commit: `54eddd70` -- Run `git rev-parse HEAD` and compare to check if the graph is stale. -- Run `graphify update .` after code changes (no API cost). - -## Community Hubs (Navigation) -- [[_COMMUNITY_Community 0|Community 0]] -- [[_COMMUNITY_Community 1|Community 1]] -- [[_COMMUNITY_Community 2|Community 2]] -- [[_COMMUNITY_Community 3|Community 3]] -- [[_COMMUNITY_Community 4|Community 4]] -- [[_COMMUNITY_Community 6|Community 6]] -- [[_COMMUNITY_Community 7|Community 7]] - -## God Nodes (most connected - your core abstractions) -1. `Standard Format: [OMGID] - [Domain]-[Subteam]-[Brand]-[Initiative]-[YY]-[Sequence]_[AssetName]_v[Version]` - 10 edges -2. `Dow Jones Job Naming Tool` - 9 edges -3. `loadMetadata()` - 8 edges -4. `loadData()` - 7 edges -5. `Event Format: [OMGID] - EVNT-[EventAbbrev]-[YY]-[Sequence]_[AssetName]_v[Version]` - 7 edges -6. `api.php (Backend API: AI commands, data CRUD, campaign management)` - 7 edges -7. `saveMetadata()` - 6 edges -8. `initSpreadsheet()` - 5 edges -9. `getSheetPath()` - 5 edges -10. `createSheet()` - 5 edges - -## Surprising Connections (you probably didn't know these) -- `loadData()` --calls--> `showLoading()` [EXTRACTED] - script.js → script.js _Bridges community 4 → community 7_ -- `Dow Jones Job Naming Tool` --references--> `Job Naming Convention` [EXTRACTED] - README.md → README.md _Bridges community 1 → community 2_ - -## Communities (15 total, 1 thin omitted) - -### Community 0 - "Community 0" -Cohesion: 0.06 -Nodes (30): aiModal, aiModalInput, aiModalMicBtn, aiModalSendBtn, aiModalYoloBtn, answer, blob, BRANDS (+22 more) - -### Community 1 - "Community 1" -Cohesion: 0.18 -Nodes (17): AI Command Bar Feature, api.php (Backend API: AI commands, data CRUD, campaign management), Campaign Save/Load Feature, campaigns/ (Saved campaign files), config.php (API keys and settings), Copy Filenames Feature, CSV Export Feature, data.json (Current working data) (+9 more) - -### Community 2 - "Community 2" -Cohesion: 0.26 -Nodes (14): AssetName Field (PascalCase asset description), Brand Variable, Domain Variable, Dropdown Validation Feature, Event Variable, Event Format: [OMGID] - EVNT-[EventAbbrev]-[YY]-[Sequence]_[AssetName]_v[Version], Initiative Field (free-text abbreviation), Job Naming Convention (+6 more) - -### Community 3 - "Community 3" -Cohesion: 0.44 -Nodes (11): createSheet(), deleteSheet(), duplicateSheet(), getMetadataPath(), getSheetPath(), getUserSheets(), loadMetadata(), loadSheetData() (+3 more) - -### Community 4 - "Community 4" -Cohesion: 0.53 -Nodes (6): buildFilename(), initSpreadsheet(), loadData(), saveData(), updateAllFilenames(), updateFilenameForRow() - -### Community 7 - "Community 7" -Cohesion: 0.67 -Nodes (3): sendCommand(), showLoading(), stopMicAndSend() - -## Knowledge Gaps -- **35 isolated node(s):** `spreadsheetDiv`, `commandInput`, `sendBtn`, `exportBtn`, `loadingOverlay` (+30 more) - These have ≤1 connection - possible missing edges or undocumented components. -- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - -## Suggested Questions -_Questions this graph is uniquely positioned to answer:_ - -- **Why does `Dow Jones Job Naming Tool` connect `Community 1` to `Community 2`?** - _High betweenness centrality (0.056) - this node is a cross-community bridge._ -- **Why does `Job Naming Convention` connect `Community 2` to `Community 1`?** - _High betweenness centrality (0.028) - this node is a cross-community bridge._ -- **What connects `spreadsheetDiv`, `commandInput`, `sendBtn` to the rest of the system?** - _35 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.0625 - nodes in this community are weakly interconnected._ \ No newline at end of file