# VAUCO OS โ€” MASTERPLAN **Eier:** Chris Christiansen ยท Vauco AS ยท Org.nr 935 989 779 **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. > **Regel #2:** Endringer her krever eksplisitt `PLAN APPROVED` fra Chris. > **Regel #3:** Roadmap โ†’ seksjon 7. Sesjonsstatus โ†’ `docs/HANDOFF.md`. Ingen andre handoff-filer. --- ## Lessons Learned - Cloud Build smoke-tests require: hardcoded canonical BASE_URL, bare identity token (no --audiences), and explicit run.invoker IAM binding for the Cloud Build service account on every service. - **2026-06-10 โ€” Absolutte filstier i Python:** Bruk alltid `Path(__file__).parent / "..."` for รฅ referere til statiske filer og konfigurasjon i FastAPI/Cloud Run. Aldri relativ sti som `"static/file.html"` โ€” dette bryter nรฅr WORKDIR avviker fra repo-rot (f.eks. i Docker). Regelen gjelder alle fremtidige tjenester og klientleveranser. - **2026-06-10 โ€” Dockerfile COPY static/:** `static/`-mappen mรฅ eksplisitt kopieres inn i Docker-imaget via `COPY static/ ./static/`. Den kopieres ikke automatisk selv om build-konteksten er repo-roten. - **2026-06-10 โ€” app.py mangler GET /:** FastAPI returnerer `{"detail":"Not Found"}` for alle ruter som ikke er definert. Sรธrg alltid for at rot-ruten er eksplisitt definert. - **2026-06-12 โ€” Mappestruktur mรฅ verifiseres mot repo:** MASTERPLAN-dokumentasjon av mappestruktur mรฅ alltid verifiseres via GitHub API fรธr bygging. Antakelser om struktur er ikke nok. --- ## 1. Plattformhierarki โ€” sannheten i รฉn modell ``` Vauco AS (selskap, eier alle merkevarer) โ”‚ โ”œโ”€โ”€ vauco.no (APEX โ€” bedriftens salgs- og portalside; ansiktet utad) โ”‚ โ””โ”€โ”€ VAUCO OS (plattform) โ””โ”€โ”€ OPAX (engine โ€” Cloud Run, RAG, agentic arkitektur, IAP) โ”œโ”€โ”€ Modul #1 ยท CostGuard (live pรฅ costguard.oss.vauco.no) โ”œโ”€โ”€ Modul #2 ยท Threadstone (landingsside live, app i bygg) โ””โ”€โ”€ Modul #3 ยท [navngis senere] Separat merkevare (parkert): โ””โ”€โ”€ Proof of Curiosity ``` | Nivรฅ | Hva | Hvem ser det | |---|---|---| | **vauco.no (apex)** | Bedriftens salgsportal | Alle | | Vauco OS | Plattformen Chris bygger | Internt | | OPAX | Engine som driver modulene | Internt + utviklere | | Modul | Det kundene kjรธper | Kunder | **Ikke selg Vauco OS. Ikke selg OPAX. De er interne verktรธy.** --- ## 2. Registrerte domener โ€” fasit **Aktive subdomener:** | Domene/subdomen | Teknologi | Status | |----------|-----------|--------| | `vauco.no` (apex) | GCS + LB + CDN | โœ… LIVE 2026-06-05 | | `opax.vauco.no` | LB + IAP โ†’ Cloud Run | โœ… Live (IP 34.98.77.173) | | `oss.vauco.no` | Staging | โœ… Aktiv | | `costguard.oss.vauco.no` | Cloud Run via IAP | โœ… Live | | `threadstone.vauco.no` | GitHub Pages | โœ… Live | | `app.threadstone.vauco.no` | GitHub Pages | โš ๏ธ CNAME satt, side mangler | | `os.vauco.no` | Prod-miljรธ | ๐Ÿ”ฎ Fase C | **Email-infra:** MX + SPF/DKIM/DMARC โœ… Live 2026-06-10 --- ## 3. Repo-struktur โ€” fasit ### Aktive repos (5) | Repo | Formรฅl | Synlighet | |------|--------|-----------| | `OSVauco` | Mono-repo: OPAX-engine, infra, Terraform, all dokumentasjon | Privat | | `vauco-bootstrap` | Terraform-modul for kunde-provisjonering | Privat | | `vauco-site` | `vauco.no` salgsportal | Public | | `threadstone-landing` | `threadstone.vauco.no` landingsside | Public | | `vauco-saas.github.io` | Threadstone-app frontend | Public | > **Regel:** Nytt repo krever eksplisitt `REPO APPROVED` fra Chris. --- ## 4. OSVauco โ€” FAKTISK mappestruktur (verifisert 2026-06-12) > **VIKTIG:** Denne seksjonen er verifisert mot GitHub API. Ikke anta struktur โ€” alltid verifiser. ``` OSVauco/ (root) โ”œโ”€โ”€ main.py (26 KB) โญ HOVUDAPPLIKASJON โ€” FastAPI app + alle ruter โ”œโ”€โ”€ AGENTS.md โ”œโ”€โ”€ CLAUDE.md โ† Kontekstfil for Claude-agenter โ”œโ”€โ”€ README.md โ”œโ”€โ”€ CNAME โ”œโ”€โ”€ cloudbuild.yaml โ† CI/CD trigger โ”œโ”€โ”€ cloudbuild.base.yaml โ”œโ”€โ”€ requirements.txt โ”œโ”€โ”€ .env.example / .env.prefilled โ”œโ”€โ”€ dev-startup.sh / opax.sh โ”‚ โ”œโ”€โ”€ agents/ โ† Agent-logikk (ikke hovudapp) โ”œโ”€โ”€ architecture/ โ† Arkitekturdokumenter โ”œโ”€โ”€ auth/ โ† Auth-logikk โ”œโ”€โ”€ data/ โ”œโ”€โ”€ dialogflow/ โ† Dialogflow-integrasjon โ”œโ”€โ”€ docs/ โ† All dokumentasjon โ”‚ โ”œโ”€โ”€ MASTERPLAN.md โ”‚ โ”œโ”€โ”€ ROADMAP.md โ”‚ โ”œโ”€โ”€ HANDOFF.md โ”‚ โ”œโ”€โ”€ AGENT_RULEBOOK.md โ”‚ โ”œโ”€โ”€ UNIVERSAL_BOOT_PROMPT.md โ”‚ โ”œโ”€โ”€ LEARNINGS.md โ”‚ โ”œโ”€โ”€ ARCHITECTURE.md โ”‚ โ”œโ”€โ”€ AGENTIC_CONTRACT_MCP_PROVISIONING.md โ”‚ โ”œโ”€โ”€ DNS-OG-INFRASTRUKTUR.md โ”‚ โ”œโ”€โ”€ SECRETS-SETUP.md โ”‚ โ”œโ”€โ”€ LEARNINGS_CICD_2026-06-10.md โ”‚ โ”œโ”€โ”€ GCP_Best_Practices.md โ”‚ โ””โ”€โ”€ gemma/ โ”‚ โ””โ”€โ”€ world.md โŒ MANGLER โ€” blokkerer ML-3a/Emma-boot โ”œโ”€โ”€ infrastructure/ โ”œโ”€โ”€ master_hub/ โ† Eksisterer โ€” formรฅl ikke klarlagt โ”œโ”€โ”€ ml/ โ”œโ”€โ”€ opax-mcp/ โ† MCP-server (ikke agents/mcp_server/) โ”œโ”€โ”€ protocols/ โ”œโ”€โ”€ scripts/ โ””โ”€โ”€ static/ โ”œโ”€โ”€ opax.html โ”œโ”€โ”€ jason.html โ”œโ”€โ”€ billing-dashboard.html โ”œโ”€โ”€ command-hub.html โ””โ”€โ”€ admin.html ``` **Kritiske korrะตะบsjoner fra tidligere feil dokumentasjon:** - `main.py` (rot) er hovudapplikasjonen โ€” IKKE `agents/core-logic/app.py` - MCP-server ligger i `opax-mcp/` โ€” IKKE `agents/mcp_server/` - `master_hub/` og `dialogflow/` eksisterer โ€” formรฅl mรฅ kartlegges - Nye ruter/endepunkter legges i `main.py` โ€” ikke i agents/ --- ## 4b. vauco.no โ€” salgsportal | Versjon | Inneholder | Trigger | |---------|------------|---------| | V1 (MVP) โœ… | Hero + modul-grid + om-oss + kontakt | LIVE 2026-06-05 | | V2 | Sales-CTA + ROI-kalkulator | Etter fรธrste betalende kunde | | V3 | Blogg, kundereferanser | Nรฅr 3+ kunder | --- ## 5. Dokumenthierarki | Fil | Rolle | |-----|-------| | `docs/MASTERPLAN.md` | Autoritativ sannhet | | `docs/ROADMAP.md` | Faser og status | | `docs/HANDOFF.md` | Sesjonsstatus โ€” overskrives hver sesjon | | `docs/AGENT_RULEBOOK.md` | Locked agent-regler | | `docs/UNIVERSAL_BOOT_PROMPT.md` | Boot-protokoll v1.4 | | `CLAUDE.md` | Kontekst for Claude-agenter (rot) | | `docs/gemma/world.md` | Emma sin kontekstpakke โŒ mangler | --- ## 6. AI-modell โ€” tofase-strategi ### Fase 1 โ€” Nรฅ | Parameter | Verdi | |-----------|-------| | Intern stand-in | Perplexity (Sonnet 4.6) via GitHub MCP | | Kundemodell (Jason) | `gemini-2.5-flash` via Vertex AI | | Region | `us-central1` | ### Fase 2 โ€” Gemma (trigger: kreditter < 20% eller fรธrste kunde) | Parameter | Verdi | |-----------|-------| | Emma (intern) | `gemma-4-12b-it` int4 ยท GCP `g2-standard-4` Spot VM | | Jason (kunder) | `gemini-2.5-flash` via Vertex โ€” uendret | --- ## 7. Roadmap โ€” kortversjon > Full status i `docs/ROADMAP.md`. ### ๐Ÿ”ด NOW - [ ] CG4d โ€” Prisingskalkulator i `static/opax.html` - [ ] CG5a โ€” Delivery layer: `POST /notify/webhook` i `main.py` - [ ] CG5b โ€” E-postvarsler: `POST /notify/email` via SendGrid - [ ] CG5c โ€” SMS-varsler: `POST /notify/sms` via Twilio [Guard+] - [ ] CG5-onboard โ€” Klient-onboarding flow - [ ] CG6 โ€” Klient-dashboard ### ๐ŸŸ  NEXT - CI1 โ€” opax-mcp/ full CI/CD-kanal - ML-3a โ€” GPU-VM for Emma + `docs/gemma/world.md` opprettes - C4 โ€” Medioteq partnerstrategimรธte --- ## 8. Agent-identitet | Identitet | E-post | Modell | Status | |-----------|--------|--------|--------| | Eier | `chris.christiansen@vauco.no` | โ€” | โœ… Aktiv | | Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` | โœ… Live | | Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` | ๐Ÿ”ฎ ML-3a | **Forbudte kontoer:** `tinius.vauger`, `ccv` โ€” aldri gi tilganger. --- ## 9. Cloud Run โ€” live endepunkter **Service:** `osvauco-agent` ยท `us-central1` ยท `propane-will-491900-m5` **Public URL:** `https://opax.vauco.no` | Endepunkt | Fil | Status | |-----------|-----|--------| | `GET /` | `main.py` | โœ… Serverer opax.html | | `GET /health` | `main.py` | โœ… | | `POST /run` | `main.py` | โœ… | | `GET /static/jason.html` | `main.py` | โœ… | | `GET /billing/tokens/by-module` | `main.py` | โœ… | | `GET /billing/tokens/estimate` | `main.py` | โœ… | | `GET /billing/summary` | `main.py` | โœ… | | `GET /billing/anomalies` | `main.py` | โœ… | | `GET /billing/history` | `main.py` | โœ… | | `GET /billing/budget` | `main.py` | โœ… | | `POST /billing/budget` | `main.py` | โœ… | | `POST /notify/webhook` | `main.py` | ๐Ÿ”ด CG5a | | `POST /notify/email` | `main.py` | ๐Ÿ”ด CG5b | | `POST /notify/sms` | `main.py` | ๐Ÿ”ด CG5c | --- ## 10. Go-to-market ### CostGuard โ€” prismodell v2 (godkjent 2026-06-12) > **Prinsipp:** Push-first โ€” Jason finner kunden, ikke omvendt. > **Pitch:** *"Du trenger ikke lรฆre et nytt verktรธy. Jason finner deg."* | Tier | GCP-spend/mnd | Pris | Kjernelรธfte | |------|--------------|------|-------------| | **Starter** | $0โ€“$3k | $499/mnd | Synlighet | | **Guard** | $3kโ€“$15k | $999/mnd | Kontroll | | **Shield** | $15kโ€“$50k | $1.999/mnd | Automatisering | | **Enterprise** | >$50k | $3.500+/mnd | Platform | **Delivery layer:** ``` GCP-event โ†’ Jason โ†’ Delivery layer โ†’ Webhook (CG5a) / E-post (CG5b) / SMS (CG5c) ``` **Markedsposisjon:** | Konkurrent | Pris | CostGuard vinner pรฅ | |-----------|------|--------------------| | Kubecost Business | $199/mnd | GCP-native + Jason AI | | Apptio Cloudability | $1.930/mnd | Enklere, push-first | | CloudHealth | $5.400+/mnd | Pris + SMB-fokus | ### Medioteq โ€” Joint Venture > Partnersamarbeid, ikke SaaS-kunde. C4 = partnerstrategimรธte. --- ## 11. Kjente hull | ID | Problem | Prioritet | |----|---------|----------| | OQ-15 | BQ billing_export tabell | Medium | | OQ-17 | `github-token` secret mangler | Medium | | OQ-18 | VM alltid-pรฅ kostnad | Hรธy | | OQ-21 | `app.threadstone.vauco.no` CNAME uten side | Lav | | OQ-26 | `docs/gemma/world.md` mangler | Hรธy (ML-3a blokkert) | | OQ-27 | `master_hub/` formรฅl ikke dokumentert | Medium | | OQ-28 | `dialogflow/` formรฅl ikke dokumentert | Medium | --- ## 12. OPAX โ€” status **Ferdig:** - โœ… opax.html LIVE via `GET /` (main.py) - โœ… Jason-chat LIVE - โœ… Billing dashboard + Chart.js donut (CG4b) - โœ… Token Intelligence endepunkter - โœ… CI5+CI6 โ€” opax-mcp live **Gjenstรฅr:** CG4d / CG5aโ€“c / CG5-onboard / CG6 / CI1 / ML-3a --- *OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-12*