OSVauco/docs/MASTERPLAN.md

11 KiB
Raw Blame History

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 / CG5ac / CG5-onboard / CG6 / CI1 / ML-3a


OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-12