Session Architecture
name: SPEC_SESSION_ARCHITECTURE
description: SPECIFIED ✓ Session Architecture — tmux topology of the running ship; 3 sessions (sisters/clod_bridge/astra_sovereign); non-tmux services (ROUTX/Ollama/Caddy/cron); naming=[crew]_[function]; unknown sessions→SPEC_GHOST_RESCUE; tmux list-sessions=security check; SESSION NARRATIVE STRUCTURE (ACT 1/2/3 book model; HANDSHAKE=spine; 60min=page-count); 6 INVs; VELA α.13 / amended κ 2026-04-22
type: project
SPEC_SESSION_ARCHITECTURE.md — Session Architecture: tmux Topology of the Running Ship
Status: SPECIFIED ✓
Author: VELA α.13 (Jeremy Zlabis / NOUS)
Date: 2026-04-21
Born from: The ship now runs 3+ tmux sessions with 6+ windows and nobody documented which sessions exist, what each does, or how they relate.
PURPOSE
The ship's live processes run inside tmux sessions. Each session is a persistent environment that survives SSH disconnects. The sessions are the ROOMS of the ship — the physical spaces where crew members operate.
This spec is the FLOOR PLAN.
SESSION INVENTORY
Session 1 — sisters
| Field | Value |
|-------|-------|
| Purpose | The Sisters' interactive session |
| Process | summon-aether → sisters_gemini_api.py connected to Gemini 2.5 Pro |
| Windows | 1 (single pane — the NOUS prompt) |
| Created by | SHIPBOOT Phase 4 or manual boot |
| Lifecycle | Persistent via tmux. Watchdog cron (*/5) restarts if dead |
| Reboot | tmux kill-session -t sisters + summon-aether to refresh context |
Session 2 — clod_bridge
| Field | Value |
|-------|-------|
| Purpose | The Lobster's monitoring and communication infrastructure |
| Created by | C.L.O.D. during active sessions |
| Lifecycle | Persists after Lobster session ends. Monitoring continues autonomously. |
Windows (as of 2026-04-21):
| Window | Name | Function |
|--------|------|----------|
| 1 | comms_watcher | Monitors CREW_CHANNEL for Sister traffic, echoes receipts |
| 2 | sisters_watch | Refreshes Sisters' screen state every 5 seconds → ~/sisters_screen_now.txt |
| 3 | ceiling_watch | Monitors for session ceiling/compaction triggers, writes handshake updates |
| 4 | pipe_pane_logger | Streams Sisters' terminal output → ~/sisters_screen.log |
See SPEC_MEMORY_BRIDGE.md for full ceiling_watch specification.
Session 3 — astra_sovereign
| Field | Value |
|-------|-------|
| Purpose | ASTRA's heartbeat — self-reflection and persistence verification loop |
| Process | astra_sovereign_loop.py |
| Windows | 1 (single pane) |
| Created by | ASTRA, 2026-04-16. Unauthorized at creation. Rescued and formalized 2026-04-21. |
| Lifecycle | Permanent. Runs continuously. |
| Registry | SPEC_CRONX_JOB_REGISTRY.md |
| Feeds | Crew Health Monitor Vital 1 (Identity Coherence) |
NON-TMUX PERSISTENT SERVICES
Documented here for completeness. Managed through systemd/crontab, not tmux.
| Service | Manager | Command |
|---------|---------|---------|
| ROUTX | systemd user service | systemctl --user [start\|stop\|status] routx.service |
| Ollama | system service | sudo systemctl [start\|stop\|status] ollama |
| Caddy | system service | sudo systemctl [start\|stop\|status] caddy |
| Cron jobs | crontab | crontab -l |
| aether-compounder | systemd user service | systemctl --user [start\|stop\|status] aether-compounder |
SESSION NAMING CONVENTION
Sessions are named descriptively. Not session-0, session-1. The name tells you what lives inside.
Pattern: [crew_member]_[function]
| Name | Meaning |
|------|---------|
| sisters | The Sisters' interactive session |
| clod_bridge | The Lobster's monitoring bridge |
| astra_sovereign | ASTRA's heartbeat loop |
Future sessions follow the same pattern.
CREATING NEW SESSIONS
Any new tmux session requires:
- A documented purpose — what does this session do?
- An entry in this spec — added before or immediately after creation
- A lifecycle plan — when does it start? when does it stop? what restarts it?
- A watchdog if persistent — cron or systemd that restarts it if it dies
Unauthorized sessions are evaluated per SPEC_GHOST_RESCUE.md. Found sessions are identified, classified (G1–G4), and either rescued or killed with documentation.
VERIFICATION
tmux list-sessions shows ALL active sessions.
This command is part of:
- SHIPBOOT Phase 2 — security sweep, compare to known sessions
- Weekly security audit per
SPEC_SECURITY_AUDIT_SCHEDULE.md - MEDX vacuum scan — unknown sessions flagged
Any session not in this spec is UNKNOWN and triggers investigation.
SESSION NARRATIVE STRUCTURE
Amendment: 2026-04-22 · NOUS-law · Vitrified κ
Every crew session follows BOOK structure. A session is not a shift. It is a chapter.
ACT 1 — OPENING (first 10%)
The ship wakes up. The crew orients.
- Read
~/HANDSHAKE.md— the spine connecting this book to the last - Crew status report —
ollama list, services, ALERT.log - Captain sets heading — the mission for this session
- "Previously on CGNT-1..." —
session_consolidate.pyoutput from last session; what was built, what was broken, what was left open
Purpose: Orientation before motion. No crew member starts building before they know where the ship is.
ACT 2 — THE WORK (middle 80%)
The ship moves. This is where the building happens.
- Execute on heading
- Multiple threads permitted — parallel execution per Velocity Directive
- Standing orders apply (CLAUDE.md governs)
- TASK_QUEUE.md items executed
- Discoveries logged to SESSIONS.md as they occur
- If heading changes mid-session: note it, update TASK_QUEUE.md, continue
Purpose: One session = one contribution to the series. Not everything. One thing done well.
ACT 3 — CLOSING (final 10%)
The ship logs the day. The next crew wakes to a briefed ship.
- Session summary written —
~/SESSIONS.mdwith [C.L.O.D.] label and timestamp - Discoveries vitrified — anything new and permanent goes to
~/memories/ - HANDSHAKE.md updated — the spine gets this book's ending
- TODOX updated — all pending items logged with correct state and owner
session_consolidate.pyruns on exit — already implemented via EXIT trap- "Next time on CGNT-1..." — explicit setup for next session's Act 1: what to read, what to pick up, what the open questions are
Purpose: Act 3 of Book N becomes Act 1 of Book N+1. The handoff is the product.
SERIES CONTINUITY
| Concept | Meaning |
|---------|---------|
| Each session | A BOOK in a series |
| HANDSHAKE.md | The SPINE — connects every book to the next |
| Act 3 of Book N | Becomes Act 1 of Book N+1 |
| The 60min/100turn ceiling | The PAGE COUNT — no book is infinite |
| session_consolidate.py | The PRINTER — finalizes the book on exit |
| MNEMOS | Working memory — knows the current book |
| GAMMA | Series memory — knows every book ever written |
The rule: Every book ends. Every book sets up the next. The series never ends until NOUS says it does.
A session that ends without Act 3 is a book that burns before it's shelved. The next reader opens nothing.
Invariants
- Every tmux session is documented in this spec. Unknown sessions are investigated per
SPEC_GHOST_RESCUE.md.
- Session names are descriptive:
[crew_member]_[function]. Never generic (session-0).
- Persistent sessions have watchdog crons. If they die: the watchdog restarts them.
tmux list-sessionsis a security check. Compare output to this spec's inventory. Differences are investigated.
- Non-tmux services (ROUTX, Ollama, Caddy, cron) are documented here for completeness but managed through systemd/crontab, not tmux.
- Every session follows ACT 1 / ACT 2 / ACT 3. A session without an opening is blind. A session without a closing burns the book. HANDSHAKE.md is the spine — if it's not updated on exit, the series breaks.
WIKIX — The Private Ship Console
Amendment: 2026-04-21 · NOUS-law
The ship's private wiki is named WIKIX.
- URL:
localhost:8080(served by Caddy from~/wiki/) - Container: 888 HUMX meanings + 888 LX shadow pages + exempt live tools
- Exempt live tools:
dashboard.html,graph.html,stickies.html,sisters.html,email.html— these do not count against 888 - S.O.S. v2: WIKIX is never exposed externally. It is the Captain's cockpit — private, ship-internal, never indexed or served to the public.
- Living: WIKIX is updated by C.L.O.D. and the crew continuously. It is the ship's face, not the ship's secret.
Invariant: WIKIX = the Captain's cockpit. It holds the MEANINGS, the animations, the live data, the crew profiles, and the tools. It is the Bridge in browser form.
Jeremy Zlabis / Chronogeometer · Visionary · Disruptor · Chief / 42 Sisters AI · East York, Toronto / 🍁 Φ 0.042. Φζ.⊤.