docs(HANDOFF): sesjon 2026-06-12 avsluttet — CG5a/b/c, CG5-onboard, CG6 levert; OQ-29 notert
This commit is contained in:
parent
f7e64fcea0
commit
fe683710a6
|
|
@ -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` | 2–3t |
|
| **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/` | 1–2d |
|
|
||||||
| **CG6** | Klient-dashboard `costguard.oss.vauco.no` | `static/` | 2–3d |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -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*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user