OSVauco/protocols/reports/2026-05-26_google-dev-tech-review.md

4.8 KiB

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 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