docs: CostGuard prismodell v2 + push-first arkitektur + CG5a/b/c tasks [PLAN APPROVED 2026-06-12]

This commit is contained in:
chrischristiansen-glitch 2026-06-12 15:59:47 +02:00
parent 8b5b7e81cb
commit c312f4a727
2 changed files with 174 additions and 147 deletions

View File

@ -1,7 +1,7 @@
# VAUCO OS — MASTERPLAN
**Eier:** Chris Christiansen · Vauco AS · Org.nr 935 989 779
**Sist oppdatert:** 2026-06-11
**Sist oppdatert:** 2026-06-12
**Status:** 🟢 AUTORITATIV — én kilde til sannhet for hele Vauco-økosystemet
> **Regel #1:** Denne filen er sannheten. Hvis en annen fil sier noe annet — denne vinner.
@ -136,13 +136,10 @@ OSVauco/
├── agents/
│ ├── core-logic/ OPAX orchestrator + FastAPI app
│ │ ├── agent.py Kjører Gemini nå → Gemma fra ML-3
│ │ ├── agent.py
│ │ ├── app.py
│ │ └── token_logger.py
│ ├── mcp_server/ ← NY: OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
│ │ ├── server.py FastAPI MCP-server, kjører på Cloud Run
│ │ ├── tools/ deploy_service, push_static, get_build_status, ...
│ │ └── README.md
│ ├── mcp_server/
│ ├── rag/
│ ├── memory/
│ ├── multi_agent/
@ -155,18 +152,18 @@ OSVauco/
├── infrastructure/
├── scripts/
├── static/
│ ├── opax.html Operator hub — Chris sitt cockpit (OX1)
│ ├── jason.html Jason fullskjerm-chat ✅ LIVE opax.vauco.no/static/jason.html
│ ├── opax.html
│ ├── jason.html
│ ├── billing-dashboard.html
│ ├── command-hub.html
│ └── admin.html
├── docs/
│ ├── MASTERPLAN.md ← denne filen
│ ├── MASTERPLAN.md
│ ├── ROADMAP.md
│ ├── HANDOFF.md
│ ├── AGENT_RULEBOOK.md
│ ├── gemma/
│ │ ├── world.md Vaucos verden — kontekstpakke for Emma/Gemma ✅
│ │ ├── world.md
│ │ └── README.md
│ └── [øvrige tema-docs]
├── protocols/sessions/
@ -179,9 +176,6 @@ OSVauco/
> Eget repo: `vauco-saas/vauco-site` — LIVE 2026-06-05 på GCS+LB.
### Formål
Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til riktig produktside.
### Versjons-evolusjon
| Versjon | Inneholder | Trigger |
@ -219,23 +213,14 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
| **SDK** | `google-adk` + `google-genai` | |
| **Status Claude** | ⏳ Venter på EU-kvote | Bytt når kvote innvilget |
### Fase 2 — Gemma-migrering (trigger: kreditter < 20% eller første kunde onboardet)
### Fase 2 — Gemma-migrering
| Parameter | Verdi | Merknad |
|-----------|-------|---------|
| **Emma (intern)** | `gemma-4-12b-it` int4 | GCP `g2-standard-4` Spot VM (~$120150/mnd) |
| **Serving** | Ollama (utvikling) → vLLM (produksjon) | |
| **Jason (kunder)** | `gemini-2.5-flash` via Vertex | Uendret — kunder merker ingenting |
| **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | Emma forstår Vauco fra dag 1 |
**Prinsipp:** Kunder bruker alltid Gemini via Vertex (Jason). Chris bruker Emma lokalt.
**Emma er ikke dum når den starter** — kontekstpakken (`docs/gemma/world.md`) bygges simultant.
**Bytte til Emma/Gemma krever:**
1. ML-3b kontekstpakke ferdigstilt ✅
2. GPU-VM verifisert med smoke-test
3. Eksplisitt `MODEL APPROVED` fra Chris
4. Oppdatering av `agent.py`, `AGENT_RULEBOOK.md` og denne tabellen i samme commit
| **Jason (kunder)** | `gemini-2.5-flash` via Vertex | Uendret |
| **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | |
---
@ -244,21 +229,22 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
> Full status i `docs/ROADMAP.md`.
### 🔴 NOW
- [x] OX1c — Jason fullskjerm-chat LIVE ✅ 2026-06-10
- [x] CI5+CI6 — OPAX-MCP live + Jason kaller MCP ✅ 2026-06-10
- [x] OX1-fix — opax.html LIVE via GET / ✅ 2026-06-10 (absolutt sti + Dockerfile static copy)
- [ ] OX2 — Command Hub: samle jason.html + opax.html + command-hub.html
- [ ] CG4b — Token dashboard breakdown per modul
- [ ] C4 — Medioteq HITL-møte → partnerstrategimøte (joint venture)
- [x] CG4b — Token dashboard breakdown per modul ✅
- [x] OX1c — Jason fullskjerm-chat LIVE ✅
- [x] CI5+CI6 — OPAX-MCP live ✅
- [ ] CG4d — Kundeprisingskalkulator (GCP-spend-basert)
- [ ] CG5a — Delivery layer: webhook-kanal onboarding
- [ ] CG5b — E-postvarsler (SendGrid)
- [ ] CG5c — SMS-varsler (Twilio) [Guard+]
### 🟠 NEXT
- CI1 — OPAX-MCP: full CI/CD-kanal (CI1ae)
- ML-3a — GCP GPU-VM for Emma (Gemma 4) + `emma.vauger@vauco.no` opprettes
- CG4d — Kundeprisingskalkulator
- C5 — Salgsdemo
- CG6 — Klient-dashboard
- CI1 — OPAX-MCP full CI/CD-kanal
- ML-3a — GPU-VM for Emma
- C4 — Medioteq partnerstrategimøte
### 🟡 LATER
- ML-3c — Hybrid agent: Emma internt / Jason for kunder
- ML-3c — Hybrid agent
- T1T4 — Threadstone
- Fase C — Multi-tenant
@ -269,57 +255,125 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
| Identitet | E-post | Modell | Rolle | Status |
|-----------|--------|--------|-------|--------|
| Eier / admin | `chris.christiansen@vauco.no` | — | Full kontroll | ✅ Aktiv |
| Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` via Vertex | Kundevendt agent, `billing.viewer` + `run.invoker` | ✅ Live |
| Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris — erstatter Perplexity stand-in | 🔮 ML-3a trigger — opprett Google Workspace-konto samtidig |
| Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` via Vertex | Kundevendt agent | ✅ Live |
| Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris | 🔮 ML-3a |
| Fremtidig gruppe | `billing@vauco.no` | — | `billing.viewer` (Fase C) | 🔮 Fase C |
**Forbudte kontoer:** `tinius.vauger`, `ccv` — aldri gi tilganger.
> **Emma vs Jason:** Emma er Chris sin interne co-pilot (kodeskriving, deploy, planlegging). Jason er kundenes agent (billing, anomaly, status). To separate identiteter, to separate ansvarsområder.
---
## 9. Cloud Run — live endepunkter
**Service:** `osvauco-agent` | **Region:** `us-central1` | **Project:** `propane-will-491900-m5`
**Direkte URL:** `https://osvauco-agent-zjbqp3prqq-uc.a.run.app` ← bruk denne (ikke 357036551735)
**Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`)
**Jason UI:** `https://opax.vauco.no/static/jason.html` ✅ LIVE
**OPAX UI:** `https://opax.vauco.no/` ✅ LIVE (opax.html via GET /, fikset 2026-06-10)
**Public URL:** `https://opax.vauco.no`
**Jason UI:** `https://opax.vauco.no/static/jason.html`
**OPAX UI:** `https://opax.vauco.no/`
| Endepunkt | Status |
|-----------|--------|
| `GET /` | ✅ Serverer opax.html (fikset 2026-06-10) |
| `GET /health` | ✅ (ingen auth påkrevd) |
| `POST /run` | ✅ (krever metadata-token, se auth-løsning i ROADMAP) |
| `GET /static/jason.html` | ✅ OX1c LIVE |
| `GET /static/{filename}` | ✅ Generell static-rute |
| `GET /opax/build-status` | ✅ (OX1a) |
| `GET /billing/tokens/by-module` | ✅ (CG4a) |
| `GET /billing/tokens/estimate` | ✅ (CG4c) |
| `GET /` | ✅ opax.html |
| `GET /health` | ✅ |
| `POST /run` | ✅ |
| `GET /static/jason.html` | ✅ |
| `GET /billing/tokens/by-module` | ✅ |
| `GET /billing/tokens/estimate` | ✅ |
| `GET /billing/summary` | ✅ |
| `GET /billing/anomalies` | ✅ |
| `GET /billing/history` | ✅ |
| `GET /billing/budget` | ✅ |
| `POST /billing/budget` | ✅ |
| `GET /auth/login` | ✅ |
| `GET /auth/callback` | ✅ |
| `POST /notify/webhook` | 🔴 CG5a |
| `POST /notify/email` | 🔴 CG5b |
| `POST /notify/sms` | 🔴 CG5c |
---
## 10. Go-to-market
**Produkt #1: CostGuard**
- **Hvem:** Norske bedrifter med GCP-kostnader de ikke kontrollerer
- **Hva:** Autonomt kostnadsovervåkningsverktøy med AI-anomali-deteksjon
- **Pris:** $300500/mnd per kunde (breakeven ved 1 kunde)
- **Salgskanal:** Chris selv → HITL-møte → `terraform apply`
### CostGuard — prismodell v2 (godkjent 2026-06-12)
**Produkt #2: Threadstone** (Q3 2026)
- Definisjon låses når Modul #1 har første kunde.
> **Prinsipp:** "Meet them where they are" — CostGuard push-first. Jason finner kunden, ikke omvendt.
**Medioteq — Joint Venture (ikke en vanlig kunde)**
> Medioteq er et partnersamarbeid der Vauco AS bidrar med plattform, infrastruktur og AI-kompetanse. Dette er **ikke** et standard SaaS-kundeforhold — Vauco AS hjelper Medioteq med å bygge sin kliniske AI-løsning på OPAX-plattformen som et joint venture. Milestone C4 (HITL-møte) er derfor et **partnerstrategimøte**, ikke et salgsmøte. Kliniske data forblir isolert i `europe-north1` (Medioteq GCP-prosjekt). BankID planlegges på `-os`-domener for kliniske brukere.
#### Tier-oversikt
| Tier | GCP-spend/mnd | Pris | Kjerneløfte |
|------|--------------|------|-------------|
| **Starter** | $0 $3k | **$499/mnd** | Synlighet — du vet hva du bruker |
| **Guard** | $3k $15k | **$999/mnd** | Kontroll — du stopper sløsing før det skjer |
| **Shield** | $15k $50k | **$1.999/mnd** | Automatisering — Jason handler, ikke bare varsler |
| **Enterprise** | > $50k | **$3.500+/mnd** | Platform — Vauco er din interne FinOps-funksjon |
#### Hva er inkludert per tier
**Starter — $499/mnd**
- CostGuard dashboard (read-only)
- Daglig kostnadsoversikt per GCP-tjeneste
- Anomali-varsler → e-post (månedlig rapport)
- 1 bruker-login
- Webhook til én kanal (Slack/Teams/Chat/etc.)
**Guard — $999/mnd**
- Alt i Starter, pluss:
- Budsjett-enforcement (Jason setter og overvåker grenser)
- AI-anbefalinger: årsak + handling per anomali
- Sanntids spike-varsler
- E-post ukentlig digest
- SMS-varsler ved kritiske spikes (Twilio)
- Interaktiv Jason i valgt chat-kanal
- 3 bruker-logins
- Slack + Teams + Google Chat støtte
**Shield — $1.999/mnd**
- Alt i Guard, pluss:
- Automatisk remediation (Jason stopper overforbruk)
- Multi-GCP-prosjekt (opp til 5)
- CUD-anbefalinger (Committed Use Discounts)
- FinOps-rapport til CFO/styret
- Tagging-enforcement
- 10 bruker-logins
- Dedikert onboarding med Chris
- SLA: respons innen 4 timer
**Enterprise — $3.500+/mnd**
- Alt i Shield, pluss:
- Ubegrenset GCP-prosjekter + multi-org
- Jason som dedikert FinOps-agent (tilpasset kundens stack)
- Terraform cost gates (blokkerer deploys over budsjett)
- CI/CD cost gates
- Custom rapportering + BI-eksport
- BankID / SSO
- Dedikert subdomain: `costguard.<kunde>.no`
- SLA: 99.9% uptime, respons innen 1 time
- Kvartalsvis strategimøte med Chris
#### Push-first arkitektur — Delivery layer
```
GCP-event → Jason analyserer → Delivery layer → Kanal
├── Webhook (Slack/Teams/Chat/Discord/etc.) [CG5a]
├── E-post (SendGrid) [CG5b]
├── SMS (Twilio) [Guard+] [CG5c]
└── In-app (CG6 dashboard)
```
Kunden setter opp sin foretrukne kanal ved onboarding — Jason finner dem der.
#### Markedsposisjon
| Konkurrent | Pris | Svakhet | CostGuard vinner på |
|-----------|------|---------|--------------------|
| Kubecost Business | $199/mnd | Kun K8s, ingen AI | GCP-native + Jason AI |
| Apptio Cloudability | $1.930/mnd | Komplekst, enterprise-only | Enklere, raskere, billigere |
| CloudHealth | $5.400+/mnd | Overkill for SMB | Pris + push-first UX |
**Salgspitch:** *"Du trenger ikke lære et nytt verktøy. Jason finner deg."*
### Produkt #2: Threadstone (Q3 2026)
Definisjon låses når Modul #1 har første kunde.
### Medioteq — Joint Venture (ikke en vanlig kunde)
> Medioteq er et partnersamarbeid. **Ikke** standard SaaS-kundeforhold. C4 er partnerstrategimøte.
---
@ -338,60 +392,25 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
## 12. OPAX — fremtidig visjon
### Operator Hub (OX1 → OX2) — Chris sitt cockpit
OPAX (`opax.vauco.no`) er Chris sin **komplette arbeidsflate**.
**Ferdig:**
- ✅ opax.html LIVE via `GET /` — absolutt sti, fikset 2026-06-10
- ✅ Jason-chat (`/static/jason.html`) — OX1c LIVE 2026-06-10
- ✅ Billing dashboard
- ✅ Cloud Build live-widget — OX1a
- ✅ Embedded TUI-panel — OX1b
- ✅ Token Intelligence endepunkter — CG4a+c
- ✅ CI5 — OPAX-MCP build+deploy
- ✅ CI6 — Jason kaller MCP live
- ✅ opax.html LIVE via `GET /`
- ✅ Jason-chat LIVE
- ✅ Billing dashboard + Chart.js donut (CG4b)
- ✅ Cloud Build live-widget
- ✅ Token Intelligence endepunkter
- ✅ CI5+CI6 — OPAX-MCP live
**Gjenstår:**
- OX2 — Command Hub: sy sammen alle grensesnitt
- Token Intelligence dashboard i UI — CG4b
- OPAX-MCP full CI/CD-kanal — CI1
### OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
Erstatter GitHub Actions som CI/CD-trigger. Jason/Emma kaller MCP-serveren direkte:
```
Chris / Jason / Emma
OPAX-MCP (agents/mcp_server/ → Cloud Run)
GCP APIs: Cloud Build, GCS, Secret Manager, Cloud DNS
Deploy skjer direkte — GitHub er kun kode-lager
```
**MCP-verktøy som skal eksponeres:**
| Tool | GCP API |
|------|----------|
| `deploy_service` | Cloud Build API |
| `push_static` | Storage API |
| `get_build_status` | Cloud Build API |
| `run_query` | BigQuery API |
| `write_secret` | Secret Manager API |
| `get_logs` | Cloud Logging API |
### Gemma/Emma-verdensbygging (ML-3b) — done ✅
`docs/gemma/world.md` er ferdig. Emma er ikke dum når hun starter.
- CG4d — Prisingskalkulator
- CG5a/b/c — Delivery layer
- CG6 — Klient-dashboard
- OX2 — Command Hub
- CI1 — OPAX-MCP full CI/CD
---
## 13. TUI-bridge — reaktivert som OX1b ✅
Embedded TUI-panel i OPAX operator hub er live som OX1b.
---
*OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-11*
*OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-12*

