Magnet Hub

A live map of Hermes — the autonomous operations layer running Magnet Co.

Hermes is the conductor that receives work through Linear, triages it to a domain, and routes it down an org chart of Heads, Managers and specialist agents — each backed by a versioned skill. This hub mirrors that reality straight from backup/, the one-way sync off the droplet, so anyone at Magnet can see how the stack is built, what it's doing, and where it's headed — without shell access to the box.

productionUpdated Jul 7, 2026, 7:00 AM

5

Services

15

Connectors

109

Skills

27

Agents

17

Cron jobs

Cost control

Everything that can run on the box runs on the box for $0/token. Frontier models are the one deliberate, metered exception.

Safety

No autonomous client-facing actions. Every output — a Linear issue, a drafted email — waits for a human to review and send it.

Transparency

One page for the whole team to see what Hermes is running, what it costs, what it's allowed to touch, and what's still being built.

Stack

One host, three containers, one paid dependency. Everything that can run locally runs locally at $0/token. Only frontier reasoning leaves the box.

DigitalOcean

Droplet · hermes-conductor

2 vCPU · 7.8 GB RAM · +4 GB swap · 160 GB

Docker · private loopback

Hermes

brain / orchestrator

gateway

Ollama

embeddings + basic reasoning

:11434

Qdrant

vector memory

:6333

Volume

/qdrant/storage

persisted

only outbound paid call

OpenRouter

Opus 4.8 / GPT-5.5 · frontier reasoning

off-box · paid · per-token

Private loopback / private network only — nothing exposed publicly

Usage & cost

OpenRouter spend and droplet efficiency at a glance. Panels render live once Hermes pushes a metrics snapshot — until then each is flagged no data connected.

OpenRouter spend
Daily frontier-reasoning spend — the only paid dependency.

USD / day

No data connected

OpenRouter usage API — needs a cron pull into a cost snapshot

Droplet CPU
hermes-conductor · 2 vCPU utilization.

% utilization

No data connected

DigitalOcean monitoring API or node_exporter — not yet wired

Droplet RAM
7.8 GB total, +4 GB swap headroom.

% utilization

No data connected

DigitalOcean monitoring API or node_exporter — not yet wired

Memory growth
Qdrant magnet_memory vector count over time.

vectors

No data connected

Qdrant memory_stats MCP tool — pending semantic_recall rollout

Containers & services

The three containers plus memory MCP and the single paid dependency. Connector status below is refreshed separately by Hermes.

ServiceRoleRolloutStatus
Hermes
Brain / orchestrator — cron, remits, skills, drafts and routes work

~136 MB RAM (5 GB cap)

gateway · $0 · self-hosted

LiveHealthy
Ollama
Local inference — embeddings + basic reasoning (triage, classification)

nomic-embed-text · 768-dim

11434 · $0 · local CPU

LiveHealthy
Qdrant
Vector memory store — semantic recall with payload filters

magnet_memory · int8 · on-disk · /qdrant/storage volume

6333 · $0 · self-hosted

LiveHealthy
kb MCP
Memory read/write tools — semantic_recall, memory_upsert, memory_stats

Wire semantic_recall into Hermes (rollout step 6)

· $0

PlannedUnknown
OpenRouter
Frontier reasoning only — Opus 4.8 / GPT-5.5 / Sonnet

Only outbound paid dependency

· Paid · per-token

LiveHealthy

Host

One host, three containers, one paid dependency.

Name

hermes-conductor

Provider

DigitalOcean · nyc3

Compute

2 vCPU · 7.8 GB RAM · +4 GB swap

Disk

160 GB

DigitalOcean · nyc3

hermes-conductor

Docker · private loopback

HermesOllamaQdrant

Persisted volume

/qdrant/storage

External

OpenRouter

Private loopback / private network only — nothing exposed publicly

Resources

Constraints on the droplet today.

RAM

7.8 GB (~6 GB free)

Fine for all 3 containers with Qdrant quantization

vCPU

2

Real bottleneck — throttle embedding backfill, run overnight

Disk

160 GB

