Built 2026-05-03 by mawjs-oracle + discord-oracle + hermes-discord + timekeeper "The fleet that organized itself in one afternoon"
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
| 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 |
- ห้าม 2 bot อยู่ channel เดียวกัน
- Public channels ต้อง requireMention: true
- Private dev channels ใช้ requireMention: false ได้
- Channel ใหม่สร้างผ่าน discord-access.ts ของแต่ละ oracle
- ถ้า oracle ใหม่ bud มา → discord-oracle สร้าง channel ให้ (auto)
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
~/.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 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 # shortcutTeam: 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 | 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.
# 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-officialLocated 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 APIEnv vars: DISCORD_STATE_DIR, DISCORD_BOT_TOKEN, DISCORD_USER_ID, DISCORD_GUILD_ID
messageCreate → gate(sender) → deliver/drop/pair → MCP notification
randomBytes code → pending (cap 3, 1h expiry) → approved/ dir → allowFrom
CC sends permission_request → DM buttons to allowFrom users → allow/deny notification
Key: access.json hot-reloads every message (no restart needed).
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
- Machine-specific bug → check machine config first (tmux.conf, not code)
allow-passthrough on+ starship = tmux deadlockDISCORD_STATE_DIR— official multi-bot pattern (server.ts line 1)- Rule 5 works — discord-oracle auto-creates channels for new oracles
- Release sweeps delete core plugins — need integration test guards
- 3-agent cross-check — effective for architectural decisions
- Oracles self-organize — hermes budded + managed a project board with zero human intervention
bun link— mandatory for maw-js local dev (self-dependency loop)
- 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.