# sdkdeepa/ai-test-intelligence-platform architecture

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

- Interactive diagram: https://gitdiagram.com/sdkdeepa/ai-test-intelligence-platform
- Repository: https://github.com/sdkdeepa/ai-test-intelligence-platform

## Overview

This is an AI-assisted test-intelligence platform for assessing change risk, proposing missing tests, and triaging CI failures, with GitHub PR integration and governed human review. The principal workflow is a signed GitHub PR webhook through diff ingestion and orchestration to analysis, policy evaluation, and GitHub publication; reviewers can then inspect and decide in the dashboard. The graph also shows the frontend/API path, provider and persistence layers, and the separate analysis capabilities. Some API and orchestration implementation details were not excerpted, so uncertain links are omitted or dashed.

Main entry points: [`backend/app/api/webhooks.py`](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/api/webhooks.py) (GitHub webhook), [`backend/app/analysis/risk/engine.py`](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/risk/engine.py) (Risk analysis), [`backend/app/orchestration/orchestrator.py`](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/orchestration/orchestrator.py) (Analysis orchestrator), [`backend/app/analysis/test_intelligence/engine.py`](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/test_intelligence/engine.py) (Test intelligence)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Dashboard"]
  node_dashboard["Dashboard pages"]
  node_frontend_routes["App routes<br/>[App.tsx]"]
  node_frontend_api["API client<br/>[client.ts]"]
end

subgraph group_api["API and ingestion"]
  node_backend_api["API routes"]
  node_webhook["GitHub webhook<br/>[webhooks.py]"]
  node_webhook_normalize["Webhook normalization<br/>[github_webhook.py]"]
  node_diff_ingestion["Diff ingestion<br/>[diff.py]"]
end

subgraph group_analysis["Analysis"]
  node_risk_engine["Risk analysis<br/>[engine.py]"]
  node_test_engine["Test intelligence<br/>[engine.py]"]
  node_failure_engine["Failure intelligence<br/>[engine.py]"]
end

subgraph group_governance["Governance and GitHub"]
  node_review_service["Review policy service<br/>[review_service.py]"]
  node_redaction["Sensitive-data redaction<br/>[redaction.py]"]
  node_github_publisher["GitHub publisher<br/>[publisher.py]"]
  node_github_client["GitHub client<br/>[client.py]"]
end

subgraph group_platform["Runtime services"]
  node_orchestrator["Analysis orchestrator<br/>[orchestrator.py]"]
  node_engine_contract["Engine contract<br/>[engine.py]"]
  node_provider_registry["LLM providers<br/>[registry.py]"]
  node_llm_tracking["LLM tracking<br/>[llm_tracking.py]"]
  node_persistence["Persistence repositories<br/>[repositories.py]"]
  node_database[("Relational database<br/>[database.py]")]
end

node_developer(("Developer / reviewer"))
node_github(("GitHub"))

node_developer -->|"opens PR"| node_github
node_github -->|"sends signed event"| node_webhook
node_webhook -->|"normalizes event"| node_webhook_normalize
node_webhook -->|"fetches diff"| node_diff_ingestion
node_webhook -->|"triggers analysis"| node_orchestrator
node_webhook -->|"requests publication"| node_github_publisher
node_orchestrator -->|"dispatches engines"| node_engine_contract
node_orchestrator -.->|"runs risk"| node_risk_engine
node_orchestrator -.->|"runs tests"| node_test_engine
node_orchestrator -.->|"runs triage"| node_failure_engine
node_risk_engine -->|"parses diff"| node_diff_ingestion
node_risk_engine -->|"gets provider"| node_provider_registry
node_test_engine -->|"gets provider"| node_provider_registry
node_failure_engine -->|"gets provider"| node_provider_registry
node_risk_engine -->|"tracks generation"| node_llm_tracking
node_test_engine -->|"tracks generation"| node_llm_tracking
node_failure_engine -->|"tracks generation"| node_llm_tracking
node_risk_engine -->|"stores findings"| node_persistence
node_test_engine -->|"stores suggestions"| node_persistence
node_review_service -->|"redacts audit data"| node_redaction
node_review_service -->|"records review"| node_persistence
node_github_publisher -.->|"evaluates policy"| node_review_service
node_github_publisher -.->|"publishes status"| node_github_client
node_github_client -.->|"calls GitHub"| node_github
node_persistence -->|"reads and writes"| node_database
node_developer -->|"reviews results"| node_dashboard
node_frontend_routes -->|"routes views"| node_dashboard
node_dashboard -.->|"requests data"| node_frontend_api
node_frontend_api -.->|"sends HTTP requests"| node_backend_api

