# ondc-official/automation-kb-studio architecture

> Architecture diagram of the GitHub repository ondc-official/automation-kb-studio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ondc-official/automation-kb-studio
- Repository: https://github.com/ondc-official/automation-kb-studio

## Overview

ai-harness-evaluator probes a declared knowledge manifest against a black-box model or knowledge source, then reports coverage, canary confabulation, and self-consistency without claiming factual correctness. The CLI offers scripted probes; Studio supports folder-first KB authoring, evaluation runs, coverage review, and access-controlled proposal workflows. Core operations call the source and judge through neutral seams, while provider packages adapt external APIs. Studio server excerpt confirms several persistence and policy calls; links for unsampled run orchestration and provider selection are left out.

Main entry points: [`packages/studio/src/server.ts`](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/server.ts) (Studio API), [`packages/studio/src/ui/main.tsx`](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/main.tsx) (Studio UI), [`packages/studio/src/ui/services/httpClient.ts`](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/services/httpClient.ts) (HTTP client), [`packages/core/src/operations/knowledge/coverage.ts`](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/operations/knowledge/coverage.ts) (Coverage probe)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontends["User interfaces"]
  node_cli["CLI<br/>[cli.ts]"]
  node_studio_ui["Studio UI<br/>[main.tsx]"]
  node_coverage_page["Coverage view<br/>[useCoveragePage.ts]"]
  node_author_page["KB authoring<br/>[useAuthorPage.ts]"]
  node_evaluate_page["Run evaluation<br/>[useEvaluatePage.ts]"]
  node_admin_page["Admin review<br/>[useAdminPage.ts]"]
  node_http_client["HTTP client<br/>[httpClient.ts]"]
end

subgraph group_engine["Evaluation engine"]
  node_core["Core API<br/>[index.ts]"]
  node_coverage["Coverage probe<br/>[coverage.ts]"]
  node_knowledge_ops["Knowledge probes"]
  node_runtime["Run events<br/>[run.ts]"]
  node_profile["Subject profile<br/>[profile.ts]"]
  node_reporter["Event reporter<br/>[index.ts]"]
end

subgraph group_providers["Model adapters"]
  node_openai["OpenAI adapter<br/>[openai.ts]"]
  node_anthropic["Anthropic adapter<br/>[anthropic.ts]"]
end

subgraph group_studio["Studio services"]
  node_studio_http["Studio API<br/>[server.ts]"]
  node_runner["Run service<br/>[runner.ts]"]
  node_folder_manifest["Folder manifest<br/>[manifest-folder.ts]"]
  node_llm_factory["LLM factory<br/>[llm-factory.ts]"]
end

subgraph group_state["Studio state"]
  node_store[("Workspace store<br/>[store.ts]")]
  node_db[("Studio database<br/>[db.ts]")]
  node_history[("Revision history<br/>[history.ts]")]
  node_proposals[("Proposal workflow<br/>[proposals.ts]")]
  node_access["Access policy<br/>[access.ts]"]
end

node_operator(("Operator"))
node_model_api(("Model backend"))
node_kb_folder["KB folder"]

node_operator -->|"runs probes"| node_cli
node_cli -->|"invokes probes"| node_core
node_operator -->|"uses Studio"| node_studio_ui
node_studio_ui -->|"opens coverage"| node_coverage_page
node_studio_ui -->|"edits topics"| node_author_page
node_studio_ui -->|"starts runs"| node_evaluate_page
node_studio_ui -->|"reviews access"| node_admin_page
node_coverage_page -->|"requests reports"| node_http_client
node_author_page -->|"sends edits"| node_http_client
node_evaluate_page -->|"controls runs"| node_http_client
node_admin_page -->|"sends decisions"| node_http_client
node_http_client -->|"calls API"| node_studio_http
node_kb_folder -->|"imports topics"| node_folder_manifest
node_studio_http -->|"writes topics"| node_store
node_studio_http -->|"appends revisions"| node_history
node_studio_http -->|"handles proposals"| node_proposals
node_studio_http -->|"checks policy"| node_access
node_studio_http -->|"initializes indexes"| node_db
node_coverage -->|"emits run"| node_runtime
node_coverage -->|"uses knowledge seams"| node_knowledge_ops
node_runtime -->|"streams events"| node_reporter
node_model_api -.->|"serves requests"| node_openai
node_model_api -.->|"serves requests"| node_anthropic

