OSVauco/docs/HANDOFF.md

133 lines
5.2 KiB
Markdown

# HANDOFF — Vauco OS
**Sist oppdatert:** 2026-06-15 19:27 CEST
**Skrevet av:** Perplexity (Orchestrator)
**Status:** Fase B — Jason operativ, Gitea oppe, GitHub fases ut
---
## ⚠️ KRITISKE REGLER — les alltid først
- **Hovudapp:** `main.py` i rot — IKKJE `agents/core-logic/app.py`
- **Dockerfile:** `agents/core-logic/Dockerfile` — WORKDIR `/app`, CMD uvicorn main:app
- **Region:** `us-central1` | **Service:** `osvauco-agent` | **Prosjekt:** `propane-will-491900-m5`
- **Test via proxy:** `gcloud run services proxy osvauco-agent --region us-central1 --project propane-will-491900-m5 --port 8181`
- **ALDRI** `--audiences`-flag i smoke-tests
- **Smoke-test:** peker på `/health`
- **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/Gitea.
- **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 — del 2)
| SHA | Commit | Hva |
|-----|--------|-----|
| `e96e932` | `feat(jason): koble opax-mcp til Jason` | `opax_mcp_client.py` (25 tools), `mcp_tools.py` oppdatert, `jason-vauger.md` oppdatert |
| `5d137c1` | `fix(deploy_agent): rett import til vertexai.agent_engines` | SDK 1.157.0 import-fix |
---
## ✅ Fullført denne sesjonen
| Oppgave | Status |
|---------|--------|
| `agents/tools/opax_mcp_client.py` — REST-klient alle 25 tools | ✅ |
| `agents/tools/mcp_tools.py` — X-MCP-Secret fix + delegerer til opax_mcp_client | ✅ |
| 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) | ✅ |
| OSVauco mirror frå GitHub → Gitea (8h auto-sync) | ✅ |
| Firewall-regel `allow-gitea` (tcp:3000) | ✅ |
---
## 🏗 Systemstatus
| Komponent | URL / Referanse | Status |
|-----------|-----------------|--------|
| `osvauco-agent` Cloud Run | `us-central1` | ✅ Live |
| `opax-mcp` Cloud Run | `https://opax-mcp-zjbqp3prqq-uc.a.run.app` | ✅ Live (25 tools) |
| Jason Vertex AI Agent Engine | `reasoningEngines/237959055262351360` | ✅ Live |
| Gitea (eigen Git-server) | `http://34.59.131.162:3000` | ✅ Live + systemd |
| OSVauco repo på Gitea | `http://34.59.131.162:3000/chris/OSVauco` | ✅ Mirror aktiv |
| GitHub OSVauco | `https://github.com/vauco-saas/OSVauco` | 🔄 Under utfasing |
| `opax.vauco.no` | — | ✅ Live |
| Emma (Gemma, lokal VM) | — | ⏳ Neste fase |
---
## 🔑 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
```bash
# 1. Verifiser at Gitea og Jason er oppe
curl -s http://34.59.131.162:3000/api/v1/repos/chris/OSVauco | python3 -m json.tool | grep updated_at
# 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.*