--- 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._