8.4 KiB
VAUCO MASTERPLAN — Chris Christiansen
Sist oppdatert: 2026-05-27 20:xx CEST Status: ✅ FASE A KOMPLETT | ✅ FASE B KOMPLETT | ✅ ML-1 live | ✅ CG1+CG2 live | ✅ OAuth live | CG3 neste
KONTEKST — Hva vi bygger
To parallelle spor:
-
OPAX — AI-drevet operativsystem for deg selv (intern cockpit,
opax.vauco.no). Medioteq og andre kunder onboardes via OPAX/Terraform — du styrer det selv innenfra OPAX, ikke her. -
CostGuard — Salgbart produkt. AI-drevet GCP-kostnadsovervåking som selges til andre bedrifter. Stack: Dialogflow CX → OSVauco Cloud Run → Cloud Billing API → Gemini 2.5 Flash Pris å drifte: ~$32-45/mnd. Salgspris: $99-299/mnd pr. kunde. Dette er fokus nå.
Repo-oversikt:
| Repo | Hva det er |
|---|---|
OSVauco |
Kjerne: Cloud Run agent, GCP-scripts, ml/, auth/ |
vauco-gemini-tui-bridge |
Din TUI-cockpit |
vauco-os |
Arkitektur og kundedok |
vauco-bootstrap |
Terraform-modul for kunde-provisjonering (Fase C) |
deep-dream |
Strategisk visjon — aldri deploy herfra |
AGENT-IDENTITET
| Identitet | E-post | Rolle | Formål |
|---|---|---|---|
| Eier / admin | chris.christiansen@vauco.no |
billing.admin + billing.viewer |
Full kontroll |
| Agent (OPAX) | jason.vauger@vauco.no |
billing.viewer |
Hente og rapportere kostnadsdata autonomt |
| Fremtidig gruppe | billing@vauco.no |
billing.viewer (Fase C) |
Delt innboks for team og kunder |
DNS / DOMENE-ARKITEKTUR
| Domene | Type | Teknologi | Fase |
|---|---|---|---|
opax.vauco.no |
Intern cockpit (kun Chris) | CNAME → Cloud Run | ✅ Live |
costguard.vauco.no |
CostGuard salgsdemo | CNAME → Cloud Run /static/ | CG3 neste |
kunde1.vauco.no / kundedomener |
Kunde-instanser | LB + IAP (Terraform) | Fase C |
CLOUD RUN — LIVE ENDEPUNKTER
Service: osvauco-agent | Region: europe-west1
URL: https://osvauco-agent-357036551735.europe-west1.run.app
Siste revisjon: osvauco-agent-00064-p9h
| Endepunkt | Status | Beskrivelse |
|---|---|---|
GET /health |
✅ | Health check |
POST /run |
✅ | Agent (light/heavy) |
POST /run/dag |
✅ | Parallell DAG |
GET /billing/summary?client_id=X |
✅ | Kostnad per tjeneste siste 30d |
GET /billing/forecast?client_id=X |
✅ | Prognose basert på 7d snitt |
GET /billing/anomalies?client_id=X |
✅ | Anomali-deteksjon + Pub/Sub |
GET /auth/login?client_id=X |
✅ | Start OAuth2-flow for klient |
GET /auth/callback |
✅ | Google redirect → lagrer token |
GET /static/billing-dashboard.html |
✅ | Billing dashboard UI |
GET /state |
✅ | Agent state snapshot |
GET /telemetry/history |
✅ | Telemetri |
OAuth credentials (Vauco OS Web App):
- Client ID:
357036551735-ka7t2fv9ue2jp01bs826hpdctlvispuo.apps.googleusercontent.com - Redirect URI:
https://osvauco-agent-357036551735.europe-west1.run.app/auth/callback - Secrets i Secret Manager:
OAUTH_CLIENT_ID,OAUTH_CLIENT_SECRET
BigQuery billing export:
- Dataset:
propane-will-491900-m5:billing_export - Tabell: ikke ankommet ennå (aktivert 2026-05-27, forventet innen 24t)
- Når tabell dukker opp: sett
BILLING_TABLEenv-var i Cloud Run
FASE CG — CostGuard ← AKTIV SPRINT
[x] CG1 — Billing API-integrasjon
ml/billing_agent.py: GET /billing/summary, /forecast
BQ-spørring klar, venter på billing_export-tabell (i morgen)
[x] CG2 — Anomali-deteksjon
ml/anomaly_detector.py: forbruk > 2x 7d-snitt → Pub/Sub
[x] AUTH — OAuth2 klient-onboarding
auth/oauth_flow.py + auth/token_store.py
/auth/login + /auth/callback live i main.py
Token lagres per client_id i Secret Manager
[ ] CG3 — CostGuard landingsside
costguard.vauco.no: "Koble til GCP"-knapp → /auth/login
Dialogflow Messenger embed (Jason-v1 FAQ, DX1-DX3 ferdig)
Billing dashboard embed (/static/billing-dashboard.html ferdig)
CNAME costguard.vauco.no → Cloud Run
[ ] CG4 — Onboard første kunde via vauco-bootstrap Terraform-modul
[ ] CG5 — Salgsdemo klar
FASE A — ✅ KOMPLETT
[x] A1-A9 — Alle ferdig. Se tidligere historikk.
[x] SMOKE — scripts/smoke-test.sh: 10/10 ✅ (2026-05-26 01:45 CEST)
RAG corpus: projects/357036551735/locations/europe-west1/ragCorpora/6917529027641081856
Memory Engine: projects/357036551735/locations/us-central1/reasoningEngines/2260229219579592704
FASE A2 — Dialogflow CX FAQ-agent
[x] DX1 — Agent: OSVauco FAQ, us-central1, propane-will-491900-m5
[x] DX2 — Data Store: threadstone-faq-store, 39 Q&A-par
[x] DX3 — Norsk systemprompt, fungerer
[x] DX4 — Parkert til C4 (Medioteq) — Cloud Run URL: https://osvauco-agent-zjbqp3prqq-uc.a.run.app
[ ] DX5 — Publiser via Dialogflow Messenger (trigger: CG3)
[ ] DX6 — Budsjett-alert Dialogflow CX
[ ] DX7 — Voice-kanal (trigger: etter DX5)
[ ] B6 — Eksporter Dialogflow CX til versjonskontroll
FASE ML
[x] ML-1 — DAG, state store, telemetri ✅ (2026-05-25)
[ ] ML-2 — Adaptiv intelligens (trigger: >500 telemetri-kall)
[ ] ML-3 — Strategisk innsikt (trigger: ML-2 + første kunde)
FASE B — ✅ KOMPLETT
[x] B1 — Cloud Run live
[x] B2 — GitHub PAT i Secret Manager
[x] B3 — Cloud Build 2nd gen (trigger: osvauco-agent-deploy)
[x] B4 — GitHub App webhook
[x] B5 — Cost guard 500 NOK/mnd + GCS ML-telemetri
[x] B1-IAP — opax.vauco.no CNAME live
[ ] B6 — Eksporter Dialogflow CX (se DX-lista)
FASE C — Kunde-onboarding (Medioteq og videre)
NB: Medioteq og fremtidige kunder onboardes av deg selv via OPAX innenfra. Dette er ikke en oppgave for ekstern assistanse. Terraform-modulen er klar.
[x] C1 — vauco-bootstrap Terraform-modul klar (validate: PASS)
[x] C2 — vauco-os kundeflate + CUSTOMER_API.md
[x] C3 — billing@vauco.no Google Group
[ ] C4 — Medioteq: HITL-møte → velg project_id → terraform apply
C4.1: project_id + billing_account_id (HITL-gate)
C4.2: Auth (Google login → vurder BankID sluttfase)
INFRASTRUKTUR
| Script | Rolle | Status |
|---|---|---|
00-authcheck.sh |
Verifiser gcloud-innlogging | Klar |
01-setupenv.sh |
Aktiver APIs, SA, IAM, budsjetter, Pub/Sub | Klar |
02-deploy.sh |
IAP-deploy på eget domene | Klar |
03-teardown.sh |
Riv ned Cloud Run (kjør hver kveld) | Klar |
04-observability-setup.sh |
Cloud Monitoring + alerting | Klar |
05-cloudrun-deploy.sh |
ADK-agent til Cloud Run | Klar |
06-cicd-setup.sh |
GitHub → Cloud Build 2nd gen | Klar |
07-rag-setup.sh |
RAG Engine corpus + fallback | Klar |
08-memorybank-setup.sh |
Memory Bank + auto-install | Klar |
09-cost-check.sh |
Kostnadsoversikt + Artifact Registry | Klar |
10-cost-guard.sh |
Cloud Function auto-teardown + GCS telemetri sink | Klar |
11-billing-iam-hardening.sh |
Billing IAM hardening | Klar |
scripts/smoke-test.sh |
10-case røyktest | Klar |
KJENTE HULL
| ID | Hva | Status |
|---|---|---|
| OQ-01 | Memory Bank — ingen gcloud CLI | Python SDK only |
| OQ-02 | RAG Engine regional availability | Auto-fallback til us-east1 |
| OQ-03 | CMEK ikke for RAG Engine | VPC-SC only |
| OQ-04 | Cloud Build GitHub OAuth | LØST — 2nd gen |
| OQ-05 | gcloud alpha monitoring ustabil | Fallback til true |
| OQ-06 | Memory Bank auto-discovery | Eksplisitt env var |
| OQ-11 | Dialogflow CX Data Store norsk indeksering | Teste nb-NO i DX2 |
| OQ-12 | gemini-2.0-flash ikke tilgjengelig | LØST — gemini-2.5-flash/pro + LOCATION=global |
| OQ-13 | ML-telemetri /tmp/ flyktig | LØST — B5: GCS sink |
| OQ-14 | LB vs CNAME | LØST — CNAME intern, LB Terraform for kunder |
| OQ-15 | billing_export BQ-tabell ikke ankommet | Venter — aktivert 2026-05-27 |
DRIFTSKOSTNADER
| Scenario | Kostnad/mnd |
|---|---|
| Bare deg (dev, teardown daglig) | ~$25-75 |
| Dev + Dialogflow CX FAQ (10k req) | ~$145-195 |
| 1 betalende kunde (lett prod) | ~$115-280 |
| Medioteq-type (klinisk, compliance) | ~$220-350 |
Breakeven: 1 kunde til $300-500/mnd dekker alle kostnader.
LLM-RUTINGSSTRATEGI
| Modell | Pris (per 1M) | Bruksområde |
|---|---|---|
gemini-2.5-flash |
$0.30 / $2.50 | light — alle enkle kall |
gemini-2.5-pro |
$1.25 / $10.00 | heavy — reasoning, compliance |
Autoriserte heavy-brukere: opax, admin
OSVauco-NMTMD-GCOS | propane-will-491900-m5 | global (modell) / europe-west1 (infra)