# ajeetraina/labspace-ai-governance architecture

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

- Interactive diagram: https://gitdiagram.com/ajeetraina/labspace-ai-governance
- Repository: https://github.com/ajeetraina/labspace-ai-governance

## Overview

This repository is a hands-on Docker AI Governance lab, not a general-purpose governance service. Its principal workflow guides a developer from setup and policy authoring through sandbox enforcement, then into MCP governance and monitoring. The README documents the policy flow and the lab’s major demos; the sampled Go backend implements event collection and dashboard endpoints. Other lab sections and integrations are represented from the README and file tree, so their internal wiring is not inferred.

Main entry points: [`labspace/02-the-policy-model.md`](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/02-the-policy-model.md) (Policy model), [`labspace/kits/observability/backend/main.go`](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/observability/backend/main.go) (Event collector), [`labspace/06-mcp-hands-on.md`](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/06-mcp-hands-on.md) (MCP hands-on), [`labspace/00-setup.md`](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/00-setup.md) (Setup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learn["Lab walkthrough"]
  node_setup["Setup<br/>[00-setup.md]"]
  node_policy_model["Policy model"]
end

subgraph group_control["Policy control"]
  node_manual_authoring["Manual authoring<br/>[setup-policies.sh]"]
  node_api_authoring["API authoring"]
  node_governance_api{{"Governance API"}}
  node_org_policies[("Org policies")]
end

subgraph group_sandbox["Sandbox demos"]
  node_network_demo["Network enforcement<br/>[03-network-demo.md]"]
  node_filesystem_demo["Filesystem enforcement"]
  node_sandbox_runtime{{"Docker sandbox"}}
end

subgraph group_observe["MCP and observability"]
  node_mcp_lab["MCP hands-on<br/>[06-mcp-hands-on.md]"]
  node_mcp_gateway["MCP Gateway config"]
  node_observability_lab["Observability lab"]
  node_monitoring["Policy monitoring"]
  node_audit_guide["Audit logging"]
  node_event_backend["Event collector<br/>[main.go]"]
  node_dashboard["Live dashboard<br/>[index.html]"]
  node_audit_samples["Audit samples"]
end

subgraph group_examples["Hands-on extensions"]
  node_catalog["Product catalog"]
  node_agent_example["Agent example<br/>[README.md]"]
  node_sandbox_kits["Sandbox kits<br/>[01-intro.md]"]
end

node_developer(("Developer"))

node_developer -->|"starts with"| node_setup
node_setup -->|"continues to"| node_policy_model
node_policy_model -->|"offers UI setup"| node_manual_authoring
node_policy_model -->|"offers API setup"| node_api_authoring
node_api_authoring -->|"drives over HTTP"| node_governance_api
node_manual_authoring -->|"writes policies"| node_org_policies
node_governance_api -->|"writes policies"| node_org_policies
node_org_policies -->|"flows to"| node_sandbox_runtime
node_network_demo -->|"tests network rules"| node_sandbox_runtime
node_filesystem_demo -->|"tests mount rules"| node_sandbox_runtime
node_mcp_lab -->|"configures access"| node_mcp_gateway
node_mcp_lab -->|"registers servers"| node_sandbox_runtime
node_observability_lab -->|"inspects events"| node_event_backend
node_monitoring -->|"watches decisions"| node_event_backend
node_audit_guide -->|"traces events"| node_audit_samples
node_event_backend -.->|"serves dashboard"| node_dashboard
node_catalog -->|"runs contained agent"| node_sandbox_runtime
node_developer -->|"explores kits"| node_sandbox_kits

click node_setup "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/00-setup.md"
click node_policy_model "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/02-the-policy-model.md"
click node_manual_authoring "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/assets/setup-policies.sh"
click node_api_authoring "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/11-governance-api.md"
click node_network_demo "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/03-network-demo.md"
click node_filesystem_demo "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/04-filesystem-demo.md"
click node_mcp_lab "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/06-mcp-hands-on.md"
click node_mcp_gateway "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/assets/mcp-gateway-compose.yaml"
click node_observability_lab "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/08-observability.md"
click node_monitoring "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/09-monitoring-policies.md"
click node_audit_guide "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/10-audit-logging.md"
click node_event_backend "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/observability/backend/main.go"
click node_dashboard "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/observability/backend/static/index.html"
click node_audit_samples "https://github.com/ajeetraina/labspace-ai-governance/blob/main/project/audit/sample-events.jsonl"
click node_catalog "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/07-product-catalog.md"
click node_agent_example "https://github.com/ajeetraina/labspace-ai-governance/blob/main/project/horror-story-agent/README.md"
click node_sandbox_kits "https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/01-intro.md"

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_setup,node_policy_model toneBlue
class node_manual_authoring,node_api_authoring,node_governance_api,node_org_policies toneAmber
class node_network_demo,node_filesystem_demo,node_sandbox_runtime toneMint
class node_mcp_lab,node_mcp_gateway,node_observability_lab,node_monitoring,node_audit_guide,node_event_backend,node_dashboard,node_audit_samples toneRose
class node_catalog,node_agent_example,node_sandbox_kits,node_developer toneIndigo
```

## Components

### Lab walkthrough

- [Setup](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/00-setup.md): `labspace/00-setup.md`
- [Policy model](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/02-the-policy-model.md): `labspace/02-the-policy-model.md`

### Policy control

- [Manual authoring](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/assets/setup-policies.sh): `labspace/assets/setup-policies.sh`
- [API authoring](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/11-governance-api.md): `labspace/11-governance-api.md`
- **Governance API**
- **Org policies**

### Sandbox demos

- [Network enforcement](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/03-network-demo.md): `labspace/03-network-demo.md`
- [Filesystem enforcement](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/04-filesystem-demo.md): `labspace/04-filesystem-demo.md`
- **Docker sandbox**

### MCP and observability

- [MCP hands-on](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/06-mcp-hands-on.md): `labspace/06-mcp-hands-on.md`
- [MCP Gateway config](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/assets/mcp-gateway-compose.yaml): `labspace/assets/mcp-gateway-compose.yaml`
- [Observability lab](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/08-observability.md): `labspace/08-observability.md`
- [Policy monitoring](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/09-monitoring-policies.md): `labspace/09-monitoring-policies.md`
- [Audit logging](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/10-audit-logging.md): `labspace/10-audit-logging.md`
- [Event collector](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/observability/backend/main.go): `labspace/kits/observability/backend/main.go`
- [Live dashboard](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/observability/backend/static/index.html): `labspace/kits/observability/backend/static/index.html`
- [Audit samples](https://github.com/ajeetraina/labspace-ai-governance/blob/main/project/audit/sample-events.jsonl): `project/audit/sample-events.jsonl`

### Hands-on extensions

- [Product catalog](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/07-product-catalog.md): `labspace/07-product-catalog.md`
- [Agent example](https://github.com/ajeetraina/labspace-ai-governance/blob/main/project/horror-story-agent/README.md): `project/horror-story-agent/README.md`
- [Sandbox kits](https://github.com/ajeetraina/labspace-ai-governance/blob/main/labspace/kits/01-intro.md): `labspace/kits/01-intro.md`

### Other components

- **Developer**

## Connections

- Developer → Setup: starts with (evidence: `README.md`)
- Setup → Policy model: continues to (evidence: `README.md`)
- Policy model → Manual authoring: offers UI setup (evidence: `README.md`)
- Policy model → API authoring: offers API setup (evidence: `README.md`)
- API authoring → Governance API: drives over HTTP (evidence: `README.md`)
- Manual authoring → Org policies: writes policies (evidence: `README.md`)
- Governance API → Org policies: writes policies (evidence: `README.md`)
- Org policies → Docker sandbox: flows to (evidence: `README.md`)
- Network enforcement → Docker sandbox: tests network rules (evidence: `README.md`)
- Filesystem enforcement → Docker sandbox: tests mount rules (evidence: `README.md`)
- MCP hands-on → MCP Gateway config: configures access (evidence: `README.md`)
- MCP hands-on → Docker sandbox: registers servers (evidence: `README.md`)
- Observability lab → Event collector: inspects events (evidence: `README.md`)
- Policy monitoring → Event collector: watches decisions (evidence: `README.md`)
- Audit logging → Audit samples: traces events (evidence: `README.md`)
- Event collector → Live dashboard: serves dashboard
- Product catalog → Docker sandbox: runs contained agent (evidence: `README.md`)
- Developer → Sandbox kits: explores kits (evidence: `README.md`)
