# 00 — Verifikovani System Map (2026-06-22)

# ALAI AI System — Verified System Map (input artifact)

<!-- liveness-claim-validator: skip -->
**Date:** 2026-06-22 · **Compiled by:** John (tool-verified, not from memory) · **For:** Architect panel (Petter Graff lead)

This is the ground-truth snapshot the architect panel must reason over. Every line below was verified live this session (curl health, process list, DB reads, Slack API, log inspection).

## 1. Platform services (live status verified 2026-06-22)
| Service | Domain | Status | Role |
|---|---|---|---|
| BookStack | docs.alai.no | 200 | Wiki / knowledge base |
| Planka | boards.alai.no | 200 | Kanban boards |
| Paperless | archive.alai.no | 302 (up) | Document archive (invoices, contracts, attachments) |
| Documenso | sign.alai.no | 302 (up) | E-signing |
| Grafana | grafana.alai.no | 302 (up) | Monitoring |
| Vaultwarden | vault.alai.no | 200 | Secrets |
| Mission Control | mc.alai.no | 200 | Tasks (source of truth) |
| LightRAG | lightrag.alai.no | root 000 / /health 200 | Knowledge graph (auth-gated) |
| Ollama | ollama.alai.no | 200 | Local LLM |

## 2. Engine tools (non-skill/hook/agent)
- `mc.js` — Mission Control task engine (mc.db) — system core
- `discover.js` — unified discovery (tools/skills/agents/BookStack/RAG)
- Email suite — `email-inbox`, `email-reactor`, `email-to-task`, `email-to-ticket`, `email-to-contact`, `email-audit`, `email-briefing`
- `slack.js` / `slack-bot.js` — 19 channels (verified live)
- `planka-sync.js` / `planka-admin.js` — MC↔Planka bridge
- `bookstack-sync.js` / `bookstack-webhook-relay.js` / `bookstack-staleness.js`
- HiveMind (`hivemind-*.js`) — internal event bus + knowledge
- LightRAG tools (`rag-*`, `lightrag-auth-helper`)
- `fiken-*` (accounting), `documenso-webhook`, `contacts.js`
- Tool Shed (`tool-shed.js`) — running pid 1319, port 3050, 307 tools registered
- Library v3 (`library.js`) — 79 global skills, 12 companies, last sync today
- Dashboards (ceo / mc / health / tender / expansion); `cost-tracker`, `agent-manager`

## 3. Data flow (verified wiring)
```
MIGADU (1 acct, all domains; IMAP boxes: john/info/alai/dev/alem)
  → email-inbox.js (email-inbox.db) → classify (Ollama)
     ACTION → email-to-task.js → MISSION CONTROL (mc.db)   [dedup by message-id]
     INFO/SPAM → log only
     attachments → email-attachment-fetcher → PAPERLESS (archive.alai.no)
MISSION CONTROL ↔ PLANKA  (planka-sync.js bidirectional: createCard/moveCard/syncStatus)
MC/agent events → HiveMind event-bus → LightRAG (knowledge graph) + BookStack (docs)
SLACK = outbound notification layer (ceo-daily-digest / escalation-notify / cron-notify)
Fiken / Documenso / Vaultwarden = accounting / e-sign / secrets (on-demand)
```

## 4. Virtual companies (persona-agent model)
ALAI routes work to ~12 "virtual companies", each a persona-agent cluster (specialist-mapping.json):
- CodeCraft (architecture/backend) · Vizu (frontend/design) · FlowForge (devops/infra) · Proveo (QA) · Securion (security) · AgentForge (AI/ML/RAG) · Finverge (fintech) · Skybound (mobile/SaaS) · Lexicon (legal/docs) · Helixsupport (incident) · Proxima (marketing) · Resolver (cross-company systemic)
- John = AI Director / orchestrator (does NOT build); dispatches via MEHANIK gate → specialist → Proveo verify → MC done.

## 5. Event-sourcing surfaces (verified existing)
- `evidence-ledger` (SQLite, append; had a dup-insert bloat incident #102796 → dedup index)
- MC task history (`mc_history` — 542 rows this session window)
- HiveMind events (`hivemind.db`)
- Session checkpoints (auto-generated session summaries)
- NOTE: these are append-ish logs, NOT a formal event-sourced architecture (no single event store as source of truth, no projections/replay model). This is a key question for the panel.

## 6. Verified anomalies / smells (honest)
1. BookStack → Slack relay is DISABLED (`bookstack-webhook-relay.js`: "no Slack call made" — audit-log only).
2. Meta-agent cron daemon runs on schedule but produces 0 tasks / 0 action-items lately (idle loop).
3. Meta-skills pipeline (skill-creator/registry) exists but no new skills created since Jun 15.
4. HexaDB project just frozen (NO-GO) — a case of a bee/6×19 metaphor over-engineered into a DB with no real geo capability. Cautionary precedent: is more of the system metaphor-driven rather than need-driven?
5. mc.js `done` is gated by a per-session verdict file; research/advisory tasks need `--force` (friction).