OSVauco/MASTERPLAN.md

12 KiB
Raw Blame History

VAUCO MASTERPLAN — Chris Christiansen

Sist oppdatert: 2026-05-26 CEST Status: Cloud Run live (light/heavy) | A5 Memory Bank gjenstår | ML-1 implementert | B-fasen neste


KONTEKST — Hva vi bygger

Ett AI-drevet operativsystem (OPAX) som kjører på Google Cloud. Du er første kunde. Når det virker for deg → selg det til andre.

Repo-oversikt:

Repo Hva det er
OSVauco Regler, GCP-scripts, agenter, docs — KJERNEN
vauco-gemini-tui-bridge Din TUI-cockpit
vauco-os Det kundene bruker
vauco-bootstrap Onboarding av nye kunder (→ Terraform-modul i 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

Agent-kapabiliteter med billing.viewer:

  • Svare på «Hva koster dette prosjektet denne måneden?»
  • Sende ukentlig kostnadsrapport til chat-appen
  • Reagere på Pub/Sub budget-alerts (via 10-cost-guard.sh)
  • Ikke: endre IAM, budsjetter eller koble prosjekter

CLOUD SHELL QUICK-START (kopi-klipp)

Bruk Cloud Shell: https://shell.cloud.google.com

# Steg 1: Klon og sett opp miljø
gcloud config set project propane-will-491900-m5
git clone https://github.com/chrischristiansen-glitch/OSVauco.git ~/OSVauco
cd ~/OSVauco

# Steg 2: Kopier og rediger .env
cp .env.example .env
nano .env
# Fyll ut: BILLING_ACCOUNT_ID, ALERT_EMAIL, GITHUB_APP_INSTALLATION_ID
# Alle andre verdier er ferdig-forhåndsutfylt

# Steg 3: Installer Python-avhengigheter
pip install google-adk google-cloud-aiplatform>=1.111.0 --quiet

# Steg 4: Kjør i rekkefølge (kilde .env først)
source .env
bash infrastructure/00-authcheck.sh
bash infrastructure/01-setupenv.sh
bash infrastructure/07-rag-setup.sh
# *** Kopier RAG_CORPUS_NAME fra output inn i .env ***
nano .env
source .env

bash infrastructure/08-memorybank-setup.sh
# *** Kopier MEMORY_ENGINE_NAME fra output inn i .env ***
nano .env
source .env

bash infrastructure/05-cloudrun-deploy.sh
bash infrastructure/04-observability-setup.sh
bash infrastructure/11-billing-iam-hardening.sh

# Om kvelden (OBLIGATORISK — unngå 24/7-fakturering):
bash infrastructure/03-teardown.sh

FASE A — Ferdigstill kjernen (GCP oppe)

Mål: Agenten din er live på Google Cloud | Tid: Ca. 2 timer

[x] A1 — cp .env.example .env og fyll inn verdier
[x] A2 — bash infrastructure/00-authcheck.sh
[x] A3 — bash infrastructure/01-setupenv.sh
[x] A4 — bash infrastructure/07-rag-setup.sh
        RAG corpus: projects/357036551735/locations/europe-west1/ragCorpora/6917529027641081856
[ ] A5 — bash infrastructure/08-memorybank-setup.sh
        OQ-01: Python SDK only (auto-installert av script)
        ACTION: Kopier MEMORY_ENGINE_NAME til .env
[x] A6 — Cloud Run live: osvauco-agent (europe-west1)
        URL: https://osvauco-agent-357036551735.europe-west1.run.app
        Modes: light (gemini-2.0-flash) | heavy (gemini-2.5-pro)
        Env: GOOGLE_CLOUD_LOCATION=us-central1 for modellkall
[x] A7 — bash infrastructure/04-observability-setup.sh
        TELEMETRI-KOORDINERING: A7 (Cloud Monitoring/Logging) og ml/telemetry.py er komplementære:
        - ml/telemetry.py: JSONL til /tmp/vauco_telemetry/ — agent-nivå (latens, mode, suksess)
        - A7 Cloud Monitoring: GCP-nivå (CPU, minne, request-rate, feil-rate)
        - I prod: GCS sink fra /tmp/ → gs://propane-will-491900-m5-telemetry/ (se 10-cost-guard.sh)
        Ingen konflikt — to lag, ulik granularitet. Begge beholdes.
[x] A8 — bash infrastructure/03-teardown.sh   (kjør hver kveld)
[x] A9 — bash infrastructure/11-billing-iam-hardening.sh

FASE A2 — Dialogflow CX FAQ-agent (parallelt med A4A9)

Mål: Generativ FAQ-agent live på OSVauco | Tid: Ca. 35 timer Kreditt: kr 5 822 (dialogflow_cx_credit_v2-0171F6-057E6B-A260BA) + $1 000 Playbooks-trial Detaljer: se docs/dialogflow-cx-budget-plan.md

[ ] DX1 — Opprett Playbook-agent i Conversational Agents Console
[ ] DX2 — Last opp FAQ-innhold som Data Store
[ ] DX3 — Konfigurer Playbook med norsk systemprompt
[ ] DX4 — Koble webhook mot OSVauco Cloud Run (etter A6)
[ ] DX5 — Publiser via Dialogflow Messenger (web-widget)
[ ] DX6 — Sett budsjett-alert for Dialogflow CX

FASE ML — ML-lag for OPAX (parallelt med B/C)

Mål: Agentene kjører parallelt, lærer fra bruk, gir strategisk innsikt Filer: ml/, AGENTS.md, docs/ml-integration.md

[x] ML-1 — Grunnlag (implementert 2026-05-25)
        Komponenter:
          ml/task_graph.py   — Dask DAG for parallell agent-kjøring
          ml/state_store.py  — Parameter Server state (in-memory)
          ml/telemetry.py    — JSONL-logging per agent-kall og DAG-kjøring
        Endepunkter i main.py:
          POST /run           — enkelt kall med telemetri + state push
          POST /run/dag       — parallell DAG over liste av meldinger
          GET  /state         — live Parameter Server snapshot
          GET  /telemetry/history — siste N state-operasjoner
        Telemetri-koordinering: se A7-notat over

[ ] ML-2 — Adaptiv intelligens (planlagt)
        ml/feedback_loop.py  — inkrementell feedback-loop (vauco-gemini-tui-bridge)
        ml/hypertuner.py     — ASHA hyperparametertuning (vauco-bootstrap)
        ml/heavy_predictor.py — heavy-mode prediksjon basert på historikk (OSVauco)
        Krav: dask-ml>=2024.4.0, ray[tune]>=2.10.0
        Trigger: nok telemetri-data fra ML-1 (> 500 kall)

[ ] ML-3 — Strategisk innsikt (planlagt)
        ml/agent_importance.py — XGBoost feature importance (OSVauco)
        experiments/pbt.py     — Population-Based Training (deep-dream)
        Krav: xgboost>=2.0.0
        Trigger: ML-2 ferdig + Fase C første kunde

Telemetri-ruting (ML-lag):

Miljø Lokasjon Arkivering
Lokal dev /tmp/vauco_telemetry/ Manuell
Cloud Run /tmp/vauco_telemetry/ 10-cost-guard.sh cron → GCS
Prod skala gs://propane-will-491900-m5-telemetry/ Auto via GCS sink

FASE B — Sikring og CI/CD

Mål: Begrenset tilgang og aktiv CI/CD | Tid: 1 time

[ ] B1 — bash infrastructure/02-deploy.sh   (IAP på opax.vauco.no)
[ ] B2 — Opprett GitHub PAT og legg i Secret Manager
[ ] B3 — bash infrastructure/06-cicd-setup.sh
[ ] B4 — Legg til webhook URL i Secret Manager
[ ] B5 — bash infrastructure/10-cost-guard.sh
        Aktiverer auto-teardown Cloud Function + chat-varsling
        OBS: 10-cost-guard.sh skal også sette opp GCS sink for ML-telemetri
[ ] B6 — Eksporter Dialogflow CX agent til versjonskontroll

FASE C — Første salgsmodul

Mål: Ny kunde onboardet på 30 minutter | Tid: Ukentlig arbeid

[ ] C1 — Pakk vauco-bootstrap som Terraform-modul
[ ] C2 — Pakk vauco-os som kundeflate
[ ] C3 — Opprett billing@vauco.no som Google Group
[ ] C4 — Første kunde: Medioteq

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 Klar
04-observability-setup.sh Cloud Monitoring + alerting (GCP-nivå) Klar
05-cloudrun-deploy.sh ADK-agent til Cloud Run Klar
06-cicd-setup.sh GitHub → Cloud Build 2nd gen Oppdatert
07-rag-setup.sh RAG Engine corpus + fallback Oppdatert
08-memorybank-setup.sh Memory Bank + auto-install Oppdatert
09-cost-check.sh Kostnadsoversikt + Artifact Registry Klar
10-cost-guard.sh Cloud Function auto-teardown + GCS ML-telemetri sink Ny
11-billing-iam-hardening.sh Billing IAM: viewer-roller + fjern domain Creator Ny

KJENTE HULL

ID Hva Workaround / 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 programmatisk connection
OQ-05 gcloud alpha monitoring ustabil Fallback til true
OQ-06 Memory Bank auto-discovery Eksplisitt env var
OQ-07 Monitoring email flag-format Teste i dev
OQ-08 VPC connector e2-micro regional Default us-central1
OQ-09 GCP billing: 0 viewers LØST11-billing-iam-hardening.sh
OQ-10 GCP billing: Creator på domenet LØST — fjernes når ORG_DOMAIN er satt
OQ-11 Dialogflow CX Data Store norsk indeksering Teste med nb-NO locale i DX2
OQ-12 gemini-2.0-flash ikke tilgjengelig europe-west1 LØST — GOOGLE_CLOUD_LOCATION=us-central1 for modellkall
OQ-13 ML-telemetri /tmp/ flyktig i Cloud Run B5: GCS sink via 10-cost-guard.sh

BEKREFTET GA-API

API Status
google.adk.Agent (ikke LlmAgent) Bekreftet GA-API
load_memory_tool Bekreftet fra adk-python samples
Cloud Build 2nd gen (cloudbuildv2) Bekreftet GA
CMEK ikke for RAG Engine Ikke støttet (OQ-03)
Idempotente scripts Trygt å kjøre flere ganger
03-teardown.sh hver kveld Agent Runtimes koster 24/7
Conversational Agents (Dialogflow CX) Playbooks GA
Dask scheduler="threads" i Cloud Run Bekreftet — ingen worker-prosesser nødvendig

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

Prinsipp: Lett modell i front (light), tung modell ved behov (heavy).

Modell Pris input/output (per 1M) EU-tilgang Bruksområde
gemini-2.0-flash $0.10 / $0.40 Ja (europe-west4) light — alle enkle kall
gemini-2.5-pro $1.25 / $10.00 Ja (europe-west4) heavy — kompleks reasoning, compliance
gemini-3.5-flash $1.50 / $9.00 Nei (kun US/global) heavy reasoning, Fase C

Rutetabell per modul:

Modul / Agent light heavy Trigger
OPAX billing-agent gemini-2.0-flash gemini-2.5-pro / gemini-3.5-flash mode: heavy
RAG retrieval gemini-2.0-flash gemini-2.5-pro Komplekse flertrinns-spørsmål
Memory Bank oppslag gemini-2.0-flash Aldri
TUI-cockpit gemini-2.0-flash gemini-3.5-flash Dyp analyse
vauco-os (kundeflate) gemini-2.0-flash gemini-2.5-pro Compliance
Dialogflow CX Playbooks Gemini (managed) Native
Fase C: Terraform-gen gemini-3.5-flash Standard for modulen
ML-2 heavy predictor gemini-2.0-flash Predikerer heavy-behov

Request-format:

{
  "message": "...",
  "user_id": "opax",
  "session_id": "opax-proj-001",
  "mode": "heavy"
}

Modellfordeling:

Parameter light heavy
Orchestrator gemini-2.0-flash gemini-2.5-pro
Sub-agenter gemini-2.0-flash gemini-2.5-pro
Reasoning gemini-2.0-flash gemini-3.5-flash
Multi-agent pipeline Nei Ja
Budsjettgrense $1/task $3/task

Autoriserte brukere for heavy mode: opax, admin Legacy-verdier A og A+ aksepteres og normaliseres automatisk.


TERRAFORM-VEIKART (Fase C)

Når Hva
Fase C: Medioteq vauco-bootstrap → Terraform-modul
Per kunde terraform apply -var="customer_id=X"
Ressurser per modul Cloud Run, Cloud Build 2nd gen, IAP, budsjett, SA, Dialogflow CX agent, ML state store
State-backend GCS bucket (TF_STATE_BUCKET)
Fase D Terraform Cloud for sentralisert state

OSVauco-NMTMD-GCOS | propane-will-491900-m5 | us-central1 (modell) / europe-west1 (infra)