docs(handoff): correct owner (Chris), fix NESTE OPPGAVE to cloudbuild secrets-fix + manual deploy, mark CI/CD not-operative, define OPAX as command hub, brand <project>.os/.oss subdomains, separate medical project
Powered by Jason, Crafted by Vauco
This commit is contained in:
parent
ae582aedeb
commit
ce1cffafb5
180
docs/HANDOFF.md
180
docs/HANDOFF.md
|
|
@ -1,8 +1,8 @@
|
||||||
# HANDOFF — Vauco OS
|
# HANDOFF — Vauco OS
|
||||||
|
|
||||||
**Sist oppdatert:** 2026-06-01 ~06:27 CEST
|
**Sist oppdatert:** 2026-06-04 ~21:30 CEST
|
||||||
**Skrevet av:** Jason Vauger (via Perplexity / Sonnet 4.6) på vegne av Marte Solbrekke Hein
|
**Skrevet av:** Jason Vauger (via Perplexity) på vegne av Chris Christiansen
|
||||||
**Status:** Fase 8 gjenstår. Sesjon 2026-06-01 fullført — dokumentasjon og agentprofil lagt til.
|
**Status:** Fase 8 pågår. PR #15 (IAP /health-fix) er MERGET til main. Neste: fiks cloudbuild.yaml secrets → manuell deploy → verifiser.
|
||||||
|
|
||||||
> **Regel:** Dette er **den eneste** HANDOFF-filen. Overskrives hver sesjon. Tidligere handoffs er flyttet til `docs/archive/handoffs/`.
|
> **Regel:** Dette er **den eneste** HANDOFF-filen. Overskrives hver sesjon. Tidligere handoffs er flyttet til `docs/archive/handoffs/`.
|
||||||
|
|
||||||
|
|
@ -16,18 +16,48 @@ Self-modifisering av infrastruktur, secrets, IAM eller produksjonsmiljø uten go
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 🎯 NESTE OPPGAVE (les denne først)
|
||||||
|
|
||||||
|
**Fase 8 — deploy den mergede /health-fixen og verifiser OPAX live.**
|
||||||
|
|
||||||
|
Konkret, i rekkefølge (én av gangen, vis output, aldri deploy uten `DEPLOY GODKJENT`):
|
||||||
|
|
||||||
|
1. **Fiks cloudbuild.yaml deploy-steget** — det mangler OAuth/session-secrets. Uten dette sletter `--set-env-vars` alle secrets ved deploy.
|
||||||
|
- Legg til etter `--set-env-vars`-linja: `- '--set-secrets=GOOGLE_CLIENT_ID=GOOGLE_CLIENT_ID:1,SESSION_SECRET=SESSION_SECRET:1,GOOGLE_CLIENT_SECRET=GOOGLE_CLIENT_SECRET:1'`
|
||||||
|
- Legg til i `substitutions:`: `_GEMINI_LOCATION: global`
|
||||||
|
2. Commit (signér "Powered by Jason, Crafted by Vauco") + push.
|
||||||
|
3. **Manuell deploy:** `gcloud builds submit --config=cloudbuild.yaml --project=propane-will-491900-m5` (kun etter `DEPLOY GODKJENT`).
|
||||||
|
4. Verifiser: ny Cloud Run revisjon + Vertex-ping + browser-login på opax.vauco.no.
|
||||||
|
|
||||||
|
**IKKE gjør dette (kjente feller fra forrige sesjon):**
|
||||||
|
- IKKE re-merge PR #15 — den er allerede merget til main.
|
||||||
|
- IKKE sett opp nye CI/CD-triggere — vi deployer manuelt. Ut av scope.
|
||||||
|
- IKKE kjør `gcloud builds triggers list` — den henger.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🏗 Hva er dette prosjektet?
|
## 🏗 Hva er dette prosjektet?
|
||||||
|
|
||||||
Se `docs/MASTERPLAN.md` for full sannhet. Kortversjonen:
|
Se `docs/MASTERPLAN.md` for full sannhet. Kortversjonen:
|
||||||
|
|
||||||
```
|
```
|
||||||
Vauco OS (plattform)
|
Vauco OS (plattform)
|
||||||
└── OPAX (engine på Cloud Run us-central1)
|
└── OPAX (kommandosenter + salgsmodul-bygger, Cloud Run us-central1)
|
||||||
├── CostGuard (Modul #1 — live på costguard.oss.vauco.no)
|
├── CostGuard (Modul #1 — live på costguard.oss.vauco.no)
|
||||||
├── Threadstone (Modul #2 — Q3 2026)
|
├── Threadstone (Modul #2 — Q3 2026)
|
||||||
└── [Modul #3+]
|
└── [Modul #3+]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**OPAX = kommandosenter for ALLE prosjekter** (et prosjekt = en klient — samme ting). OPAX bygger, iscenesetter og publiserer prosjekter. OPAX er ikke bundet til noe enkelt prosjekts region.
|
||||||
|
|
||||||
|
**Branding-konvensjon for prosjekter:**
|
||||||
|
| Subdomene | Type |
|
||||||
|
|---|---|
|
||||||
|
| `<prosjekt>.oss.vauco.no` | Staging / demo |
|
||||||
|
| `<prosjekt>.os.vauco.no` | Live produksjon |
|
||||||
|
|
||||||
|
(Klient kan videresende eget domene, men kanonisk merkevare-label er alltid `*.vauco.no`.)
|
||||||
|
|
||||||
Første betalende produkt: **CostGuard** (GCP-kostnadsanalyse via AI).
|
Første betalende produkt: **CostGuard** (GCP-kostnadsanalyse via AI).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -39,19 +69,54 @@ Første betalende produkt: **CostGuard** (GCP-kostnadsanalyse via AI).
|
||||||
| Cloud Run `osvauco-agent` | ✅ Live, `us-central1` |
|
| Cloud Run `osvauco-agent` | ✅ Live, `us-central1` |
|
||||||
| `opax.vauco.no` (LB + SSL) | ✅ Live, IP `34.98.77.173` |
|
| `opax.vauco.no` (LB + SSL) | ✅ Live, IP `34.98.77.173` |
|
||||||
| IAP (`@vauco.no` only) | ✅ Aktivert |
|
| IAP (`@vauco.no` only) | ✅ Aktivert |
|
||||||
| CI/CD Cloud Build → Cloud Run | ✅ Operativt (auto-deploy på push til main) |
|
| PR #15 IAP /health-fix | ✅ Merget til main (commit 7a09871) |
|
||||||
|
| CI/CD Cloud Build → Cloud Run | ⚠️ IKKE operativt — ingen trigger, siste builds FAILURE. Deploy MANUELT. |
|
||||||
| RAG corpus `osvauco-corpus` | ✅ Populert, `europe-west1` |
|
| RAG corpus `osvauco-corpus` | ✅ Populert, `europe-west1` |
|
||||||
| OAuth2 (Google) | ✅ I Secret Manager |
|
| OAuth2 (Google) | ✅ I Secret Manager |
|
||||||
| Budget guard (500 NOK/mnd) | ✅ Live |
|
|
||||||
| AI-modell | ✅ `gemini-2.5-pro` via Vertex AI (us-central1) |
|
| AI-modell | ✅ `gemini-2.5-pro` via Vertex AI (us-central1) |
|
||||||
| `costguard.oss.vauco.no` | ✅ Live (Cloudflare Pages) |
|
| `costguard.oss.vauco.no` | ✅ Live (Cloudflare Pages) |
|
||||||
| Terraform bootstrap-modul | ✅ I `infrastructure/terraform/modules/` |
|
|
||||||
| Jason Vauger agentprofil | ✅ `agents/jason-vauger.md` opprettet 2026-06-01 |
|
|
||||||
| BigQuery dataset + sink | ⏳ Oppe, men tabell ikke populert ennå |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🟡 Forrige sesjon (2026-05-31) — Konsolidering + vauco.no inkorporert
|
## 📋 Nøkkelinformasjon
|
||||||
|
|
||||||
|
| Nøkkel | Verdi |
|
||||||
|
|---|---|
|
||||||
|
| GCP Project | `propane-will-491900-m5` |
|
||||||
|
| Region (OPAX, LÅST) | `us-central1` |
|
||||||
|
| Vertex AI endpoint | `us-central1` (kjører `GOOGLE_CLOUD_LOCATION=global` i praksis) |
|
||||||
|
| Artifact Registry | `us-central1-docker.pkg.dev/propane-will-491900-m5/osvauco-repo` |
|
||||||
|
| Cloud Run service | `osvauco-agent` |
|
||||||
|
| Cloud Run URL (direkte) | `https://osvauco-agent-357036551735.us-central1.run.app` |
|
||||||
|
| Public URL | `https://opax.vauco.no` |
|
||||||
|
| LB IP | `34.98.77.173` |
|
||||||
|
| AI-modell | `gemini-2.5-pro` |
|
||||||
|
| Repo | `vauco-saas/OSVauco` |
|
||||||
|
| Eier / Operatør | Chris Christiansen — `chris.christiansen@vauco.no` |
|
||||||
|
| Agent-konto | `jason.vauger@vauco.no` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🩺 Medisinsk prosjekt (Medioteq) — SEPARAT, IKKE OPAX
|
||||||
|
|
||||||
|
Det medisinske prosjektet er et **eget, fremtidig prosjekt** som **ikke er opprettet ennå** og **ikke er prioritert**. Det påvirker IKKE OPAX sin region eller arkitektur. Når det opprettes, velges region (EU eller US) der og da, uavhengig av OPAX. Alle kliniske/`europe-north1`-regler gjelder KUN det prosjektet — ikke OPAX.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Vanlige feil — ikke gjør disse
|
||||||
|
|
||||||
|
- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Det er kun denne. Overskriv den.
|
||||||
|
- **Ikke re-merge PR #15** — allerede merget.
|
||||||
|
- **Ikke sett opp CI/CD-triggere** — deploy manuelt.
|
||||||
|
- **Ikke bytt til Claude før kvote er bekreftet** + `MODEL APPROVED` fra Chris.
|
||||||
|
- **Ikke migrere fra us-central1** — regionen er låst for OPAX.
|
||||||
|
- **Ikke rør IAP, OAuth, eller Secret Manager** uten eksplisitt `DEPLOY GODKJENT`.
|
||||||
|
- **Ikke oppdater OAuth-klient redirect URIs uten domeneavklaring** — se Issue #16.
|
||||||
|
- **Ikke hopp over HITL gates.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟡 Tidligere sesjon (2026-05-31) — Konsolidering + vauco.no inkorporert
|
||||||
|
|
||||||
PR `chore/consolidate-2026-05-31` rydder:
|
PR `chore/consolidate-2026-05-31` rydder:
|
||||||
|
|
||||||
|
|
@ -74,92 +139,6 @@ PR `chore/consolidate-2026-05-31` rydder:
|
||||||
- ✅ Åpne PR-er: #8 (docs region), #9 (opax comments), #10 (vm stop-fix)
|
- ✅ Åpne PR-er: #8 (docs region), #9 (opax comments), #10 (vm stop-fix)
|
||||||
- ✅ VM stop-fix: `scripts/stop-osvauco-dev-vm.sh` laget, DELETE-risiko eliminert
|
- ✅ VM stop-fix: `scripts/stop-osvauco-dev-vm.sh` laget, DELETE-risiko eliminert
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🟢 Denne sesjonen (2026-06-01 ~05:30–06:30 CEST) — Dokumentasjon + Jason Vauger
|
|
||||||
|
|
||||||
**Utført av:** Marte Solbrekke Hein + Jason Vauger (Perplexity)
|
|
||||||
|
|
||||||
### ✅ Fullført
|
|
||||||
|
|
||||||
- ✅ **Issue #16 opprettet** — OAuth-klient må revideres etter domeneflytting fra ProISP til Google
|
|
||||||
- Sjekkliste for OPAX, OS, Costguard, Threadstone
|
|
||||||
- Påminnelse: Google krever eksakt match på redirect URIs — ikke bare "anta" at de fungerer etter DNS-migrasjon
|
|
||||||
- Se: [vauco-saas/OSVauco#16](https://github.com/vauco-saas/OSVauco/issues/16)
|
|
||||||
|
|
||||||
- ✅ **`agents/jason-vauger.md` opprettet** — fullstendig agentprofil for Jason Vauger
|
|
||||||
- Rolle: personlig assistent / persona-lag over OPAX
|
|
||||||
- Dekker: ansvarsområder, personlighet, integrasjonspunkter, ML-faser (ML-1/2/3)
|
|
||||||
- Peker til Issue #16 (OAuth-avhengighet)
|
|
||||||
|
|
||||||
- ✅ **`AGENTS.md` oppdatert** — Jason Vauger lagt til
|
|
||||||
- Øverst i arkitekturdiagram (over OPAX)
|
|
||||||
- Ny rad i agenttabell med PS-rolle, Dask-rolle og ML-faser
|
|
||||||
- Commit: `bcd3036`
|
|
||||||
|
|
||||||
### 📝 Avklart i sesjonen
|
|
||||||
|
|
||||||
- GitHub Copilot bruker **Auto**-modell som standard (ikke Gemini 2.5 Pro eksplisitt)
|
|
||||||
- 50 % Copilot premium requests brukt — sannsynligvis fra agent/chat-sesjoner, ikke modellvalg
|
|
||||||
- Jason Vauger er **ikke** en PS-worker — han er persona-lag over hele stacken
|
|
||||||
- Marte er den faktiske eieren av OSVauco (tidligere referert som "Chris" i eldre docs)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔄 Neste oppgave: Fase 8 — End-to-end test (browser)
|
|
||||||
|
|
||||||
Cloud Run og IAP er allerede verifisert (`/health` OK via Cloud Run, IAP blokkerer uautentisert).
|
|
||||||
|
|
||||||
**Det som gjenstår:**
|
|
||||||
|
|
||||||
### Steg 1 — Verifiser modell-config
|
|
||||||
```bash
|
|
||||||
# Sjekk at app bruker gemini-2.5-pro, ikke Claude
|
|
||||||
gcloud run services describe osvauco-agent --region us-central1 \
|
|
||||||
--format='value(spec.template.spec.containers[0].env[?(@.name=="VERTEX_MODEL")].value)'
|
|
||||||
# Forventet: gemini-2.5-pro
|
|
||||||
```
|
|
||||||
|
|
||||||
### Steg 2 — Test Vertex Gemini direkte
|
|
||||||
```bash
|
|
||||||
curl -X POST \
|
|
||||||
"https://us-central1-aiplatform.googleapis.com/v1/projects/propane-will-491900-m5/locations/us-central1/publishers/google/models/gemini-2.5-pro:generateContent" \
|
|
||||||
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d '{"contents":[{"role":"user","parts":[{"text":"ping"}]}]}'
|
|
||||||
# Forventet: JSON med tekst-svar
|
|
||||||
```
|
|
||||||
|
|
||||||
### Steg 3 — Full end-to-end
|
|
||||||
Logg inn på `https://opax.vauco.no` med `chris.christiansen@vauco.no` → send en melding → verifiser at agenten svarer.
|
|
||||||
|
|
||||||
**HITL gate:** Skriv `FASE8 APPROVED` i denne filen + i ROADMAP når alle steg er verifisert.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔜 Etter Fase 8 — to spor parallelt
|
|
||||||
|
|
||||||
**Spor A — CG3 (CostGuard frontend wiring)** — inntektsmotor
|
|
||||||
**Spor B — V1 (vauco.no salgsportal)** — ansiktet utad, må være live før første kundeklage om "hvem er Vauco?"
|
|
||||||
|
|
||||||
Se `docs/ROADMAP.md` seksjon NEXT for full sjekkliste og `docs/vauco-site/DESIGN.md` for V1 design-spec.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Nøkkelinformasjon
|
|
||||||
|
|
||||||
| Nøkkel | Verdi |
|
|
||||||
|---|---|
|
|
||||||
| GCP Project | `propane-will-491900-m5` |
|
|
||||||
| Region | `us-central1` |
|
|
||||||
| Vertex AI endpoint | `us-central1` |
|
|
||||||
| Cloud Run service | `osvauco-agent` |
|
|
||||||
| Cloud Run URL (direkte) | `https://osvauco-agent-357036551735.us-central1.run.app` |
|
|
||||||
| Public URL | `https://opax.vauco.no` |
|
|
||||||
| LB IP | `34.98.77.173` |
|
|
||||||
| AI-modell | `gemini-2.5-pro` |
|
|
||||||
| Repo | `vauco-saas/OSVauco` |
|
|
||||||
| Kontakt | `chris.christiansen@vauco.no` |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -190,13 +169,6 @@ Se `docs/ROADMAP.md` seksjon NEXT for full sjekkliste og `docs/vauco-site/DESIGN
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📜 Tidligere handoffs
|
|
||||||
|
|
||||||
Arkivert i `docs/archive/handoffs/`:
|
|
||||||
- `HANDOFF_20260526.md`
|
|
||||||
- `HANDOFF_20260531.md`
|
|
||||||
- `HANDOFF_20260531_claude47.md`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Vauco AS · propane-will-491900-m5 · `us-central1` · Jason Vauger sier: neste sesjon starter med Fase 8.*
|
*Vauco AS · propane-will-491900-m5 · `us-central1` · Powered by Jason, Crafted by Vauco · Fase 8: cloudbuild secrets-fix → manuell deploy.*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user