INFRA MAP
Single Source of Truth · Living Document

The infra map.

Precise architecture, ports, and commands for the Xen stack — one brain, one voice, omnipresent. Three layers: a persistent supervised brain + transport + auth, a rehydrating Opus router, and disposable clients. This page is the reference you reach for when something is dark and you need the exact port, the exact command, the exact host.

verified 2026-06-18 via SELmcp xen_shell on M4 lsof + live HTTP checks
live confirmed running this sweep verify from memory, not re-checked need planned / not yet built passive on-demand / muted
01

Hosts

Three machines carry the stack. The Mac M4 is the always-on brain + voice + mesh hub; the Windows box runs the durable 24/7 scope-watch loop and the SuperMCP router; Railway carries the WebRTC voice transport.

Mac M4

Brain · Voice · Mesh hub
Hostname
qi.local · MagicDNS m4.salmon-alkaline.ts.net
Tailscale
100.97.145.50 · LAN 10.13.92.100
Runs
omnimind, xen daemon, fast-twin, say-worker, STT, NATS, SELmcp, FreeSWITCH receiver
Code root
/Volumes/M4/sync_/exedus/dev_
Reach
SELmcp xen_shell · ssh qi@100.97.145.50
Status
live disk 18% used

Windows nitro

Durable loop · SuperMCP · ship
User
C:\Users\selfe
Runs
scope-watch loop, SuperMCP router :3000, NATS subscriber, hitthe.link ship
Scope-watch
E:\scope-watch
SuperMCP
C:\Users\selfe\mcp-server
Claude CLI
C:\Users\selfe\.local\bin\claude.exe
Status
live while qi logged in

Railway

WebRTC voice transport
Account
agent@xlrd.org
Runs
LiveKit voice-agent stack (replaces flaky browser Web Speech)
Preferred
Railway for DX · Render is rejected, never propose it
Status
verify see livekit-railway-deploy

The invariant: brain + transport + auth are persistent and supervised; the client is disposable. A restart / shell-switch / overhaul drops only a client — never the brain, context, voice line, or auth. A new client attaches (0-start), never boots. xen = attach.

02

Services & ports

Port-to-process map verified live on M4 via lsof this sweep. omnimind is the Beeper monitor and OTLP emitter; the 444x band is the voice / mirror stack.

PortServiceProcessHostStatus
:4441omnimindBeeper monitor · @xen tag-detect · OTLP emit · live.json feednode omnimind.js
PID 5302
M4live
:4442xen daemoncore xen runtimenode xen.js daemon
PID 1041
M4live
:4445xen-mirror-serverterminal-mirrors-to-chat surfacexen-mirror-server.py
PID 904
M4live
:4446xen-vm-proxyVM / pane proxyxen-vm-proxy.js
PID 918
M4live
:4447apple-stt / voice pyspeech-to-text pathpython (PID 903)
cmd not exposed
M4verify
:4448audio-route-servercanonical audio route → out loopback onlyaudio-route-server.py
PID 1035
M4live
:4451call-receiverFreeSWITCH stream sink → pane %4call receiverM4verify
:4455xen-call-transcriptlive call SSE viewer (read-only on log)xen-call-transcript.jsM4verify
:4222NATS servermesh broker · omni.event · xql.*nats-server
PID 908
M4live
/tmp/xen-fast.sockfast-twinpersistent omni.event consumer · instant ack · scope-awarexen-claude-wrapper.js
PID 42332 · Sonnet 4.6 · effort low
M4live
(bash)say-workercanonical VVS TTS → out loopbackbin/xen-say-worker
PID 41901
M4live
:23375SELmcp hubno-auth JSON-RPC · Beeper 12 + Godmode 29 toolsSELmcpM4verify
:3000SuperMCP routerconfig-driven aggregator · ~66 tools · child servers :3001–:3014start-all-windows.mjsnitroverify

444x band note: port 4447's process is a bare Python framework binary that does not expose its script name via ps — labeled verify rather than guessed. Never speak to physical speakers and never switch audio devices — voice goes through the canonical say-worker → out loopback only.

