# douglas-moore-engineering/cognitops-ai architecture

> Architecture diagram of the GitHub repository douglas-moore-engineering/cognitops-ai, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/douglas-moore-engineering/cognitops-ai
- Repository: https://github.com/douglas-moore-engineering/cognitops-ai

## Overview

CognitOps AI is a maintenance-triage decision-support platform. A technician submits an issue and optional image through the web app; the orchestrator coordinates knowledge retrieval, multimodal diagnosis, deterministic severity validation, escalation, and report creation. Supervisors review escalated cases and record decisions. The graph reflects the README’s major workflow capabilities and sampled service code; unsampled implementation details are not expanded into inferred connections.

Main entry points: [`src/orchestrator/main.py`](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/orchestrator/main.py) (Case orchestrator), [`src/supervisor-api/main.py`](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/supervisor-api/main.py) (Supervisor review API), [`src/rag-service/main.py`](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/rag-service/main.py) (Knowledge retrieval), [`src/diagnostic-engine/main.py`](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/diagnostic-engine/main.py) (Multimodal diagnosis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User experience"]
  node_web["Web application<br/>[App.tsx]"]
  node_operator["Case intake<br/>[OperatorPage.tsx]"]
  node_caseapi["Case API client<br/>[cases.ts]"]
  node_supervisorui["Supervisor interface<br/>[SupervisorPage.tsx]"]
  node_supervisorclient["Supervisor API client<br/>[supervisor.ts]"]
end

subgraph group_triage["Triage services"]
  node_orchestrator["Case orchestrator<br/>[main.py]"]
  node_rag["Knowledge retrieval<br/>[main.py]"]
  node_diagnostic["Multimodal diagnosis<br/>[main.py]"]
  node_severity["Severity scoring<br/>[main.py]"]
end

subgraph group_governance["Review and reporting"]
  node_supervisorapi["Supervisor review API<br/>[main.py]"]
  node_report["Report generator<br/>[main.py]"]
end

subgraph group_platform["Azure data services"]
  node_search[("AI Search indexes<br/>[search.bicep]")]
  node_openai["Azure OpenAI<br/>[openai.bicep]"]
  node_blob[("Blob storage<br/>[storage.bicep]")]
  node_servicebus["Service Bus<br/>[servicebus.bicep]"]
  node_cosmos[("Cosmos DB<br/>[cosmos.bicep]")]
end

node_technician(("Field technician"))
node_supervisor(("Maintenance supervisor"))

node_technician -->|"submits case"| node_operator
node_web -->|"routes to"| node_operator
node_operator -->|"calls"| node_caseapi
node_caseapi -->|"posts case"| node_orchestrator
node_orchestrator -->|"uploads image"| node_blob
node_orchestrator -->|"requests retrieval"| node_rag
node_rag -->|"searches indexes"| node_search
node_rag -->|"creates embeddings"| node_openai
node_orchestrator -->|"requests diagnosis"| node_diagnostic
node_diagnostic -->|"reasons over context"| node_openai
node_diagnostic -->|"fetches image"| node_blob
node_orchestrator -->|"requests scoring"| node_severity
node_orchestrator -->|"enqueues escalation"| node_servicebus
node_servicebus -->|"delivers review"| node_supervisorapi
node_supervisor -->|"reviews cases"| node_supervisorui
node_web -->|"routes to"| node_supervisorui
node_supervisorui -->|"calls"| node_supervisorclient
node_supervisorclient -->|"requests review"| node_supervisorapi
node_supervisorapi -->|"reads and updates"| node_cosmos
node_supervisorapi -->|"publishes resolution"| node_servicebus
node_orchestrator -->|"requests report"| node_report
node_report -->|"stores report"| node_cosmos
node_report -->|"stores JSON report"| node_blob

click node_web "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/App.tsx"
click node_operator "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/pages/OperatorPage.tsx"
click node_caseapi "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/api/cases.ts"
click node_supervisorui "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/pages/SupervisorPage.tsx"
click node_supervisorclient "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/api/supervisor.ts"
click node_orchestrator "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/orchestrator/main.py"
click node_rag "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/rag-service/main.py"
click node_diagnostic "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/diagnostic-engine/main.py"
click node_severity "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/severity-scorer/main.py"
click node_search "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/ai/search.bicep"
click node_openai "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/ai/openai.bicep"
click node_blob "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/storage/storage.bicep"
click node_servicebus "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/messaging/servicebus.bicep"
click node_supervisorapi "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/supervisor-api/main.py"
click node_report "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/report-generator/main.py"
click node_cosmos "https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/storage/cosmos.bicep"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web,node_operator,node_caseapi,node_supervisorui,node_supervisorclient toneBlue
class node_orchestrator,node_rag,node_diagnostic,node_severity toneAmber
class node_supervisorapi,node_report toneMint
class node_search,node_openai,node_blob,node_servicebus,node_cosmos toneRose
class node_technician,node_supervisor toneIndigo
```

## Components

### User experience

- [Web application](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/App.tsx): `src/web/src/App.tsx`
- [Case intake](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/pages/OperatorPage.tsx): `src/web/src/pages/OperatorPage.tsx`
- [Case API client](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/api/cases.ts): `src/web/src/api/cases.ts`
- [Supervisor interface](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/pages/SupervisorPage.tsx): `src/web/src/pages/SupervisorPage.tsx`
- [Supervisor API client](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/web/src/api/supervisor.ts): `src/web/src/api/supervisor.ts`

### Triage services

- [Case orchestrator](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/orchestrator/main.py): `src/orchestrator/main.py`
- [Knowledge retrieval](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/rag-service/main.py): `src/rag-service/main.py`
- [Multimodal diagnosis](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/diagnostic-engine/main.py): `src/diagnostic-engine/main.py`
- [Severity scoring](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/severity-scorer/main.py): `src/severity-scorer/main.py`

### Review and reporting

- [Supervisor review API](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/supervisor-api/main.py): `src/supervisor-api/main.py`
- [Report generator](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/src/report-generator/main.py): `src/report-generator/main.py`

### Azure data services

- [AI Search indexes](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/ai/search.bicep): `infra/core/ai/search.bicep`
- [Azure OpenAI](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/ai/openai.bicep): `infra/core/ai/openai.bicep`
- [Blob storage](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/storage/storage.bicep): `infra/core/storage/storage.bicep`
- [Service Bus](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/messaging/servicebus.bicep): `infra/core/messaging/servicebus.bicep`
- [Cosmos DB](https://github.com/douglas-moore-engineering/cognitops-ai/blob/main/infra/core/storage/cosmos.bicep): `infra/core/storage/cosmos.bicep`

### Other components

- **Field technician**
- **Maintenance supervisor**

## Connections

- Field technician → Case intake: submits case
- Web application → Case intake: routes to
- Case intake → Case API client: calls
- Case API client → Case orchestrator: posts case
- Case orchestrator → Blob storage: uploads image
- Case orchestrator → Knowledge retrieval: requests retrieval
- Knowledge retrieval → AI Search indexes: searches indexes
- Knowledge retrieval → Azure OpenAI: creates embeddings
- Case orchestrator → Multimodal diagnosis: requests diagnosis
- Multimodal diagnosis → Azure OpenAI: reasons over context
- Multimodal diagnosis → Blob storage: fetches image
- Case orchestrator → Severity scoring: requests scoring
- Case orchestrator → Service Bus: enqueues escalation
- Service Bus → Supervisor review API: delivers review
- Maintenance supervisor → Supervisor interface: reviews cases
- Web application → Supervisor interface: routes to
- Supervisor interface → Supervisor API client: calls
- Supervisor API client → Supervisor review API: requests review
- Supervisor review API → Cosmos DB: reads and updates
- Supervisor review API → Service Bus: publishes resolution
- Case orchestrator → Report generator: requests report
- Report generator → Cosmos DB: stores report
- Report generator → Blob storage: stores JSON report
