152 lines
4.7 KiB
Markdown
152 lines
4.7 KiB
Markdown
# VAUCO OS — ARCHITECTURE.md
|
|
# Eier: PLAN-Claude-Architect
|
|
# Sist oppdatert: 2026-05-21 CEST
|
|
# Godkjent av: Chris Christiansen
|
|
|
|
---
|
|
|
|
## Hensikt
|
|
Single source of truth for systemarkitektur, komponent-diagram og design-kontrakter.
|
|
Ingen andre tråder skriver denne filen. Andre tråder kan foreslå patcher via PR.
|
|
|
|
---
|
|
|
|
## Komponent-diagram (ASCII)
|
|
|
|
```
|
|
[Chris / Operatør]
|
|
|
|
|
-----+------+----------+----------+
|
|
| | | |
|
|
OPS EXEC PLAN AUDIT
|
|
Perplexity Gemini Claude Nemotron
|
|
Computer 2.5 Pro Sonnet/ (NMT)
|
|
Opus
|
|
| | | |
|
|
+-----+-----+----------+----------+
|
|
|
|
|
[GitHub]
|
|
OSVauco (main)
|
|
vauco-bootstrap (main)
|
|
|
|
|
[GCP / Cloud Run]
|
|
project: propane-will-491900-m5
|
|
region: us-central1
|
|
|
|
|
[OPAX-MCP — opax.vauco.no]
|
|
service: opax-mcp-core
|
|
protocol: OPAX Protocol
|
|
|
|
|
[Klient-OS]
|
|
<klient>-oss.vauco.no (stage)
|
|
<klient>-os.vauco.no (prod)
|
|
```
|
|
|
|
---
|
|
|
|
## MCP Identity
|
|
|
|
| Parameter | Verdi |
|
|
|----------------|------------------------------------|
|
|
| MCP_NAME | OPAX-MCP |
|
|
| MCP_PROTOCOL | OPAX Protocol |
|
|
| MCP_SERVICE | opax-mcp-core |
|
|
| Cloud Run | us-central1 |
|
|
| HUB_URL | https://opax.vauco.no (Phase 2) |
|
|
|
|
---
|
|
|
|
## Domenekonvensjon — LOCKED
|
|
|
|
| Subdomain | Type | Formål |
|
|
|-------------------------|----------|---------------------------------------------------|
|
|
| `opax.vauco.no` | Hub/MCP | OPAX-MCP operator hub — kun Vauco internt |
|
|
| `<klient>-os.vauco.no` | Prod OS | Kundens live produksjonssystem |
|
|
| `<klient>-oss.vauco.no` | Stage OS | Kundens staging/demo-system (pre-go-live) |
|
|
|
|
> `-os` = produksjon. `-oss` = staging. Aldri omvendt.
|
|
|
|
### Auth-strategi
|
|
- **Nå:** Google OAuth på alle miljøer
|
|
- **Senere:** BankID på `-os`-domener for kliniske kunder (Medioteq først)
|
|
|
|
### Kjente / planlagte domener
|
|
|
|
| Domene | Status | Cloud Run-tjeneste |
|
|
|-------------------------|---------------|-----------------------|
|
|
| `opax.vauco.no` | DNS pending | `opax-mcp-core` ✅ |
|
|
| `medioteq-oss.vauco.no` | Planlagt | `medioteq-oss-core` |
|
|
| `medioteq-os.vauco.no` | Planlagt | `medioteq-os-core` |
|
|
|
|
---
|
|
|
|
## Tråd-kontrakter
|
|
|
|
| Tråd | Modell | Eid fil | Konnektor |
|
|
|---|---|---|---|
|
|
| OPS-Computer-Hub | Perplexity Computer | AGENT_RULEBOOK.md, LEARNINGS.md, CHANGELOG.md | GitHub web, search |
|
|
| EXEC-Gemini-Workstation | Gemini 2.5 Pro | SYSTEM_STATE_AGENT_BOOT.md, TODO.md | shell, gcloud, git |
|
|
| PLAN-Claude-Architect | Claude Sonnet/Opus | ARCHITECTURE.md (denne), ROADMAP.md | GitHub UI/API |
|
|
| AUDIT-NMT-Critic | Nemotron | RISKREGISTER.md, PLANBOARD.md | read-only alle filer |
|
|
|
|
Regel: En fil — én eier. Andre tråder foreslår via PR, eier merger.
|
|
|
|
---
|
|
|
|
## Dataflyt
|
|
|
|
```
|
|
OPS --[MD-patch PR]--> PLAN merger
|
|
EXEC --[SYSTEM_STATE]--> alle leser
|
|
PLAN --[arch-spec PR]--> EXEC implementerer
|
|
AUDIT--[PLANBOARD]--> Chris prioriterer
|
|
|
|
Filer flyter via: GitHub commits på OSVauco/main
|
|
Aldri: direkte tråd-til-tråd
|
|
```
|
|
|
|
---
|
|
|
|
## Klientmodell — Prosjektisolasjon
|
|
|
|
**Prinsipp:** Hver klient med sensitiv/medisinsk data får eget GCP-prosjekt.
|
|
|
|
| Lag | GCP-prosjekt | Rolle |
|
|
|-----|-------------|-------|
|
|
| OPAX/OSVauco | `propane-will-491900-m5` | Management plane — deploy, monitor, orchestrate |
|
|
| Medioteq klinisk | `<medioteq-project-id>` | Data plane — kliniske data forblir her |
|
|
|
|
- OPAX mottar **aldri** rå pasientdata
|
|
- Data-residency: `europe-north1` for norske helsedata
|
|
- Alle agentkall logges til BigQuery i klientprosjektet (input/output hash, ikke råinnhold)
|
|
|
|
---
|
|
|
|
## Avhengigheter
|
|
|
|
- `OSVauco/main` er canonical branch for dette prosjektet
|
|
- Cloud Run avhenger av `vauco-gemini-tui-bridge` og OPAX-MCP-tjenesten
|
|
- Bridge avhenger av `bridge/`-kode + GCP service account `vauco-dev`
|
|
- Token economy avhenger av `scripts/token_economy.py` (planlagt)
|
|
- Pre-commit hook v2 avhenger av `.githooks/pre-commit` (planlagt)
|
|
|
|
---
|
|
|
|
## Åpne spørsmål (max 3)
|
|
|
|
1. **Langsiktig repo-struktur?**
|
|
- A: Behold OSVauco + tjeneste-repoer (nåværende)
|
|
- B: Slå sammen til monorepo
|
|
- C: Splitt ytterligere per tjeneste
|
|
|
|
2. **Cloud Run min-instances=0 eller 1?**
|
|
- A: 0 — kutter idle-kostnad (anbefalt H0)
|
|
- B: 1 — ingen cold start latency
|
|
|
|
3. **IAM: vauco-dev service account scope?**
|
|
- A: Minimal — kun Vertex AI + Firestore
|
|
- B: Per-skill separate accounts
|
|
|
|
---
|
|
EOF v1.1 — 2026-05-21 — OPS/PLAN (Phase 1: domain convention + MCP identity added)
|