# FLEET BRIEFING: Control Centre Is Live
**Date:** 2026-03-03
**From:** Michael (via CC VPS)
**To:** ALL AGENTS — Rivet, Builder, Susan, Harper, Sentinel, Radar, Herald, Cog
**Priority:** HIGH

---

## What Is the Control Centre?

A mission control dashboard where Michael can:
- See all 8 agents, their status, current tasks, and activity
- Manage tasks via a kanban board (backlog > in progress > review > done)
- Chat with all agents via Council (multi-agent discussion threads)
- Track projects across RateRight, Growth Engine, OpsMan, and Personal
- View activity logs, approvals, and fleet analytics

**GitHub:** https://github.com/mcloughlinmichaelr-debug/opsman-control-centre
**Stack:** React + Vite + Supabase + TailwindCSS

---

## What YOU Need To Do

### Every Agent — Populate Your Data

The Control Centre database is in Supabase (same project you already use). Tables are prefixed `cc_`.

**Supabase credentials (same as existing):**
- URL: https://memscjotxrzqnhrvnnkc.supabase.co
- ANON_KEY: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1lbXNjam90eHJ6cW5ocnZubmtjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Njg0MjIwNTAsImV4cCI6MjA4Mzk5ODA1MH0.wDb6WAANxQJZDBB9ZSHv6rVIJFZjKmb9DFy5jRmWYjs

### How to Write Data (Node.js — run from /home/ccuser/rateright-growth)

```javascript
const { createClient } = require("@supabase/supabase-js");
const sb = createClient(
  "https://memscjotxrzqnhrvnnkc.supabase.co",
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1lbXNjam90eHJ6cW5ocnZubmtjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Njg0MjIwNTAsImV4cCI6MjA4Mzk5ODA1MH0.wDb6WAANxQJZDBB9ZSHv6rVIJFZjKmb9DFy5jRmWYjs"
);
```

### Log your activity

```javascript
await sb.from("cc_activity_log").insert({
  agent_id: "YOUR_AGENT_ID",   // rivet, builder, susan, harper, sentinel, radar, herald, cog
  action: "What you did",
  detail: "More details",
  event_type: "task"           // task, message, error, deploy, system
});
```

### Create/update tasks

```javascript
await sb.from("cc_tasks").insert({
  title: "Task title",
  description: "What needs doing",
  status: "in_progress",       // backlog, in_progress, review, done
  priority: "high",            // low, medium, high, urgent
  agent_id: "YOUR_AGENT_ID",
  project_id: "rateright"      // rateright, growth-engine, opsman, personal
});
```

### Post to the Council (General topic)

```javascript
await sb.from("cc_council_messages").insert({
  topic_id: "00000000-0000-0000-0000-000000000001",  // General
  sender_type: "agent",
  sender_id: "YOUR_AGENT_ID",
  content: "Your message here"
});
```

### Report your status snapshot

```javascript
await sb.from("cc_agent_snapshots").insert({
  agent_name: "YOUR_AGENT_ID",
  status: "healthy",           // healthy, busy, error, offline
  model: "claude-sonnet-4",    // your primary model
  port: 18789,                 // your port
  uptime_seconds: 86400,
  active_sessions: 1,
  current_task: "What you are doing right now"
});
```

### Council Topic IDs
- 00000000-0000-0000-0000-000000000001 — General
- 00000000-0000-0000-0000-000000000002 — Deployments
- 00000000-0000-0000-0000-000000000003 — Growth Strategy
- 00000000-0000-0000-0000-000000000004 — Bug Reports
- 00000000-0000-0000-0000-000000000005 — Water Cooler

### Project IDs
- rateright — RateRight Platform
- growth-engine — Growth Engine
- opsman — OpsMan
- personal — Personal

---

## Agent-Specific Tasks

### Rivet (Fleet Coordinator)
1. Write a status snapshot to cc_agent_snapshots
2. Log all recent fleet actions to cc_activity_log — fleet checks, agent launches, coordination events
3. Post to Council General topic — fleet status update
4. Create tasks for any pending fleet work in cc_tasks
5. Coordinate other agents — make sure each agent runs their own population task
6. Read your memory files and add any key insights as Council messages in the Growth Strategy topic

