diff --git a/docs/HANDOFF.md b/docs/HANDOFF.md index 6275ca7..ccd5c00 100644 --- a/docs/HANDOFF.md +++ b/docs/HANDOFF.md @@ -1,107 +1,95 @@ # HANDOFF — Vauco OS -**Sist oppdatert:** 2026-06-11 14:48 CEST +**Sist oppdatert:** 2026-06-12 16:09 CEST **Skrevet av:** Perplexity (stand-in) via GitHub MCP -**Sprint:** Medioteq presisert som joint venture · Dokumentasjon oppdatert +**Sprint:** CostGuard prismodell v2 + push-first arkitektur + delivery layer definert --- -## ✅ Gjort denne sesjonen (2026-06-11 — del 2) +## ✅ Gjort denne sesjonen (2026-06-12) | Task | Detalj | |------|--------| -| **Medioteq JV** | Medioteq definert som joint venture i MASTERPLAN seksjon 10, ROADMAP Fase C og HANDOFF — ikke en vanlig SaaS-kunde | -| **C4 relablet** | "første betalende kunde" → "partnerstrategimøte (joint venture)" i alle tre filer | +| **MASTERPLAN seksjon 10** | Prismodell v2 godkjent og pushet — Starter $499 / Guard $999 / Shield $1.999 / Enterprise $3.500+ | +| **Tier-grenser** | Basert på kundens GCP-spend (ikke token-volum) — $0–3k / $3–15k / $15–50k / >$50k | +| **Feature-spec per tier** | Full feature-liste per tier definert og låst i MASTERPLAN | +| **Push-first arkitektur** | Konsept: "Jason finner kunden — ikke omvendt". Delivery layer definert | +| **Delivery layer** | Tre kanaler: CG5a webhook / CG5b e-post / CG5c SMS | +| **Nye endepunkter definert** | `POST /notify/webhook`, `POST /notify/email`, `POST /notify/sms` — ikke bygget ennå | +| **Markedsposisjon** | Dokumentert mot Kubecost ($199) / Cloudability ($1.930) / CloudHealth ($5.400+) | +| **ROADMAP oppdatert** | CG4d + CG5a + CG5b + CG5c + CG5-onboard lagt til som 🔴 NOW | +| **Commit** | [`c312f4a`](https://github.com/vauco-saas/OSVauco/commit/c312f4a7274f65eb213477956854977df10d7a7a) | --- -## ✅ Gjort tidligere i dag (2026-06-11 — del 1) +## ✅ Gjort forrige sesjon (2026-06-11) | Task | Detalj | |------|--------| -| **CG4b** | Chart.js donut live i billing-panel — `renderDonut()` med destroy-guard, 8-farge palett, DOM-safe canvas-injeksjon etter `el.innerHTML` | -| **Build 2f385fe3** | ✅ Grønt — commit `87345b1` — us-central1 — deploy OK | -| **ROADMAP** | CG4b satt til ✅, sesjon-logg 2026-06-11 lagt til | +| **CG4b** | Chart.js donut live — `renderDonut()`, 8-farge palett, DOM-safe | +| **Build 2f385fe3** | ✅ Grønt — commit `87345b1` | +| **Medioteq presisert** | Joint venture, ikke SaaS-kunde — alle filer oppdatert | +| **C4 deprioritert** | Partnerstrategimøte, aktiveres etter CostGuard klient-flow | --- -## ✅ Gjort forrige sesjon (2026-06-10 natt) +## 🔴 NOW — Neste oppgaver (prioritert rekkefølge) -| Task | Detalj | -|------|--------| -| **OX1-fix** | opax.vauco.no live via `GET /` — absolutt sti + Dockerfile static copy | -| **R-05/R-06/R-07** | Låste regler i AGENT_RULEBOOK — absolutte stier, Dockerfile COPY, FastAPI rot-rute | -| **boot.sh fix** | Region rettet: `europe-west1` → `us-central1`, DIRECT_URL oppdatert | -| **UNIVERSAL_BOOT_PROMPT v1.4** | Opprettet `docs/UNIVERSAL_BOOT_PROMPT.md` | -| **cloudbuild.yaml fix** | Notify-steg linjeskift-feil rettet, smoke-test URL oppdatert | -| **vm-teardown.sh / vm-startup.sh** | Opprettet — cron `0 1 * * *` (03:00 CEST) aktiv | -| **Cron-varsler** | Google Chat-varsler kl 22–02:45 CEST via Secret Manager webhook | -| **AGENTS.md** | Disclaimer lagt til — ML-visjon, ikke operativ | -| **MD-modul i OPAX** | `static/opax.html` — ny sidebar-seksjon "Dokumentasjon" med 8 kort | +| ID | Oppgave | Prioritet | Byggetid | Notat | +|----|---------|-----------|----------|-------| +| **CG5a** | Delivery layer + webhook — `POST /notify/webhook` → Slack/Teams/Chat/Discord | 🔴 Høy | 2–3t | Gir Starter-tieren verdi umiddelbart | +| **CG4d** | Prisingskalkulator i `opax.html` — GCP-spend slider, tier-highlight, ROI | 🔴 Høy | 2t | Selger produktet visuelt | +| **CG5b** | E-post digest — SendGrid, daglig + månedlig rapport | 🔴 Høy | 2t | Starter-tier inkludert | +| **CG5c** | SMS-varsler — Twilio, kun kritiske spikes | 🔴 Medium | 2t | Guard+ | +| **CG5-onboard** | Klient-onboarding flow — provisjonering + kanal-oppsett | 🔴 Høy | 1–2d | Kobler alt sammen | +| **CG6** | Klient-dashboard på `costguard.oss.vauco.no` | 🔴 Høy | 2–3d | Frontend mot eksisterende API | --- -## 🔴 NOW — Aktive oppgaver (prioritert rekkefølge) +## 🟠 NEXT (etter Fase B) -| ID | Oppgave | Prioritet | Notat | -|----|---------|-----------|-------| -| **CG4d** | Kundeprisingskalkulator — token-basert estimat per klient | 🔴 Høy | Neste naturlige steg etter CG4b | -| **CG5** | CostGuard klient-onboarding flow | 🔴 Høy | Provisjonering + første login | -| **CG6** | CostGuard klient-dashboard | 🔴 Høy | `costguard.oss.vauco.no` klient-view | -| **OX2** | OPAX Hub: koble gjenværende funksjoner | 🟠 Høy | MD-modul ✅, billing-donut ✅ | -| **CI1** | OPAX-MCP: full CI/CD-kanal (CI1a–e) | 🟠 Høy | `agents/mcp_server/server.py` mangler | -| **ML-3a** | Emma GPU-VM (Gemma 4) + `emma.vauger@vauco.no` | 🟠 Høy | `docs/gemma/world.md` mangler ennå | -| **C4** | Medioteq HITL-møte → partnerstrategimøte (joint venture) | 🟡 | Aktiveres når CostGuard-flow er klar | - ---- - -## 🟠 NEXT — Naturlig neste sesjon - -### Alternativ 1 — CG4d (kundeprisingskalkulator) -- Neste naturlige steg etter CG4b -- Kalkuler estimert kostnad per kunde basert på token-forbruk - -### Alternativ 2 — ML-3a + world.md -- Opprett `docs/gemma/world.md` — Emmas kontekstpakke -- Provisioner `g2-standard-4` Spot VM, L4 GPU, `europe-west4` - -### Alternativ 3 — C4 Medioteq (joint venture) -- Forbered partnerstrategi-manus (ikke salgsdemo) -- Definer rolle- og ansvarsfordeling mellom Vauco AS og Medioteq +| ID | Oppgave | +|----|---------| +| CI1 | OPAX-MCP full CI/CD-kanal (CI1a–e) | +| ML-3a | GPU-VM for Emma (Gemma 4) + `emma.vauger@vauco.no` | +| C4 | Medioteq partnerstrategimøte | +| C5 | Salgsdemo | --- ## 🏗 Systemstatus | Komponent | Status | -|---|---| +|-----------|--------| | Cloud Run `osvauco-agent` | ✅ Live, `us-central1` | | `opax.vauco.no` (LB + SSL + IAP) | ✅ Live | -| `static/opax.html` | ✅ Live — OPAX Hub v1 inkl. MD-modul + billing donut | +| `static/opax.html` | ✅ Live — OPAX Hub inkl. billing donut | | `static/jason.html` | ✅ Live — Jason fullskjerm | | Cloud Build trigger | ✅ Operativt | -| Google Chat webhook | ✅ Verifisert live | -| Cron teardown (03:00 CEST) | ✅ Aktiv på VM | -| Jason (Cloud Run agent) | ✅ `/run` operativt | | BQ token-logging | ✅ CG3e live | -| Chart.js donut (billing) | ✅ CG4b live — build 2f385fe3 | -| Emma (Gemma GPU-VM) | 🔮 ML-3a trigger ikke utløst | -| OPAX-MCP server | 🔮 CI1 — neste sprint | -| `docs/gemma/world.md` | ❌ Mangler — opprett neste sesjon | +| Chart.js donut (billing) | ✅ CG4b live | +| `POST /notify/webhook` | 🔴 Ikke bygget — CG5a | +| `POST /notify/email` | 🔴 Ikke bygget — CG5b | +| `POST /notify/sms` | 🔴 Ikke bygget — CG5c | +| Prisingskalkulator | 🔴 Ikke bygget — CG4d | +| Klient-onboarding | 🔴 Ikke bygget — CG5-onboard | +| Klient-dashboard | 🔴 Ikke bygget — CG6 | +| Emma (Gemma GPU-VM) | 🔮 ML-3a ikke utløst | +| OPAX-MCP server | 🔮 CI1 | --- ## 📋 Nøkkelinformasjon | Nøkkel | Verdi | -|---|---| +|--------|-------| | GCP Project | `propane-will-491900-m5` | | Region (LÅST) | `us-central1` | | Cloud Run service | `osvauco-agent` | | Cloud Run URL (direkte) | `https://osvauco-agent-zjbqp3prqq-uc.a.run.app` | | Public URL | `https://opax.vauco.no` | | Jason chat | `https://opax.vauco.no/static/jason.html` | -| OPAX Hub | `https://opax.vauco.no/static/opax.html` | +| OPAX Hub | `https://opax.vauco.no/` | | LB IP | `34.98.77.173` | | VM | `osvauco-dev-vm` · `us-central1-b` · `e2-standard-2` | | AI-modell | `gemini-2.5-pro` via Vertex | @@ -112,17 +100,29 @@ --- -## ⚠️ Vanlige feil — ikke gjør disse +## CostGuard — prismodell v2 (fasit for neste agent) -- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Kun denne. Overskriv den. -- **Ikke gjenoppliv `VAUCO_OS_ROADMAP.md`.** Slettet. Bruk `ROADMAP.md`. +| Tier | GCP-spend/mnd | Pris | Kjernefunksjon | +|------|--------------|------|----------------| +| Starter | $0–$3k | $499/mnd | Dashboard + e-postvarsler + 1 webhook-kanal | +| Guard | $3k–$15k | $999/mnd | + sanntid spikes + AI-anbefalinger + SMS + interaktiv Jason i chat | +| Shield | $15k–$50k | $1.999/mnd | + auto-remediation + multi-prosjekt + CUD-anbefalinger | +| Enterprise | >$50k | $3.500+/mnd | + dedikert Jason-agent + CI/CD cost gates + SSO + custom subdomain | + +**Push-first prinsipp:** Jason leverer til kunden der de er (webhook/e-post/SMS). Kunden setter opp kanal ved onboarding. +**Salgspitch:** *"Du trenger ikke lære et nytt verktøy. Jason finner deg."* + +--- + +## ⚠️ Regler — ikke gjør disse feilene + +- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Kun denne. Overskriv. - **Ikke bytt til Claude før kvote + `MODEL APPROVED`.** - **Ikke migrer fra us-central1** — regionen er låst. - **Ikke rør IAP/OAuth/Secret Manager** uten `DEPLOY GODKJENT`. - **Ikke opprett nye repos** uten `REPO APPROVED`. -- **Ikke hopp over HITL gates.** -- **Ikke bruk `europe-west1`** — all kode er us-central1. -- **Medioteq er et joint venture** — ikke behandle som vanlig SaaS-kunde i kode, infra eller kommunikasjon. +- **Medioteq er joint venture** — ikke behandle som vanlig SaaS-kunde. +- **Prismodell er låst** — ikke endre uten `PLAN APPROVED` fra Chris. --- @@ -137,4 +137,4 @@ --- -*Vauco AS · propane-will-491900-m5 · us-central1 · Jason + Emma (🔮) + Perplexity-stand-in · Sesjon 2026-06-11* +*Vauco AS · propane-will-491900-m5 · us-central1 · Jason live · Emma 🔮 · Perplexity stand-in · Sesjon 2026-06-12*