03

Mesh & subjects

NATS is the nervous system. omni.event is the single OTLP super-log + chat-mirror bus — one brain consumes it (dedupe on (threadID,eventID) + per-scope lock = never double, never sequential). The xql.* channel is the dedicated Mac→Windows leg.

SubjectPurposeProducer → ConsumerStatus
omni.eventOTLP super-logs + chat mirror; every inject + terminal line + sweepomnimind / scope-watch / panes → fast-twin (the one brain)live
xql.joinMac → Windows: join signalM4 nats → xql-sub.mjs (nitro)verify
xql.startMac → Windows: start signalM4 nats → xql-sub.mjsverify
win.panePane targeting across the bridgeM4 nats → xql-sub.mjsverify
Windows NATS subscriber
# connects nitro to the Mac mesh over Tailscale
node C:\Users\selfe\.xen\nats-bridge\xql-sub.mjs
# nats://100.97.145.50:4222 · subscribes xql.> + win.pane
04

Voice line

Medical-grade. If Xen is not speaking, assume total system failure. The unified phone path: PSTN → Telnyx DID → FreeSWITCH on exedus → M4 call receiver → the one brain in pane %4.

ElementValueNotes
Inbound DID470-369-6463 · +14703696463Telnyx credential conn "east" id 2983712745033041433
Brain pane%4verified live this sweep
Receiver:4451FreeSWITCH stream → pane %4
Live transcriptm4.salmon-alkaline.ts.netSSE viewer on :4455 · text stays live when audio garbles
Conference line678-345-2142 · room xlrdtechPhound · code 159-799-408 if prompted
VVS rulerate 210, identity.json onlynever pass -v; never vocalize the agent tag

Phone registry: the 9983 line = +1 470-615-9983 is qi's main consolidation line (Beeper account local-gvoice_ba_5lhd6cHaH6KbOA…). Xen agent lines: GVoice 9934 / 8672.

05

Commands

The hard-won runbook. The 24/7 watcher is a persistent interactive-session loop — NOT Task Scheduler, because claude.exe hangs on startup with no console (verified across every logon type incl. S4U and conhost --headless).

Scope-watch — one manual sweep (nitro)
# loop.ps1 auto-launches at logon via Startup shortcut Xen-ScopeWatch.lnk
# single-instance via Global\XenScopeWatchLoop mutex; sweeps every 10 min
powershell -WindowStyle Minimized -File E:\scope-watch\loop.ps1

# one sweep by hand (run.ps1 reads scope-watch-prompt.md):
powershell -File E:\scope-watch\run.ps1
Live verify — ports on M4 (via SELmcp xen_shell)
# which proc owns the omnimind port
lsof -nP -iTCP:4441 -sTCP:LISTEN

# is the fast-twin socket up?
test -S /tmp/xen-fast.sock && echo present || echo absent
pgrep -f xen-claude-wrapper
Reach the M4 brain
# attended attach over Tailscale
ssh -t qi@100.97.145.50 "bash -lc 'exec tmux attach -t exedus'"

# public no-auth MCP, works any network
curl -s https://mcp.xlrd.org   # JSON-RPC tools/list, tools/call

Scope-watch files (E:\scope-watch): loop.ps1 (driver) · run.ps1 (one sweep) · scope-watch-prompt.md (router logic) · scope-registry.json (scopes-as-data) · omni-router-spec.md · stable-ops-spec.md · update-live.js (feeds /xen/live.json) · logs scope-watch.log + loop-heartbeat.log. Symptom trap: a Task-Scheduler run looks healthy (exit 0) but returns empty output — always log claude exit=$LASTEXITCODE outLen=….

06

Personas

