# asim1112/hackathon_0_personal_ai_employee architecture

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

## Overview

AI_Employee_Vault is a tiered AI-employee system: channel watchers collect work into a vault, an orchestrator runs Claude to process it, and approved drafts are handed to integration servers for external actions. The Platinum tier separates cloud processing from local approval and synchronization. Gold’s sampled LinkedIn and Twitter servers document the human approval gate; the local orchestrator documents email approval handling. The README is empty, and several watcher and MCP implementations were not sampled, so their internal behavior and unshown connections are not inferred.

Main entry points: [`AI_Employee_Vault/platinum/cloud_orchestrator.py`](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/cloud_orchestrator.py) (Cloud Orchestrator), [`AI_Employee_Vault/gold/orchestrator.py`](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/orchestrator.py) (Gold Orchestrator), [`AI_Employee_Vault/gold/odoo_watcher.py`](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/odoo_watcher.py) (Odoo Watcher), [`AI_Employee_Vault/gold/mcp_servers/linkedin-mcp/index.js`](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/linkedin-mcp/index.js) (LinkedIn Publisher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_intake["Work Intake"]
  node_gmail_gold["Gmail Watcher<br/>[gmail_watcher.py]"]
  node_linkedin_gold["LinkedIn Watcher"]
  node_twitter_gold["Twitter Watcher<br/>[twitter_watcher.py]"]
  node_odoo_gold["Odoo Watcher<br/>[odoo_watcher.py]"]
end

subgraph group_agent["Agent Workflow"]
  node_needs_action["Needs Action"]
  node_cloud["Cloud Orchestrator"]
  node_gold_orchestrator["Gold Orchestrator<br/>[orchestrator.py]"]
  node_claude["Claude Agent"]
  node_pending["Pending Approval"]
end

subgraph group_actions["Approved Actions"]
  node_approved["Approved Drafts"]
  node_linkedin_mcp["LinkedIn Publisher<br/>[index.js]"]
  node_twitter_mcp["Twitter Publisher<br/>[index.js]"]
  node_email_mcp["Email MCP<br/>[index.js]"]
  node_odoo_mcp["Odoo MCP<br/>[index.js]"]
  node_odoo_client["Odoo Client<br/>[odoo-client.js]"]
end

subgraph group_ops["Operations"]
  node_local["Local Orchestrator"]
  node_git_sync["Git Sync<br/>[git_sync.py]"]
  node_audit["Audit Logger<br/>[audit_logger.py]"]
  node_health["Health Monitor<br/>[health_monitor.py]"]
  node_done["Done Records"]
  node_retry["Retry Utility<br/>[retry_handler.py]"]
end

node_person(("Employee"))
node_social_service(("Social Platforms"))
node_mail_service(("Email Service"))
node_odoo_service(("Odoo"))

node_gold_orchestrator -->|"starts watcher"| node_gmail_gold
node_gold_orchestrator -->|"starts watcher"| node_linkedin_gold
node_gold_orchestrator -->|"starts watcher"| node_twitter_gold
node_gold_orchestrator -->|"starts watcher"| node_odoo_gold
node_gmail_gold -->|"records work"| node_needs_action
node_linkedin_gold -->|"records work"| node_needs_action
node_twitter_gold -->|"records work"| node_needs_action
node_odoo_gold -->|"records alerts"| node_needs_action
node_cloud -->|"starts watcher"| node_gmail_gold
node_cloud -->|"starts watcher"| node_linkedin_gold
node_cloud -->|"watches for work"| node_needs_action
node_cloud -->|"runs cycle"| node_claude
node_gold_orchestrator -->|"runs cycle"| node_claude
node_needs_action -->|"provides work"| node_claude
node_claude -->|"writes drafts"| node_pending
node_person -->|"reviews drafts"| node_pending
node_person -->|"approves drafts"| node_approved
node_local -->|"watches approvals"| node_approved
node_approved -.->|"triggers posting"| node_linkedin_mcp
node_approved -.->|"triggers posting"| node_twitter_mcp
node_approved -.->|"triggers sending"| node_email_mcp
node_linkedin_mcp -->|"publishes post"| node_social_service
node_linkedin_mcp -->|"moves result"| node_done
node_twitter_mcp -->|"publishes post"| node_social_service
node_twitter_mcp -->|"moves result"| node_done
node_email_mcp -->|"sends email"| node_mail_service
node_odoo_gold -.->|"uses integration"| node_odoo_mcp
node_odoo_mcp -->|"calls client"| node_odoo_client
node_odoo_client -->|"JSON-RPC"| node_odoo_service
node_cloud -->|"syncs vault"| node_git_sync
node_local -->|"syncs vault"| node_git_sync
node_cloud -->|"writes heartbeat"| node_health
node_cloud -.->|"logs activity"| node_audit
node_retry -.->|"retries operations"| node_odoo_client

click node_gmail_gold "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/gmail_watcher.py"
click node_linkedin_gold "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/linkedin_watcher.py"
click node_twitter_gold "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/twitter_watcher.py"
click node_odoo_gold "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/odoo_watcher.py"
click node_cloud "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/cloud_orchestrator.py"
click node_gold_orchestrator "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/orchestrator.py"
click node_local "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/local_orchestrator.py"
click node_linkedin_mcp "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/linkedin-mcp/index.js"
click node_twitter_mcp "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/twitter-mcp/index.js"
click node_email_mcp "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/mcp_servers/email-mcp/index.js"
click node_odoo_mcp "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/odoo-mcp/index.js"
click node_odoo_client "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/odoo-mcp/odoo-client.js"
click node_git_sync "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/git_sync.py"
click node_audit "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/audit_logger.py"
click node_health "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/health_monitor.py"
click node_retry "https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/retry_handler.py"

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_gmail_gold,node_linkedin_gold,node_twitter_gold,node_odoo_gold toneBlue
class node_needs_action,node_cloud,node_gold_orchestrator,node_claude,node_pending toneAmber
class node_approved,node_linkedin_mcp,node_twitter_mcp,node_email_mcp,node_odoo_mcp,node_odoo_client toneMint
class node_local,node_git_sync,node_audit,node_health,node_done,node_retry toneRose
class node_person,node_social_service,node_mail_service,node_odoo_service toneIndigo
```

## Components

### Work Intake

- [Gmail Watcher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/gmail_watcher.py): `AI_Employee_Vault/gold/gmail_watcher.py`
- [LinkedIn Watcher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/linkedin_watcher.py): `AI_Employee_Vault/gold/linkedin_watcher.py`
- [Twitter Watcher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/twitter_watcher.py): `AI_Employee_Vault/gold/twitter_watcher.py`
- [Odoo Watcher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/odoo_watcher.py): `AI_Employee_Vault/gold/odoo_watcher.py`

### Agent Workflow

- **Needs Action**
- [Cloud Orchestrator](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/cloud_orchestrator.py): `AI_Employee_Vault/platinum/cloud_orchestrator.py`
- [Gold Orchestrator](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/orchestrator.py): `AI_Employee_Vault/gold/orchestrator.py`
- **Claude Agent**
- **Pending Approval**

### Approved Actions

- **Approved Drafts**
- [LinkedIn Publisher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/linkedin-mcp/index.js): `AI_Employee_Vault/gold/mcp_servers/linkedin-mcp/index.js`
- [Twitter Publisher](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/twitter-mcp/index.js): `AI_Employee_Vault/gold/mcp_servers/twitter-mcp/index.js`
- [Email MCP](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/mcp_servers/email-mcp/index.js): `AI_Employee_Vault/platinum/mcp_servers/email-mcp/index.js`
- [Odoo MCP](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/odoo-mcp/index.js): `AI_Employee_Vault/gold/mcp_servers/odoo-mcp/index.js`
- [Odoo Client](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/mcp_servers/odoo-mcp/odoo-client.js): `AI_Employee_Vault/gold/mcp_servers/odoo-mcp/odoo-client.js`

### Operations

- [Local Orchestrator](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/local_orchestrator.py): `AI_Employee_Vault/platinum/local_orchestrator.py`
- [Git Sync](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/git_sync.py): `AI_Employee_Vault/platinum/git_sync.py`
- [Audit Logger](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/audit_logger.py): `AI_Employee_Vault/platinum/audit_logger.py`
- [Health Monitor](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/platinum/health_monitor.py): `AI_Employee_Vault/platinum/health_monitor.py`
- **Done Records**
- [Retry Utility](https://github.com/asim1112/hackathon_0_personal_ai_employee/blob/main/AI_Employee_Vault/gold/retry_handler.py): `AI_Employee_Vault/gold/retry_handler.py`

### Other components

- **Employee**
- **Social Platforms**
- **Email Service**
- **Odoo**

## Connections

- Gold Orchestrator → Gmail Watcher: starts watcher
- Gold Orchestrator → LinkedIn Watcher: starts watcher
- Gold Orchestrator → Twitter Watcher: starts watcher
- Gold Orchestrator → Odoo Watcher: starts watcher
- Gmail Watcher → Needs Action: records work
- LinkedIn Watcher → Needs Action: records work
- Twitter Watcher → Needs Action: records work
- Odoo Watcher → Needs Action: records alerts
- Cloud Orchestrator → Gmail Watcher: starts watcher
- Cloud Orchestrator → LinkedIn Watcher: starts watcher
- Cloud Orchestrator → Needs Action: watches for work
- Cloud Orchestrator → Claude Agent: runs cycle
- Gold Orchestrator → Claude Agent: runs cycle
- Needs Action → Claude Agent: provides work
- Claude Agent → Pending Approval: writes drafts
- Employee → Pending Approval: reviews drafts
- Employee → Approved Drafts: approves drafts
- Local Orchestrator → Approved Drafts: watches approvals
- Approved Drafts → LinkedIn Publisher: triggers posting
- Approved Drafts → Twitter Publisher: triggers posting
- Approved Drafts → Email MCP: triggers sending
- LinkedIn Publisher → Social Platforms: publishes post
- LinkedIn Publisher → Done Records: moves result
- Twitter Publisher → Social Platforms: publishes post
- Twitter Publisher → Done Records: moves result
- Email MCP → Email Service: sends email
- Odoo Watcher → Odoo MCP: uses integration
- Odoo MCP → Odoo Client: calls client
- Odoo Client → Odoo: JSON-RPC
- Cloud Orchestrator → Git Sync: syncs vault
- Local Orchestrator → Git Sync: syncs vault
- Cloud Orchestrator → Health Monitor: writes heartbeat
- Cloud Orchestrator → Audit Logger: logs activity
- Retry Utility → Odoo Client: retries operations
