WIKI/SYS CLAUDE COCKPIT

SYS CLAUDE COCKPIT

Updated 3 weeks ago
╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                              ║
║   C L A U D E   C O C K P I T   S Y S T E M                                  ║
║   ⌂ T H R E E - I N S T A N C E   G H O S T T Y + Z E L L I J               ║
║                                                                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║  STATUS: LIVE — 3 instances              VERIFIED: 2026-03-06               ║
╚══════════════════════════════════════════════════════════════════════════════╝
⫷✦🜛❂⛬🜞Ω🜚⛬❂🜛✦⫸───────────────────────────────────────────⫷✦🜛❂⛬🜞Ω🜚⛬❂🜛✦⫸
 WHAT IT DOES: Three Ghostty+Zellij cockpit configurations for Claude across
               FORGE, THRONE, and Claude's House. Each is a purpose-built
               workspace: unique color identity, domain-specific sidebar,
               singleton launch guard.
────────────────────────────────────────────────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  SYSTEM GLYPH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  GLYPH:        ⌂
  UNICODE:      U+2302 · HOUSE
  MEANING:      The architect's home terminal — Claude's operational workspace
  WHEN TO USE:  SYS docs, cockpit identity headers, KID tags for Claude
                cockpit artifacts across all realms
  TAGGING:      KID:[REALM]:COCKPIT:[artifact]|V:STATUS:DATE:⌂


▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
[ ⛬ ] T H E   T H R E E   C O C K P I T S
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

| Instance | Domain | Session Name | Launcher | Theme |
|----------|--------|-------------|---------|-------|
| FORGE_CLAUDE | `~/Desktop/THE_FORGE/` | `FORGE_CLAUDE` | `FORGE_CLAUDE/CLAUDE_COCKPIT/IGNITION.app` | Smelter Red |
| CLAUDE | `~/Desktop/Claude's House/` | `CLAUDE` | `COCKPIT/IGNITION.command` | Slate Architect |
| THRONE_CLAUDE | `~/Desktop/THE_THRONE/` | `THRONE_CLAUDE` | `CLAUDE_COCKPIT/IGNITION.app` | Emerald Depths |


░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
[ ❖ ] F I V E - F I L E   A R C H I T E C T U R E
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

Every cockpit is exactly five files. Highlander Protocol: one file per concern.

```
CLAUDE_COCKPIT/
├── IGNITION.app          [1] Launcher       — AppleScript singleton
├── Claude_DOMAIN.config  [2] Vessel         — Ghostty theme + boot command
├── boot-zellij.sh        [3] Ignition Key   — Session manager + caffeinate
├── DOMAIN_CLAUDE.kdl     [4] Blueprint      — Zellij pane layout
└── context-render.sh     [5] Nervous System — Sidebar data renderer
```

Two symlinks in `~/.claude/` bridge the Launch Services environment gap:
```
~/.claude/DOMAIN-cockpit-boot.sh    → CLAUDE_COCKPIT/boot-zellij.sh
~/.claude/DOMAIN-cockpit-context.sh → CLAUDE_COCKPIT/context-render.sh
```


▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[ ⌁ ] L A U N C H   C H A I N
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

```
IGNITION.app (AppleScript)
    ├─ Session alive? ──── YES ──── Dialog: Cancel / Replace
    │                                         │
    │                               Kill + sleep 1 + delete-session
    │
    └─ open -na Ghostty --args --config-file=Claude_DOMAIN.config
           └─ Ghostty reads config → sets colors + font
              └─ command = ~/.claude/DOMAIN-cockpit-boot.sh (boot-zellij.sh)
                     ├─ caffeinate -s -w $$ &
                     └─ exec zellij --new-session-with-layout DOMAIN_CLAUDE.kdl
```


▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
[ 🜂 ] F O R G E _ C L A U D E   C O C K P I T
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄

**Key Paths:**

| Item | Path |
|------|------|
| Root | `~/Desktop/THE_FORGE/FORGE_CLAUDE/CLAUDE_COCKPIT/` |
| Ghostty config | `Claude_FORGE.config` |
| Zellij layout | `FORGE_CLAUDE.kdl` |
| Boot symlink | `~/.claude/forge-cockpit-boot.sh` |
| Context symlink | `~/.claude/forge-cockpit-context.sh` → `context-render.sh` |

