OSVauco/protocols/reports/2026-05-26_google-dev-tech-review.md
Chris Christiansen 9fcb9c354a
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
feat(core): Fresh initialization - Deploy v3.6.1 Singularity Architecture
2026-09-03 04:03:09 +00:00

109 lines
4.8 KiB
Markdown

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