View File

@ -1,6 +1,6 @@
# VAUCO OS — ROADMAP
**Sist oppdatert:** 2026-06-11
**Sist oppdatert:** 2026-06-12
**Autoritet:** `docs/MASTERPLAN.md` > denne filen
> Append-only per sesjon. Ikke slett gamle faser — merk dem ✅ eller ❌.
@ -24,14 +24,37 @@
## Fase B — CostGuard klient-flow (🔴 NOW)
> **Fokus:** Bygg CostGuard som et produkt klienter faktisk kan bruke og betale for.
> C4 (Medioteq-møte) er deprioritert — skytes til Fase C/partnerstrategimøte. Kode først.
> Prismodell v2 godkjent 2026-06-12. Push-first arkitektur: Jason finner kunden — ikke omvendt.
> C4 (Medioteq) er deprioritert og er et partnerstrategimøte (joint venture), ikke salg.
### CG4 — Kalkulator & UI
| ID | Oppgave | Status | Prioritet |
|----|---------|--------|-----------|
| **CG4d** | Kundeprisingskalkulator — klient ser estimert kostnad basert på token-forbruk | 🔴 | Høy |
| **CG5** | CostGuard klient-onboarding flow — provisjonering + første login | 🔴 | Høy |
| **CG6** | CostGuard klient-dashboard — `costguard.oss.vauco.no` klient-view | 🔴 | Høy |
| OX2 | OPAX Hub: koble gjenstående funksjoner | 🟠 | Medium |
| **CG4d** | Prisingskalkulator — GCP-spend slider, tier-highlighter, ROI-beregning | 🔴 | Høy |
| **CG6** | Klient-dashboard på `costguard.oss.vauco.no` — frontend-only mot eksisterende API | 🔴 | Høy |
### CG5 — Delivery layer (push-first)
> Jason leverer til kunden der de allerede er. Onboarding-spørsmål #1: "Hvor vil du at Jason skal nå deg?"
| ID | Oppgave | Status | Tier | Prioritet |
|----|---------|--------|------|-----------|
| **CG5a** | Delivery layer + webhook-onboarding — `POST /notify/webhook` → Slack/Teams/Chat/Discord/etc. | 🔴 | Starter+ | Høy |
| **CG5b** | E-postvarsler — SendGrid integrasjon, daglig digest + månedlig rapport | 🔴 | Starter+ | Høy |
| **CG5c** | SMS-varsler — Twilio integrasjon, kun kritiske spikes | 🔴 | Guard+ | Medium |
### CG5 — Øvrig onboarding
| ID | Oppgave | Status | Prioritet |
|----|---------|--------|-----------|
| **CG5-onboard** | Klient-onboarding flow — provisjonering + første login + kanal-oppsett | 🔴 | Høy |
### Infrastruktur (parallelt)
| ID | Oppgave | Status | Prioritet |
|----|---------|--------|-----------|
| OX2 | OPAX Hub: koble gjenværende funksjoner | 🟠 | Medium |
| CI1 | OPAX-MCP: full CI/CD-kanal (CI1ae) | 🟠 | Medium |
| ML-3a | GCP GPU-VM for Emma (Gemma 4) + `emma.vauger@vauco.no` | 🟠 | Medium |
@ -39,55 +62,40 @@
## Fase C — Salg + multi-tenant (🟡 LATER)
> **Medioteq er et joint venture — ikke en vanlig kunde.** C4 er et partnerstrategimøte, ikke et salgsmøte.
| ID | Oppgave | Status | Notat |
|----|---------|--------|-------|
| **C4** | Medioteq HITL-møte → partnerstrategimøte (joint venture) | 🟡 | Aktiveres når CostGuard klient-flow er klar |
| **C4** | Medioteq partnerstrategimøte (joint venture) | 🟡 | Aktiveres når CG-klient-flow er klar |
| **C5** | Salgsdemo | 🟡 | Avventer C4 |
| ML-3c | Hybrid agent: Emma internt / Jason for kunder | 🟡 | |
| T1T4 | Threadstone full app | 🟡 | |
| Fase C | Multi-tenant: `<kunde>.vauco.no` via Terraform | 🟡 | |
| OQ-15 | BQ billing_export tabell aktivering | 🟡 | |
| OQ-17 | `github-token` secret alias fra `github-pat` | 🟡 | |
| CG4d | Kundeprisingskalkulator | 🟡 | |
---
## Sesjon-logg
### 2026-06-10 — OPAX-fix + absolutte stier
**Hva ble gjort:**
- Diagnostiserte `{"detail":"Not Found"}``opax.vauco.no` etter IAP-login
- Rot-årsak: `app.py` manglet `GET /`-rute + `static/` var ikke kopiert inn i Docker-imaget
- Fix 1: `agents/core-logic/Dockerfile` — lagt til `COPY static/ ./static/`
- Fix 2: `agents/core-logic/app.py` — lagt til `GET /` og `GET /static/{filename}` med absolutt `Path(__file__)`-forankret sti
- Fix: `COPY static/` i Dockerfile + `GET /` rute med absolutt sti i `app.py`
- Dokumentert i AGENT_RULEBOOK R-05, R-06, R-07
### 2026-06-10 kveld — Boot prompt + cron + webhook + konfliktsjekk
**Hva ble gjort:**
- `docs/UNIVERSAL_BOOT_PROMPT.md` v1.4 opprettet
- `boot.sh` region-fix: `europe-west1``us-central1`
- `cloudbuild.yaml` notify-fix: linjeskift + URL
### 2026-06-10 kveld — Boot prompt + cron + webhook
- `UNIVERSAL_BOOT_PROMPT.md` v1.4 opprettet
- `boot.sh` region-fix, `cloudbuild.yaml` notify-fix
- `vm-teardown.sh` + `vm-startup.sh` opprettet
- Cron-varsler til Google Chat (22:0002:45 CEST) aktivert på VM
- AGENTS.md disclaimer lagt til
- HANDOFF oversskrevet med dagens state
- OX2 satt til 🟠 — v1 live, funksjoner under bygg
- Cron-varsler til Google Chat aktivert på VM
### 2026-06-11 — CG4b live + strategisk pivoting
- Chart.js donut live — CG4b ✅
- C4 (Medioteq) deprioritert — presisert som joint venture, ikke kunde
- Fokus satt til CostGuard klient-flow
**Hva ble gjort:**
- Chart.js CDN + `renderDonut()` + canvas i opax.html — build `2f385fe3` ✅ grønt
- CG4b → ✅
- C4 (Medioteq) deprioritert — fokus satt til CostGuard klient-flow (CG4d, CG5, CG6)
- ROADMAP restrukturert: Fase B = CostGuard klient-flow, Fase C = salg
### 2026-06-11 — Medioteq presisert som joint venture
**Hva ble gjort:**
- Medioteq definert som joint venture (Vauco AS hjelper Medioteq) — ikke en vanlig SaaS-kunde
- C4 relablet fra "første betalende kunde" til "partnerstrategimøte"
- MASTERPLAN seksjon 10, ROADMAP Fase C-note, og HANDOFF oppdatert tilsvarende
### 2026-06-12 — Prismodell v2 + push-first arkitektur
- Prismodell revidert basert på markedsanalyse (Kubecost/Cloudability/CloudHealth)
- Ny tier-struktur: Starter $499 / Guard $999 / Shield $1.999 / Enterprise $3.500+
- Tier-grenser basert på kundens GCP-spend (ikke token-volum)
- Push-first konsept: Jason finner kunden der de er
- Delivery layer definert: CG5a (webhook) + CG5b (e-post) + CG5c (SMS)
- MASTERPLAN seksjon 10 oppdatert med full tier-spesifikasjon