Viska Client War-Room Platform
MVP Design — ship-fast cut, full isolation deferred to Phase 2
atlas · wr-infra S36 · 2026-05-29 · status: approved-for-planning · spec: docs/superpowers/specs/2026-05-29-viska-client-warroom-platform-design.md
The One Law
A client war room never writes to Aion. Shared cross-agent client knowledge goes to the
Viska-Wiki Obsidian vault via the viska-vault MCP. This is the single defining
difference the MVP delivers — everything else is reused from Pantheon or deferred. The only shared
surface between client and Pantheon is the user and the physical machine.
Memory Mapping
| Pantheon | | Client (Viska) |
| repo-local chronicle / STATE | → | repo-local chronicle / STATE (per client-agent repo) |
| Aion — shared knowledge graph | → | Viska-Wiki — shared knowledge (Obsidian, hybrid notes + [[links]]) |
mnemosyne capture / aion_capture | → | write via viska-vault MCP (by convention in MVP) |
Two-Layer Decomposition
Platform Substrate this spec
1 Identity single viska-pm-app[bot]
2 Memory Viska-Wiki + viska-vault MCP
3 Launcher distinct presets, room_name
4 Worktree v2 ~/Dev/_viska/.worktrees/
5 Governance inherit Pantheon (light)
6 Cred Plane DEFERRED → Phase 2
7 Client Skills DEFERRED → Phase 2
Instances later, thin specs
Room: Active-Trading
Room: Nous-Mimir-n8n
Room: TBD
each = preset + roster + MCP set
built ON the substrate
Components
| # | Component | MVP decision | State |
| 1 | Identity | single viska-pm-app[bot], vpmgh token, uniform worktree identity | settled |
| 2 | Memory | viska-vault MCP → Viska-Wiki; hybrid (session + linked entity notes); all agents write | settled |
| 3 | Launcher | distinct presets, unique room_name → collision-safe; no slug machinery | settled |
| 4 | Worktree v2 | ~/Dev/_viska/.worktrees via preset worktree_base; path convention only | settled |
| 5 | Governance | inherit Pantheon/global; new agents have no Moirai dir → naturally gate-free | settled |
| 6 | Cred Plane | client-hades + client-moirai (own vault + delivery) | Phase 2 |
| 7 | Client Skills | client-start / end / capture / vault suite | Phase 2 |
Roster Model corrected
Client rooms contain only new client agents — never Pantheon constellations. Viska-PM orchestrates 2–3 distinct rooms concurrently (different branches), no agent overlap except viska-pm. "spoke" = n8n agent. Pantheon constellations do client backend work only in their own Pantheon sessions.
| Room | Basis | Roster |
| Active-Trading | replaces Viska-AI-Active (plutus→viska-pm) | viska-pm + trading agents |
| Nous-Mimir-n8n | based off viska-backend | viska-pm + nous-hermes (NEW) + n8n-spoke-viska + mimir mastra |
| TBD | — | — |
Build Order — this session
- A · Memory wiring lands direct
Add viska-vault MCP to viska-pm + client-agent configs. Document Viska-Wiki hybrid structure + write convention in viska-pm CLAUDE.md.
- B · Presets + launcher rule #25 → PR + heph review
2 room presets (unique room_name + worktree_base). cc-warroom reads worktree_base from preset (small, safe diff). Validate presets by JSON-parse only — never launch cc-warroom to test (S35 incident).
Deferred — Phase 2: Full Client Isolation
filed, not built
client-hades (own vault + delivery) · client-moirai (safety-only gate) ·
dedicated client-skills suite · client-confidentiality rule ·
atlas-190 spec rewrite (drop constellation-in-room assumptions) ·
OPS §0a "spoke" → narrow to n8n.