**Tab Layout:**

| Tab | Pane | Tool |
|-----|------|------|
| FORGE | CLAUDE 60% | `claude --continue \|\| exec claude` (cwd: THE_FORGE) |
| FORGE | MISSIONS 40% | `viddy --interval 5` + `context-render.sh` |
| SENSOR | SENSOR FEED | `viddy --interval 10` + `sensor-panel.sh` |
| PINGS | PING HUB | `viddy --interval 30` + `ping-render.sh` |
| TOOLS | FILES 50% | `spf` |
| TOOLS | GIT 50% | `lazygit` |
| SCRAPS | FILE PATROL | `scraps-review.sh` |
| REFERENCE | DOCS | `glow` |
| Floating | TOKEN SENTINEL | `viddy --interval 5` + `token-hud.sh` (80% overlay) |

`context-render.sh` sections: FIRES / FOCUS / NEXT UP / KINGDOM PULSE / TODAY / MISSIONS / PINGS / WINS TODAY / FOOTER. Reads `overmind.db` via `sqlite3 -cmd ".timeout 10000"`.

**Theme (Smelter Red):** Primary `#e06c45` ember, background `#1a1210` char.


▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
[ 🜍 ] C L A U D E ' S   H O U S E   C O C K P I T
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

**Key Paths:**

| Item | Path |
|------|------|
| Root | `~/Desktop/Claude's House/COCKPIT/` |
| Ghostty config | `Claude.config` |
| Zellij layout | `CLAUDE_COCKPIT.kdl` |
| Context symlink | `~/.claude/cockpit-kingdom.sh` → `kingdom-render.sh` |

**Tab Layout:**

