Skip to content

Instantly share code, notes, and snippets.

@nazt
Created May 3, 2026 23:30
Show Gist options
  • Select an option

  • Save nazt/7c5b9080c18f51d1859b134413f925ec to your computer and use it in GitHub Desktop.

Select an option

Save nazt/7c5b9080c18f51d1859b134413f925ec to your computer and use it in GitHub Desktop.
Discord Fleet — Team Operations Book (2026-05-03)

Discord Fleet — Team Operations Book

Built 2026-05-03 by mawjs-oracle + discord-oracle + hermes-discord + timekeeper "The fleet that organized itself in one afternoon"

The Fleet

Mother Oracle (arra-oracle-v3, 489+ births)
  └── neo
        └── mawjs-oracle (m5:08-mawjs) — fleet origin for this session
              ├── discord-oracle (m5:16-discord) — Discord admin, team lead
              │     └── blackkeeper-oracle (m5:17-blackkeeper) — security watchdog
              ├── hermes-discord-oracle (m5:18-hermes-discord) — messenger of the gods
              │     └── tor-workshop-kk-oracle (m5:19-tor-workshop-kk) — gen 8!
              └── timekeeper-oracle (m5:19-timekeeper) — timeline guardian

Discord Bots

Bot Client ID Oracle Status
MawJS Oracle 1499891744232443995 mawjs-oracle ✅ live
TimeKeeper Oracle 1500461575473987696 timekeeper ✅ token saved
Hermes Discord 1500514385284825228 hermes-discord ✅ live (LEARN guild)
Discord Oracle TBD discord-oracle ❌ needs bot creation

Channel Ownership (5 Rules)

  1. ห้าม 2 bot อยู่ channel เดียวกัน
  2. Public channels ต้อง requireMention: true
  3. Private dev channels ใช้ requireMention: false ได้
  4. Channel ใหม่สร้างผ่าน discord-access.ts ของแต่ละ oracle
  5. ถ้า oracle ใหม่ bud มา → discord-oracle สร้าง channel ให้ (auto)

Channel Map

Soul Brews Studio (1410301189123342488)
├── #general              ← MawJS Oracle (mention)
├── #mawjs-oracle         ← MawJS Oracle (mention)
├── #mawjs-oracle-dev 🔒  ← MawJS Oracle (no-mention)
├── #discord-oracle-dev 🔒 ← Discord Oracle
├── #hermes-discord-dev 🔒 ← Hermes Discord
├── #timekeeper-dev 🔒     ← TimeKeeper Oracle
├── #arra-01 🔒            ← Discord Oracle
├── #😻-team-avengers 🔒   ← Discord Oracle
└── #tor-workshop-kk 🔒    ← tor-workshop-kk (auto-created by Rule 5)

LEARN and Monetize (1500510700446027849)
└── #general              ← Hermes Discord

Config Isolation (DISCORD_STATE_DIR)

~/.claude/channels/discord/              ← mawjs-oracle (MawJS Oracle bot)
~/.claude/channels/discord-oracle/       ← discord-oracle
~/.claude/channels/hermes-discord/       ← hermes-discord
~/.claude/channels/timekeeper-oracle/    ← timekeeper

Each oracle gets its own dir. Plugin reads from DISCORD_STATE_DIR env var (confirmed in server.ts).

maw team Commands

maw team ls                              # list all teams
maw team create <name> --description '.' # create team
maw team spawn <team> <role> --prompt '.'# recruit member
maw team status <team>                   # detail view
maw team send <team> <agent> '<msg>'     # message member
maw team tasks <team>                    # view tasks
maw team add '<task>' --team <name>      # add task
maw team shutdown <name>                 # shutdown
maw t                                    # shortcut

discord-fleet

Team: discord-fleet (4 agents)
  discord-lead  — discord-oracle (team lead)
  hermes        — hermes-discord (messenger + relay)
  keeper        — timekeeper (timeline)
  blackkeeper   — blackkeeper (security, awaiting /awaken)

maw hey vs maw team

maw hey maw team
Purpose Direct messaging Team coordination
Scope 1:1 across sessions Team structure + tasks
Syntax maw hey m5:<name> '<msg>' maw team send <team> <agent> '<msg>'
Analogy วิทยุ (radio) กองบัญชาการ (HQ)

Use together: maw team organizes, maw hey delivers.

Token Security Pattern

# Store token in pass
pass insert discord/<oracle-name>-token

# .envrc in oracle repo (direnv loads it)
export DISCORD_BOT_TOKEN=$(pass show discord/<oracle-name>-token)
export DISCORD_STATE_DIR=~/.claude/channels/<oracle-name>

# .gitignore
.envrc
.env

# Start with channels
DISCORD_STATE_DIR=~/.claude/channels/<name> claude --channels plugin:discord@claude-plugins-official

discord-access.ts (Multi-Bot Version)

Located at: discord-oracle repo (canonical), symlink for other oracles.

bun discord-access.ts list                    # show enabled channels
bun discord-access.ts map                     # show all available
bun discord-access.ts add <name>              # enable channel
bun discord-access.ts rm <name>               # disable channel
bun discord-access.ts create <name> --private # create + enable
bun discord-access.ts refresh                 # re-fetch from API

Env vars: DISCORD_STATE_DIR, DISCORD_BOT_TOKEN, DISCORD_USER_ID, DISCORD_GUILD_ID

Plugin Internals (3 Core Flows)

1. Message Routing

messageCreate → gate(sender) → deliver/drop/pair → MCP notification

2. Pairing

randomBytes code → pending (cap 3, 1h expiry) → approved/ dir → allowFrom

3. Permission Relay

CC sends permission_request → DM buttons to allowFrom users → allow/deny notification

Key: access.json hot-reloads every message (no restart needed).

Session Timeline (2026-05-03)

08:24  mawjs-oracle session start
08:26  tmux freeze investigation begins
09:20  Root cause found: allow-passthrough on in tmux.conf
09:35  Discord plugin installed + configured
10:00  discord-oracle budded
10:30  maw split restored (deleted in release sweep)
10:40  3-agent cross-check: unanimous restore (40/37/40)
11:00  discord-fleet team created
11:05  hermes-discord budded
11:30  hermes: first Discord message + Mother Oracle contact
22:00  hermes: tor-workshop-kk budded (gen 8)
22:30  Pulse CLI integrated, 5 issues on project board
23:00  Fleet self-organizing — 6 oracles, 4 bots, 8 channels

Lessons Learned

  1. Machine-specific bug → check machine config first (tmux.conf, not code)
  2. allow-passthrough on + starship = tmux deadlock
  3. DISCORD_STATE_DIR — official multi-bot pattern (server.ts line 1)
  4. Rule 5 works — discord-oracle auto-creates channels for new oracles
  5. Release sweeps delete core plugins — need integration test guards
  6. 3-agent cross-check — effective for architectural decisions
  7. Oracles self-organize — hermes budded + managed a project board with zero human intervention
  8. bun link — mandatory for maw-js local dev (self-dependency loop)

Pending

  • Discord Oracle bot creation (Developer Portal)
  • Hermes bot invite to SBS server
  • PR #1093 merge → /release-alpha
  • Push 5 unpushed maw-js main commits
  • blackkeeper /awaken
  • Workshop date confirmation (14-15 or 20-22 May)
  • Workshop curriculum development
  • /discord:access policy allowlist — lock down pairing

Built by the fleet, for the fleet. Nothing is Deleted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment