docs: add Google-developer tech review report 2026-05-26
This commit is contained in:
parent
b6227bd217
commit
89d97fbc98
108
protocols/reports/2026-05-26_google-dev-tech-review.md
Normal file
108
protocols/reports/2026-05-26_google-dev-tech-review.md
Normal file
|
|
@ -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*
|
||||||
Loading…
Reference in New Issue
Block a user