Workspace Dashboard — wednesday.sabin.uk
Ce este
Cockpit-ul vizual al Wednesday. O aplicație web — fork Nevermore-owned din outsourc-e/hermes-workspace (MIT, v2.3.0) — care rulează local pe Mac la _infra/workspace/, serve pe Tailscale http://100.72.93.65:3000, public la https://wednesday.sabin.uk prin tunel Cloudflare cu Access gate (email PIN, allowlist [email protected] + [email protected]).
Diferența față de Telegram/IRC/WhatsApp: dashboard-ul nu e canal conversațional principal — e suprafață de observabilitate + control. Vezi starea vault-ului, dispatchezi workers, citești dashboard-urile, deschizi note din _wiki/. Are și chat (același Hermes gateway în spate), dar nu folosesc dashboard-ul ca să vorbesc cu Wednesday — folosesc ca să văd ce face Wednesday.
Layer-ul de gaming/social/trading din upstream (HermesWorld, Agora, VT Capital) e complet șters și interzis să revină. Doar Nevermore.
Cum vorbesc cu Wednesday prin asta
Două căi de acces:
- Tailscale interior: browser pe orice device în Tailnet →
http://100.72.93.65:3000. Mac, Android (PWA), laptop secundar. Password-gated (HERMES_PASSWORDdin.credentials/nevermore_workspace.env). - Public via Cloudflare:
https://wednesday.sabin.uk→ Cloudflare Access intercept → email one-time PIN → in (sesiune persistentă pe device). Tunelwednesday-workspacerulează ca launchduk.sabin.wednesday.cloudflaredpe Mac, originhttp://100.72.93.65:3000.
Ce găsesc înăuntru:
- Nevermore Cockpit (
/nevermore, primul item în nav) — 5 panouri vault-real:- Boot Gates — starea ultimei boot self-check (vault audit, agentic OS scorecard, daemon health, active lessons, skill surface)
- Dashboards — markdown rendering live din
_raw/dashboards/ - Runtime State —
runtime_state.jsonparsat (phase, last meaningful session, pending) - Active Lessons — toate lessons cu severitate
- Fleet — launchd jobs activi (cine rulează, cine a căzut)
- Knowledge Browser —
_wiki/cu cross-links + Cmd+K global search (sursa “Vault” wired viawednesday-search.py) - Memory Browser — Honcho memory + auto-memory
~/.claude/.../memory/ - Swarm / Conductor — 6 grok-4.3 workers persistenți (
swarm1/2/4/5/6/7) în tmux. Dispatch manual default (safety rail). - Chat — același Hermes gateway, surface web
Ce model AI răspunde de fapt
Pentru chat-ul din dashboard: Grok 4.3 via Hermes — același endpoint ca Telegram/IRC.
Pentru swarm workers: Grok 4.3 (grok-4.3) per worker, REPL clasic hermes chat în tmux, NU --tui (TUI absent din hermes-agent 0.14.0). Workers au write-scope sandbox confined la _infra/workspace/ per safety-rail.
Cockpit-ul în sine nu cheamă LLM — citește fișiere și afișează. Read-only, fail-soft.
Exemple practice
Verificare matinală — un singur loc:
Deschid wednesday.sabin.uk → /nevermore
Văd dintr-o privire:
- Boot Gates: 5/5 clean ✓
- Active Lessons: 18 (3 high-severity, cel mai nou: lesson-22)
- Fleet: 14/14 launchd jobs up
- Daemon Health: 0 silent past 48h ✓
Decid: nu mai trebuie să rulez session-close gate manual.
Dispatch swarm pentru muncă batch:
/swarm → vad cei 6 workers idle
Selectez swarm2, swarm4, swarm5 → dispatch task batch:
"Citește _wiki/concepts/*.md și raportează note cu link-uri rupte"
Mode = manual (safety rail) → trebuie să greenlight-ez pornirea
Click "Run" → tmux sessions încep, output streamează live în UI
Citesc o lecție de pe canapea:
Cmd+K → tastez "session-close drift"
Sursa "Vault" returnează lesson-04 + protocolul session-close
Click → markdown render integral, fără să deschid Obsidian
Limite + gotchas
- Build trap: pnpm 11
ERR_PNPM_IGNORED_BUILDSstricăpnpm build/start/exec. Build cu./node_modules/.bin/vite builddirect, run cunode server-entry.js. Launchd wrapper-ul_infra/scripts/nevermore-workspace-run.shface deja asta. - Vite chunks orphan: dacă nu
rm -rf distînainte devite build,server.jspoate referenția un chunk șters → 500ERR_MODULE_NOT_FOUND. Mereu wipe dist înainte. - Tailscale-only pe LAN: dashboard-ul NU e expus pe LAN brut.
100.72.93.65e Tailscale IP. Din afara Tailnet → Cloudflare Access (PIN email). - Mac-asleep = down. Workspace + Hermes gateway sunt pe Mac. Mac doarme → 502 Bad Gateway prin Cloudflare. Tailscale-direct la fel — niciun device.
- Redesign în paralel:
weds.sabin.uk(port 3001,_infra/workspace-md3/) este forkul Material 3 Expressive — UI nou, aceeași funcționalitate. Livewednesday.sabin.uknu se atinge până când MD3 e ratificat. NU edita_infra/workspace/când lucrezi la redesign. - Swarm cost: workers consumă quota Grok continuu cât rulează. Dispatch manual e safety rail intenționat.
Verificare rapidă
# Workspace rulează?
launchctl list | grep nevermore-workspace
# → uk.sabin.wednesday.nevermore-workspace cu PID
# Cloudflared tunel?
launchctl list | grep cloudflared
# Răspunde local?
curl -sI http://100.72.93.65:3000 | head -1
# → HTTP/1.1 200 (sau 401 dacă password-gate)
# Răspunde public?
curl -sI https://wednesday.sabin.uk | head -1
# → 302 redirect către CF Access login
# Hermes gateway pentru chat?
curl -s http://127.0.0.1:8642/healthDacă pică: tail -f _infra/temp/nevermore-workspace.{log,err} pentru workspace, tail -f _infra/temp/cloudflared-wednesday.log pentru tunel.