OSVauco/docs/MASTERPLAN.md
chrischristiansen-glitch 70eced385f
chore(docs): konsolider MASTERPLAN/ROADMAP/HANDOFF til én sannhet (#5)
* chore(docs): konsolider MASTERPLAN/ROADMAP/HANDOFF til én sannhet

Bakgrunn: revisjon 2026-05-31 avdekket at vi hadde to MASTERPLAN-er som
ikke matchet, en deprecated VAUCO_OS_ROADMAP som fortsatt ble brukt, tre
parallelle HANDOFF-filer, AGENT_RULEBOOK med feil region (us-central1)
og feil MCP_SERVICE (opax-mcp-core), og committed Git merge-konflikt-
markører i selve session-loggen.

Endringer:
- Ny docs/MASTERPLAN.md (autoritativ, erstatter både rot-MASTERPLAN.md og
  forrige docs-versjon). Tydeligere hierarki:
    Vauco AS → Vauco OS (plattform) → OPAX (engine) → Moduler
- Ny docs/ROADMAP.md (erstatter docs/VAUCO_OS_ROADMAP.md som var deprecated)
- Ny docs/HANDOFF.md — én fil, overskrives per sesjon (per planregelen)
- Oppdatert docs/AGENT_RULEBOOK.md:
    Region: us-central1 → europe-west1
    AI-modell: gemini-2.5-pro (midlertidig, venter på Claude EU-kvote)
    Vertex AI loc: europe-west1
    MCP_SERVICE: opax-mcp-core → osvauco-agent
- Fjernet Git merge-konfliktmarkører i docs/OSVAUCO_OPAX_SESSION_LOG.md
- Flyttet HANDOFF_20260526/20260531/20260531_claude47 → docs/archive/handoffs/
- Slettet duplikat-filer i docs/archive/ (Cost_Management_Rules,
  GCPBestPractices, OSVAUCO_OPAX_SESSION_LOG — alle dekket av live-filer)
- Slettet rot-MASTERPLAN.md (erstattet av peker-fil), VAUCO_OS_ROADMAP.md,
  Procfile (legacy fra POC, ikke brukt av Cloud Run)
- docs/TODO.md → peker-fil mot ROADMAP

Repo-strategi (fra MASTERPLAN §3):
- 4 aktive repos: OSVauco (mono), vauco-bootstrap, threadstone-landing,
  vauco-saas.github.io
- 3 arkiverte: vauco-os, vauco-gemini-tui-bridge, command-hub
- 2 parkerte (lever videre, ikke aktivt jobb): threadstone-instructions,
  deep-dream — venter på hver sin trigger (Threadstone-app pilot / første
  betalende kunde på CostGuard)

Etter merge: neste oppgave er F8 (browser-end-to-end på opax.vauco.no).

Co-authored-by: Perplexity <noreply@perplexity.ai>

* docs: inkorporer vauco.no salgsportal (apex) i planen

Hovedhull avdekket: vauco.no viser fortsatt Proisp 'Under construction'
placeholder. Planen manglet helt et spor for apex-siden — bedriftens
ansikt utad og portalen som leder besøkende til riktig modul.

MASTERPLAN endringer:
- §1 Plattformhierarki: utvidet fra 3 til 4 nivåer; vauco.no apex
  lagt til som egen kunde-flate (over Vauco OS i hierarkiet)
- §2 Domener: vauco.no/www.vauco.no markert som placeholder (skal
  erstattes), reserverte subdomener (status./docs./careers.)
  dokumentert, email-infra-status notert
- §3 Repos: vauco-site lagt til som 5. aktive repo (public,
  GitHub Pages — eget repo fordi sidens kildekode skal være public
  mens mono-repoet må forbli privat)
- §4b NY: vauco.no salgsportal — full spec for formål, IA,
  visuell retning, salgs-flow, teknisk stack, versjons-evolusjon
  V1 → V4
- §11 Kjente hull: OQ-23..OQ-26 lagt til (apex-placeholder,
  SPF/DKIM/DMARC, personvern/vilkår, statuspage)

ROADMAP endringer:
- NEXT-seksjon utvidet med V-spor: V1a–V1e (vauco.no MVP)
  kan kjøres parallelt med CG3
- KJENTE HULL-seksjon lagt til

HANDOFF oppdatert med oppsummering av nye tillegg.

NY FIL: docs/vauco-site/DESIGN.md
- Klar-til-plukk-opp build-spec for V1 MVP
- Sidekart, copy-utkast, farger, typografi, layout, performance-mål
- DNS-tabell for å flytte vauco.no fra Proisp-parking til GitHub Pages
- SPF/DKIM/DMARC oppskrift
- Bygg-rekkefølge med konkrete gh/git-kommandoer
- Akseptkriterier for V1 APPROVED

Etter merge har vi to parallelle spor:
- Spor A: F8 (OPAX end-to-end) + CG3 (CostGuard frontend)
- Spor B: V1 (vauco.no MVP)

Begge har egne HITL gates.

* chore(scripts): konsolider boot/opax/opax2 + hotkeys + README

- boot.sh: ny daglig VM-starter (rename fra osvauco-opax-boot.sh)
  * auto-fornyer gcloud auth + ADC (>8t)
  * git pull current branch
  * spør: opax (Gemini 2.5 Pro) / opax2 (Claude) / hopp over
  * setter aliaser: pf hc st at ca cl cg costs ms logg mp rl ho rb sl osv sol
  * printer NESTE OPPGAVE fra docs/HANDOFF.md
- opax.sh: region europe-west1, model gemini-2.5-pro, peker på docs/HANDOFF.md
- opax2.sh: peker på docs/HANDOFF.md (ikke arkivert handoff), advarer om kvote
- scripts/README.md: hotkey-tabell + bashrc-snippet + lock-tabell
- Slettet: scripts/archived/ (7 filer i git-historikk), osvauco-health-check.sh

* fix(scripts): OS VAUCO-header, github-status, auto-context, exit-hook

boot.sh:
- Ny header: OS VAUCO (stort) + Vauco OS subtitle
- [ REPO + GITHUB ] viser: fetch, pull, ahead/behind, uncommitted, last commit,
  gh CLI auth-status, åpne PRs på branchen
- 'ghs' alias = gh pr list + gh issue list
- NESTE OPPGAVE regex case-insensitive (matcher 'NESTE OPPGAVE' og 'Neste oppgave')

opax.sh / opax2.sh:
- Ny header: OS VAUCO / OPAX (cyan) og OS VAUCO / OPAX2 (Claude) (magenta)
- Sjekker MASTERPLAN + ROADMAP + RULEBOOK + HANDOFF + gh auth i preflight
- Auto-laster RULEBOOK + MASTERPLAN + ROADMAP + HANDOFF inn i CLI som kontekst
  ved oppstart (gemini -p / claude -p, fallback til stdin)
- Exit-hook: spør 'Vil du logge sesjonen nå?' når TUI avsluttes, kjører sol()
- ABSOLUTT REGEL (ingen handling uten PLAN APPROVED) injiseres i kontekst

* fix(scripts): NESTE OPPGAVE-parsing + gemini sandbox workaround

- Bytt awk(IGNORECASE) → sed-pipeline som funker på både gawk og mawk
  (HANDOFF.md har '## 🔄 Neste oppgave: ...' — emoji + capitalized)
- Flytt auto-context fra /tmp/ → $OSVAUCO_DIR/.gemini/context/ og .claude/context/
  Gemini CLI sandboxer alt utenfor workspace; /tmp er blokkert.
- Send relativ sti (.gemini/context/session-PID.md) til 'gemini -p @...'
- Rydd context-filer eldre enn 1 dag ved oppstart
- .gitignore: ekskluder .gemini/context/ + .claude/context/

* fix(scripts): flytt context til tmp-context/ (Gemini respekterer .gitignore)

Gemini CLI nekter å lese filer som er git-ignored. .gemini/context/ var
ignored, så context-fil ble blokkert.

- Ny mappe: tmp-context/ (innenfor workspace, ikke gitignored som dir)
- Kun session-*.md er gitignored (selve filene), ikke mappen
- tmp-context/README.md beholder mappen i git
- Ny .geminiignore: lar Gemini lese tmp-context/ men ignorerer
  node_modules, .terraform, dist osv.

* fix(scripts): bytt context-filnavn til ctx-*.md (Gemini respekterer .gitignore)

Gemini CLI blokkerer enhver fil som matcher et .gitignore-mønster, selv
om den ikke er i .geminiignore. Vi hadde 'tmp-context/session-*.md' i
.gitignore som blokkerte session-PID.md.

Løsning:
- Fjern session-pattern fra .gitignore helt
- Bytt filnavn: session-$$.md → ctx-$$.md
- Mappen ryddes uansett av find -mtime +1 -delete ved hver opax-oppstart
- Kommentar i .gitignore forklarer hvorfor og hvordan skippe lokalt

* fix(scripts): start gemini/claude TUI uten -p (TUI bombet pga non-interactive mode)

Problem: 'gemini -p "..."' kjører non-interactive (svarer + avslutter) —
det er derfor TUI ikke kom opp etter at vi la til auto-context.

Løsning: Gemini CLI auto-laster .gemini/GEMINI.md ved hver TUI-start.
- Oppdaterte .gemini/GEMINI.md: model=gemini-2.5-pro (var Claude 4.6),
  boot-prompt peker på MASTERPLAN/ROADMAP/HANDOFF (var slettet ROADMAP)
- opax.sh og opax2.sh: fjernet -p flag, kjører bare 'gemini'/'claude' = full TUI
- Slettet tmp-context/ (ikke nødvendig — GEMINI.md gjør jobben)
- Modellen får LOCKED DEFS automatisk fra GEMINI.md
- For full kontekst-load, skriv 'BOOT' i TUI

* chore(session): logg 20260531-153243 — git pull origin chore/consolidate-2026-05-31

* feat(opax): auto-kjør BOOT-prompt ved hver TUI-start

---------

Co-authored-by: Perplexity <noreply@perplexity.ai>
Co-authored-by: Chris Christiansen <chris.christian...@>
2026-05-31 17:57:13 +02:00

469 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# VAUCO OS — MASTERPLAN
**Eier:** Chris Christiansen · Vauco AS · Org.nr 935 989 779
**Sist oppdatert:** 2026-05-31
**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.
---
## 1. Plattformhierarki — sannheten i én modell
```
Vauco AS (selskap, eier alle merkevarer)
├── vauco.no (APEX — bedriftens salgs- og portalside; ansiktet utad)
│ └── ruter besøkende videre til riktig modul
└── VAUCO OS (plattform — visjon, økonomi, token-lag, agent-fabrikk)
└── 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 under Vauco AS (parkert til etter Modul #1 + #2 lever):
└── Proof of Curiosity (egen identitet, ikke en OPAX-modul)
```
**Fire nivåer, fire formål:**
| Nivå | Hva | Hvem ser det |
|---|---|---|
| **vauco.no (apex)** | **Bedriftens salgsportal — viser hvem Vauco AS er og hvilke moduler vi selger** | **Alle: kunder, partnere, presse, kandidater** |
| Vauco OS | Plattformen Chris bygger og selger fra | Internt (Chris + agenter) |
| OPAX | Engine som driver modulene | Internt + utviklere |
| Modul (CostGuard / Threadstone / …) | Det kundene faktisk kjøper | Kunder |
**Salgskanal-prinsipp:**
- `vauco.no` = portalen som forteller "hva selger vi" og leder til riktig modul
- Hver modul har sin egen landings-/produktside (`costguard.oss.vauco.no`, `threadstone.vauco.no`, …)
- Vauco OS og OPAX nevnes ikke som produkter på `vauco.no` — de er interne verktøy
**Ikke selg Vauco OS. Ikke selg OPAX. De er interne verktøy.**
---
## 2. Registrerte domener — fasit
### Vauco (hos Proisp)
| Domene | Prosjekt | Status |
|--------|----------|--------|
| `vauco.no` | Rot for alle Vauco-tjenester | ✅ Aktiv, verifisert på GitHub |
**Aktive subdomener:**
| Domene/subdomen | Teknologi | Status | Eier-flate |
|----------|-----------|--------|------------|
| `vauco.no` (apex) | Proisp parking-side (placeholder) | ⚠️ "Under construction" — skal erstattes med ekte salgsportal | Vauco AS apex |
| `www.vauco.no` | Følger apex | ⚠️ Samme placeholder | Vauco AS apex |
| `opax.vauco.no` | LB + IAP → Cloud Run `osvauco-agent` | ✅ Live (IP 34.98.77.173) | OPAX |
| `oss.vauco.no` | Staging-miljø | ✅ Aktiv | OPAX |
| `os.vauco.no` | Prod-miljø | 🔮 Fase C | OPAX |
| `costguard.oss.vauco.no` | Cloudflare Pages | ✅ Live | CostGuard |
| `costguard.os.vauco.no` | Promoteres fra oss | 🔮 Fase C | CostGuard |
| `threadstone.vauco.no` | GitHub Pages (`threadstone-landing`) | ✅ Live | Threadstone |
| `app.threadstone.vauco.no` | GitHub Pages (`vauco-saas.github.io`) | ⚠️ CNAME satt, side mangler | Threadstone |
| `<kunde>.vauco.no` | LB + IAP via Terraform | 🔮 Fase C2 | OPAX/Multi-tenant |
**Reservert til senere — ikke opprettet ennå:**
| Subdomen | Tiltenkt formål | Trigger |
|----------|------------------|---------|
| `status.vauco.no` | Statuspage for alle moduler (Cloud Run uptime, RAG, IAP) | Etter første kunde — trust-signal |
| `docs.vauco.no` | Offentlig kundedokumentasjon (CostGuard onboarding, API-ref) | CG4 / første kunde |
| `careers.vauco.no` | Stillinger (kan bare være redirect til notion-side) | Når Vauco rekrutterer |
**Email-infra:**
- MX: Google Workspace (`smtp.google.com`) ✅
- TXT-records (SPF/DKIM/DMARC): ⚠️ Mangler — sett opp som del av V1 for å unngå at salgs-mail havner i spam
### Proof of Curiosity (hos Proisp) — egen merkevare
| Domene | Merknad |
|--------|---------|
| `proof-of-curiosity.com` | Registrert — ikke i bruk |
| `proofofcuriosity.com` | Registrert — ikke i bruk |
| `proofofcuriosity.io` | Registrert — ikke i bruk |
| `proof-of-curiosity.no` | Registrert — ikke i bruk |
| `proofofcuriosity.no` | Registrert — ikke i bruk |
> **Trigger:** Ingen POC-arbeid før Modul #1 (CostGuard) har første betalende kunde og Modul #2 (Threadstone) er i pilot.
---
## 3. Repo-struktur — fasit
### Aktive repos (5 — hold antallet lavt)
| Repo | Formål | Synlighet | Eier-flate |
|------|--------|-----------|------------|
| `OSVauco` | Mono-repo: OPAX-engine, alle infrastruktur-scripts, Terraform, all dokumentasjon | Privat | OPAX (rot) |
| `vauco-bootstrap` | Terraform-modul for kunde-provisjonering (referert som submodul fra OSVauco) | Privat | OPAX |
| `vauco-site` | `vauco.no` salgsportal (apex + www) — eget public repo for SEO, ikke skjul kildekoden | Public | Vauco AS apex |
| `threadstone-landing` | `threadstone.vauco.no` landingsside | Public | Threadstone |
| `vauco-saas.github.io` | `app.threadstone.vauco.no` — Threadstone-app frontend | Public | Threadstone |
> **Hvorfor `vauco-site` får eget repo (ikke i mono-repoet):**
> 1. Skal være public (mono-repoet er privat og må forbli det — inneholder infra, secrets-referanser, kundedata-mønstre)
> 2. Skal serveres via GitHub Pages eller Cloudflare Pages — egen deploy-pipeline
> 3. Designere/markedsfolk kan jobbe der uten å se OPAX-koden
> 4. Følger samme mønster som `threadstone-landing`
### Arkiverte repos (ikke gjenåpne uten plan-endring)
| Repo | Arkivert | Innholdet finnes nå i |
|------|----------|------------------------|
| `vauco-os` | ✅ 2026-05-27 | `OSVauco/docs/architecture/` |
| `vauco-gemini-tui-bridge` | ✅ 2026-05-27 | (kun arkiv; reaktiveres etter Fase 8 om behov) |
| `command-hub` | ✅ 2026-05-27 | `OSVauco/static/command-hub.html` |
### Parkerte repos — leve videre, ikke arkiver, ikke aktivt jobb før trigger
| Repo | Trigger for å gjenoppta | Hvor det hører hjemme i hierarkiet |
|------|--------------------------|------------------------------------|
| `threadstone-instructions` | Når Threadstone-app går i pilot (Modul #2 fase 2) | Threadstone-modul — boot-prompter + tema-config |
| `deep-dream` | Når Modul #1 har betalende kunde | Strategisk visjon, klassifisert — egen prosess |
> **Regel:** Hvis du vil opprette et nytt repo — `STOP`. Vurder først om det kan leve som mappe i `OSVauco`. Krever eksplisitt `REPO APPROVED` fra Chris.
---
## 4. OSVauco — intern mappestruktur (fasit)
```
OSVauco/
├── MASTERPLAN.md → symlink/peker til docs/MASTERPLAN.md (denne filen)
├── README.md
├── AGENTS.md ML-roller, ikke rør uten ML-fase-endring
├── Dockerfile / cloudbuild.yaml CI/CD (auto-deploy på push til main)
├── agents/ Python-agentene
│ ├── core-logic/ OPAX orchestrator + FastAPI app (main.py)
│ ├── rag/ RAG-agent
│ ├── memory/ Memory-agent
│ ├── multi_agent/ Sub-orchestrators
│ ├── eval/ Evaluering
│ ├── tests/ Pytest
│ └── tools/ Hjelpere
├── auth/ OAuth2-flow
├── ml/ CostGuard-engine (billing_agent, anomaly_detector, telemetry)
├── infrastructure/ GCP-scripts (0012, 99) + terraform/
│ └── terraform/ IaC (modules, customers, platform.tf)
├── scripts/ smoke-test, cost-audit, opax-boot, sync-gdrive
├── static/ HTML servert av Cloud Run
│ ├── opax.html OPAX operator hub
│ ├── billing-dashboard.html
│ ├── command-hub.html
│ ├── costguard.html ← CG3 bygges her
│ └── admin.html
├── docs/
│ ├── MASTERPLAN.md ← denne filen, autoritativ
│ ├── ROADMAP.md ← levende, oppdateres hver sesjon
│ ├── HANDOFF.md ← ÉN fil, overskrives per sesjon
│ ├── AGENT_RULEBOOK.md ← immutable regler for agent-boot
│ ├── ARCHITECTURE.md
│ ├── LEARNINGS.md
│ ├── architecture/ fra vauco-os repo
│ ├── threadstone/ (kommer når threadstone-instructions konsolideres)
│ └── [øvrige tema-docs]
├── protocols/
│ └── sessions/ Detaljerte sesjonsprotokoller (én per dag)
├── data/ RAG-input (threadstone_faq.*)
└── dialogflow/ DX-agent-config
```
---
## 4b. vauco.no — salgsportal (Vauco AS apex)
> Eget repo: `vauco-saas/vauco-site` — opprettes som del av V1.
### Formål (én linje)
Vauco AS sin offisielle bedriftsside. Selger Vaucos AI-moduler ved å lede besokende videre til riktig modul-landingsside. Bygger tillit gjennom å vise hvem som står bak.
### Hvem siden er for (prioritert rekkefølge)
1. **Potensielle CostGuard-kunder** — norske bedrifter med GCP-kostnader de ikke kontrollerer (Chris sin primære salgsmotor)
2. **Threadstone-pilot-kunder** (Q3 2026+)
3. **Partnere og presse** — "hvem er Vauco?"
4. **Fremtidige ansatte** — kandidater som googler firmaet etter et møte
### Informasjonsarkitektur (sidekart)
```
vauco.no (hovedside)
├── #hero "Vauco bygger AI-moduler som leverer målbar verdi"
├── #moduler Grid med levende moduler
│ ├── CostGuard → costguard.oss.vauco.no
│ ├── Threadstone → threadstone.vauco.no
│ └── "Flere kommer" (placeholder med signup)
├── #hvorfor-vauco 3 punkter: norsk eierskap, GCP-ekspertise, AI som ikke er hype
├── #om-oss Chris Christiansen + Vauco AS (org.nr, Oslo)
├── #kontakt chris.christiansen@vauco.no + LinkedIn
└── footer Org.nr, personvern-lenke, status.vauco.no (når live)
/personvern.html Personvernerklæring (GDPR-krav)
/vilkar.html Standardvilkår for kunder
/sitemap.xml For SEO
/robots.txt
```
### Visuell retning (utgangspunkt)
- **Ankret i Threadstone-stilen** (`threadstone-landing/index.html`) — mørk bakgrunn, monospace-aksenter, Inter/SF Pro som hovedtypo
- **Én hovedfarge per modul:** CostGuard får en, Threadstone en annen — visuelt skille så kundene ikke forveksler
- **Ikke generisk SaaS-look.** Vauco er en operatør, ikke et VC-finansiert startup. Tone: rolig, kompetent, norsk.
- **Mobile-first** — Chris demoer ofte fra telefon
- **Lighthouse ≥0.95** på alle 4 akser
- **Ingen tracking-piksler** ved lansering (kan legges til senere som GA4 om nødvendig)
### Salgs-flow (hva siden faktisk skal drive)
```
Google/LinkedIn → vauco.no
#moduler-grid
klikk "CostGuard" → costguard.oss.vauco.no
Magic-link login
(etter CG3-flow): kunden ser sine GCP-kostnader
"Bestill" → Chris ringes opp (OPAX HITL)
```
### Teknisk stack
| Lag | Valg |
|-----|------|
| Hosting | GitHub Pages (samme mønster som `threadstone-landing`) eller Cloudflare Pages |
| Bygg | Vanilj HTML/CSS — ingen framework før vi har en grunn |
| Deploy | Push til main → Pages bygger |
| Domene | `vauco.no` + `www.vauco.no` CNAME |
| SSL | Auto via Pages |
| Skjema | Formspark / Netlify Forms eller `mailto:` (V1 = mailto) |
### Det som IKKE skal være på vauco.no
- Ingen OPAX, Vauco OS, eller intern arkitektur — dette er kundenes side
- Ingen Deep Dream-innhold
- Ingen Proof of Curiosity (egen merkevare, egen side når tiden er inne)
- Ingen demo-credentials, ingen tekniske dypdykk
- Ingen "vi er det neste OpenAI"-retorikk
### Designreferanser å inspireres av (ikke kopiere)
- Linear.app — ren visuell hierarki
- Resend.com — norsk-ish tone, fokus på én ting
- Vercel.com — strukturen på modul-grid (men råere typografi)
- Threadstone-landing.html — vår egen stilreferanse
### Versjons-evolusjon
| Versjon | Inneholder | Trigger |
|---------|------------|---------|
| V1 (MVP) | Hero + modul-grid (CostGuard live, Threadstone "coming soon") + om-oss + kontakt + personvern | NOW — etter Fase 8 |
| V2 | Sales-CTA på hver modul (kalkulator-widget for CostGuard ROI), case study #1 | Etter første betalende kunde |
| V3 | Blogg/innsikter, kundereferanser, status-widget fra `status.vauco.no` | Når 3+ kunder |
| V4 | Internasjonalt (`vauco.no/en`), Proof of Curiosity i footer | Etter Modul #3 |
---
## 5. Dokumenthierarki — én kilde til sannhet
| Fil | Rolle | Oppdateres |
|-----|-------|------------|
| `docs/MASTERPLAN.md` | Arkitektur, domener, repos, agent-identitet — **denne filen** | Ved arkitekturendringer |
| `docs/ROADMAP.md` | Faser, status, backlog — **levende dokument** | Hver sesjon |
| `docs/HANDOFF.md` | Hva ble gjort, hva er neste, kjente hull — **alltid kun én fil** | Overskrives hver sesjon |
| `docs/AGENT_RULEBOOK.md` | Locked definitions for agent-boot | Kun ved infrastruktur-låsing |
| `protocols/sessions/YYYY-MM-DD_<tema>.md` | Detaljerte protokoller per sesjon | Append-only |
**Regel:** Arkitektur → MASTERPLAN. Oppgave → ROADMAP. Sesjonsstatus → HANDOFF. **Aldri dobbelt opp.**
> **VAUCO_OS_ROADMAP.md er deprecated 2026-05-31.** Erstattet av `docs/ROADMAP.md`.
---
## 6. AI-modell — låst (midlertidig)
| Parameter | Verdi | Merknad |
|-----------|-------|---------|
| **Modell** | `gemini-2.5-pro` | Via Vertex AI |
| **Endpoint** | `europe-west1` (EU) | Bruker Vertex-kreditter |
| **SDK** | `from google import genai` | google-genai >=0.3 |
| **Status Claude Opus 4.6/4.7** | ⏳ Venter på kvote-godkjenning fra Google Cloud-team | Bytt når kvote er innvilget |
**Bytte til Claude krever:**
1. Bekreftelse fra Google Cloud-team at kvote er innvilget i `europe-west1` eller `eu`-region
2. Eksplisitt `MODEL APPROVED` fra Chris
3. Oppdatering av denne tabellen, `AGENT_RULEBOOK.md` og `.gemini/GEMINI.md` i samme commit
---
## 7. Roadmap — prioritert rekkefølge
> Denne seksjonen er kortversjonen. Full status og daglig oppdatering ligger i `docs/ROADMAP.md`.
### 🔴 NÅ — Konsolidering + Fase 8 verifisering
| # | Oppgave | Eier | Status |
|---|---------|------|--------|
| K1 | Slå sammen MASTERPLAN-er, slett duplikater, fjern merge-markører | Chris + Perplexity | 🟡 In progress (denne sesjonen) |
| K2 | Oppdater AGENT_RULEBOOK med korrekt region + modell | Chris | 🟡 In progress |
| K3 | Fiks nattlig GDrive backup-workflow | Chris | ⏳ Pending |
| F8 | End-to-end test: `opax.vauco.no` → login → chat → svar | Chris | 🟡 Delvis (Cloud Run + IAP OK, browser-flow gjenstår) |
### 🟠 V — vauco.no salgsportal (parallelt spor)
| # | Oppgave |
|---|---------|
| V1a | Opprett `vauco-saas/vauco-site` (public repo) |
| V1b | Bygg MVP: hero + modul-grid (CostGuard live, Threadstone "coming soon") + om-oss + kontakt + personvern |
| V1c | Sett CNAME `vauco.no` + `www.vauco.no` → GitHub Pages i Proisp |
| V1d | Erstatt "Under construction" placeholder — deploy MVP |
| V1e | Sett opp SPF + DKIM + DMARC TXT-records på `vauco.no` (e-post fra Workspace) |
| V2 | Sales-CTA + CostGuard ROI-kalkulator (trigger: etter Fase 8 OG første demo) |
### 🟡 NESTE — CG3 (CostGuard frontend wiring)
| # | Oppgave |
|---|---------|
| CG3a | Bygg `static/costguard.html` i OSVauco (OAuth-knapp + billing embed) |
| CG3b | Sett CNAME `costguard.oss.vauco.no` → Cloud Run i Proisp |
| CG3c | Verifiser at `/static/costguard.html` er tilgjengelig via Cloud Run |
| CG3d | Test OAuth-flow fra landingssiden |
### 🟢 GO-TO-MARKET — CostGuard (Modul #1)
| Fase | Innhold |
|------|---------|
| C4 | Medioteq HITL-møte → `terraform apply` → første betalende kunde |
| C5 | Salgsdemo: `costguard.os.vauco.no` + demo-video |
| DX5 | Dialogflow Messenger live på costguard-landingssiden |
| ML-2 | Adaptiv intelligens (trigger: >500 telemetri-kall) |
### 🔵 MODUL #2 — Threadstone
| # | Oppgave |
|---|---------|
| T1 | Konsolider `threadstone-instructions``OSVauco/docs/threadstone/` (når app-arbeid starter) |
| T2 | Bygg `app.threadstone.vauco.no` i `vauco-saas.github.io` |
| T3 | Koble til OPAX-engine via `POST /threadstone/generate` |
| T4 | Pilot med første kunde |
### 🟣 STRATEGISK — Deep Dream (klassifisert)
> Innholdet i `deep-dream` repo er strategisk visjon. **Røres ikke** før Modul #1 har betalende kunde. Lever som eget repo for å holde tilgang adskilt.
### 🌐 FREMTID — Proof of Curiosity
| # | Oppgave |
|---|---------|
| POC-1 | Definer hva Proof of Curiosity er (produkt, merkevare, community?) |
| POC-2 | Velg primærdomene (anbefaling: `proofofcuriosity.io`) |
| POC-3 | Opprett repo (vurder om det skal under `vauco-saas` eller separat org) |
| POC-4 | Bygg landing/MVP |
> **Trigger:** Ikke start POC før Modul #1 er live med betalende kunde OG Modul #2 er i pilot.
---
## 8. Agent-identitet
| Identitet | E-post | Rolle |
|-----------|--------|-------|
| Eier / admin | `chris.christiansen@vauco.no` | Full kontroll |
| Agent (OPAX / Jason) | `jason.vauger@vauco.no` | `billing.viewer` + `run.invoker``osvauco-agent` |
| Fremtidig gruppe | `billing@vauco.no` | `billing.viewer` (Fase C) |
**Forbudte kontoer:** `tinius.vauger`, `ccv` — aldri gi tilganger.
---
## 9. Cloud Run — live endepunkter
**Service:** `osvauco-agent` | **Region:** `europe-west1` | **Project:** `propane-will-491900-m5`
**Direkte URL:** `https://osvauco-agent-357036551735.europe-west1.run.app`
**Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`)
| Endepunkt | Status |
|-----------|--------|
| `GET /health` | ✅ |
| `POST /run` | ✅ |
| `POST /run/dag` | ✅ |
| `GET /billing/summary` | ✅ |
| `GET /billing/forecast` | ✅ |
| `GET /billing/anomalies` | ✅ |
| `GET /auth/login` | ✅ |
| `GET /auth/callback` | ✅ |
| `GET /static/billing-dashboard.html` | ✅ |
| `GET /static/opax.html` | ✅ |
| `GET /state` | ✅ |
| `GET /telemetry/history` | ✅ |
---
## 10. Go-to-market — enkelt og konkret
**Produkt #1: CostGuard**
- **Hvem:** Norske bedrifter med GCP-kostnader de ikke kontrollerer
- **Hva:** Autonomt kostnadsovervåkningsverktøy med AI-anomali-deteksjon
- **Pris:** $300500/mnd per kunde (breakeven ved 1 kunde)
- **Salgskanal:** Chris selv via OPAX → HITL-møte → `terraform apply`
**Produkt #2: Threadstone** (Q3 2026)
- Definisjon låses når Modul #1 har første kunde.
---
## 11. Kjente hull
| ID | Problem | Løsning | Prioritet |
|----|---------|---------|-----------|
| OQ-15 | BQ billing_export tabell | Venter på aktivering — sjekk neste sesjon | Medium |
| OQ-17 | `github-token` secret mangler | Opprett alias fra `github-pat` | Medium |
| OQ-18 | VM alltid-på kostnad | Kjør `03-teardown.sh` hver kveld | Høy |
| OQ-20 | Nattlig GDrive backup feiler hver natt siden 2026-05-25 | Diagnostisere SA-key / folder-ID; fikses i K3 | Høy |
| OQ-21 | `app.threadstone.vauco.no` CNAME satt, men ingen `index.html` | Bygg som del av T2 eller fjern CNAME | Lav |
| OQ-22 | Claude Opus 4.6/4.7 mangler EU-kvote | Vent på Google Cloud-team; midlertidig på Gemini 2.5 Pro | Medium |
| OQ-23 | `vauco.no` viser "Under construction" (Proisp placeholder) | Erstattes av V1-fase | Høy |
| OQ-24 | Ingen SPF/DKIM/DMARC TXT-records på `vauco.no` | Sett opp som del av V1e — salgsmail havner ellers i spam | Høy |
| OQ-25 | Ingen `personvern.html` / `vilkar.html` på vauco.no | GDPR-krav før betalende kunder onboardes — del av V1 | Høy |
| OQ-26 | Ingen statuspage (`status.vauco.no`) | Etter første kunde — trust-signal | Lav |
---
## 12. OPAX — fremtidig visjon (parkert, prioriteres etter CG3 + Fase 8)
> Notert 2026-05-28. Ikke bygg dette nå — fokus er Fase 8 + CG3.
OPAX (`opax.vauco.no`) blir Chris sin **mobile salgssentral** — en stille, tekstbasert assistent han kan snakke MED via AirPods mens han er i møte med en potensiell kunde.
**Flyt:** tale → transkribering → Jason analyserer → genererer kundemodul → Chris reviewer → magic-link til kundens mail.
**Prinsipper:**
- OPAX snakker aldri — kun tekst på skjerm
- Voice er kun inn (Web Speech API / Whisper)
- Silent assistant — stille, rask, mørk, monospace
- Provisjonering on-the-go
**Teknisk stack når det bygges:** Web Speech API → Whisper, Gemini 2.5 Pro (eller Claude når kvote kommer), magic link via SendGrid/Resend fra `vauco.no`, ny endepunkt `POST /opax/generate` i `main.py`.
**Trigger for å starte:** CG3 live OG `static/` UI/UX-opprydding gjort.
---
## 13. TUI-bridge — parkert
Lokal TUI-plan ble løst av OPAX + Cloud Shell + Gemini TUI. Koden ligger i arkiv (`vauco-gemini-tui-bridge`). Reaktiveres etter Fase 8 + første kunde hvis behovet melder seg igjen — flyttes da til `OSVauco/tui/`.
---
*OSVauco | propane-will-491900-m5 | europe-west1 | Autoritativ fra 2026-05-31*