feat(agents): registrer Emma Vauger + CI1 opp i NEXT + HANDOFF sprint-2026-06-10
This commit is contained in:
parent
64ef0867a2
commit
5b352f6568
162
docs/HANDOFF.md
162
docs/HANDOFF.md
|
|
@ -1,94 +1,79 @@
|
|||
# HANDOFF — Vauco OS
|
||||
|
||||
**Sist oppdatert:** 2026-06-09
|
||||
**Skrevet av:** Jason Vauger (via Perplexity)
|
||||
**Status:** CostGuard OAuth-flyt er verifisert, vauco.no er tonet ned og anonymisert, og Threadstone er satt i lukket pilot med kun @vauco.no-innlogging.
|
||||
**Sist oppdatert:** 2026-06-10 02:30 CEST
|
||||
**Skrevet av:** Perplexity (stand-in) via GitHub MCP
|
||||
**Sprint:** OX1c + Emma-registrering + CI1-spek
|
||||
|
||||
---
|
||||
|
||||
## ✅ OQ-15 / CG3 — Status per 2026-06-09
|
||||
## ✅ Gjort denne sesjonen (2026-06-10)
|
||||
|
||||
- **CG3a — CostGuard-landing / static-cards:** `static/costguard.html` er opprettet og live.
|
||||
- **CG3b/c — DNS & Verifisering:** `costguard.oss.vauco.no` er bekreftet å peke mot `osvauco-agent` load balancer og serverer innhold korrekt.
|
||||
- **CG3d — OAuth-flyt:** Manuell test bekrefter at Google-innlogging fra `costguard.oss.vauco.no` fungerer uten feil.
|
||||
- **CG3 — CostGuard billing-dashboard (GCP-only):** `static/billing-dashboard.html` er ryddet opp slik at:
|
||||
- GCP er eneste provider i UI (AWS-UI er parkert til senere).
|
||||
- Demo-data brukes kun hvis kjerne-endepunktene (`/billing/summary`, `/billing/live`, `/billing/anomalies`) feiler.
|
||||
- History-endepunktet (`/billing/history`) er best-effort og gir ikke lenger rød feilbanner alene.
|
||||
- Layout er strammet inn: nøkkeltall øverst, daglig kostnad + tjenestefordeling, samt kostnad per tjeneste + budsjettstatus.
|
||||
- Anomali-visning er flyttet til en enkel topplinje-badge (grønn/gul/rød) i stedet for eget kort.
|
||||
|
||||
**Neste steg på CostGuard-siden:**
|
||||
- **CG3e — Tokenmeter for agenter:** Implementere logging og visning av LLM-tokenbruk i CostGuard-dashboardet.
|
||||
| Task | Commit/detalj |
|
||||
|------|---------------|
|
||||
| **OX1a** — Cloud Build live-widget i opax.html | ✅ |
|
||||
| **OX1b** — Embedded TUI-panel (chat + log-faner) | ✅ |
|
||||
| **OX1c** — `static/jason.html` fullskjerm Jason-chat | ✅ `64ef086` |
|
||||
| **CG4a** — `/billing/tokens/by-module` endepunkt | ✅ |
|
||||
| **CG4c** — `/billing/tokens/estimate` endepunkt | ✅ |
|
||||
| **CG6** — Modulært dashboard | ✅ |
|
||||
| **CG3e** — Token-logging til BQ | ✅ |
|
||||
| **V1e** — SPF/DKIM/DMARC | ✅ |
|
||||
| **ML-3b** — `docs/gemma/world.md` kontekstpakke | ✅ |
|
||||
| **K1** — Repo-konsolidering | ✅ |
|
||||
| **K3** — Nattlig GDrive-backup | ✅ |
|
||||
| **Emma Vauger** — Registrert i MASTERPLAN seksjon 8 | ✅ |
|
||||
| **CI1-spek** — OPAX-MCP arkitektur dokumentert i MASTERPLAN | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Vauco.no — status
|
||||
## 🔴 NOW — Aktive oppgaver
|
||||
|
||||
- `vauco.no` er nå en enkel modul-oversiktsside, uten operatørbeskrivelse av Chris:
|
||||
- Om-oss-tekst omtaler Vauco som selskap, ikke daglig leder.
|
||||
- Faktafeltet viser kun Selskap, Org.nr, Lokasjon (Oslo, Norge).
|
||||
- Kontakt går til `contact@vauco.no`, ikke til personlige adresser.
|
||||
- Nettsiden deployes ved å synce `~/vauco-site` til GCS-bucket `gs://vauco-site-public` og eventuelt invalidere CDN-cache på URL-mappen.
|
||||
1. **Deploy OX1c** — `git pull && gcloud builds submit` eller vent på Cloud Build-trigger. Jason tilgjengelig på `https://opax.vauco.no/jason` etter deploy.
|
||||
2. **CG4b** — Token-dashboard per modul i UI (trigger: 50+ BQ-kall tilgjengelig)
|
||||
3. **C4** — Medioteq HITL-møte → første betalende kunde
|
||||
|
||||
---
|
||||
|
||||
## 🧱 Threadstone — status
|
||||
## 🟠 NEXT — Neste sprint
|
||||
|
||||
- `threadstone.vauco.no` er en landingsside i lukket pilot:
|
||||
- Hero-badge: "Under utvikling · Lukket pilot for interne brukere".
|
||||
- Lead-tekst: Tjenesten er i lukket pilot og kun tilgjengelig for interne Vauco-kontoer.
|
||||
- Innlogging / kjøp:
|
||||
- Google Sign-In aksepterer kun e-poster som slutter på `@vauco.no`.
|
||||
- Alle andre domener får tydelig feilmelding om at Threadstone er i lukket pilot.
|
||||
- "Kjøp nå"-knapper krever innlogging; uten @vauco.no-konto kommer man ikke til mock-checkout (e-post til Chris).
|
||||
- Landingsside + priser er offentlig, men hele appen og bestillingsflyten er i praksis kun for interne.
|
||||
### CI1 — OPAX-MCP (høyest prioritet etter C4)
|
||||
|
||||
Vauco sin egen MCP-server som erstatter GitHub Actions som CI/CD-kanal.
|
||||
|
||||
**Fil:** `agents/mcp_server/server.py` (skal opprettes)
|
||||
**Deploy:** Cloud Run, IAP-beskyttet (`@vauco.no`)
|
||||
**Første verktøy å bygge:**
|
||||
1. `push_static` — laster opp `static/*.html` til GCS
|
||||
2. `get_build_status` — wrapper rundt eksisterende `/opax/build-status`
|
||||
3. `deploy_service` — trigger Cloud Build programmatisk
|
||||
|
||||
**Hvorfor nå:** Når CI1 er oppe kan Jason/Emma deploye direkte uten GitHub Actions. Perplexity-stand-in fase avsluttes naturlig.
|
||||
|
||||
### ML-3a — Emma GPU-VM
|
||||
- GCP `g2-standard-4` Spot VM, L4 GPU, `europe-west4`
|
||||
- Ollama med `gemma-4-12b-it` int4
|
||||
- `docs/gemma/world.md` lastes som system-prompt ved oppstart
|
||||
- Trigger: kreditter < 20% ELLER første kunde onboardet
|
||||
|
||||
---
|
||||
|
||||
## 🏗 Hva er dette prosjektet?
|
||||
|
||||
Se `docs/MASTERPLAN.md` for full sannhet. Kortversjonen:
|
||||
|
||||
```
|
||||
Vauco OS (plattform)
|
||||
└── OPAX (kommandosenter + salgsmodul-bygger, Cloud Run us-central1)
|
||||
├── CostGuard (Modul #1 — live på costguard.oss.vauco.no)
|
||||
├── Threadstone (Modul #2 — Q3 2026)
|
||||
└── [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).
|
||||
|
||||
---
|
||||
|
||||
## ✅ Hva er faktisk ferdig (ikke spør om dette igjen)
|
||||
## 🏗 Systemstatus
|
||||
|
||||
| Komponent | Status |
|
||||
|---|---|
|
||||
| Cloud Run `osvauco-agent` | ✅ Live, `us-central1` |
|
||||
| `opax.vauco.no` (LB + SSL) | ✅ Live, IP `34.98.77.173` |
|
||||
| IAP (`@vauco.no` only) | ✅ Aktivert |
|
||||
| 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` |
|
||||
| OAuth2 (Google) | ✅ I Secret Manager |
|
||||
| AI-modell | ✅ `gemini-2.5-pro` via Vertex AI (us-central1) |
|
||||
| `costguard.oss.vauco.no` | ✅ Live (Cloudflare Pages) |
|
||||
| `static/costguard.html` | ✅ Første versjon live via `osvauco-agent` |
|
||||
| `static/billing-dashboard.html` | ✅ Første versjon GCP-only, layout strammet inn, AWS-UI parkert |
|
||||
| `vauco.no` | ✅ Oppdatert, anonymisert og deployet via `gs://vauco-site-public` |
|
||||
| `threadstone.vauco.no` | ✅ Landingsside live, satt i lukket pilot m/ @vauco.no-gating |
|
||||
| `opax.vauco.no` (LB + SSL + IAP) | ✅ Live |
|
||||
| `static/jason.html` | ✅ Pushet, venter på deploy |
|
||||
| `static/opax.html` | ✅ Live (OX1a+b) |
|
||||
| CI/CD Cloud Build trigger | ⚠️ Ikke operativt — deploy manuelt inntil CI1 |
|
||||
| Jason (Cloud Run agent) | ✅ `/run` operativt |
|
||||
| Emma (Gemma GPU-VM) | 🔮 ML-3a trigger |
|
||||
| OPAX-MCP server | 🔮 CI1 — neste sprint |
|
||||
| BQ token-logging | ✅ CG3e live |
|
||||
| SPF/DKIM/DMARC | ✅ V1e live |
|
||||
| `vauco.no` | ✅ Live |
|
||||
| `costguard.oss.vauco.no` | ✅ Live |
|
||||
| `threadstone.vauco.no` | ✅ Live (lukket pilot) |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -98,44 +83,39 @@ Første betalende produkt: **CostGuard** (GCP-kostnadsanalyse via AI).
|
|||
|---|---|
|
||||
| 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` |
|
||||
| Jason chat | `https://opax.vauco.no/jason` |
|
||||
| LB IP | `34.98.77.173` |
|
||||
| AI-modell | `gemini-2.5-pro` |
|
||||
| AI-modell | `gemini-2.5-pro` via Vertex |
|
||||
| Repo | `vauco-saas/OSVauco` |
|
||||
| Eier / Operatør | Chris Christiansen — `chris.christiansen@vauco.no` |
|
||||
| Agent-konto | `jason.vauger@vauco.no` |
|
||||
| Eier | `chris.christiansen@vauco.no` |
|
||||
| Jason (kundeagent) | `jason.vauger@vauco.no` |
|
||||
| Emma (intern agent) | `emma.vauger@vauco.no` — 🔮 ML-3a |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Vanlige feil — ikke gjør disse
|
||||
|
||||
- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Det er kun denne. Overskriv den.
|
||||
- **Ikke gjenopplive `VAUCO_OS_ROADMAP.md`.** Den er slettet 2026-05-31. Bruk `ROADMAP.md`.
|
||||
- **Ikke bytt til Claude før kvote er bekreftet** av Google Cloud-team + `MODEL APPROVED` fra Chris.
|
||||
- **Ikke migrere fra us-central1** — regionen er låst.
|
||||
- **Ikke rør IAP, OAuth, eller Secret Manager** uten eksplisitt `DEPLOY GODKJENT` fra Chris.
|
||||
- **Ikke opprett nye repos.** Vurder mappe i `OSVauco` først. Krever `REPO APPROVED`.
|
||||
- **Ikke hopp over HITL gates** — hver fase avsluttes med et godkjenningssignal.
|
||||
- **Ikke oppdater OAuth-klient redirect URIs uten domeneavklaring** — se Issue #16.
|
||||
- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Kun denne. Overskriv den.
|
||||
- **Ikke gjenoppliv `VAUCO_OS_ROADMAP.md`.** Slettet. Bruk `ROADMAP.md`.
|
||||
- **Ikke bytt til Claude før kvote + `MODEL APPROVED`.**
|
||||
- **Ikke migrer fra us-central1** — regionen er låst.
|
||||
- **Ikke rør IAP/OAuth/Secret Manager** uten `DEPLOY GODKJENT`.
|
||||
- **Ikke opprett nye repos** uten `REPO APPROVED`.
|
||||
- **Ikke hopp over HITL gates.**
|
||||
|
||||
---
|
||||
|
||||
## 📁 Viktige filer å lese (i denne rekkefølgen)
|
||||
## 📁 Viktige filer (i denne rekkefølgen)
|
||||
|
||||
1. `docs/MASTERPLAN.md` — autoritativ sannhet
|
||||
2. `docs/ROADMAP.md` — hva som skjer akkurat nå
|
||||
3. `docs/HANDOFF.md` — denne filen
|
||||
4. `docs/AGENT_RULEBOOK.md` — regler for hvordan agenter oppfører seg
|
||||
5. `agents/jason-vauger.md` — Jason Vauger agentprofil
|
||||
6. `AGENTS.md` — oversikt over alle agenter i ML-laget
|
||||
7. `.gemini/GEMINI.md` — locked definitions og boot-protokoll
|
||||
8. `docs/ARCHITECTURE.md` — teknisk arkitektur
|
||||
9. `docs/OSVAUCO_OPAX_SESSION_LOG.md` — append-only sesjonshistorikk
|
||||
4. `docs/AGENT_RULEBOOK.md` — agent-regler
|
||||
5. `docs/gemma/world.md` — Emma sin kontekstpakke
|
||||
|
||||
---
|
||||
|
||||
*Vauco AS · propane-will-491900-m5 · `us-central1` · Powered by Jason, Crafted by Vauco ·*
|
||||
*Vauco AS · propane-will-491900-m5 · us-central1 · Jason + Emma + Perplexity-stand-in · Sprint 2026-06-10*
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ Separat merkevare under Vauco AS (parkert til etter Modul #1 + #2 lever):
|
|||
|
||||
**Email-infra:**
|
||||
- MX: Google Workspace ✅
|
||||
- SPF/DKIM/DMARC: ⚠️ Mangler — sett opp som del av V1e
|
||||
- SPF/DKIM/DMARC: ✅ Live 2026-06-10
|
||||
|
||||
### Proof of Curiosity (hos Proisp) — egen merkevare
|
||||
|
||||
|
|
@ -133,6 +133,10 @@ OSVauco/
|
|||
│ │ ├── agent.py Kjører Gemini nå → Gemma fra ML-3
|
||||
│ │ ├── app.py
|
||||
│ │ └── token_logger.py
|
||||
│ ├── mcp_server/ ← NY: OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
|
||||
│ │ ├── server.py FastAPI MCP-server, kjører på Cloud Run
|
||||
│ │ ├── tools/ deploy_service, push_static, get_build_status, ...
|
||||
│ │ └── README.md
|
||||
│ ├── rag/
|
||||
│ ├── memory/
|
||||
│ ├── multi_agent/
|
||||
|
|
@ -145,7 +149,8 @@ OSVauco/
|
|||
├── infrastructure/
|
||||
├── scripts/
|
||||
├── static/
|
||||
│ ├── opax.html Operator hub — blir Chris sitt cockpit (OX1)
|
||||
│ ├── opax.html Operator hub — Chris sitt cockpit (OX1)
|
||||
│ ├── jason.html Jason fullskjerm-chat — primærgrensesnitt (OX1c) ✅
|
||||
│ ├── billing-dashboard.html
|
||||
│ ├── command-hub.html
|
||||
│ ├── costguard.html
|
||||
|
|
@ -155,8 +160,8 @@ OSVauco/
|
|||
│ ├── ROADMAP.md
|
||||
│ ├── HANDOFF.md
|
||||
│ ├── AGENT_RULEBOOK.md
|
||||
│ ├── gemma/ ← NY: Gemma kontekstpakke (ML-3b)
|
||||
│ │ ├── world.md Vaucos verden — alt Gemma trenger å vite
|
||||
│ ├── gemma/
|
||||
│ │ ├── world.md Vaucos verden — kontekstpakke for Emma/Gemma ✅
|
||||
│ │ └── README.md
|
||||
│ └── [øvrige tema-docs]
|
||||
├── protocols/sessions/
|
||||
|
|
@ -191,7 +196,7 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
| `docs/ROADMAP.md` | Faser, status, backlog | Hver sesjon |
|
||||
| `docs/HANDOFF.md` | Hva ble gjort, hva er neste | Overskrives hver sesjon |
|
||||
| `docs/AGENT_RULEBOOK.md` | Locked definitions for agent-boot | Ved infrastruktur-låsing |
|
||||
| `docs/gemma/world.md` | Gemmas verden — kontekstpakke for lokal modell | Bygges simultant med alt annet |
|
||||
| `docs/gemma/world.md` | Emmas verden — kontekstpakke for lokal Gemma-modell | Bygges simultant med alt annet |
|
||||
| `protocols/sessions/YYYY-MM-DD_<tema>.md` | Detaljerte protokoller | Append-only |
|
||||
|
||||
---
|
||||
|
|
@ -202,8 +207,9 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
|
||||
| Parameter | Verdi | Merknad |
|
||||
|-----------|-------|---------|
|
||||
| **Intern modell (Jason/Chris)** | `gemini-2.5-pro` / `gemini-2.5-flash` | Via Vertex AI, tærer på kreditter |
|
||||
| **Kundemodell** | `gemini-2.5-flash` | Via Vertex AI — kunder betaler indirekte |
|
||||
| **Intern modell (Emma/Chris)** | `gemini-2.5-pro` / `gemini-2.5-flash` | Via Vertex AI, tærer på kreditter |
|
||||
| **Stand-in operatør** | Perplexity (Sonnet 4.6) via GitHub MCP | Erstatter Emma til Gemma-VM er oppe |
|
||||
| **Kundemodell (Jason)** | `gemini-2.5-flash` | Via Vertex AI — kunder betaler indirekte |
|
||||
| **Endpoint** | `us-central1` | Vertex-kreditter |
|
||||
| **SDK** | `google-adk` + `google-genai` | |
|
||||
| **Status Claude** | ⏳ Venter på EU-kvote | Bytt når kvote innvilget |
|
||||
|
|
@ -212,16 +218,16 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
|
||||
| Parameter | Verdi | Merknad |
|
||||
|-----------|-------|---------|
|
||||
| **Intern modell (Jason/Chris)** | `gemma-4-12b-it` int4 | GCP `g2-standard-4` Spot VM (~$120–150/mnd) |
|
||||
| **Emma (intern)** | `gemma-4-12b-it` int4 | GCP `g2-standard-4` Spot VM (~$120–150/mnd) |
|
||||
| **Serving** | Ollama (utvikling) → vLLM (produksjon) | |
|
||||
| **Kundemodell** | `gemini-2.5-flash` via Vertex | Uendret — kunder merker ingenting |
|
||||
| **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | Gemma forstår Vauco fra dag 1 |
|
||||
| **Jason (kunder)** | `gemini-2.5-flash` via Vertex | Uendret — kunder merker ingenting |
|
||||
| **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | Emma forstår Vauco fra dag 1 |
|
||||
|
||||
**Prinsipp:** Kunder bruker alltid Gemini via Vertex. Chris/Jason bruker Gemma lokalt.
|
||||
**Gemma er ikke dum når den starter** — kontekstpakken (`docs/gemma/world.md`) bygges simultant og lastes ved oppstart.
|
||||
**Prinsipp:** Kunder bruker alltid Gemini via Vertex (Jason). Chris bruker Emma lokalt.
|
||||
**Emma er ikke dum når den starter** — kontekstpakken (`docs/gemma/world.md`) bygges simultant.
|
||||
|
||||
**Bytte til Gemma krever:**
|
||||
1. ML-3b kontekstpakke ferdigstilt
|
||||
**Bytte til Emma/Gemma krever:**
|
||||
1. ML-3b kontekstpakke ferdigstilt ✅
|
||||
2. GPU-VM verifisert med smoke-test
|
||||
3. Eksplisitt `MODEL APPROVED` fra Chris
|
||||
4. Oppdatering av `agent.py`, `AGENT_RULEBOOK.md` og denne tabellen i samme commit
|
||||
|
|
@ -233,17 +239,18 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
> Full status i `docs/ROADMAP.md`.
|
||||
|
||||
### 🔴 NOW
|
||||
- [x] K2, F8, CG6, CG3e — alle done ✅
|
||||
- [ ] OX1c — Jason fullskjerm-chat pushet, venter på deploy
|
||||
- [ ] CG4b — Token dashboard breakdown per modul
|
||||
- [ ] C4 — Medioteq HITL-møte → første betalende kunde
|
||||
|
||||
### 🟠 NEXT
|
||||
- V1e — SPF/DKIM/DMARC
|
||||
- CG4 — Token Intelligence (estimering + prising)
|
||||
- OX1 — Operator Hub (Cloud Build widget, TUI, Jason-chat som cockpit)
|
||||
- ML-3b — Gemma kontekstpakke bygges simultant (starter neste sesjon)
|
||||
- CI1 — OPAX-MCP: Vauco sin egen MCP-server/CI-kanal mot GCP
|
||||
- ML-3a — GCP GPU-VM for Emma (Gemma 4)
|
||||
- CG4d — Kundeprisingskalkulator
|
||||
- C5 — Salgsdemo
|
||||
|
||||
### 🟡 LATER
|
||||
- C4 — Første betalende kunde
|
||||
- ML-3 — Full Gemma-migrering (trigger: kreditter < 20%)
|
||||
- ML-3c — Hybrid agent: Emma internt / Jason for kunder
|
||||
- T1–T4 — Threadstone
|
||||
- Fase C — Multi-tenant
|
||||
|
||||
|
|
@ -251,14 +258,18 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
|
||||
## 8. Agent-identitet
|
||||
|
||||
| Identitet | E-post | Rolle |
|
||||
|-----------|--------|-------|
|
||||
| Eier / admin | `chris.christiansen@vauco.no` | Full kontroll |
|
||||
| Agent (OPAX / Jason) | `jason.vauger@vauco.no` | `billing.viewer` + `run.invoker` |
|
||||
| Fremtidig gruppe | `billing@vauco.no` | `billing.viewer` (Fase C) |
|
||||
| Identitet | E-post | Modell | Rolle | Status |
|
||||
|-----------|--------|--------|-------|--------|
|
||||
| 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 |
|
||||
| Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris — erstatter Perplexity stand-in | 🔮 ML-3a trigger |
|
||||
| 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 |
|
||||
|
||||
**Forbudte kontoer:** `tinius.vauger`, `ccv` — aldri gi tilganger.
|
||||
|
||||
> **Emma vs Jason:** Emma er Chris sin interne co-pilot (kodeskriving, deploy, planlegging). Jason er kundenes agent (billing, anomaly, status). To separate identiteter, to separate ansvarsområder.
|
||||
|
||||
---
|
||||
|
||||
## 9. Cloud Run — live endepunkter
|
||||
|
|
@ -271,18 +282,16 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
|-----------|--------|
|
||||
| `GET /health` | ✅ |
|
||||
| `POST /run` | ✅ |
|
||||
| `POST /run/dag` | ✅ |
|
||||
| `GET /opax/build-status` | ✅ (OX1a) |
|
||||
| `GET /billing/tokens/by-module` | ✅ (CG4a) |
|
||||
| `GET /billing/tokens/estimate` | ✅ (CG4c) |
|
||||
| `GET /billing/summary` | ✅ |
|
||||
| `GET /billing/forecast` | ✅ |
|
||||
| `GET /billing/anomalies` | ✅ |
|
||||
| `GET /billing/history` | ✅ |
|
||||
| `GET /billing/budget` | ✅ |
|
||||
| `POST /billing/budget` | ✅ |
|
||||
| `GET /billing/tokens/summary` | ✅ (data fra CG3e) |
|
||||
| `GET /auth/login` | ✅ |
|
||||
| `GET /auth/callback` | ✅ |
|
||||
| `GET /state` | ✅ |
|
||||
| `GET /telemetry/history` | ✅ |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -306,56 +315,63 @@ Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til
|
|||
| OQ-15 | BQ billing_export tabell | Venter på aktivering | Medium |
|
||||
| OQ-17 | `github-token` secret mangler | Opprett alias fra `github-pat` | Medium |
|
||||
| OQ-18 | VM alltid-på kostnad | Kjør `03-teardown.sh` hver kveld | Høy |
|
||||
| OQ-20 | Nattlig GDrive backup | Fikset K3 · 2026-06-09 ✅ | — |
|
||||
| OQ-21 | `app.threadstone.vauco.no` CNAME uten side | Bygg T2 eller fjern CNAME | Lav |
|
||||
| OQ-22 | Claude EU-kvote | Vent på Google Cloud-team | Medium |
|
||||
| OQ-23 | vauco.no placeholder | LIVE 2026-06-05 ✅ | — |
|
||||
| OQ-24 | Ingen SPF/DKIM/DMARC | V1e | Høy |
|
||||
| OQ-25 | Ingen personvern/vilkår | LIVE 2026-06-05 ✅ | — |
|
||||
| OQ-26 | Ingen statuspage | Etter første kunde | Lav |
|
||||
|
||||
---
|
||||
|
||||
## 12. OPAX — fremtidig visjon
|
||||
|
||||
> Notert 2026-05-28, utvidet 2026-06-10.
|
||||
|
||||
### Operator Hub (OX1) — Chris sitt cockpit
|
||||
|
||||
OPAX (`opax.vauco.no`) blir Chris sin **komplette arbeidsflate** — aldri trenger VM igjen for daglig drift.
|
||||
OPAX (`opax.vauco.no`) + `jason.html` blir Chris sin **komplette arbeidsflate**.
|
||||
|
||||
**Inneholder når ferdig:**
|
||||
- Jason-chat (allerede der)
|
||||
- Billing dashboard (allerede der)
|
||||
- Cloud Build live-widget (spinner → ✅/❌ ved push)
|
||||
- Embedded TUI/terminal (reaktiverer `vauco-gemini-tui-bridge`)
|
||||
- Token Intelligence dashboard (CG4)
|
||||
**Ferdig:**
|
||||
- ✅ Jason-chat (`/jason`) — OX1c
|
||||
- ✅ Billing dashboard
|
||||
- ✅ Cloud Build live-widget — OX1a
|
||||
- ✅ Embedded TUI-panel — OX1b
|
||||
- ✅ Token Intelligence endepunkter — CG4a+c
|
||||
|
||||
**Flyt:** tale → transkribering → Jason analyserer → genererer kundemodul → Chris reviewer → magic-link til kundens mail.
|
||||
**Gjenstår:**
|
||||
- Token Intelligence dashboard i UI — CG4b
|
||||
- OPAX-MCP server — CI1
|
||||
|
||||
### Gemma-verdensbygging (ML-3b) — simultant spor
|
||||
### OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1)
|
||||
|
||||
**Prinsipp:** Gemma skal ikke være dum når den tar over. Kontekstpakken bygges nå, simultant med alt annet.
|
||||
Erstatter GitHub Actions som CI/CD-trigger. Jason/Emma kaller MCP-serveren direkte:
|
||||
|
||||
```
|
||||
docs/gemma/world.md ← bygges løpende fra neste sesjon
|
||||
├── Hvem er Vauco AS og Chris
|
||||
├── Plattformhierarkiet (Vauco OS → OPAX → Moduler)
|
||||
├── Alle aktive domener og endepunkter
|
||||
├── Agent-identitet og HITL-grenser
|
||||
├── Alle sesjons-protokoller (komprimert)
|
||||
├── Teknisk stack og GCP-konfig
|
||||
├── Gjeldende ROADMAP-status
|
||||
└── Tone og kommunikasjonsstil (norsk bokmål, direkte)
|
||||
Chris / Jason / Emma
|
||||
↓
|
||||
OPAX-MCP (agents/mcp_server/ → Cloud Run)
|
||||
↓
|
||||
GCP APIs: Cloud Build, GCS, Secret Manager, Cloud DNS
|
||||
↓
|
||||
Deploy skjer direkte — GitHub er kun kode-lager
|
||||
```
|
||||
|
||||
Når Gemma-VM starter → `world.md` lastes som system-prompt → Jason/Gemma forstår konteksten fra første token.
|
||||
**MCP-verktøy som skal eksponeres:**
|
||||
|
||||
| Tool | GCP API |
|
||||
|------|----------|
|
||||
| `deploy_service` | Cloud Build API |
|
||||
| `push_static` | Storage API |
|
||||
| `get_build_status` | Cloud Build API |
|
||||
| `run_query` | BigQuery API |
|
||||
| `write_secret` | Secret Manager API |
|
||||
| `get_logs` | Cloud Logging API |
|
||||
|
||||
### Gemma/Emma-verdensbygging (ML-3b) — done ✅
|
||||
|
||||
`docs/gemma/world.md` er ferdig. Emma er ikke dum når hun starter.
|
||||
|
||||
---
|
||||
|
||||
## 13. TUI-bridge — reaktiveres som OX1b
|
||||
## 13. TUI-bridge — reaktivert som OX1b ✅
|
||||
|
||||
Lokal TUI-plan ble løst av OPAX + Cloud Shell + Gemini TUI. Koden ligger i arkiv (`vauco-gemini-tui-bridge`). Reaktiveres som **OX1b** — embedded terminal i operator hub — når OX1a (Cloud Build widget) er live.
|
||||
Embedded TUI-panel i OPAX operator hub er live som OX1b.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -19,23 +19,30 @@
|
|||
|
||||
## NOW — Aktiv akkurat nå
|
||||
|
||||
- [ ] **OX1c** — Jason som primærgrensesnitt i opax.html (erstatter VM-tilkobling for daglig drift)
|
||||
- [ ] **CG4b** — Token dashboard breakdown per modul (trigger: 50+ BQ-kall)
|
||||
- [ ] **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)
|
||||
- [ ] **C4** — Medioteq HITL-møte → første betalende kunde
|
||||
|
||||
---
|
||||
|
||||
## NEXT — Neste opp
|
||||
|
||||
### CI1 — OPAX-MCP (Vauco sin egen CI/CD-kanal)
|
||||
- [ ] **CI1a** — `agents/mcp_server/server.py` — FastAPI MCP-server scaffold på Cloud Run
|
||||
- [ ] **CI1b** — Tool: `push_static` (GCS upload)
|
||||
- [ ] **CI1c** — Tool: `deploy_service` (Cloud Build trigger)
|
||||
- [ ] **CI1d** — Tool: `get_logs` + `get_build_status`
|
||||
- [ ] **CI1e** — Jason/Emma ADK-integrasjon: MCP som ADK-tool
|
||||
|
||||
### CostGuard
|
||||
- [ ] **CG4d** — Kundeprisingskalkulator basert på token-historikk
|
||||
- [ ] **C5** — Salgsdemo: `costguard.os.vauco.no` + demo-video
|
||||
- [ ] **DX5** — Dialogflow Messenger live på costguard-landingssiden
|
||||
|
||||
### ML-3 — Gemma
|
||||
### ML-3 — Emma (Gemma)
|
||||
- [x] **ML-3b** — `docs/gemma/world.md` ✅ 2026-06-10
|
||||
- [ ] **ML-3a** — GCP GPU-VM (`g2-standard-4` Spot, L4)
|
||||
- [ ] **ML-3c** — Hybrid agent: Gemma internt / Gemini for kunder
|
||||
- [ ] **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
|
||||
|
|
@ -46,7 +53,6 @@
|
|||
- [ ] **C2** — Multi-tenant stamp-out
|
||||
- [ ] **C3** — BQ-2 / Looker Studio
|
||||
- [ ] **CG6-Fase-C** — Firestore per bruker for budsjett
|
||||
- [ ] **CI1** — MCP-native CI/CD
|
||||
|
||||
### Strategisk
|
||||
- [ ] **Deep Dream** — etter første betalende kunde
|
||||
|
|
@ -57,14 +63,17 @@
|
|||
## BLOCKED
|
||||
|
||||
- ⏳ **OQ-22** — Claude EU-kvote ikke innvilget. På `gemini-2.5-pro` via Vertex AI.
|
||||
- ⏳ **OQ-15** — BQ `billing_export` tabell ikke aktivert (blokkerer real-data i CG4b)
|
||||
|
||||
---
|
||||
|
||||
## KJENTE HULL
|
||||
|
||||
- [x] **OQ-23** — `vauco.no` LIVE · 2026-06-05
|
||||
- [x] **OQ-24** — SPF/DKIM/DMARC live + terraform state sync · 2026-06-10 ✅
|
||||
- [x] **OQ-24** — SPF/DKIM/DMARC live · 2026-06-10 ✅
|
||||
- [x] **OQ-25** — Personvern + vilkår publisert · 2026-06-05
|
||||
- [ ] **OQ-17** — `github-token` secret mangler → alias fra `github-pat`
|
||||
- [ ] **OQ-18** — VM alltid-på kostnad → teardown-script
|
||||
- [ ] **OQ-26** — Ingen statuspage → etter første kunde
|
||||
|
||||
---
|
||||
|
|
@ -81,9 +90,11 @@
|
|||
- [x] **CG3e** — Token-logging til BQ · 2026-06-10
|
||||
- [x] **OX1a** — Cloud Build live-widget · 2026-06-10
|
||||
- [x] **OX1b** — Embedded TUI-panel · 2026-06-10
|
||||
- [x] **OX1c** — Jason fullskjerm-chat pushet · 2026-06-10 (deploy pending)
|
||||
- [x] **CG4a+c** — Token intelligence endepunkter · 2026-06-10
|
||||
- [x] **V1e** — SPF/DKIM/DMARC live + terraform state · 2026-06-10
|
||||
- [x] **ML-3b** — Gemma world.md · 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] **Emma Vauger** — Registrert som agent `emma.vauger@vauco.no` · 2026-06-10
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user