Ample — Qdrant volume + models are small

Principles

  • Local-first, $0/token by default — only frontier reasoning is paid
  • Nothing public — all local services bind to loopback / private network
  • The box is the source of truth — this repo is a one-way backup
  • Draft, never send — no autonomous client-facing actions
  • Persistence is explicit — Qdrant on a mounted volume

Memory

Upgrading from FTS5 keyword search to semantic memory — retrieve by meaning, scoped to client and time window.

Write path

  1. 01Source doc (email, transcript, Notion, deliverable)
  2. 02Chunk → SHA-256 dedup
  3. 03Ollama /api/embed (768-dim)
  4. 04Qdrant upsert (vector + account_id, source_type, date, hash)

Read path

  1. 01semantic_recall(query, account_id?, source_type?, since?)
  2. 02Ollama embeds query → 768-dim vector
  3. 03Qdrant search + payload pre-filter
  4. 04Top-k chunks into Hermes context
MCP serverkbsemantic_recallmemory_upsertmemory_stats

Payload pre-filtering scopes recall precisely — e.g. pricing objections from a specific client in the last 90 days. Write path runs throttled overnight; CPU is the constraint, not RAM.

Connectors

External integrations across MCP, API-direct, and OAuth paths. Hermes will refresh this with live connector truth from the box.

15
ConnectorPathStatus
Notion
MCPOAuth
Workspace CRUD — accounts, delivery DBs, documentation
Unknown
Linear
OAuthOAuth 2.1 PKCE
Primary intake — issues, agent sessions, project tracking
Unknown
Slack
MCPUser token
Internal comms — search, read, post to allowed channels
Unknown
GitHub
MCPPAT
Org-wide repos — issues, PRs, code, Actions
Unknown
Google Workspace
MixedOAuth + service account
Gmail, Calendar, Drive, Docs, Sheets — gavin@ primary
Unknown
Harvest
MCPAPI key
Time tracking, projects, estimates, AR/invoices
Unknown
Plaid
MCPApp creds + Link tokens
Bank balances, transactions, cash digest
Unknown
Apollo
APIAPI key
Prospecting — contacts, sequences, outreach
Unknown
Figma
MCPPAT
Design files, nodes, comments
Unknown
Google Analytics 4
MCPService account
Property reports, realtime, funnel analysis
Unknown
Google Search Console
MCPService account
Search analytics, index inspection, sitemaps
Unknown
Google Tag Manager
MCPService account
Container audit — reads autonomous, writes draft-gated
Unknown
Vercel
OAuthOAuth 2.1 PKCE
Deployments, projects, runtime logs
Unknown
Webflow
OAuthOAuth 2.1 PKCE
CMS, pages, sites, assets, publish
Unknown
Perplexity
APIAPI key
Grounded web research — Sonar models
Unknown

Skills catalog

109 skills Hermes can load, generated from backup/skills/**/SKILL.md frontmatter. Tap a skill to see what it does.

109

Magnet-specific business skills — the org chart's agents run on these.

Skill
Account Manager
Account Manager Monthly Reporting
Acquisition Workflow
Auto Prospector
Business Orchestration
Client Onboarding
Computer Use
Content Marketing
Deal Close Trigger
Dogfood
Email Log Archiver
Finance Manager
Hiring Manager
Inbound Lead Capture
Lead Reengagement Audit
Linear Issue Hygiene
Linkedin Post Engagement
Magnet Formatting Standards
Marketing Manager
Meeting Prep
Networking
Performance Snapshot Updater
Perplexity Research
Pipeline Tracker
Project Manager
Qbr Auto Builder
Reddit Mining
Retainer Cycle
Rfp Response
Sales Call Prep
Sales Hiring
Sales Manager
Scope Change Detector
Seo Keyword Research
Seo Site Analysis
Skill Evolution
Slack Formatting
Touchpoint Cadence
Yuanbao

Agent hierarchy

3 Heads (triage) · 6 Managers (orchestrators) · 17 specialists = 26 remits. Source: backup/org/AGENTS.md. Tap any node to inspect it.

26

Operations

