diff --git a/protocols/reports/2026-05-26_google-dev-tech-review.md b/protocols/reports/2026-05-26_google-dev-tech-review.md new file mode 100644 index 0000000..716c427 --- /dev/null +++ b/protocols/reports/2026-05-26_google-dev-tech-review.md @@ -0,0 +1,108 @@ +# OSVauco — Tech Review rapport +**Perspektiv:** Senior Google Cloud Platform engineer +**Dato:** 2026-05-26 06:03 CEST +**Kilde:** Perplexity OPAX-agent, basert på MASTERPLAN.md + repo-struktur + sesjonsfiler + +--- + +## ✅ Det som er solid + +- **CI/CD er riktig bygget.** Cloud Build 2nd gen + GitHub App er den anbefalte veien — unngår OAuth-kompleksiteten i 1st gen. +- **Light/heavy LLM-ruting** er en fornuftig kostnadsarkitektur. Flash foran, Pro ved behov — dette skalerer. +- **Teardown-disiplin** (daglig `03-teardown.sh`) viser forståelse for at Agent Runtimes og Reasoning Engines koster 24/7 selv uten trafikk. +- **MASTERPLAN.md** som single source of truth holder agenter og mennesker synkronisert. + +--- + +## ⚠️ Kritiske strukturproblemer + +### 1. Repo-identitet er uklar + +| Repo | Hva det sier det er | Hva det faktisk er | Konflikt? | +|---|---|---|---| +| `OSVauco` | Regler, GCP-scripts, agenter | Alt — inkl. `main.py`, `ml/`, `agents/`, `infrastructure/`, `protocols/` | **Ja — monorepo uten grenser** | +| `vauco-gemini-tui-bridge` | TUI-cockpit | Uklart om dette er en separat service eller shell-wrapper | Ukjent | +| `vauco-os` | Det kundene bruker | Ukjent om dette er fersk kopi av OSVauco eller eget produkt | **Potensielt duplikat** | +| `vauco-bootstrap` | Onboarding | Ingen Terraform ennå — grense mot `OSVauco/infrastructure/` er uklar | Uklar | +| `deep-dream` | Strategisk visjon | "Aldri deploy herfra" — er dette et repo eller et dokument? | Unødvendig repo | + +**Problemet:** `OSVauco` er blitt et monorepo som inneholder operasjonslogikk, ML-kode, infrastruktur-scripts, agent-kode, docs og protokoller. For mye i én kasse. + +### 2. `.env.prefilled` i repoet er en sikkerhetsrisiko + +`.env.prefilled` i root kan inneholde faktiske project IDs og account-verdier. For en SaaS-plattform med kunder bør dette enten fjernes eller eksplisitt gitignores. + +**Aksjon:** Verifiser innhold → fjern eller legg til `.gitignore`. + +### 3. `Procfile` i root antyder Heroku-arv + +`Procfile` er et Heroku-konsept. Cloud Run bruker container entrypoint, ikke Procfile. Dette er enten teknisk gjeld eller det skaper forvirring om hva som faktisk starter appen. + +**Aksjon:** Fjern eller dokumenter tydelig at den er ubrukt. + +### 4. `cloudbuild.base.yaml` + `cloudbuild.yaml` — uklar relasjon + +To Cloud Build-filer i root uten åpenbar arv/include-struktur. Forvirrende for agenter og nye devs — hvilken er master? + +**Aksjon:** Slå sammen eller dokumenter arv eksplisitt i begge filer. + +### 5. Infrastructure scripts vs Terraform — ikke-idempotent overgangsperiode + +Terraform-migreringen (Fase C) skaper en farlig periode der begge tilstandene eksisterer. Ingen lock hindrer at noen kjører et shell-script etter at Terraform har overtatt samme ressurs → state-konflikt. + +**Aksjon:** Definer eksplisitt deprecerings-plan for hvert script etter Terraform-migrering. + +--- + +## 🏗️ Anbefalt repo-struktur (mål, ikke krav nå) + +``` +# I dag (problem): +OSVauco/ ← monorepo: alt blandet + +# Anbefalt (Fase C-mål): +vauco-platform/ + ├── services/osvauco-agent/ ← main.py + agents/ + ml/ + ├── infrastructure/terraform/ ← .tf-filer + ├── infrastructure/scripts/ ← shell (avvikles gradvis) + └── dialogflow/ ← B6 her + +vauco-ops/ ← internt operasjonsverktøy + ├── protocols/ + ├── docs/ + └── .gemini/ + +vauco-bootstrap/ ← Terraform-modul per kunde +``` + +**Merk:** Omstrukturering er en Fase C-vurdering — ikke krav nå. + +--- + +## 📋 Prioritert aksjonsliste + +| Prioritet | Handling | Innsats | Risiko hvis ignorert | +|---|---|---|---| +| 🔴 1 | Sjekk `.env.prefilled` — fjern eller gitignore | 5 min | Sensitiv info i Git | +| 🔴 2 | Avklar rolle til `vauco-os` vs `OSVauco` — duplikat? | 30 min | Feil repo ved kundelevering | +| 🟡 3 | Fjern/rename `Procfile` eller dokumenter at den er ubrukt | 5 min | Forvirrer agenter og nye devs | +| 🟡 4 | Slå sammen `cloudbuild.base.yaml` og `cloudbuild.yaml` | 15 min | CI/CD-feil ved endringer | +| 🟡 5 | Legg til `infrastructure/terraform/README.md` nå | 10 min | Ingen klar destinasjon for Terraform-bootstrap | +| 🟢 6 | Vurder om `deep-dream` trenger eget repo | 10 min | Unødvendig repo-overhead | +| 🟢 7 | Plan for deprecering av shell-scripts etter Terraform | Fase C | State-konflikt sh vs tf | + +--- + +## 🎯 Konklusjon + +Planen er arkitektonisk fornuftig og GCP-nativ. Fase A og B er godt gjennomført. De største risikoene er **ikke tekniske** — de er **organisatoriske**: + +- Repo-grensene er uklare +- Monorepo-vekst er i gang uten styring +- Overgangen fra shell til Terraform mangler eksplisitt låsestrategi + +Adresser de 🔴 røde punktene **før** B6 og Terraform-bootstrap for å stå stødigere til Fase C. + +--- + +*Generert av Perplexity OPAX-agent | propane-will-491900-m5 | 2026-05-26 06:03 CEST*