click node_cli "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/cli/src/cli.ts"
click node_studio_ui "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/main.tsx"
click node_coverage_page "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/coverage/useCoveragePage.ts"
click node_author_page "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/author/useAuthorPage.ts"
click node_evaluate_page "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/evaluate/useEvaluatePage.ts"
click node_admin_page "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/admin/useAdminPage.ts"
click node_core "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/index.ts"
click node_coverage "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/operations/knowledge/coverage.ts"
click node_knowledge_ops "https://github.com/ondc-official/automation-kb-studio/tree/main/packages/core/src/operations/knowledge"
click node_runtime "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/runtime/run.ts"
click node_profile "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/profile/profile.ts"
click node_openai "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/provider-openai/src/openai.ts"
click node_anthropic "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/provider-anthropic/src/anthropic.ts"
click node_reporter "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/reporter/src/index.ts"
click node_studio_http "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/server.ts"
click node_runner "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/runner.ts"
click node_folder_manifest "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/manifest-folder.ts"
click node_llm_factory "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/llm-factory.ts"
click node_http_client "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/services/httpClient.ts"
click node_store "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/store.ts"
click node_db "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/db.ts"
click node_history "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/history.ts"
click node_proposals "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/proposals.ts"
click node_access "https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/access.ts"

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_cli,node_studio_ui,node_coverage_page,node_author_page,node_evaluate_page,node_admin_page,node_http_client toneBlue
class node_core,node_coverage,node_knowledge_ops,node_runtime,node_profile,node_reporter toneAmber
class node_openai,node_anthropic toneMint
class node_studio_http,node_runner,node_folder_manifest,node_llm_factory toneRose
class node_store,node_db,node_history,node_proposals,node_access,node_operator,node_model_api,node_kb_folder toneIndigo
```

## Components

### User interfaces

- [CLI](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/cli/src/cli.ts): `packages/cli/src/cli.ts`
- [Studio UI](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/main.tsx): `packages/studio/src/ui/main.tsx`
- [Coverage view](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/coverage/useCoveragePage.ts): `packages/studio/src/ui/pages/coverage/useCoveragePage.ts`
- [KB authoring](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/author/useAuthorPage.ts): `packages/studio/src/ui/pages/author/useAuthorPage.ts`
- [Run evaluation](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/evaluate/useEvaluatePage.ts): `packages/studio/src/ui/pages/evaluate/useEvaluatePage.ts`
- [Admin review](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/pages/admin/useAdminPage.ts): `packages/studio/src/ui/pages/admin/useAdminPage.ts`
- [HTTP client](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/ui/services/httpClient.ts): `packages/studio/src/ui/services/httpClient.ts`

### Evaluation engine

- [Core API](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/index.ts): `packages/core/src/index.ts`
- [Coverage probe](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/operations/knowledge/coverage.ts): `packages/core/src/operations/knowledge/coverage.ts`
- [Knowledge probes](https://github.com/ondc-official/automation-kb-studio/tree/main/packages/core/src/operations/knowledge): `packages/core/src/operations/knowledge`
- [Run events](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/runtime/run.ts): `packages/core/src/runtime/run.ts`
- [Subject profile](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/core/src/profile/profile.ts): `packages/core/src/profile/profile.ts`
- [Event reporter](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/reporter/src/index.ts): `packages/reporter/src/index.ts`

### Model adapters

- [OpenAI adapter](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/provider-openai/src/openai.ts): `packages/provider-openai/src/openai.ts`
- [Anthropic adapter](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/provider-anthropic/src/anthropic.ts): `packages/provider-anthropic/src/anthropic.ts`

### Studio services

- [Studio API](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/server.ts): `packages/studio/src/server.ts`
- [Run service](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/runner.ts): `packages/studio/src/runner.ts`
- [Folder manifest](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/manifest-folder.ts): `packages/studio/src/manifest-folder.ts`
- [LLM factory](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/llm-factory.ts): `packages/studio/src/llm-factory.ts`

### Studio state

- [Workspace store](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/store.ts): `packages/studio/src/store.ts`
- [Studio database](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/db.ts): `packages/studio/src/db.ts`
- [Revision history](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/history.ts): `packages/studio/src/history.ts`
- [Proposal workflow](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/proposals.ts): `packages/studio/src/proposals.ts`
- [Access policy](https://github.com/ondc-official/automation-kb-studio/blob/main/packages/studio/src/access.ts): `packages/studio/src/access.ts`

### Other components

- **Operator**
- **Model backend**
- **KB folder**

## Connections

- Operator → CLI: runs probes
- CLI → Core API: invokes probes
- Operator → Studio UI: uses Studio
- Studio UI → Coverage view: opens coverage
- Studio UI → KB authoring: edits topics
- Studio UI → Run evaluation: starts runs
- Studio UI → Admin review: reviews access
- Coverage view → HTTP client: requests reports
- KB authoring → HTTP client: sends edits
- Run evaluation → HTTP client: controls runs
- Admin review → HTTP client: sends decisions
- HTTP client → Studio API: calls API
- KB folder → Folder manifest: imports topics
- Studio API → Workspace store: writes topics
- Studio API → Revision history: appends revisions
- Studio API → Proposal workflow: handles proposals
- Studio API → Access policy: checks policy
- Studio API → Studio database: initializes indexes
- Coverage probe → Run events: emits run
- Coverage probe → Knowledge probes: uses knowledge seams
- Run events → Event reporter: streams events
- Model backend → OpenAI adapter: serves requests
- Model backend → Anthropic adapter: serves requests
