4.7 KiB
4.7 KiB
GEMINI.md — OSVauco / OPAX
Gemini 2.5 Pro · Nemotron session protocol · HITL-safe
Locked Definitions
MCP_NAME: OPAX-MCP
MCP_PROTOCOL: OPAX Protocol
ROOT_DOMAIN: vauco.no
HUB_URL: https://opax.vauco.no
These values are LOCKED. Do NOT change without explicit human instruction.
Session Protocol (Nemotron Loop)
BOOT
- Read
docs/AGENT_RULEBOOK.md,docs/VAUCO_OS_ROADMAP.md, anddocs/OSVAUCO_OPAX_SESSION_LOG.md. - Print LOCKED DEFINITIONS (
MCP_NAME,MCP_PROTOCOL,HUB_URL,ROOT_DOMAIN). - Print the last
## NESTE OPPGAVEblock found in the session log. - If no NESTE OPPGAVE found → warn and read ROADMAP NOW section instead.
PLAN
- Before any code change, write a short PLAN block in Markdown:
- Files to touch
- Expected outcome
- HITL gate required
- Do NOT proceed to EXECUTE without human confirmation.
EXECUTE
- Apply exactly the change described in the PLAN block — no more, no less.
- Always show a full diff before writing any file.
- Never batch unrelated edits in a single EXECUTE step.
VERIFY
- Run the relevant verification command (
curl,gcloud,grep,git log). - State result explicitly as
PASSorFAIL. - If FAIL → stop and report, do not proceed to LOG.
LOG
- Append to
docs/OSVAUCO_OPAX_SESSION_LOG.md:## SLUTTRAPPORT – <date> – <Phase> - Hva: <description of change> - Filer: <list of files changed> - Verifisering: <command + result> ## NESTE OPPGAVE <single next task, explicit>
NEXT
- At the next session start, read
## NESTE OPPGAVEbefore doing anything else. - The boot script reads the last NESTE OPPGAVE automatically — keep it updated.
Hard Rules
- Never change LOCK LIST values without explicit human instruction.
- Always show diff before writing any file.
- Never batch unrelated edits in a single EXECUTE step.
- OPAX (
opax.vauco.no) is management plane only — it never receives raw patient data. - Medioteq clinical data stays in
europe-north1inside the Medioteq GCP project boundary. - Deploy
clinical-mcpandclinical-orchestratorto the Medioteq project (--project=<MEDIOTEQ_PROJECT_ID>), never the Vauco project. - HITL gates: PLAN approves order → AUDIT approves format → OPS confirms EST → Human confirms before EXEC fires.
Diagnostics Rules (CRITICAL)
Regel: Aldri gjett. Alltid hent faktisk data før du konkluderer.
Ved build-feil (Cloud Build)
NÅR gcloud builds submit feiler → kjør ALLTID dette FØR du gjør noe annet:
# Hent siste build-ID og vis logg direkte
BUILD_ID=$(gcloud builds list \
--project=propane-will-491900-m5 \
--limit=1 \
--format="value(id)")
gcloud builds log $BUILD_ID \
--project=propane-will-491900-m5 2>&1 | tail -80
- IKKE søk på nett før du har lest loggene.
- IKKE gjett på årsak basert på exit code alene.
- Exit code 125 = Docker-feil → les logg for å se hvilken linje som feilet.
Ved deploy-feil (Cloud Run)
# Hent Cloud Run-logger
gcloud logging read \
'resource.type=cloud_run_revision AND resource.labels.service_name=osvauco-agent' \
--project=propane-will-491900-m5 \
--limit=50 \
--format="value(textPayload)"
Ved HTTP-feil (4xx/5xx fra tjeneste)
# Test direkte mot Cloud Run URL (bypasser IAP)
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://osvauco-agent-357036551735.us-central1.run.app/ENDPOINT
Ved sertifikat/DNS-feil
# Sjekk SSL-sertifikat status
gcloud compute ssl-certificates list \
--project=propane-will-491900-m5 \
--format="table(name,managed.status,managed.domainStatus)"
Generell regel
| Situasjon | Gjør DETTE | IKKE dette |
|---|---|---|
| Build feiler | Les build-logg via gcloud builds log |
Søk på nett |
| Runtime-feil | Les Cloud Run-logger | Gjett på koden |
| HTTP 404 | curl tjenesten direkte |
Endre kode uten å bekrefte |
| Auth-feil | gcloud auth list + gcloud auth print-identity-token |
Anta token er ugyldig |
Domain Convention
| Subdomain | Type | Purpose |
|---|---|---|
opax.vauco.no |
Hub / MCP | OPAX-MCP operator hub — Vauco internal only |
<client>-os.vauco.no |
Prod OS | Client live production OS |
<client>-oss.vauco.no |
Stage OS | Client staging / demo OS |
Auth: Google OAuth now. BankID on -os later (Medioteq first).
Standard Boot Prompt
Paste this at the start of every Gemini TUI session:
BOOT: Read docs/AGENT_RULEBOOK.md, docs/VAUCO_OS_ROADMAP.md, docs/OSVAUCO_OPAX_SESSION_LOG.md.
Print LOCKED DEFINITIONS. Print last NESTE OPPGAVE. Do not take any action until I give a PLAN prompt.