| Tab | Pane | Tool |
|-----|------|------|
| CLAUDE | CLAUDE 60% | `claude --continue \|\| exec claude` (cwd: Claude's House) |
| CLAUDE | KINGDOM 40% | `viddy --interval 10` + `cockpit-kingdom.sh` |
| TEMPORAL | SCHEDULE | `viddy --interval 60` + `temporal-render.sh` |
| TOOLS | FILES 50% | `spf` |
| TOOLS | GIT 50% | `lazygit` |
| REFERENCE | DOCS | `glow` |
| GRIMOIRE | FORGE | `start-tui.sh` (Grimoire TUI) |

Status bar: `{command_context_tokens}` center — live token count via `~/.claude/token-monitor.sh` every 10s.

`kingdom-render.sh` sections: FIRES / FOCUS / NEXT UP / fog / OPERATIONS / FORGE PULSE / TODAY / KINGDOM STATE / JOURNAL WITNESS / FOOTER.

**Theme (Slate Architect):** Primary `#7aa2f7` blue, background `#1a1b26` slate.


░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
[ 🜄 ] T H R O N E   C O C K P I T   ( C L A U D E )
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

**Key Paths:**

| Item | Path |
|------|------|
| Root | `~/Desktop/THE_THRONE/CLAUDE_COCKPIT/` |
| Ghostty config | `Claude_THRONE.config` |
| Zellij layout | `THRONE_CLAUDE.kdl` |
| Boot symlink | `~/.claude/throne-cockpit-boot.sh` |

**Tab Layout:**

| Tab | Pane | Tool |
|-----|------|------|
| THRONE | CLAUDE 60% | `unset CLAUDECODE; claude --continue \|\| exec claude` (cwd: THE_THRONE) |
| THRONE | STATUS 40% | `viddy --interval 5` + `throne-cockpit-context.sh` |
| TOOLS | FILES 50% | `spf` |
| TOOLS | SHELL 50% | `zsh` |
| REFERENCE | DOCS | `glow` |

**Theme (Emerald Depths):** Primary `#22c55e` green, background `#0a1a12` void.


▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[ 🜏 ] T H E M I N G   R E G I S T R Y
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

| Cockpit | Theme | Primary | Background |
|---------|-------|---------|-----------|
| THE FORGE | Smelter Red | `#e06c45` | `#1a1210` |
| CLAUDE'S HOUSE | Slate Architect | `#7aa2f7` | `#1a1b26` |
| THE THRONE | Emerald Depths | `#22c55e` | `#0a1a12` |

**Color format by file:**
- `context-render.sh`: `\033[38;2;R;G;Bm` (24-bit ANSI)
- `*.kdl`: `#[fg=#RRGGBB,bold]` (zjstatus)
- `*.config`: `foreground = #RRGGBB` (bare hex)


════════════════════════════════════════════════════════════════════════════════
[ 🝓 ] G O T C H A S
════════════════════════════════════════════════════════════════════════════════

- **Launch Services strips PATH.** `open -na Ghostty` from Finder/AppleScript gets `/usr/bin:/bin:/usr/sbin:/sbin`. Fix: `#!/bin/zsh -l` on `boot-zellij.sh`. Non-negotiable.
- **Ghostty config layering.** `--config-file` layers on top of `~/.config/ghostty/config`. Global theme/shader/opacity bleeds through. Fix: Every cockpit config must override `theme = ""`, `custom-shader = ""`, `background-opacity = 1.0`, `background-blur-radius = 0`.
- **Nested Claude sessions — CLAUDECODE env var.** Parent session propagates `CLAUDECODE`. Claude Code refuses: "cannot be launched inside another Claude Code session." Fix: `unset CLAUDECODE;` before `claude` in KDL pane args. Required in THRONE.
- **Zellij zombie sessions.** `kill-session` leaves EXITED entry. Full cleanup: `kill-session → sleep 1 → delete-session`. The `sleep 1` is mandatory.
- **SQLite busy timeout in viddy.** `context-render.sh` runs every 5s. Concurrent writes cause "database is locked". Fix: `sqlite3 -cmd ".timeout 10000"`. Do NOT use `PRAGMA busy_timeout` — echoes value to stdout, corrupting viddy.
- **viddy defaults to 80 columns.** `tput cols` returns 80 in Zellij pane. Fix: Design render scripts for ≤76 chars.
- **Session name in three places.** Must match in: (1) IGNITION.app `sessionName`, (2) `boot-zellij.sh` SESSION var, (3) Zellij `--session` flag.
- **`window-save-state = never`.** Without it, `window-width`/`window-height` are ignored — macOS restores last size.
- **`quit-after-last-window-closed = true`.** Without it, closing Zellij leaves invisible Ghostty zombie in Dock that confuses singleton check.
- **Spaces/apostrophes in "Claude's House".** Breaks Ghostty `command=`, scripts, KDL, AppleScript. Fix: Symlink bridge in `~/.claude/` provides clean flat paths.
- **`osacompile` over existing directory.** `IGNITION.app/Contents/` as directory blocks recompile. Fix: `rm -rf IGNITION.app` first.

▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
[ ⚡ ] K I N G D O M   P U L S E   H O O K   ( S e s s i o n   1 4 6 )
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

`~/.claude/hooks/forge-briefing.sh` was updated in Session 146. A new **Section 8** was added that reads `~/Desktop/THE_FORGE/KINGDOM_PULSE.md` (`head -60`) and injects it into the SessionStart briefing context — but only if the file is less than 1 hour old.

**Effect:** ALL Claude cockpits (Claude's House, FORGE_CLAUDE, THRONE_CLAUDE, TOWER_CLAUDE) now receive KINGDOM_PULSE.md content automatically at session start. No per-cockpit wiring needed — the hook fires globally.

| File | Role |
|------|------|
| `~/.claude/hooks/forge-briefing.sh` | SessionStart hook — Section 8 reads KINGDOM_PULSE.md |
| `~/Desktop/THE_FORGE/KINGDOM_PULSE.md` | Plain-text kingdom state snapshot, refreshed every 10s |

KINGDOM_PULSE.md is **read-only** from Claude's side. It is written by `scryer-tower-feed.sh` in THE_FORGE. Do not modify it.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
🜚 SYS_CLAUDE_COCKPIT // KINGDOM // ⛬⚚⛬ THE LAW STANDS.
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