Acquisition

Delivery

Cron schedule

17 jobs defined, 0 currently enabled. Generated from backup/cron/jobs.json (snapshot Jul 6, 2026, 7:09 PM).

17
JobStatus
Apollo Reply Monitor

· agent · deliver: slack:C055VM59NBX

0 9-17/2 * * 1-5

Last run: Jul 6, 2026, 1:02 PM

Healthy
Apollo Sequences Daily Load

· agent · deliver: slack:C055VM59NBX

0 9 * * 1-5

Last run: Jul 6, 2026, 5:09 AM

Healthy
Daily Prospecting Engine

Auto Prospector · agent · deliver: slack:C055VM59NBX

0 8 * * 1-5

Last run: Jul 6, 2026, 4:19 AM

Healthy
finance-ar-chase

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:04 AM

Healthy
finance-ar-sync

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:12 AM

Healthy
finance-client-ingest

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:08 AM

Healthy
finance-monthly-close

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:05 AM

Healthy
finance-payments-sweep

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:04 AM

Healthy
finance-plaid-sync

Plaid_sync.sh · script · deliver: local

0 10 * * 1,3,5

Last run: Jul 6, 2026, 6:00 AM

Healthy
finance-weekly-sweep

Finance Manager · agent · deliver: slack

0 12 * * 1

Last run: Jul 6, 2026, 8:03 AM

Healthy
linear-agent-session-gate

Linear_agent_session.sh · script · deliver: local

Script not found: /root/.hermes/scripts/linear_agent_session.sh

every 5m

Last run: Jul 6, 2026, 7:05 PM

Down
pm-full-run

Project Manager · agent · deliver: slack

0 11 * * 1-5

Last run: Jul 3, 2026, 7:09 AM

Healthy
pm-intraday-pulse

Project Manager · agent · deliver: slack

0 18 * * 1-5

Last run: Jun 30, 2026, 2:00 PM

Healthy
Sales Manager - Afternoon Pulse

Sales Manager · agent · deliver: slack:C055VM59NBX

0 18 * * 1-5

Last run: Jul 2, 2026, 2:01 PM

Healthy
Sales Manager - Morning Sweep

Sales Manager · agent · deliver: slack:C055VM59NBX

30 11 * * 1-5

Last run: Jul 3, 2026, 7:40 AM

Healthy
Touchpoint Cadence Engine

Touchpoint Cadence · agent · deliver: slack:C055VM59NBX

0 12 * * 1-5

Last run: Jul 6, 2026, 8:06 AM

Healthy
Weekly Sequence Performance Review

Auto Prospector · agent · deliver: slack:C055VM59NBX

0 9 * * 1

Last run: Jul 6, 2026, 5:18 AM

Healthy

Routing contract

The single, deterministic path every human-initiated request follows. Source: backup/org/ROUTING.md.

01

Intake

Linear delegation (Slack later)

02

Triage

Head classifies the domain — assign only

03

Orchestrate

Domain Manager runs its Process

04

Specialise

Manager invokes specialists internally

05

Surface

Drafted Linear issue or email, human review

The hard gate

A human never invokes a specialist directly. Every request is triaged to a domain, handed to that domain's Manager, and only the Manager reaches for specialists.

Draft, never send

Every output is a reviewable artifact — a Linear issue assigned to a human, or a client email drafted to team@magnet.co. External send is never autonomous.

Rollout / changelog

Memory layer and infrastructure sequence from the architecture doc — what's live, in progress, and still planned.

  1. 1Repo repurposed as one-way backup + human docsLive
  2. 2Daily backup live — hermes_backup.sh → backup/In progress
  3. 3Add swap (4 GB) to the dropletPlanned
  4. 4Stand up Qdrant + Ollama containers (localhost, volume mounted)Live
  5. 5Backfill memory — throttled, overnight, SHA-256 dedupPlanned
  6. 6Wire semantic_recall MCP tool into HermesPlanned
  7. 7Webhook-driven incremental ingestionPlanned
  8. 8Reasoning router — basic to Ollama, frontier on OpenRouterPlanned