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