docs(HANDOFF): sesjon 2026-06-12 avsluttet — CG5a/b/c, CG5-onboard, CG6 levert; OQ-29 notert

This commit is contained in:
chrischristiansen-glitch 2026-06-12 17:23:18 +02:00
parent f7e64fcea0
commit fe683710a6

View File

@ -1,20 +1,31 @@
# HANDOFF — Vauco OS # HANDOFF — Vauco OS
**Sist oppdatert:** 2026-06-12 16:16 CEST **Sist oppdatert:** 2026-06-12 17:22 CEST
**Skrevet av:** Perplexity (stand-in) via GitHub MCP **Skrevet av:** Perplexity (stand-in) via GitHub MCP
**Sprint:** Mappestruktur korrigert — main.py er hovudapp, opax-mcp/ er MCP-server **Sprint:** CG5a · CG5b · CG5c · CG5-onboard · CG6 — alle levert og godkjent
--- ---
## ✅ Gjort denne sesjonen (2026-06-12) ## ✅ Gjort denne sesjonen (2026-06-12)
| Task | Detalj | | Commit | Task | Detalj |
|------|--------| |--------|------|--------|
| **MASTERPLAN seksjon 10** | Prismodell v2: Starter $499 / Guard $999 / Shield $1.999 / Enterprise $3.500+ | | [`c312f4a`](https://github.com/vauco-saas/OSVauco/commit/c312f4a7274f65eb213477956854977df10d7a7a) | MASTERPLAN seksjon 10 | Prismodell v2: Starter $499 / Guard $999 / Shield $1.999 / Enterprise $3.500+ |
| **Push-first arkitektur** | Delivery layer: CG5a webhook + CG5b e-post + CG5c SMS | | [`7aa7384`](https://github.com/vauco-saas/OSVauco/commit/7aa73842d46b2b65610358c0ff8e456b2189e7f4) | MASTERPLAN seksjon 4 | Korrekt repo-layout dokumentert |
| **Mappestruktur korrigert** | Verifisert mot GitHub API — main.py er hovudapp, opax-mcp/ er MCP-mappa | | [`50490b0`](https://github.com/vauco-saas/OSVauco/commit/50490b071d5b80252ea32e8db3226064ac9c80c0) | **CG5-onboard** `static/onboard.html` | 4-stegs onboarding-wizard (mørkt CostGuard-tema) |
| **MASTERPLAN seksjon 4** | Korrekt repo-layout dokumentert med alle faktiske mapper | | [`c3357d3`](https://github.com/vauco-saas/OSVauco/commit/c3357d38aa71f13dd06726800a2c57425d6bd1ac) | **CG5-onboard** `main.py` | `GET /onboard` (IAP-exempt) + `POST /onboard/complete` (Firestore + varsler) |
| **Commits** | [`c312f4a`](https://github.com/vauco-saas/OSVauco/commit/c312f4a7274f65eb213477956854977df10d7a7a) + [`7aa7384`](https://github.com/vauco-saas/OSVauco/commit/7aa73842d46b2b65610358c0ff8e456b2189e7f4) | | [`5270166`](https://github.com/vauco-saas/OSVauco/commit/5270166ce13bdbea9e6009e5d1ce3529001afba6) | **CG6** `static/costguard-dashboard.html` | Klient-dashboard — billing summary, anomalier, modul-donut, delivery-kanaler |
| [`f7e64fc`](https://github.com/vauco-saas/OSVauco/commit/f7e64fcea07ea2b1f0c3c898bf798da49a7e2993) | **CG5c** `main.py` | `POST /notify/sms` — Twilio REST via httpx, Guard+-tier, 402 ved feil tier |
### Notification-arkitektur (komplett)
| Endepunkt | Metode | Kanal | Tier |
|-----------|--------|-------|------|
| `POST /notify/webhook` | CG5a | Slack / Teams / Chat / Discord / custom | Alle |
| `POST /notify/email` | CG5b | SendGrid digest | Alle |
| `POST /notify/sms` | CG5c | Twilio SMS — spike-varsler | Guard+ |
**Merk:** `GET /onboard` er IAP-exempt — tilsiktet for nå, skal vurderes ved hardening.
--- ---
@ -27,16 +38,21 @@
--- ---
## 🔴 Kjente OQ-er (Open Questions)
| ID | Beskrivelse | Prioritet |
|----|-------------|-----------|
| **OQ-29** | `GET /notify/channels` mangler — ingen list-endepunkt for å hente konfigurerte delivery-kanaler per kunde | Lav / neste sprint |
---
## 🔴 NOW — Neste oppgaver (prioritert) ## 🔴 NOW — Neste oppgaver (prioritert)
| ID | Oppgave | Fil | Byggetid | | ID | Oppgave | Status |
|----|---------|-----|----------| |----|---------|--------|
| **CG5a** | `POST /notify/webhook` — Jason poster til Slack/Teams/Chat/Discord | `main.py` | 23t | | **CG7** | Scope defineres av Chris — **ikke start uten direktiv** | ⏳ Venter på MASTERPLAN-definisjon |
| **CG4d** | Prisingskalkulator — GCP-spend slider + tier + ROI | `static/opax.html` | 2t | | **OQ-29** | `GET /notify/channels` | Backlog |
| **CG5b** | `POST /notify/email` — SendGrid digest | `main.py` | 2t | | **ML-3a** | `docs/gemma/world.md` mangler — blokkerer Emma | Blokkert |
| **CG5c** | `POST /notify/sms` — Twilio spikes [Guard+] | `main.py` | 2t |
| **CG5-onboard** | Klient-onboarding + kanal-oppsett | `main.py` + `static/` | 12d |
| **CG6** | Klient-dashboard `costguard.oss.vauco.no` | `static/` | 23d |
--- ---
@ -49,10 +65,13 @@
| `main.py` | ✅ Hovudapp — alle ruter her | | `main.py` | ✅ Hovudapp — alle ruter her |
| `static/opax.html` | ✅ Live | | `static/opax.html` | ✅ Live |
| `static/jason.html` | ✅ Live | | `static/jason.html` | ✅ Live |
| `static/onboard.html` | ✅ Live — CG5-onboard |
| `static/costguard-dashboard.html` | ✅ Live — CG6 |
| `opax-mcp/` | ✅ MCP-server mappe | | `opax-mcp/` | ✅ MCP-server mappe |
| `POST /notify/webhook` | 🔴 CG5a — ikke bygget | | `POST /notify/webhook` | ✅ CG5a — levert |
| `POST /notify/email` | 🔴 CG5b — ikke bygget | | `POST /notify/email` | ✅ CG5b — levert |
| `POST /notify/sms` | 🔴 CG5c — ikke bygget | | `POST /notify/sms` | ✅ CG5c — levert (Guard+) |
| `GET /notify/channels` | 🔴 OQ-29 — mangler |
| `docs/gemma/world.md` | ❌ Mangler — blokkerer ML-3a | | `docs/gemma/world.md` | ❌ Mangler — blokkerer ML-3a |
--- ---
@ -70,6 +89,7 @@
| MCP-server | `opax-mcp/` | | MCP-server | `opax-mcp/` |
| Static filer | `static/` | | Static filer | `static/` |
| Jason chat | `https://opax.vauco.no/static/jason.html` | | Jason chat | `https://opax.vauco.no/static/jason.html` |
| Onboarding | `https://opax.vauco.no/onboard` |
| LB IP | `34.98.77.173` | | LB IP | `34.98.77.173` |
| Repo | `vauco-saas/OSVauco` | | Repo | `vauco-saas/OSVauco` |
| Eier | `chris.christiansen@vauco.no` | | Eier | `chris.christiansen@vauco.no` |
@ -78,6 +98,16 @@
--- ---
## Env-vars påkrevd (CG5c)
```
TWILIO_ACCOUNT_SID=ACxxxx
TWILIO_AUTH_TOKEN=xxxx
TWILIO_FROM_NUMBER=+47xxxxxxxx
```
---
## CostGuard — prismodell v2 (fasit) ## CostGuard — prismodell v2 (fasit)
| Tier | GCP-spend/mnd | Pris | | Tier | GCP-spend/mnd | Pris |
@ -101,6 +131,7 @@
- **Ikke opprett repos** uten `REPO APPROVED` - **Ikke opprett repos** uten `REPO APPROVED`
- **Medioteq = joint venture** — ikke SaaS-kunde - **Medioteq = joint venture** — ikke SaaS-kunde
- **Prismodell låst** — ikke endre uten `PLAN APPROVED` - **Prismodell låst** — ikke endre uten `PLAN APPROVED`
- **CG7 er ikke definert** — ikke start uten direktiv fra Chris
- **Verifiser alltid mappestruktur** via GitHub API før du bygger - **Verifiser alltid mappestruktur** via GitHub API før du bygger
--- ---
@ -117,4 +148,4 @@
--- ---
*Vauco AS · propane-will-491900-m5 · us-central1 · Sesjon 2026-06-12* *Vauco AS · propane-will-491900-m5 · us-central1 · Sesjon avsluttet 2026-06-12 17:22 CEST*