docs(handoff): komplett handoff 2026-06-15 — Jason live, Gitea oppe, opax-mcp tilkobla
This commit is contained in:
parent
5d137c1be7
commit
50c1256723
156
docs/HANDOFF.md
156
docs/HANDOFF.md
|
|
@ -1,8 +1,8 @@
|
||||||
# HANDOFF — Vauco OS
|
# HANDOFF — Vauco OS
|
||||||
|
|
||||||
**Sist oppdatert:** 2026-06-15 17:42 CEST
|
**Sist oppdatert:** 2026-06-15 19:27 CEST
|
||||||
**Skrevet av:** Perplexity (Orchestrator)
|
**Skrevet av:** Perplexity (Orchestrator)
|
||||||
**Status:** Fase B — aktiv sesjon
|
**Status:** Fase B — Jason operativ, Gitea oppe, GitHub fases ut
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -15,84 +15,118 @@
|
||||||
- **ALDRI** `--audiences`-flag i smoke-tests
|
- **ALDRI** `--audiences`-flag i smoke-tests
|
||||||
- **Smoke-test:** peker på `/health`
|
- **Smoke-test:** peker på `/health`
|
||||||
- **Curl mot prod:** alltid identity token — `TOKEN=$(gcloud auth print-identity-token)`
|
- **Curl mot prod:** alltid identity token — `TOKEN=$(gcloud auth print-identity-token)`
|
||||||
- **Ingen tredjepartsverktøy:** Cursor, Copilot og lignende skal IKKE brukes. Alt eies og kjøres i eget GCP/GitHub.
|
- **Ingen tredjepartsverktøy:** Cursor, Copilot og lignende skal IKKE brukes. Alt eies og kjøres i eget GCP/Gitea.
|
||||||
- **MCP-server** (`opax-mcp/`) er intern binding mellom Jason/Emma og OPAX — ikke en ekstern klientintegrasjon.
|
- **MCP-server** (`opax-mcp/`) er intern binding mellom Jason/Emma og OPAX — ikke en ekstern klientintegrasjon.
|
||||||
|
- **Primær Git:** Gitea på `http://34.59.131.162:3000` — GitHub er mirror under utfasing.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ✅ Levert denne sesjonen (2026-06-15)
|
## ✅ Levert denne sesjonen (2026-06-15 — del 2)
|
||||||
|
|
||||||
| SHA | Commit | Hva |
|
| SHA | Commit | Hva |
|
||||||
|-----|--------|-----|
|
|-----|--------|-----|
|
||||||
| `2b79145` | `feat(CI1): opax-mcp server — full OPAX tool coverage + Dockerfile + cloudbuild` | MCP-server med 20 tools + CI/CD |
|
| `e96e932` | `feat(jason): koble opax-mcp til Jason` | `opax_mcp_client.py` (25 tools), `mcp_tools.py` oppdatert, `jason-vauger.md` oppdatert |
|
||||||
| `4f3a802` | `feat(CG5-onboard): token-basert invite-system + offentlig onboard-flow` | Invite-tokens, offentlig onboard, e-post |
|
| `5d137c1` | `fix(deploy_agent): rett import til vertexai.agent_engines` | SDK 1.157.0 import-fix |
|
||||||
| `099c1cc` | `feat(OQ-26): docs/gemma/world.md — Emma boot context` | Emma sin kontekstpakke |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ✅ Lukkede issues denne sesjonen
|
## ✅ Fullført denne sesjonen
|
||||||
|
|
||||||
| ID | Hva | Løsning |
|
| Oppgave | Status |
|
||||||
|----|-----|---------|
|
|---------|--------|
|
||||||
| OQ-26 | `docs/gemma/world.md` mangler — Emma blokkert | Opprettet ✅ |
|
| `agents/tools/opax_mcp_client.py` — REST-klient alle 25 tools | ✅ |
|
||||||
| CG5-onboard | Ingen salgsflyt for kunde-onboarding | Token-invite system ✅ |
|
| `agents/tools/mcp_tools.py` — X-MCP-Secret fix + delegerer til opax_mcp_client | ✅ |
|
||||||
| CI1 (kode) | `opax-mcp/` var tom | server.py + Dockerfile + cloudbuild.mcp.yaml ✅ |
|
| Jason deployet til Vertex AI Agent Engine | ✅ |
|
||||||
|
| Jason svarer på norsk og kallar tools automatisk | ✅ |
|
||||||
---
|
| Gitea installert på VM (`34.59.131.162:3000`) | ✅ |
|
||||||
|
| Gitea køyrer som systemd-teneste (overlever reboot) | ✅ |
|
||||||
## 🔴 CI1 — Siste steg (manuelt i GCP Console)
|
| OSVauco mirror frå GitHub → Gitea (8h auto-sync) | ✅ |
|
||||||
|
| Firewall-regel `allow-gitea` (tcp:3000) | ✅ |
|
||||||
`cloudbuild.mcp.yaml` er klar. Trigger må opprettes **av Chris** i GCP Console:
|
|
||||||
|
|
||||||
**GCP Console → Cloud Build → Triggers → Create trigger**
|
|
||||||
|
|
||||||
| Felt | Verdi |
|
|
||||||
|------|-------|
|
|
||||||
| Navn | `opax-mcp-deploy` |
|
|
||||||
| Repo | `vauco-saas/OSVauco` |
|
|
||||||
| Branch | `^main$` |
|
|
||||||
| Build config | `cloudbuild.mcp.yaml` |
|
|
||||||
| Included files | `opax-mcp/**` |
|
|
||||||
| Service account | `osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com` |
|
|
||||||
|
|
||||||
Alt kjører i ditt eget GCP — ingen tredjeparter.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🟠 Gjenstår (prioritert)
|
|
||||||
|
|
||||||
| # | Oppgave | Blokkering |
|
|
||||||
|---|---------|------------|
|
|
||||||
| 1 | Opprett Cloud Build-trigger for `opax-mcp` (se over) | Manuelt i GCP Console |
|
|
||||||
| 2 | Sett env-vars som mangler på `osvauco-agent` Cloud Run | GCP Console / gcloud |
|
|
||||||
| 3 | ML-3a VM — GPU Spot VM for Emma | Planlegging |
|
|
||||||
| 4 | C4 — Medioteq partnerstrategimøte | Aktiveres nå |
|
|
||||||
| 5 | CG5c — SMS (Twilio) | Venter på TWILIO_* env-vars |
|
|
||||||
| 6 | Verifiser Terminal + MD-panel + Docs Browser i nettleser | Manuell test |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🏗 Systemstatus
|
## 🏗 Systemstatus
|
||||||
|
|
||||||
| Komponent | Status |
|
| Komponent | URL / Referanse | Status |
|
||||||
|-----------|--------|
|
|-----------|-----------------|--------|
|
||||||
| `osvauco-agent` Cloud Run | ✅ Live `us-central1` |
|
| `osvauco-agent` Cloud Run | `us-central1` | ✅ Live |
|
||||||
| `opax.vauco.no` | ✅ Live |
|
| `opax-mcp` Cloud Run | `https://opax-mcp-zjbqp3prqq-uc.a.run.app` | ✅ Live (25 tools) |
|
||||||
| `opax-mcp/` kode | ✅ Pushet, venter på Cloud Build trigger |
|
| Jason Vertex AI Agent Engine | `reasoningEngines/237959055262351360` | ✅ Live |
|
||||||
| `docs/gemma/world.md` | ✅ Opprettet |
|
| Gitea (eigen Git-server) | `http://34.59.131.162:3000` | ✅ Live + systemd |
|
||||||
| Emma boot | ✅ Laster world.md ved oppstart |
|
| OSVauco repo på Gitea | `http://34.59.131.162:3000/chris/OSVauco` | ✅ Mirror aktiv |
|
||||||
| Invite-system | ✅ Live (`/onboard/invite/{token}`) |
|
| GitHub OSVauco | `https://github.com/vauco-saas/OSVauco` | 🔄 Under utfasing |
|
||||||
| Kreditt | 2911 NOK, utløper 2026-07-10 |
|
| `opax.vauco.no` | — | ✅ Live |
|
||||||
|
| Emma (Gemma, lokal VM) | — | ⏳ Neste fase |
|
||||||
|
|
||||||
**Env-vars som MANGLER på Cloud Run:**
|
---
|
||||||
`SENDGRID_API_KEY`, `TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN`, `TWILIO_FROM_NUMBER`,
|
|
||||||
`GOOGLE_CREDIT_TOTAL_USD`, `NOTIFY_EMAIL_TO`, `NOTIFY_WEBHOOK_URL`, `VAUCO_INTERNAL_WEBHOOK`
|
## 🔑 Credentials å hugse
|
||||||
|
|
||||||
|
| System | Brukar | Passord/Nøkkel |
|
||||||
|
|--------|--------|----------------|
|
||||||
|
| Gitea | `chris` | `OSVauco@Gitea2026!` |
|
||||||
|
| Gitea API | `chris` | Basic auth eller token frå Settings → Applications |
|
||||||
|
| opax-mcp | — | `MCP_SECRET` i Secret Manager (`mcp-server-key`) |
|
||||||
|
| Jason Agent Engine | — | `reasoningEngines/237959055262351360` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟠 Gjenstår (prioritert)
|
||||||
|
|
||||||
|
| # | Oppgave | Notat |
|
||||||
|
|---|---------|-------|
|
||||||
|
| 1 | Opprett Gitea API-token for Jason/opax-mcp | Gitea → Settings → Applications |
|
||||||
|
| 2 | Oppdater `opax_mcp_client.py` GitHub-tools → Gitea API | Byt `api.github.com` → `34.59.131.162:3000/api/v1` |
|
||||||
|
| 3 | Sett `git.vauco.no` DNS → `34.59.131.162` | Domene for Gitea |
|
||||||
|
| 4 | HTTPS/TLS for Gitea (Caddy eller Nginx) | Etter DNS |
|
||||||
|
| 5 | Emma — Gemma lokal på ML-3a GPU VM | Eiga fase |
|
||||||
|
| 6 | Sett manglande env-vars på `osvauco-agent` | `SENDGRID_API_KEY`, `TWILIO_*`, `NOTIFY_*` |
|
||||||
|
| 7 | Test Jason end-to-end: prompt → opax-mcp tool → Gitea | Verifiser full stack |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📌 Neste sesjon — start her
|
## 📌 Neste sesjon — start her
|
||||||
|
|
||||||
1. GCP Console → Cloud Build → opprett trigger `opax-mcp-deploy`
|
```bash
|
||||||
2. Sett manglende env-vars på `osvauco-agent`
|
# 1. Verifiser at Gitea og Jason er oppe
|
||||||
3. Test invite-flow: `POST /onboard/invite` → link → `GET /onboard/invite/{token}`
|
curl -s http://34.59.131.162:3000/api/v1/repos/chris/OSVauco | python3 -m json.tool | grep updated_at
|
||||||
4. Neste kode: C4-forberedelse eller ML-3a VM
|
|
||||||
|
# 2. Test Jason
|
||||||
|
cd ~/OSVauco/agents/core-logic && source .venv/bin/activate
|
||||||
|
python3 - <<'EOF'
|
||||||
|
import vertexai
|
||||||
|
from vertexai import agent_engines
|
||||||
|
vertexai.init(project="propane-will-491900-m5", location="us-central1")
|
||||||
|
agent = agent_engines.get("projects/357036551735/locations/us-central1/reasoningEngines/237959055262351360")
|
||||||
|
session = agent.create_session(user_id="chris")
|
||||||
|
for event in agent.stream_query(user_id="chris", session_id=session["id"], message="Status?"):
|
||||||
|
if event.get("content"):
|
||||||
|
print(event["content"]["parts"][0].get("text", ""), end="")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 3. Neste steg: lag Gitea API-token og oppdater opax_mcp_client.py
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🗺 Arkitektur
|
||||||
|
|
||||||
|
```
|
||||||
|
Chris (naturleg språk)
|
||||||
|
↓
|
||||||
|
Jason Vauger (Vertex AI Agent Engine — Gemini 2.5 Flash)
|
||||||
|
reasoningEngines/237959055262351360
|
||||||
|
↓
|
||||||
|
opax-mcp (Cloud Run — 25 tools)
|
||||||
|
https://opax-mcp-zjbqp3prqq-uc.a.run.app
|
||||||
|
↓
|
||||||
|
┌─────────────────────────────────┐
|
||||||
|
│ Gitea 34.59.131.162:3000 │ ← Eigen Git (primær)
|
||||||
|
│ GCP Cloud Build / Run │ ← CI/CD + hosting
|
||||||
|
│ GitHub vauco-saas/OSVauco │ ← Mirror (utfasing)
|
||||||
|
└─────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Jason Vauger — han blir den du trenger han til å bli.*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user