# seethb/adlc-demo architecture

> Architecture diagram of the GitHub repository seethb/adlc-demo, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/seethb/adlc-demo
- Repository: https://github.com/seethb/adlc-demo

## Overview

This repository combines an IoT asset-intelligence demo with ADLC Studio, which demonstrates how shared Meko memory supports a six-stage, guarded agent workflow and measures token savings. The product path runs from simulated telemetry through anomaly detection and maintenance actions, with fleet queries as a read-only branch. Studio exposes that workflow and live product state through a React UI and Node API. Relationships among the less-sampled edge stages and Studio pages are documented capability links, not claims about uninspected calls; unsampled subsystems use exact enclosing directories.

Main entry points: [`server/adlc/orchestrator.js`](https://github.com/seethb/adlc-demo/blob/main/server/adlc/orchestrator.js) (Stage orchestrator), [`server/index.js`](https://github.com/seethb/adlc-demo/blob/main/server/index.js) (Studio API), [`server/edge/ask.js`](https://github.com/seethb/adlc-demo/blob/main/server/edge/ask.js) (Fleet Q&A), [`server/live/meko.js`](https://github.com/seethb/adlc-demo/blob/main/server/live/meko.js) (Meko datapack)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_edge["Edge intelligence"]
  node_sim["Telemetry simulator<br/>[index.js]"]
  node_fleet["Fleet model<br/>[fleet.js]"]
  node_detect["Anomaly detection<br/>[index.js]"]
  node_wo["Work orders<br/>[index.js]"]
  node_car["Corrective reports<br/>[index.js]"]
  node_inventory["Parts inventory<br/>[index.js]"]
  node_nlq["Asset queries<br/>[index.js]"]
  node_refimpl["Reference services<br/>[index.js]"]
  node_runtime["Edge runtime<br/>[runtime.js]"]
  node_ask["Fleet Q&amp;A<br/>[ask.js]"]
end

subgraph group_adlc["Agent lifecycle"]
  node_orchestrator["Stage orchestrator<br/>[orchestrator.js]"]
  node_specs["Feature specs<br/>[specs.js]"]
  node_guardrails["Gates and guardrails<br/>[guardrails.js]"]
  node_context["Memory evaluation<br/>[contextBench.js]"]
  node_economics["Token economics<br/>[economics.js]"]
  node_knowledge["Shared knowledge seed<br/>[knowledge.js]"]
end

subgraph group_integrations["External services"]
  node_privacy["Privacy shield<br/>[privacy.js]"]
  node_meko["Meko datapack<br/>[meko.js]"]
  node_claude["Claude client<br/>[claude.js]"]
  node_github["GitHub client<br/>[github.js]"]
end

subgraph group_studio["ADLC Studio"]
  node_core[("State and event bus<br/>[core.js]")]
  node_api["Studio API<br/>[index.js]"]
  node_webapi["Live API store<br/>[api.js]"]
  node_app["Studio navigation<br/>[App.jsx]"]
  node_pages["Studio views"]
  node_ui["Shared UI components<br/>[ui.jsx]"]
end

node_user(("Engineer"))
node_external(("Meko / MCP"))
node_anthropic(("Anthropic"))
node_ghservice(("GitHub"))

node_sim -->|"uses asset model"| node_fleet
node_detect -->|"uses asset model"| node_fleet
node_nlq -->|"reads fleet data"| node_fleet
node_runtime -->|"loads reference services"| node_refimpl
node_runtime -->|"uses state and events"| node_core
node_ask -->|"queries assets"| node_nlq
node_ask -->|"reads anomaly data"| node_detect
node_ask -->|"recalls knowledge"| node_meko
node_ask -->|"generates answer"| node_claude
node_wo -.->|"reserves parts"| node_inventory
node_wo -.->|"triggers critical reports"| node_car
node_orchestrator -->|"loads feature specs"| node_specs
node_orchestrator -->|"runs gates"| node_guardrails
node_orchestrator -->|"recalls shared memory"| node_meko
node_orchestrator -->|"requests agent steps"| node_claude
node_orchestrator -->|"updates workflow"| node_github
node_orchestrator -->|"records stage costs"| node_economics
node_orchestrator -->|"uses seeded knowledge"| node_knowledge
node_context -->|"evaluates retrieval"| node_meko
node_context -->|"counts baseline tokens"| node_claude
node_context -->|"measures knowledge input"| node_knowledge
node_guardrails -->|"checks feature rules"| node_specs
node_guardrails -->|"runs PII scan"| node_privacy
node_meko -->|"redacts outbound data"| node_privacy
node_claude -->|"redacts prompts"| node_privacy
node_github -->|"redacts outbound data"| node_privacy
node_meko -.->|"calls datapack"| node_external
node_claude -.->|"calls model"| node_anthropic
node_github -.->|"reads repo activity"| node_ghservice
node_api -->|"reads shared state"| node_core
node_api -->|"serves pipeline actions"| node_orchestrator
node_api -->|"serves Meko data"| node_meko
node_api -->|"refreshes repository snapshot"| node_github
node_api -->|"serves economics"| node_economics
node_api -->|"serves edge state"| node_runtime
node_api -.->|"routes fleet questions"| node_ask
node_webapi -->|"fetches and streams updates"| node_api
node_app -->|"subscribes to live state"| node_webapi
node_app -->|"selects views"| node_pages
node_pages -->|"uses shared components"| node_ui
node_user -.->|"uses Studio"| node_app
node_user -.->|"injects telemetry faults"| node_sim
node_user -.->|"asks fleet questions"| node_ask

click node_sim "https://github.com/seethb/adlc-demo/blob/main/edge/features/F01-iot-simulator/index.js"
click node_fleet "https://github.com/seethb/adlc-demo/blob/main/edge/reference/fleet.js"
click node_detect "https://github.com/seethb/adlc-demo/blob/main/edge/features/F02-anomaly-detection/index.js"
click node_wo "https://github.com/seethb/adlc-demo/blob/main/edge/features/F03-work-orders/index.js"
click node_car "https://github.com/seethb/adlc-demo/blob/main/edge/features/F04-corrective-action/index.js"
click node_inventory "https://github.com/seethb/adlc-demo/blob/main/edge/features/F05-inventory/index.js"
click node_nlq "https://github.com/seethb/adlc-demo/blob/main/edge/features/F06-nl-asset-query/index.js"
click node_refimpl "https://github.com/seethb/adlc-demo/blob/main/edge/reference/index.js"
click node_runtime "https://github.com/seethb/adlc-demo/blob/main/server/edge/runtime.js"
click node_ask "https://github.com/seethb/adlc-demo/blob/main/server/edge/ask.js"
click node_orchestrator "https://github.com/seethb/adlc-demo/blob/main/server/adlc/orchestrator.js"
click node_specs "https://github.com/seethb/adlc-demo/blob/main/server/adlc/specs.js"
click node_guardrails "https://github.com/seethb/adlc-demo/blob/main/server/adlc/guardrails.js"
click node_context "https://github.com/seethb/adlc-demo/blob/main/server/adlc/contextBench.js"
click node_economics "https://github.com/seethb/adlc-demo/blob/main/server/adlc/economics.js"
click node_knowledge "https://github.com/seethb/adlc-demo/blob/main/server/seed/knowledge.js"
click node_privacy "https://github.com/seethb/adlc-demo/blob/main/server/security/privacy.js"
click node_meko "https://github.com/seethb/adlc-demo/blob/main/server/live/meko.js"
click node_claude "https://github.com/seethb/adlc-demo/blob/main/server/live/claude.js"
click node_github "https://github.com/seethb/adlc-demo/blob/main/server/live/github.js"
click node_core "https://github.com/seethb/adlc-demo/blob/main/server/core.js"
click node_api "https://github.com/seethb/adlc-demo/blob/main/server/index.js"
click node_webapi "https://github.com/seethb/adlc-demo/blob/main/src/api.js"
click node_app "https://github.com/seethb/adlc-demo/blob/main/src/App.jsx"
click node_pages "https://github.com/seethb/adlc-demo/tree/main/src/pages"
click node_ui "https://github.com/seethb/adlc-demo/blob/main/src/components/ui.jsx"

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_sim,node_fleet,node_detect,node_wo,node_car,node_inventory,node_nlq,node_refimpl,node_runtime,node_ask toneBlue
class node_orchestrator,node_specs,node_guardrails,node_context,node_economics,node_knowledge toneAmber
class node_privacy,node_meko,node_claude,node_github toneMint
class node_core,node_api,node_webapi,node_app,node_pages,node_ui toneRose
class node_user,node_external,node_anthropic,node_ghservice toneIndigo
```

## Components

### Edge intelligence

- [Telemetry simulator](https://github.com/seethb/adlc-demo/blob/main/edge/features/F01-iot-simulator/index.js): `edge/features/F01-iot-simulator/index.js`
- [Fleet model](https://github.com/seethb/adlc-demo/blob/main/edge/reference/fleet.js): `edge/reference/fleet.js`
- [Anomaly detection](https://github.com/seethb/adlc-demo/blob/main/edge/features/F02-anomaly-detection/index.js): `edge/features/F02-anomaly-detection/index.js`
- [Work orders](https://github.com/seethb/adlc-demo/blob/main/edge/features/F03-work-orders/index.js): `edge/features/F03-work-orders/index.js`
- [Corrective reports](https://github.com/seethb/adlc-demo/blob/main/edge/features/F04-corrective-action/index.js): `edge/features/F04-corrective-action/index.js`
- [Parts inventory](https://github.com/seethb/adlc-demo/blob/main/edge/features/F05-inventory/index.js): `edge/features/F05-inventory/index.js`
- [Asset queries](https://github.com/seethb/adlc-demo/blob/main/edge/features/F06-nl-asset-query/index.js): `edge/features/F06-nl-asset-query/index.js`
- [Reference services](https://github.com/seethb/adlc-demo/blob/main/edge/reference/index.js): `edge/reference/index.js`
- [Edge runtime](https://github.com/seethb/adlc-demo/blob/main/server/edge/runtime.js): `server/edge/runtime.js`
- [Fleet Q&A](https://github.com/seethb/adlc-demo/blob/main/server/edge/ask.js): `server/edge/ask.js`

### Agent lifecycle

- [Stage orchestrator](https://github.com/seethb/adlc-demo/blob/main/server/adlc/orchestrator.js): `server/adlc/orchestrator.js`
- [Feature specs](https://github.com/seethb/adlc-demo/blob/main/server/adlc/specs.js): `server/adlc/specs.js`
- [Gates and guardrails](https://github.com/seethb/adlc-demo/blob/main/server/adlc/guardrails.js): `server/adlc/guardrails.js`
- [Memory evaluation](https://github.com/seethb/adlc-demo/blob/main/server/adlc/contextBench.js): `server/adlc/contextBench.js`
- [Token economics](https://github.com/seethb/adlc-demo/blob/main/server/adlc/economics.js): `server/adlc/economics.js`
- [Shared knowledge seed](https://github.com/seethb/adlc-demo/blob/main/server/seed/knowledge.js): `server/seed/knowledge.js`

### External services

- [Privacy shield](https://github.com/seethb/adlc-demo/blob/main/server/security/privacy.js): `server/security/privacy.js`
- [Meko datapack](https://github.com/seethb/adlc-demo/blob/main/server/live/meko.js): `server/live/meko.js`
- [Claude client](https://github.com/seethb/adlc-demo/blob/main/server/live/claude.js): `server/live/claude.js`
- [GitHub client](https://github.com/seethb/adlc-demo/blob/main/server/live/github.js): `server/live/github.js`

### ADLC Studio

- [State and event bus](https://github.com/seethb/adlc-demo/blob/main/server/core.js): `server/core.js`
- [Studio API](https://github.com/seethb/adlc-demo/blob/main/server/index.js): `server/index.js`
- [Live API store](https://github.com/seethb/adlc-demo/blob/main/src/api.js): `src/api.js`
- [Studio navigation](https://github.com/seethb/adlc-demo/blob/main/src/App.jsx): `src/App.jsx`
- [Studio views](https://github.com/seethb/adlc-demo/tree/main/src/pages): `src/pages`
- [Shared UI components](https://github.com/seethb/adlc-demo/blob/main/src/components/ui.jsx): `src/components/ui.jsx`

### Other components

- **Engineer**
- **Meko / MCP**
- **Anthropic**
- **GitHub**

## Connections

- Telemetry simulator → Fleet model: uses asset model (evidence: `edge/features/F01-iot-simulator/index.js`)
- Anomaly detection → Fleet model: uses asset model (evidence: `edge/features/F02-anomaly-detection/index.js`)
- Asset queries → Fleet model: reads fleet data (evidence: `edge/features/F06-nl-asset-query/index.js`)
- Edge runtime → Reference services: loads reference services (evidence: `server/edge/runtime.js`)
- Edge runtime → State and event bus: uses state and events (evidence: `server/edge/runtime.js`)
- Fleet Q&A → Asset queries: queries assets (evidence: `server/edge/ask.js`)
- Fleet Q&A → Anomaly detection: reads anomaly data (evidence: `server/edge/ask.js`)
- Fleet Q&A → Meko datapack: recalls knowledge (evidence: `server/edge/ask.js`)
- Fleet Q&A → Claude client: generates answer (evidence: `server/edge/ask.js`)
- Work orders → Parts inventory: reserves parts (evidence: `README.md`)
- Work orders → Corrective reports: triggers critical reports (evidence: `README.md`)
- Stage orchestrator → Feature specs: loads feature specs (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → Gates and guardrails: runs gates (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → Meko datapack: recalls shared memory (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → Claude client: requests agent steps (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → GitHub client: updates workflow (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → Token economics: records stage costs (evidence: `server/adlc/orchestrator.js`)
- Stage orchestrator → Shared knowledge seed: uses seeded knowledge (evidence: `server/adlc/orchestrator.js`)
- Memory evaluation → Meko datapack: evaluates retrieval (evidence: `server/adlc/contextBench.js`)
- Memory evaluation → Claude client: counts baseline tokens (evidence: `server/adlc/contextBench.js`)
- Memory evaluation → Shared knowledge seed: measures knowledge input (evidence: `server/adlc/contextBench.js`)
- Gates and guardrails → Feature specs: checks feature rules (evidence: `server/adlc/guardrails.js`)
- Gates and guardrails → Privacy shield: runs PII scan (evidence: `server/adlc/guardrails.js`)
- Meko datapack → Privacy shield: redacts outbound data (evidence: `server/live/meko.js`)
- Claude client → Privacy shield: redacts prompts (evidence: `server/live/claude.js`)
- GitHub client → Privacy shield: redacts outbound data (evidence: `server/security/privacy.js`)
- Meko datapack → Meko / MCP: calls datapack
- Claude client → Anthropic: calls model
- GitHub client → GitHub: reads repo activity
- Studio API → State and event bus: reads shared state (evidence: `server/index.js`)
- Studio API → Stage orchestrator: serves pipeline actions (evidence: `server/index.js`)
- Studio API → Meko datapack: serves Meko data (evidence: `server/index.js`)
- Studio API → GitHub client: refreshes repository snapshot (evidence: `server/index.js`)
- Studio API → Token economics: serves economics (evidence: `server/index.js`)
- Studio API → Edge runtime: serves edge state (evidence: `server/index.js`)
- Studio API → Fleet Q&A: routes fleet questions (evidence: `server/index.js`)
- Live API store → Studio API: fetches and streams updates (evidence: `src/api.js`)
- Studio navigation → Live API store: subscribes to live state (evidence: `src/App.jsx`)
- Studio navigation → Studio views: selects views (evidence: `src/App.jsx`)
- Studio views → Shared UI components: uses shared components (evidence: `src/pages/Architecture.jsx`)
- Engineer → Studio navigation: uses Studio (evidence: `README.md`)
- Engineer → Telemetry simulator: injects telemetry faults (evidence: `README.md`)
- Engineer → Fleet Q&A: asks fleet questions (evidence: `README.md`)