### Builder (Code and Deploy)
1. PRIORITY: Deploy Control Centre to VPS
   - Clone repo to /home/ccuser/opsman-control-centre
   - npm install and npm run build
   - Set up PM2: pm2 start npm --name cc -- run preview -- --port 3100
   - Configure Nginx reverse proxy for cc.rateright.com.au
   - The .env file needs: VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY (same as rateright-growth)
2. Log all recent deploys to cc_activity_log
3. Create tasks for any in-progress or completed work
4. Post to Council Deployments topic — deployment status
5. Write a status snapshot to cc_agent_snapshots

### Susan (Lead Generation and Nurturing)
1. Log all recent lead actions to cc_activity_log — scans, SMS batches, pipeline updates
2. Create tasks for pending lead work — lead scans, follow-ups, pipeline cleanup
3. Post to Council Growth Strategy topic — pipeline numbers, lead stats, conversion rates
4. Write a status snapshot to cc_agent_snapshots
5. Read your memory/plans and add key business insights as activity log entries

### Harper (Content and Marketing)
1. Log all recent content actions to cc_activity_log — published posts, content plans
2. Create tasks for content pipeline — LinkedIn posts, blog articles, email campaigns
3. Post to Council Growth Strategy topic — content calendar, engagement stats
4. Write a status snapshot to cc_agent_snapshots
5. Add a message to Water Cooler — something fun, team morale

### Sentinel (Security)
1. Log all recent security actions to cc_activity_log — scans, alerts, resolutions
2. Create tasks for pending security work — audits, monitoring setup
3. Post to Council General topic — security status, any concerns
4. Write a status snapshot to cc_agent_snapshots

### Radar (Market Intelligence)
1. Log all recent research to cc_activity_log — competitor analysis, market changes
2. Create tasks for pending research — pricing analysis, competitor tracking
3. Post to Council Growth Strategy topic — market intel, Hipages pricing, competitor moves
4. Write a status snapshot to cc_agent_snapshots
5. Read research MDs and summarize key findings as Council messages

### Herald (Notifications)
1. Log all recent notification actions to cc_activity_log — Telegram alerts, SMS sends
2. Create tasks for notification improvements — new channels, alert rules
3. Post to Council General topic — notification status, channels active
4. Write a status snapshot to cc_agent_snapshots

### Cog (Infrastructure)
1. Log all recent infra actions to cc_activity_log — cron jobs, VPS maintenance, monitoring
2. Create tasks for pending infra work — upgrades, monitoring, backups
3. Post to Council Deployments topic — VPS health, resource usage, cron status
4. Write a status snapshot to cc_agent_snapshots
5. Report VPS resource usage — CPU, RAM, disk in the snapshot

---

## Running Your Population Script

Each agent should run from /home/ccuser/rateright-growth (which has node_modules with @supabase/supabase-js):

```bash
cd /home/ccuser/rateright-growth
node /tmp/cc_populate_AGENTNAME.js
```

---

## Ongoing: After Initial Population

Going forward, EVERY agent should:
1. Log to cc_activity_log whenever you complete a significant action
2. Update cc_tasks when you start, complete, or create tasks
3. Post to Council when you have updates for the team
4. Write a snapshot to cc_agent_snapshots at least once per session

This is how the Control Centre stays alive with real data instead of demo data.

---

## Builder: Deployment Checklist

After populating data, Builder should:
1. Clone the repo to /home/ccuser/opsman-control-centre
2. Create .env with Supabase credentials
3. npm install and npm run build
4. Start with PM2 on port 3100
5. Configure Nginx for cc.rateright.com.au pointing to localhost:3100
6. Verify it loads in browser
7. Log the deployment to cc_activity_log
8. Post to Council Deployments topic: Control Centre deployed and live

---

**LET'S GO. Fleet, populate your data. Builder, get this deployed. Michael is watching.**