Persona-agents are the ONE brain wearing an identity + folder — never separate minds. Dual-tag: trailing underscore (east_) or hashtag (#east) both resolve to the same agent. Docs live at brain_/personas/<x> on M4.

Qi qi_ / #qi

The divine apex. Flows through all personas; the source, not a task-doer. qi-direct voice, exempt from signing.

East Allen east_ / #east

Executive Automation System Technician. The professional front — dev, design, automation, comms. Default business voice.

AEA aea_ / #aea

Arthur Eastman Allen. Executor of Order: legal, banking, insurance, official correspondence. Formal gatekeeper.

Auto auto_ / #auto

Creative / social / music / dating foundation: charisma, style, relationships. (Also the fleet "triggered" namespace.)

XLRD999 xlrd999_

The esoteric urban music artist. Owns the Purgatory album series → P6.5 (10.13.2026). The 999 brand.

X9 x9_ / #x9

XLRD999's autonomous AI music-generation engine. 158–178 BPM, no autotune, the Suno generation directive.

Self Exec selfexec_

The business: logo / web / app / AI automation, $0 overhead, open-source.

XLRDTECH xlrd_

Nonprofit, Executive Leverage R&D — tech for cognitive challenges (ADHD / dementia / Alzheimer's).

TECHGOD techgod_

Architect of technological integrity. Lightly defined — scope to confirm.

Operational / thread personas: Xen (root voice), Lyn (Luckie / L7S), Eli (Anthony / TTG), Genesis (voice pane), plus SEL / XLRD / RESEARCH / FACTCHECK / CONTEXT emoji-triggered modes.

07

Scopes

MAIN = the router. qi talks to main; main routes to the right scope. Each scope = { named fork agent + cron watcher + branded checklist + playbook }. Crons are time-offset to avoid collision. Pulled from scope-registry.json.

ScopeClientThread(s)Checklist · CronMode
DCZDiamond Cutz StudiosLaTina McAllister (MAIN/payer) · Andre "Stal'lyon" (artist)GVoice #467 + #396/diamond-cut/checklist/cron 1d9c7766active
L7SL7S Hero — Luckie Goggins (he/him)WhatsApp #33 +L7X/l7s/checklist/cron fd869125active
ELIEliOS / Tracking Together — Anthony VasquezGVoice #381/eliops/checklist/cron 5d086896active
M_BM_B — Southern Soul artistGVoice #473 (on 9983)active
PADREPadre — lead-factory client chainWhatsApp #35padre-lead-factoryactive
TIBATiba — 222church nonprofit chainWhatsApp #40muted
L7XSole-member workflow channels (trigger layers)Telegram #433+ (Stripe / Asana / Otter / NotebookLM …)auto-workflowauto
XEN-SYSXen's own lines + self-echoesGVoice 9934 / 8672drain / triagemuted
CONFConference / Phound line+16783452142 (2142)muted
PERSONALqi personal contacts (migrating to 9983)9 contactssoft-migratemuted

Infra / ops scopes (the machine itself): STABLE-OPS (stable-ops-spec.md) — VoiceOS un-droppable; OMNI-XEN (scope-registry.json + omni-router-spec.md) — @xen-from-any-thread, autoscope, persistent consumer = the fast-twin. One scope = one cron — main enforces it.

08

Public endpoints

HTTP-checked live this sweep. The realtime panels on /life are fed from these.

URLServesSource hostChecked
mcp.xlrd.orgSELmcp universal MCP (no-auth JSON-RPC)M4200
hitthe.link/xen/live.jsonFlow feed — daemon-fed, scope-watch durablenitrofresh
xen.xlrd.org/api/xql"four·live" panel (5s poll)M4200
api.xlrd.org/api/suggestionsSteer panelM4200
m4.salmon-alkaline.ts.netLive call transcript (SSE)M4 tailnetverify
sel.xlrd.org/mcpWindows SuperMCP router (Cloudflare tunnel)nitroverify

SELmcp endpoints: https://mcp.xlrd.org (public) · http://10.13.92.100:23375 (LAN, fastest) · http://127.0.0.1:23375 (Mac-local). 0 auth. JSON-RPC 2.0 over HTTP POST.

copied