11 KiB
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 APPROVEDfra 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 viaCOPY 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 APPROVEDfra 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 ✅ CG4d prisingskalkulator
├── costguard-dashboard.html ✅ CG6 klient-dashboard
├── jason.html
├── billing-dashboard.html
├── costguard.html
├── command-hub.html
└── admin.html
Kritiske korreksjoner fra tidligere feil dokumentasjon:
main.py(rot) er hovudapplikasjonen — IKKEagents/core-logic/app.py- MCP-server ligger i
opax-mcp/— IKKEagents/mcp_server/ master_hub/ogdialogflow/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✅ 2026-06-12 - CG5a — Delivery layer:
POST /notify/webhook✅ live (commit4a1e23e, Sonar) - CG5b — E-postvarsler:
POST /notify/emailvia SendGrid ✅ live - CG6 — Klient-dashboard
static/costguard-dashboard.html✅ 2026-06-12 - len(agents)-bugfix i
/run/dag🔴 - CG5-onboard — Klient-onboarding flow 🔴
- CG5c — SMS-varsler:
POST /notify/smsvia Twilio [Guard+]
🟠 NEXT
- CI1 — opax-mcp/ full CI/CD-kanal
- ML-3a — GPU-VM for Emma +
docs/gemma/world.mdopprettes - 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 live |
POST /notify/email |
main.py |
✅ CG5b live |
POST /notify/sms |
main.py |
🔴 CG5c |
GET /notify/channels |
main.py |
🔴 OQ-29 |
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 |
| OQ-29 | GET /notify/channels mangler i main.py — CG6 faller tilbake på defaults |
Lav |
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
- ✅ CG4d — Prisingskalkulator i opax.html
- ✅ CG5a — POST /notify/webhook live
- ✅ CG5b — POST /notify/email live
- ✅ CG6 — Klient-dashboard costguard-dashboard.html
Gjenstår: len(agents)-bugfix i /run/dag · CG5-onboard · CG5c · CI1 · ML-3a
OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-12