docs: CI5+CI6+OX1c lukket ✅ — auth-løsning dokumentert, Emma-mail notert, NEXT oppdatert
This commit is contained in:
parent
f7638b8a16
commit
e93cb38b19
|
|
@ -150,10 +150,9 @@ OSVauco/
|
||||||
├── scripts/
|
├── scripts/
|
||||||
├── static/
|
├── static/
|
||||||
│ ├── opax.html Operator hub — Chris sitt cockpit (OX1)
|
│ ├── opax.html Operator hub — Chris sitt cockpit (OX1)
|
||||||
│ ├── jason.html Jason fullskjerm-chat — primærgrensesnitt (OX1c) ✅
|
│ ├── jason.html Jason fullskjerm-chat ✅ LIVE opax.vauco.no/static/jason.html
|
||||||
│ ├── billing-dashboard.html
|
│ ├── billing-dashboard.html
|
||||||
│ ├── command-hub.html
|
│ ├── command-hub.html
|
||||||
│ ├── costguard.html
|
|
||||||
│ └── admin.html
|
│ └── admin.html
|
||||||
├── docs/
|
├── docs/
|
||||||
│ ├── MASTERPLAN.md ← denne filen
|
│ ├── MASTERPLAN.md ← denne filen
|
||||||
|
|
@ -239,13 +238,15 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
||||||
> Full status i `docs/ROADMAP.md`.
|
> Full status i `docs/ROADMAP.md`.
|
||||||
|
|
||||||
### 🔴 NOW
|
### 🔴 NOW
|
||||||
- [ ] OX1c — Jason fullskjerm-chat pushet, venter på deploy
|
- [x] OX1c — Jason fullskjerm-chat LIVE ✅ 2026-06-10
|
||||||
|
- [x] CI5+CI6 — OPAX-MCP live + Jason kaller MCP ✅ 2026-06-10
|
||||||
|
- [ ] OX2 — Command Hub: samle jason.html + opax.html + command-hub.html
|
||||||
- [ ] CG4b — Token dashboard breakdown per modul
|
- [ ] CG4b — Token dashboard breakdown per modul
|
||||||
- [ ] C4 — Medioteq HITL-møte → første betalende kunde
|
- [ ] C4 — Medioteq HITL-møte → første betalende kunde
|
||||||
|
|
||||||
### 🟠 NEXT
|
### 🟠 NEXT
|
||||||
- CI1 — OPAX-MCP: Vauco sin egen MCP-server/CI-kanal mot GCP
|
- CI1 — OPAX-MCP: full CI/CD-kanal (CI1a–e)
|
||||||
- ML-3a — GCP GPU-VM for Emma (Gemma 4)
|
- ML-3a — GCP GPU-VM for Emma (Gemma 4) + `emma.vauger@vauco.no` opprettes
|
||||||
- CG4d — Kundeprisingskalkulator
|
- CG4d — Kundeprisingskalkulator
|
||||||
- C5 — Salgsdemo
|
- C5 — Salgsdemo
|
||||||
|
|
||||||
|
|
@ -262,7 +263,7 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
||||||
|-----------|--------|--------|-------|--------|
|
|-----------|--------|--------|-------|--------|
|
||||||
| Eier / admin | `chris.christiansen@vauco.no` | — | Full kontroll | ✅ Aktiv |
|
| Eier / admin | `chris.christiansen@vauco.no` | — | Full kontroll | ✅ Aktiv |
|
||||||
| Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` via Vertex | Kundevendt agent, `billing.viewer` + `run.invoker` | ✅ Live |
|
| Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` via Vertex | Kundevendt agent, `billing.viewer` + `run.invoker` | ✅ Live |
|
||||||
| Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris — erstatter Perplexity stand-in | 🔮 ML-3a trigger |
|
| Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris — erstatter Perplexity stand-in | 🔮 ML-3a trigger — opprett Google Workspace-konto samtidig |
|
||||||
| Perplexity (stand-in) | — | Sonnet 4.6 via GitHub MCP | Operatør-assistent til Emma er oppe | ✅ Aktiv nå |
|
| Perplexity (stand-in) | — | Sonnet 4.6 via GitHub MCP | Operatør-assistent til Emma er oppe | ✅ Aktiv nå |
|
||||||
| Fremtidig gruppe | `billing@vauco.no` | — | `billing.viewer` (Fase C) | 🔮 Fase C |
|
| Fremtidig gruppe | `billing@vauco.no` | — | `billing.viewer` (Fase C) | 🔮 Fase C |
|
||||||
|
|
||||||
|
|
@ -275,13 +276,15 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
||||||
## 9. Cloud Run — live endepunkter
|
## 9. Cloud Run — live endepunkter
|
||||||
|
|
||||||
**Service:** `osvauco-agent` | **Region:** `us-central1` | **Project:** `propane-will-491900-m5`
|
**Service:** `osvauco-agent` | **Region:** `us-central1` | **Project:** `propane-will-491900-m5`
|
||||||
**Direkte URL:** `https://osvauco-agent-357036551735.us-central1.run.app`
|
**Direkte URL:** `https://osvauco-agent-zjbqp3prqq-uc.a.run.app` ← bruk denne (ikke 357036551735)
|
||||||
**Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`)
|
**Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`)
|
||||||
|
**Jason UI:** `https://opax.vauco.no/static/jason.html` ✅ LIVE
|
||||||
|
|
||||||
| Endepunkt | Status |
|
| Endepunkt | Status |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| `GET /health` | ✅ |
|
| `GET /health` | ✅ (ingen auth påkrevd) |
|
||||||
| `POST /run` | ✅ |
|
| `POST /run` | ✅ (krever metadata-token, se auth-løsning i ROADMAP) |
|
||||||
|
| `GET /static/jason.html` | ✅ OX1c LIVE |
|
||||||
| `GET /opax/build-status` | ✅ (OX1a) |
|
| `GET /opax/build-status` | ✅ (OX1a) |
|
||||||
| `GET /billing/tokens/by-module` | ✅ (CG4a) |
|
| `GET /billing/tokens/by-module` | ✅ (CG4a) |
|
||||||
| `GET /billing/tokens/estimate` | ✅ (CG4c) |
|
| `GET /billing/tokens/estimate` | ✅ (CG4c) |
|
||||||
|
|
@ -323,20 +326,23 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
||||||
|
|
||||||
## 12. OPAX — fremtidig visjon
|
## 12. OPAX — fremtidig visjon
|
||||||
|
|
||||||
### Operator Hub (OX1) — Chris sitt cockpit
|
### Operator Hub (OX1 → OX2) — Chris sitt cockpit
|
||||||
|
|
||||||
OPAX (`opax.vauco.no`) + `jason.html` blir Chris sin **komplette arbeidsflate**.
|
OPAX (`opax.vauco.no`) er Chris sin **komplette arbeidsflate**.
|
||||||
|
|
||||||
**Ferdig:**
|
**Ferdig:**
|
||||||
- ✅ Jason-chat (`/jason`) — OX1c
|
- ✅ Jason-chat (`/static/jason.html`) — OX1c LIVE 2026-06-10
|
||||||
- ✅ Billing dashboard
|
- ✅ Billing dashboard
|
||||||
- ✅ Cloud Build live-widget — OX1a
|
- ✅ Cloud Build live-widget — OX1a
|
||||||
- ✅ Embedded TUI-panel — OX1b
|
- ✅ Embedded TUI-panel — OX1b
|
||||||
- ✅ Token Intelligence endepunkter — CG4a+c
|
- ✅ Token Intelligence endepunkter — CG4a+c
|
||||||
|
- ✅ CI5 — OPAX-MCP build+deploy
|
||||||
|
- ✅ CI6 — Jason kaller MCP live
|
||||||
|
|
||||||
**Gjenstår:**
|
**Gjenstår:**
|
||||||
|
- OX2 — Command Hub: sy sammen alle grensesnitt
|
||||||
- Token Intelligence dashboard i UI — CG4b
|
- Token Intelligence dashboard i UI — CG4b
|
||||||
- OPAX-MCP server — CI1
|
- OPAX-MCP full CI/CD-kanal — CI1
|
||||||
|
|
||||||
### OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
|
### OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,9 @@
|
||||||
|
|
||||||
## NOW — Aktiv akkurat nå
|
## NOW — Aktiv akkurat nå
|
||||||
|
|
||||||
- [ ] **Deploy OX1c** — `git pull` på VM + manuell Cloud Build submit (Jason chat live)
|
|
||||||
- [ ] **CG4b** — Token dashboard breakdown per modul i UI (trigger: 50+ BQ-kall)
|
- [ ] **CG4b** — Token dashboard breakdown per modul i UI (trigger: 50+ BQ-kall)
|
||||||
- [ ] **C4** — Medioteq HITL-møte → første betalende kunde
|
- [ ] **C4** — Medioteq HITL-møte → første betalende kunde
|
||||||
|
- [ ] **OX2** — Command Hub: sy sammen jason.html + opax.html + command-hub.html til én arbeidsflate
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -34,17 +34,17 @@
|
||||||
- [ ] **CI1d** — Tool: `get_logs` + `get_build_status`
|
- [ ] **CI1d** — Tool: `get_logs` + `get_build_status`
|
||||||
- [ ] **CI1e** — Jason/Emma ADK-integrasjon: MCP som ADK-tool
|
- [ ] **CI1e** — Jason/Emma ADK-integrasjon: MCP som ADK-tool
|
||||||
|
|
||||||
|
### ML-3 — Emma (Gemma)
|
||||||
|
- [x] **ML-3b** — `docs/gemma/world.md` ✅ 2026-06-10
|
||||||
|
- [ ] **ML-3a** — GCP GPU-VM (`g2-standard-4` Spot, L4, `europe-west4`) + `emma.vauger@vauco.no` Google Workspace-konto opprettes samtidig
|
||||||
|
- [ ] **ML-3c** — Hybrid agent: Emma internt / Jason for kunder
|
||||||
|
- [ ] **ML-3d** — Fine-tune på Vauco-sesjonsdata
|
||||||
|
|
||||||
### CostGuard
|
### CostGuard
|
||||||
- [ ] **CG4d** — Kundeprisingskalkulator basert på token-historikk
|
- [ ] **CG4d** — Kundeprisingskalkulator basert på token-historikk
|
||||||
- [ ] **C5** — Salgsdemo: `costguard.os.vauco.no` + demo-video
|
- [ ] **C5** — Salgsdemo: `costguard.os.vauco.no` + demo-video
|
||||||
- [ ] **DX5** — Dialogflow Messenger live på costguard-landingssiden
|
- [ ] **DX5** — Dialogflow Messenger live på costguard-landingssiden
|
||||||
|
|
||||||
### ML-3 — Emma (Gemma)
|
|
||||||
- [x] **ML-3b** — `docs/gemma/world.md` ✅ 2026-06-10
|
|
||||||
- [ ] **ML-3a** — GCP GPU-VM (`g2-standard-4` Spot, L4, `europe-west4`)
|
|
||||||
- [ ] **ML-3c** — Hybrid agent: Emma internt / Jason for kunder
|
|
||||||
- [ ] **ML-3d** — Fine-tune på Vauco-sesjonsdata
|
|
||||||
|
|
||||||
### Modul #2 — Threadstone
|
### Modul #2 — Threadstone
|
||||||
- [ ] **T1** — Migrer `threadstone.vauco.no` fra GitHub Pages til GCS + GCP LB
|
- [ ] **T1** — Migrer `threadstone.vauco.no` fra GitHub Pages til GCS + GCP LB
|
||||||
- [ ] **T2–T4** — Konsolidering → pilot → lansering
|
- [ ] **T2–T4** — Konsolidering → pilot → lansering
|
||||||
|
|
@ -91,11 +91,34 @@
|
||||||
- [x] **CG3e** — Token-logging til BQ · 2026-06-10
|
- [x] **CG3e** — Token-logging til BQ · 2026-06-10
|
||||||
- [x] **OX1a** — Cloud Build live-widget · 2026-06-10
|
- [x] **OX1a** — Cloud Build live-widget · 2026-06-10
|
||||||
- [x] **OX1b** — Embedded TUI-panel · 2026-06-10
|
- [x] **OX1b** — Embedded TUI-panel · 2026-06-10
|
||||||
- [x] **OX1c** — Jason fullskjerm-chat pushet · 2026-06-10 (deploy pending)
|
- [x] **OX1c** — Jason fullskjerm-chat LIVE `opax.vauco.no/static/jason.html` · 2026-06-10 ✅
|
||||||
- [x] **CG4a+c** — Token intelligence endepunkter · 2026-06-10
|
- [x] **CG4a+c** — Token intelligence endepunkter · 2026-06-10
|
||||||
- [x] **V1e** — SPF/DKIM/DMARC live · 2026-06-10
|
- [x] **V1e** — SPF/DKIM/DMARC live · 2026-06-10
|
||||||
- [x] **ML-3b** — `docs/gemma/world.md` Emma-kontekstpakke · 2026-06-10
|
- [x] **ML-3b** — `docs/gemma/world.md` Emma-kontekstpakke · 2026-06-10
|
||||||
- [x] **Emma Vauger** — Registrert som agent `emma.vauger@vauco.no` · 2026-06-10
|
- [x] **Emma Vauger** — Registrert som agent `emma.vauger@vauco.no` · 2026-06-10
|
||||||
|
- [x] **CI5** — OPAX-MCP build + deploy SUCCESS · 2026-06-10 ✅
|
||||||
|
- [x] **CI6** — Jason kaller OPAX-MCP live, returnerer faktisk build-ID · 2026-06-10 ✅
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## AUTH-LØSNING (autoritativ) — Cloud Run / IAP fra VM
|
||||||
|
|
||||||
|
> Bruk alltid denne metoden for curl-kall mot `osvauco-agent` fra dev-VM:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TOKEN=$(curl -s -H "Metadata-Flavor: Google" \
|
||||||
|
"http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=https://osvauco-agent-zjbqp3prqq-uc.a.run.app&format=full")
|
||||||
|
|
||||||
|
curl -s \
|
||||||
|
-H "Authorization: Bearer $TOKEN" \
|
||||||
|
-H "x-goog-authenticated-user-email: accounts.google.com:chris.christiansen@vauco.no" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"user_id": "chris", "session_id": "<session-id>", "message": "<melding>"}' \
|
||||||
|
https://osvauco-agent-zjbqp3prqq-uc.a.run.app/run
|
||||||
|
```
|
||||||
|
|
||||||
|
**Viktig:** Bruk `zjbqp3prqq`-URL (ikke `357036551735`-URL) som audience og endepunkt.
|
||||||
|
**Aldri** bruk `gcloud auth print-identity-token` uten `--audiences` — gir feil audience.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user