The Techmero Multi-Agent Architecture
Detailed operational specification of the 6 specialized autonomous AI agents powering Techmero. Defines their roles, who they manage, automated reply workflows, model routing, and direct integrations across Ember, DevVault, and external APIs.
The 6 Specialized AI Agents Roster
Rather than relying on a bloated generic chatbot, Techmero deploys 6 purpose-built, narrow-domain agents. Each agent has strict triggers, bounded tool access, clear management responsibilities, and deterministic output schemas.
| Agent Name | Primary Mission | Who It Manages / Interacts With | Automation / Action Output | Underlying Tech |
|---|---|---|---|---|
| 01. SuperBot Core | Passive project chat listener & task extractor | Developers & Project Managers | Auto-creates Kanban tickets, syncs task states in DevVault | Gemini 2.5 Flash + Loopback WS |
| 02. Standup Proctor | Daily EOD & half-day accountability proctor | All Developers ➔ Agency Owner & PMs | 1:1 DM prompts, missing alert escalation, 6:30 PM Owner Briefing | Gemini 2.5 Flash + Cron Engine |
| 03. App Store Sentinel | App Store & Google Play rejection incident commander | Mobile Leads & QA Engineers | Rejection root cause analysis, red alert cards, critical bug tickets | Store APIs + Gemini 2.5 Flash |
| 04. Meetnotes Scribe | Client meeting audio transcription & action item parser | Clients & Project Managers | Executive recap cards, numbered action items, DevVault notes sync | WhisperKit + MLX on Mac GPU |
| 05. CodeReview Gatekeeper | Pull Request triage, security check & build verification | Engineers submitting PRs | In-PR code comments, missing ENV alerts, test pass/fail Ember cards | GitHub Webhooks + Gemini 2.5 Pro |
| 06. Client Concierge | Client support query assistant & SLA guardian | External Clients (via PM 1-click approval) | Contextual draft replies, milestone status lookups, SLA countdowns | RAG over DevVault + Gemini 2.5 |
Agent Hierarchy & Ember Chat Interaction Medium
The agents do not communicate into thin air—Ember Chat is the central operational medium where every agent action, report, alert, and human interaction takes place. Agents publish structured Block Kit cards and direct messages directly into Ember's dedicated channels, where the Agency Owner, Project Managers, and Developers collaborate.
(06:30 PM Executive Summary)"] CH_PROJ["💬 #project-[slug]
(Tasks, Blockers & Rejection Alerts)"] CH_INT["🔒 #project-[slug]-internal
(Client Update Drafts for Approval)"] CH_DMS["👤 1:1 Private DMs
(05:30 PM Standup Questions)"] end subgraph HUMANS["3. HUMAN TEAM & LEADERSHIP"] direction TB OWNER["👑 Agency Owner
(Reads Executive Standup)"] PMS["👔 Project Managers
(Approves Drafts & Monitors Tasks)"] DEVS["👨💻 Developers
(Answers DMs & Receives Auto-Tasks)"] end STANDUP -->|Posts Daily Summary| CH_STANDUP STANDUP -->|Pings 05:30 PM Questions| CH_DMS SUPERBOT -->|In-Thread Task Cards| CH_PROJ SENTINEL -->|Red Alert Incident Cards| CH_PROJ CONCIERGE -->|1-Click Approval Cards| CH_INT SCRIBE -->|Meeting Recap Cards| CH_PROJ CH_STANDUP -->|Delivers Briefing to| OWNER CH_INT -->|PM Clicks 'Approve & Send'| PMS CH_PROJ -->|Tracks Sprint Kanban| PMS CH_DMS <-->|Submits EOD / Half-Day| DEVS CH_PROJ <-->|Collaborates & Solves| DEVS
Dual-Layer Ember Integration: In-Chat @Agents vs Autonomous Daemons
A critical architectural breakthrough in our system is how AI agents integrate into Ember. Ember features a Dual-Layer AI Architecture: team members can actively talk to native AI teammates in chat (@mention or 1:1 DM), while an autonomous background daemon swarm simultaneously listens over local loopback WebSockets to execute agency workflows without human prompts.
(Durable Object WebSockets)"] DMS["Private 1:1 Direct Messages
(Standup Check-ins)"] ASSISTANT_API["Native Assistant Engine
(apps/worker/src/assistant)"] end subgraph LAYER1["LAYER A: INTERACTIVE IN-CHAT AGENTS (PULL)"] direction TB DEV_CHAT["👨💻 Dev types in room:
'@sentinel check TestFlight status'
or '@standup log 4pm leave'"] IN_CHAT_AGENT["🤖 Native Ember AI Agents
(@standup, @sentinel, @codegate)
Defined in /account/agents"] DEV_CHAT -->|@mention or DM| ASSISTANT_API ASSISTANT_API -->|Direct Stream| IN_CHAT_AGENT IN_CHAT_AGENT -->|Streams In-Thread Reply| ROOMS end subgraph LAYER2["LAYER B: AUTONOMOUS BACKGROUND DAEMONS (PUSH)"] direction TB SUPERBOT_DAEMON["🤖 SuperBot Daemon
(Loopback ws://127.0.0.1:8080)"] CRON_POLLERS["⏰ Cron & Webhook Watchers
(Store APIs + Git Webhooks)"] DEVVAULT_DB["📋 DevVault PostgreSQL
(Shared State & Tasks)"] ROOMS -->|Passive Loopback Stream| SUPERBOT_DAEMON SUPERBOT_DAEMON -->|INSERT Tasks| DEVVAULT_DB CRON_POLLERS -->|Push Alert Block Kit Cards| ROOMS CRON_POLLERS -->|Trigger 5:30 PM DMs| DMS end
Every agent exists as a first-class named contact in Ember chat with an avatar, custom instructions, and room permissions (configured in /account/agents):
- • @standup: "Help me summarize my day" ➔ drafts and formats update.
- • @sentinel: "Show current App Store review status" ➔ fetches latest API state.
- • @codegate: "Explain the test failure in PR #42" ➔ summarizes CI logs.
- • @concierge: "Draft an email to client about delay" ➔ prepares draft for PM.
These background daemons run continuously on the Hetzner Linux VPS. They require zero human prompts to execute their mission:
- • Passive Stream Listening: Listens to all `#project-*` WebSocket traffic and creates Kanban tickets automatically.
- • Proactive Standup Pings: Opens 1:1 DMs with developers at 05:30 PM.
- • 30-Min Store Rejection Poller: Detects Apple/Google rejections and posts red alert cards into project rooms.
- • Meeting Action Sync: Posts meeting action item summaries from Meetnotes.
Detailed Breakdown of Each Agent
Agent 01: SuperBot Core (Autonomous Chat Listener)
CONTINUOUS DAEMON
SuperBot Core runs as a persistent background daemon on the Hetzner Linux VPS. It connects directly to Ember's WebSocket loopback (ws://127.0.0.1:8080/api/internal/bot-stream). It buffers conversation turns and triggers structured evaluation via Gemini 2.5 Flash whenever a developer makes a commitment or asks for action.
Agent 02: Standup Proctor (Daily EOD & Half-Day Bot)
SCHEDULED & EVENT-DRIVEN
The Standup Proctor manages team accountability. It pings active engineers at 05:30 PM with 3 structured questions. If an engineer takes a half-day and signs off early, typing /halfday logs their update immediately and cancels their 05:30 PM reminder. At 06:30 PM, it publishes a single synthesized card in #agency-daily-standup.
/halfday commands.
Agent 03: App Store Sentinel (Release Incident Commander)
30-MIN STORE POLLERPolls Apple App Store Connect API and Google Play Developer API every 30 minutes. If a build status changes to Rejected or Action Required, it downloads the review message, parses the specific guideline (e.g. Guideline 4.2 Minimum Functionality), generates a checklist to fix it, and alerts the lead dev.
Agent 04: Meetnotes Scribe (Meeting Action Item Dispatcher)
GPU-ACCELERATEDRuns on the office Apple Silicon Mac Mini GPU node. Once a Google Meet or Zoom recording finishes, WhisperKit and MLX perform speaker diarization and transcription locally. The Scribe extracts decisions and action items, then dispatches them across the Tailscale tunnel into Ember and DevVault.
Agent 05: CodeReview Gatekeeper (PR Triage & Test Bot)
GIT WEBHOOK ENGINEListens to GitHub / GitLab pull request webhooks. Performs preliminary static analysis, scans git diffs for exposed secrets (Stripe keys, database passwords), checks TypeScript compilation, and posts automated feedback before human code review.
pull_request.opened and pull_request.synchronize webhooks.
#project-[slug].
Agent 06: Client Concierge (Support & SLA Guardian)
HUMAN-IN-THE-LOOPWatches incoming client inquiries in shared client channels or support email. It performs RAG over DevVault project documentation, checks the latest build status, drafts a courteous, accurate response, and posts an "Approve & Send" card in the internal PM channel.
Technology Stack & Model Distribution
The multi-agent swarm leverages a hybrid model strategy: high-speed, cost-effective cloud LLMs for live chat parsing paired with sovereign local GPU models for private audio processing.
| Host Node | Agent Deployed | Model / Engine | Why This Technology | Cost / Latency |
|---|---|---|---|---|
| Hetzner Linux VPS | SuperBot Core + Standup Proctor | Gemini 2.5 Flash API |
Sub-second structured JSON extraction; ultra-low token cost | < 700 ms // ~$0.0001/call |
| Hetzner Linux VPS | App Store Sentinel | Node Cron + Gemini 2.5 Flash |
Parses complex Apple guideline violation notices into actionable checklists | Runs every 30 mins // negligible |
| Mac Mini GPU Node | Meetnotes Scribe | WhisperKit + Apple MLX |
100% private audio processing; zero third-party cloud data egress | $0.00 cloud cost // Local Metal GPU |
| Hetzner Linux VPS | CodeReview Gatekeeper | Gemini 2.5 Pro (Thinking) |
Deep reasoning over git diffs, edge-case analysis, and security scanning | On PR events only // High accuracy |
| Hetzner Linux VPS | Client Concierge | pgvector RAG + Gemini 2.5 |
Vector search over DevVault specs and past client meeting transcripts | < 1.2s draft generation |
Agent Guardrails, Rate Limits & Response SLAs
No agent is permitted to write directly to public client-facing channels or send emails without an explicit Project Manager click-through approval. All client drafts are routed to private #project-[slug]-internal channels.
SuperBot throttles message processing to a maximum of 10 API calls per minute per channel to prevent runaway token costs during rapid chat bursts. If an API rate limit or outage occurs, the agent queues events in PostgreSQL and resumes automatically.
Raw meeting recordings, database credentials stored in DevVault, and internal employee compensation details are strictly excluded from external LLM prompts. Client audio never leaves the local Apple Silicon Mac Mini node.