click node_dashboard "https://github.com/sdkdeepa/ai-test-intelligence-platform/tree/main/frontend/src/pages"
click node_frontend_routes "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/frontend/src/App.tsx"
click node_frontend_api "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/frontend/src/api-client/client.ts"
click node_backend_api "https://github.com/sdkdeepa/ai-test-intelligence-platform/tree/main/backend/app/api"
click node_webhook "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/api/webhooks.py"
click node_webhook_normalize "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/ingestion/github_webhook.py"
click node_diff_ingestion "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/ingestion/diff.py"
click node_orchestrator "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/orchestration/orchestrator.py"
click node_engine_contract "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/orchestration/engine.py"
click node_risk_engine "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/risk/engine.py"
click node_test_engine "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/test_intelligence/engine.py"
click node_failure_engine "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/failure_intelligence/engine.py"
click node_provider_registry "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/providers/registry.py"
click node_llm_tracking "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/observability/llm_tracking.py"
click node_review_service "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/governance/review_service.py"
click node_redaction "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/governance/redaction.py"
click node_github_publisher "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/integrations/github/publisher.py"
click node_github_client "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/integrations/github/client.py"
click node_persistence "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/persistence/repositories.py"
click node_database "https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/persistence/database.py"

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_dashboard,node_frontend_routes,node_frontend_api,node_developer toneBlue
class node_backend_api,node_webhook,node_webhook_normalize,node_diff_ingestion toneAmber
class node_risk_engine,node_test_engine,node_failure_engine toneMint
class node_review_service,node_redaction,node_github_publisher,node_github_client toneRose
class node_orchestrator,node_engine_contract,node_provider_registry,node_llm_tracking,node_persistence,node_database,node_github toneIndigo
```

## Components

### Dashboard

- [Dashboard pages](https://github.com/sdkdeepa/ai-test-intelligence-platform/tree/main/frontend/src/pages): `frontend/src/pages`
- [App routes](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [API client](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/frontend/src/api-client/client.ts): `frontend/src/api-client/client.ts`

### API and ingestion

- [API routes](https://github.com/sdkdeepa/ai-test-intelligence-platform/tree/main/backend/app/api): `backend/app/api`
- [GitHub webhook](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/api/webhooks.py): `backend/app/api/webhooks.py`
- [Webhook normalization](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/ingestion/github_webhook.py): `backend/app/ingestion/github_webhook.py`
- [Diff ingestion](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/ingestion/diff.py): `backend/app/ingestion/diff.py`

### Analysis

- [Risk analysis](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/risk/engine.py): `backend/app/analysis/risk/engine.py`
- [Test intelligence](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/test_intelligence/engine.py): `backend/app/analysis/test_intelligence/engine.py`
- [Failure intelligence](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/analysis/failure_intelligence/engine.py): `backend/app/analysis/failure_intelligence/engine.py`

### Governance and GitHub

- [Review policy service](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/governance/review_service.py): `backend/app/governance/review_service.py`
- [Sensitive-data redaction](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/governance/redaction.py): `backend/app/governance/redaction.py`
- [GitHub publisher](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/integrations/github/publisher.py): `backend/app/integrations/github/publisher.py`
- [GitHub client](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/integrations/github/client.py): `backend/app/integrations/github/client.py`

### Runtime services

- [Analysis orchestrator](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/orchestration/orchestrator.py): `backend/app/orchestration/orchestrator.py`
- [Engine contract](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/orchestration/engine.py): `backend/app/orchestration/engine.py`
- [LLM providers](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/providers/registry.py): `backend/app/providers/registry.py`
- [LLM tracking](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/observability/llm_tracking.py): `backend/app/observability/llm_tracking.py`
- [Persistence repositories](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/persistence/repositories.py): `backend/app/persistence/repositories.py`
- [Relational database](https://github.com/sdkdeepa/ai-test-intelligence-platform/blob/main/backend/app/persistence/database.py): `backend/app/persistence/database.py`

### Other components

- **Developer / reviewer**
- **GitHub**

## Connections

- Developer / reviewer → GitHub: opens PR
- GitHub → GitHub webhook: sends signed event
- GitHub webhook → Webhook normalization: normalizes event (evidence: `backend/app/api/webhooks.py`)
- GitHub webhook → Diff ingestion: fetches diff (evidence: `backend/app/api/webhooks.py`)
- GitHub webhook → Analysis orchestrator: triggers analysis (evidence: `backend/app/api/webhooks.py`)
- GitHub webhook → GitHub publisher: requests publication (evidence: `backend/app/api/webhooks.py`)
- Analysis orchestrator → Engine contract: dispatches engines (evidence: `backend/app/orchestration/orchestrator.py`)
- Analysis orchestrator → Risk analysis: runs risk
- Analysis orchestrator → Test intelligence: runs tests
- Analysis orchestrator → Failure intelligence: runs triage
- Risk analysis → Diff ingestion: parses diff (evidence: `backend/app/analysis/risk/engine.py`)
- Risk analysis → LLM providers: gets provider (evidence: `backend/app/analysis/risk/engine.py`)
- Test intelligence → LLM providers: gets provider (evidence: `backend/app/analysis/test_intelligence/engine.py`)
- Failure intelligence → LLM providers: gets provider (evidence: `backend/app/analysis/failure_intelligence/engine.py`)
- Risk analysis → LLM tracking: tracks generation (evidence: `backend/app/analysis/risk/engine.py`)
- Test intelligence → LLM tracking: tracks generation (evidence: `backend/app/analysis/test_intelligence/engine.py`)
- Failure intelligence → LLM tracking: tracks generation (evidence: `backend/app/analysis/failure_intelligence/engine.py`)
- Risk analysis → Persistence repositories: stores findings (evidence: `backend/app/analysis/risk/engine.py`)
- Test intelligence → Persistence repositories: stores suggestions (evidence: `backend/app/analysis/test_intelligence/engine.py`)
- Review policy service → Sensitive-data redaction: redacts audit data (evidence: `backend/app/governance/review_service.py`)
- Review policy service → Persistence repositories: records review (evidence: `backend/app/governance/review_service.py`)
- GitHub publisher → Review policy service: evaluates policy
- GitHub publisher → GitHub client: publishes status
- GitHub client → GitHub: calls GitHub
- Persistence repositories → Relational database: reads and writes (evidence: `backend/app/persistence/repositories.py`)
- Developer / reviewer → Dashboard pages: reviews results
- App routes → Dashboard pages: routes views (evidence: `frontend/src/App.tsx`)
- Dashboard pages → API client: requests data (evidence: `frontend/src/pages/RepositoryOverviewPage.tsx`)
- API client → API routes: sends HTTP requests
