# samtusick/teamproject6_ai_agent architecture

> Architecture diagram of the GitHub repository samtusick/teamproject6_ai_agent, 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/samtusick/teamproject6_ai_agent
- Repository: https://github.com/samtusick/teamproject6_ai_agent

## Overview

This repository is an unfinished meeting-transcript action-item agent. Its documented workflow is to read a transcript, classify candidate items with an NRP model, verify quoted evidence, request human approval, then write approved items through an MCP filesystem server and read them back. The source files contain TODOs rather than those implementations, so the graph shows documented intended responsibilities—not verified runtime calls. Live meetings, external task/calendar integrations, and cross-meeting memory are explicitly out of scope.

Main entry points: [`agent.py`](https://github.com/samtusick/teamproject6_ai_agent/blob/main/agent.py) (Workflow Agent), [`mcp_client.py`](https://github.com/samtusick/teamproject6_ai_agent/blob/main/mcp_client.py) (MCP Client), [`llm_client.py`](https://github.com/samtusick/teamproject6_ai_agent/blob/main/llm_client.py) (Item Classifier), [`output`](https://github.com/samtusick/teamproject6_ai_agent/tree/main/output) (Approved Items)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Action Workflow"]
  node_agent["Workflow Agent<br/>[agent.py]"]
  node_transcript["Transcript File"]
  node_approval["Human Approval<br/>[agent.py]"]
  node_output["Approved Items"]
end

subgraph group_components["Agent Components"]
  node_classifier["Item Classifier<br/>[llm_client.py]"]
  node_verifier["Quote Guardrail<br/>[verify.py]"]
  node_mcp["MCP Client<br/>[mcp_client.py]"]
end

subgraph group_integrations["External Integrations"]
  node_model["NRP Model"]
  node_filesystem["Filesystem MCP Server"]
end

node_user(("Transcript User"))

node_user -->|"provides transcript"| node_agent
node_agent -->|"reads"| node_transcript
node_agent -->|"requests classification"| node_classifier
node_classifier -->|"classifies items"| node_model
node_agent -->|"checks quotes"| node_verifier
node_agent -->|"requests decision"| node_approval
node_approval -->|"returns decisions"| node_agent
node_agent -->|"writes approved items"| node_mcp
node_mcp -->|"calls tools"| node_filesystem
node_mcp -->|"reads back"| node_filesystem
node_filesystem -->|"stores items"| node_output

click node_agent "https://github.com/samtusick/teamproject6_ai_agent/blob/main/agent.py"
click node_classifier "https://github.com/samtusick/teamproject6_ai_agent/blob/main/llm_client.py"
click node_verifier "https://github.com/samtusick/teamproject6_ai_agent/blob/main/verify.py"
click node_approval "https://github.com/samtusick/teamproject6_ai_agent/blob/main/agent.py"
click node_mcp "https://github.com/samtusick/teamproject6_ai_agent/blob/main/mcp_client.py"
click node_output "https://github.com/samtusick/teamproject6_ai_agent/tree/main/output"

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_agent,node_transcript,node_approval,node_output,node_user toneBlue
class node_classifier,node_verifier,node_mcp toneAmber
class node_model,node_filesystem toneMint
```

## Components

### Action Workflow

- [Workflow Agent](https://github.com/samtusick/teamproject6_ai_agent/blob/main/agent.py): `agent.py`
- **Transcript File**
- [Human Approval](https://github.com/samtusick/teamproject6_ai_agent/blob/main/agent.py): `agent.py`
- [Approved Items](https://github.com/samtusick/teamproject6_ai_agent/tree/main/output): `output`

### Agent Components

- [Item Classifier](https://github.com/samtusick/teamproject6_ai_agent/blob/main/llm_client.py): `llm_client.py`
- [Quote Guardrail](https://github.com/samtusick/teamproject6_ai_agent/blob/main/verify.py): `verify.py`
- [MCP Client](https://github.com/samtusick/teamproject6_ai_agent/blob/main/mcp_client.py): `mcp_client.py`

### External Integrations

- **NRP Model**
- **Filesystem MCP Server**

### Other components

- **Transcript User**

## Connections

- Transcript User → Workflow Agent: provides transcript
- Workflow Agent → Transcript File: reads
- Workflow Agent → Item Classifier: requests classification
- Item Classifier → NRP Model: classifies items
- Workflow Agent → Quote Guardrail: checks quotes
- Workflow Agent → Human Approval: requests decision
- Human Approval → Workflow Agent: returns decisions
- Workflow Agent → MCP Client: writes approved items
- MCP Client → Filesystem MCP Server: calls tools
- MCP Client → Filesystem MCP Server: reads back
- Filesystem MCP Server → Approved Items: stores items
