OSVauco/docs/ROADMAP.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

114 lines
5.1 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 — ROADMAP
**Eier:** Chris Christiansen
**Sist oppdatert:** 2026-05-31
**Erstatter:** `docs/VAUCO_OS_ROADMAP.md` (deprecated)
> Levende dokument. Oppdateres hver sesjon. Arkitektur og fasit ligger i `docs/MASTERPLAN.md`.
---
## NOW — Aktiv akkurat nå
- [ ] **K1 — Repo-konsolidering** (denne sesjonen)
- Slå sammen MASTERPLAN-er, fjern duplikater, fjern merge-markører i session log
- HITL gate: `MERGE APPROVED` på PR `chore/consolidate-2026-05-31`
- [ ] **K2 — AGENT_RULEBOOK retting**
- Region → `europe-west1`, modell → `gemini-2.5-pro`, MCP_SERVICE → `osvauco-agent`
- Done når: AGENT_RULEBOOK matcher MASTERPLAN §6 og §9
- [ ] **K3 — Fiks nattlig GDrive backup**
- Workflow `backup-gdrive-nightly.yml` har failet hver natt siden 2026-05-25
- Diagnostiser: SA-key gyldig? Folder-ID korrekt? `RCLONE_GDRIVE_SA_JSON` secret intakt?
- [ ] **F8 — End-to-end test via opax.vauco.no**
- Cloud Run `/health` ✅, IAP blokk ✅
- **Gjenstår:** browser-login → chat → svar
- HITL gate: `FASE8 APPROVED`
---
## NEXT — Neste opp (etter NOW)
### vauco.no salgsportal (V-spor) — kan kjøres parallelt med CG3
- [ ] **V1a** — Opprett `vauco-saas/vauco-site` (public repo, GitHub Pages)
- [ ] **V1b** — Bygg MVP: hero + modul-grid + om-oss + kontakt + personvern + vilkår
- [ ] **V1c** — Sett CNAME `vauco.no` + `www.vauco.no` → GitHub Pages i Proisp
- [ ] **V1d** — Erstatt "Under construction" — deploy MVP
- [ ] **V1e** — Sett opp SPF + DKIM + DMARC TXT-records på `vauco.no`
### CostGuard frontend wiring
- [ ] **CG3a** — Bygg `static/costguard.html` (OAuth-knapp + billing embed)
- [ ] **CG3b** — Sett CNAME `costguard.oss.vauco.no` → Cloud Run i Proisp
- [ ] **CG3c** — Verifiser `/static/costguard.html` tilgjengelig via Cloud Run
- [ ] **CG3d** — Test OAuth-flow fra landingssiden
- [ ] **OQ-21** — Bygg `app.threadstone.vauco.no` eller fjern CNAME
---
## LATER — Backlog (vent på trigger)
### Go-to-market CostGuard
- [ ] **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
- [ ] **T1** — Konsolider `threadstone-instructions``OSVauco/docs/threadstone/` (trigger: T2 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
### Infrastruktur — Fase C
- [ ] **C1** — Terraform-konvertering (påbegynt: `infrastructure/terraform/modules/`)
- [ ] **C2** — Multi-tenant stamp-out (`scripts/onboard-client.sh`)
- [ ] **C3** — BQ-2 / Looker Studio kobling
- [ ] Full boot cycle acceptance test (automatisert)
- [ ] OPS agent + BigQuery live logging
- [ ] `opax-mcp/` restruktureres som ordentlig modul-subtree
### OPAX-evolusjon
- [ ] Voice-input på `opax.vauco.no` (Web Speech API → Whisper)
- [ ] Magic-link auth for kunde-onboarding
- [ ] `POST /opax/generate` endpoint
### Strategisk
- [ ] **Deep Dream** — røres ikke før Modul #1 har betalende kunde
- [ ] **Proof of Curiosity** — defineres etter Modul #1 + Modul #2 lever
---
## BLOCKED
-**OQ-22** — Claude Opus 4.6/4.7 EU-kvote ikke innvilget. Midlertidig på `gemini-2.5-pro` via Vertex AI EU.
---
## KJENTE HULL — ikke i en fase ennu
- [ ] **OQ-23**`vauco.no` viser "Under construction" → fikses i V1-fase
- [ ] **OQ-24** — SPF/DKIM/DMARC mangler på `vauco.no` (Google Workspace MX er satt, men autentisering ikke) → V1e
- [ ] **OQ-25** — Personvern/vilkår mangler → GDPR-krav før betalende kunde → V1
- [ ] **OQ-26** — Ingen statuspage → etter første kunde
---
## ✅ Fullførte faser
- [x] **Phase 0** — Baseline: repo, `.gemini/`-struktur, boot-script, sesjonslogg
- [x] **Phase 1** — Domain/protocol locking, `ARCHITECTURE.md`
- [x] **Phase 2**`opax.vauco.no` LIVE: Cloud Run, CNAME, SSL · 2026-05-21
- [x] **Phase 3** — Nemotron session loop, `docs/TODO.md`, Phase 1+2 rapport · 2026-05-21
- [x] **Phase 4** — Docs hardening: LEARNINGS 007009, SECRETS-SETUP, IAP-SETUP kartlegging · 2026-05-25
- [x] **Phase 5** — Cloud Run IAM-autentisering på `osvauco-agent`: kun Chris + Jason · 2026-05-25
- [x] **Phase 5 IAP** — IAP migrering til GCP Load Balancer (IP 34.98.77.173) · 2026-05-30
- [x] **Phase 6** — CI/CD: auto-deploy på push til main · 2026-05-30
- [x] **Phase 7** — RAG corpus `osvauco-corpus` populert i `europe-west4` · 2026-05-30
- [x] **GDrive/GitHub paritet** — mirror-script, PS1 prompt, IAM/Secrets · 2026-05-25
- [x] **Repo-konsolidering trinn 1**`vauco-os`, `vauco-gemini-tui-bridge`, `command-hub` arkivert · 2026-05-27
- [x] **Terraform bootstrap-modul**`infrastructure/terraform/modules/{vauco-bootstrap,vauco-platform}` opprettet · 2026-05-26
- [x] **OPAX operator hub**`static/opax.html` deployet · 2026-05-31
---
*Sjekkliste-logikk: NOW skal være ≤4 oppgaver. Når en NOW er done → flytt til Fullført. Når en NEXT starter → flytt opp til NOW.*