# ynarvel/cloudadmin-ai architecture

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

- Interactive diagram: https://gitdiagram.com/ynarvel/cloudadmin-ai
- Repository: https://github.com/ynarvel/cloudadmin-ai

## Overview

CloudAdmin-AI is a policy-driven framework for AI-assisted Microsoft 365 and Azure administration, not a standalone management application. An administrator uses an AI/MCP environment to follow onboarding or offboarding guidance: discover targets and dependencies, prepare a plan, obtain explicit confirmation, perform approved changes through the existing MCP connection, verify the resulting state, and record the outcome. Policies define administration, confirmation, and verification controls. Audit scripts support JSON/CSV records, and the dashboard components provide a generated audit view. The README documents these relationships; source excerpts were unavailable, so implementation-level call wiring is not inferred.

Main entry points: [`policies/verification.md`](https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/verification.md) (State Verification), [`prompts/admin-policy.md`](https://github.com/ynarvel/cloudadmin-ai/blob/master/prompts/admin-policy.md) (Admin Policy), [`workflows/offboarding.md`](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md) (Approved Changes), [`workflows/onboarding.md`](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/onboarding.md) (Onboarding Workflow)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_governance["Policies"]
  node_adminpolicy["Admin Policy<br/>[admin-policy.md]"]
  node_confirmation["Confirmation Policy<br/>[confirmation.md]"]
  node_verification["Verification Policy<br/>[verification.md]"]
end

subgraph group_flows["Workflows"]
  node_onboarding["Onboarding Workflow<br/>[onboarding.md]"]
  node_offboarding["Offboarding Workflow<br/>[offboarding.md]"]
  node_discovery["Discovery and Dependencies<br/>[offboarding.md]"]
  node_plan["Change Plan<br/>[offboarding.md]"]
  node_confirmstage["Approval Gate<br/>[confirmation.md]"]
  node_verify["State Verification<br/>[verification.md]"]
end

subgraph group_cloud["Cloud Operations"]
  node_execute["Approved Changes<br/>[offboarding.md]"]
  node_mcp{{"M365/Azure MCP"}}
  node_tenant{{"Microsoft Cloud Services"}}
end

subgraph group_auditview["Audit and Dashboard"]
  node_auditdata[("Audit Records")]
  node_jsonaudit["JSON Audit Writer"]
  node_csvaudit["CSV Audit Writer"]
  node_dashboardbuild["Dashboard Generator"]
  node_dashboard["Audit Dashboard<br/>[index.html]"]
end

node_admin(("Administrator / AI"))

node_admin -->|"uses controls"| node_adminpolicy
node_admin -->|"requests onboarding"| node_onboarding
node_admin -->|"requests offboarding"| node_offboarding
node_adminpolicy -->|"guides"| node_onboarding
node_adminpolicy -->|"guides"| node_offboarding
node_onboarding -->|"begins with"| node_discovery
node_offboarding -->|"begins with"| node_discovery
node_discovery -->|"informs"| node_plan
node_plan -->|"requires approval"| node_confirmstage
node_confirmation -->|"governs"| node_confirmstage
node_confirmstage -->|"permits approved"| node_execute
node_execute -->|"requests operations"| node_mcp
node_mcp -->|"operates on"| node_tenant
node_execute -->|"followed by"| node_verify
node_verify -->|"queries state"| node_mcp
node_verification -->|"governs"| node_verify
node_verify -->|"records outcome"| node_jsonaudit
node_verify -->|"records outcome"| node_csvaudit
node_jsonaudit -->|"writes JSON"| node_auditdata
node_csvaudit -->|"writes CSV"| node_auditdata
node_auditdata -->|"provides audit data"| node_dashboardbuild
node_dashboardbuild -->|"generates view"| node_dashboard

click node_adminpolicy "https://github.com/ynarvel/cloudadmin-ai/blob/master/prompts/admin-policy.md"
click node_confirmation "https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/confirmation.md"
click node_verification "https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/verification.md"
click node_onboarding "https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/onboarding.md"
click node_offboarding "https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md"
click node_discovery "https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md"
click node_plan "https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md"
click node_confirmstage "https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/confirmation.md"
click node_execute "https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md"
click node_verify "https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/verification.md"
click node_jsonaudit "https://github.com/ynarvel/cloudadmin-ai/blob/master/audit/write-offboarding-record.ps1"
click node_csvaudit "https://github.com/ynarvel/cloudadmin-ai/blob/master/audit/write-offboarding-csv.ps1"
click node_dashboardbuild "https://github.com/ynarvel/cloudadmin-ai/blob/master/dashboard/build-dashboard.ps1"
click node_dashboard "https://github.com/ynarvel/cloudadmin-ai/blob/master/dashboard/index.html"

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_adminpolicy,node_confirmation,node_verification toneBlue
class node_onboarding,node_offboarding,node_discovery,node_plan,node_confirmstage,node_verify toneAmber
class node_execute,node_mcp,node_tenant toneMint
class node_auditdata,node_jsonaudit,node_csvaudit,node_dashboardbuild,node_dashboard toneRose
class node_admin toneIndigo
```

## Components

### Policies

- [Admin Policy](https://github.com/ynarvel/cloudadmin-ai/blob/master/prompts/admin-policy.md): `prompts/admin-policy.md`
- [Confirmation Policy](https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/confirmation.md): `policies/confirmation.md`
- [Verification Policy](https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/verification.md): `policies/verification.md`

### Workflows

- [Onboarding Workflow](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/onboarding.md): `workflows/onboarding.md`
- [Offboarding Workflow](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md): `workflows/offboarding.md`
- [Discovery and Dependencies](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md): `workflows/offboarding.md`
- [Change Plan](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md): `workflows/offboarding.md`
- [Approval Gate](https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/confirmation.md): `policies/confirmation.md`
- [State Verification](https://github.com/ynarvel/cloudadmin-ai/blob/master/policies/verification.md): `policies/verification.md`

### Cloud Operations

- [Approved Changes](https://github.com/ynarvel/cloudadmin-ai/blob/master/workflows/offboarding.md): `workflows/offboarding.md`
- **M365/Azure MCP**
- **Microsoft Cloud Services**

### Audit and Dashboard

- **Audit Records**
- [JSON Audit Writer](https://github.com/ynarvel/cloudadmin-ai/blob/master/audit/write-offboarding-record.ps1): `audit/write-offboarding-record.ps1`
- [CSV Audit Writer](https://github.com/ynarvel/cloudadmin-ai/blob/master/audit/write-offboarding-csv.ps1): `audit/write-offboarding-csv.ps1`
- [Dashboard Generator](https://github.com/ynarvel/cloudadmin-ai/blob/master/dashboard/build-dashboard.ps1): `dashboard/build-dashboard.ps1`
- [Audit Dashboard](https://github.com/ynarvel/cloudadmin-ai/blob/master/dashboard/index.html): `dashboard/index.html`

### Other components

- **Administrator / AI**

## Connections

- Administrator / AI → Admin Policy: uses controls
- Administrator / AI → Onboarding Workflow: requests onboarding
- Administrator / AI → Offboarding Workflow: requests offboarding
- Admin Policy → Onboarding Workflow: guides
- Admin Policy → Offboarding Workflow: guides
- Onboarding Workflow → Discovery and Dependencies: begins with
- Offboarding Workflow → Discovery and Dependencies: begins with
- Discovery and Dependencies → Change Plan: informs
- Change Plan → Approval Gate: requires approval
- Confirmation Policy → Approval Gate: governs
- Approval Gate → Approved Changes: permits approved
- Approved Changes → M365/Azure MCP: requests operations
- M365/Azure MCP → Microsoft Cloud Services: operates on
- Approved Changes → State Verification: followed by
- State Verification → M365/Azure MCP: queries state
- Verification Policy → State Verification: governs
- State Verification → JSON Audit Writer: records outcome
- State Verification → CSV Audit Writer: records outcome
- JSON Audit Writer → Audit Records: writes JSON
- CSV Audit Writer → Audit Records: writes CSV
- Audit Records → Dashboard Generator: provides audit data
- Dashboard Generator → Audit Dashboard: generates view
