OSVauco/docs/GDRIVE_MIRROR_BOOT.md

18 KiB

VAUCO OS — GDRIVE MIRROR BOOT

CONNECTOR-PRIORITET:

GITHUB  >  GOOGLE DRIVE

GitHub (OSVauco/main/docs/AGENT_RULEBOOK.md) er alltid ground truth. Denne filen er auto-generert av sync-gdrive-mirror.sh. Ved enhver konflikt: stol på GitHub. Oppdater ved å kjøre scriptet på nytt.


⚠️ STALENESS-VARSEL — LES DETTE FØRST

╔══════════════════════════════════════════════════════════════╗
║  SIST SYNKRONISERT:  2026-05-25T23:59 UTC                    ║
║  HEAD: 57bfc51                                                  ║
║  Kilde: OSVauco/main · Synkronisert av: sync-gdrive-mirror.sh ║
╠══════════════════════════════════════════════════════════════╣
║  ⚠️  TERSKEL: 12 TIMER  (aktiv dev-runde)                    ║
║  HVIS MER ENN 12T HAR GÅTT: STOPP og verifiser mot GitHub    ║
╠══════════════════════════════════════════════════════════════╣
║  VERIFISER: https://github.com/chrischristiansen-glitch/     ║
║  OSVauco/blob/main/docs/AGENT_RULEBOOK.md                    ║
╚══════════════════════════════════════════════════════════════╝

PROSJEKTINDEKS — AUTO-GENERERT 2026-05-25T23:59 UTC · HEAD 57bfc51


TODO

OSVauco / OPAX — TODO

Managed by PLAN thread. Update when phases move between sections. Last updated: 2026-05-25T14:37 CEST


NOW

  • ⚠️ HASTER — Roter OAuth client secret Vauco OS Web App i Google Auth Platform — eksponert i chat 2026-05-25.
  • Vurder om jason.vauger@vauco.no skal beholde roles/run.invokerosvauco-agent.
  • Kjør git update-index --chmod=+x på alle scripts + commit — hindrer Permission denied etter GitHub web-edit.
  • Verifiser første nattlige GDrive backup — kl 03:00 UTC (Actions-logg).

NEXT

  • Phase 6 — LEARNING-010 append: Cloud Run domain mapping støtter ikke load balancer IAP.
  • opax-mcp/ restruktureres som ordentlig modul-subtree.
  • Full boot cycle acceptance test (automatisert).
  • VS Code ↔ Cloud Shell workflow — preflight-script for lokal utvikling.
  • Gemini TUI-output logginggemini-log alias, append siste 50 linjer til session log.
  • GDrive nightly workflow — verifiser schedule-trigger fungerer.

DONE

  • Phase 0 — Baseline: repo, .gemini/-struktur, boot-script, sesjonslogg.
  • Phase 1 — Domain/protocol locking, ARCHITECTURE.md, VAUCO_OS_ROADMAP.md.
  • Phase 2opax.vauco.no LIVE: Cloud Run, CNAME, SSL.
  • Phase 3 — Nemotron session loop, docs/TODO.md, Phase 1+2 rapport.
  • Phase 4 — Docs hardening: LEARNINGS 007-009, SECRETS-SETUP, IAP-SETUP kartlegging. (2026-05-25)
  • Phase 5 — Cloud Run IAM-autentisering på osvauco-agent: kun chris.christiansen@vauco.no + jason.vauger@vauco.no. DNS urørt. (2026-05-25)
  • GDrive/GitHub paritet — mirror-script, nattlig backup, PS1 prompt, IAM/Secrets, opax-logg-slutt auto-push. (2026-05-25)
  • GDrive backup IAM — SA opprettet, JSON-nøkkel, mapper delt. (2026-05-25)
  • GitHub SecretsRCLONE_GDRIVE_SA_JSON + GDRIVE_BACKUP_FOLDER_ID satt. (2026-05-25)
  • Første mirror-sync.gdrive-mirror-state opprettet, GDRIVE_MIRROR_BOOT.md lastet opp. (2026-05-25)
  • PS1 gul-bug — state-fil skrives nå ETTER push, prompt grønn umiddelbart. (2026-05-25)

SESJONSLOGG

Sessions Index

Dato Emne Fil
2026-05-21 OSVauco/OPAX platform bootstrap — naming, domenekonvensjon, Nemotron TODO 2026-05-21_osvauco-opax-platform-naming-domains.md
2026-05-22 osv-startup.ps1 — banner design, farger, prompt og gcloud-fix 2026-05-22_osv-startup-banner-styling.md
2026-05-24 OPAX heavy mode + LLM-ruting + RAG re-indeksering 2026-05-24_opax-heavy-mode-llm-ruting-rag.md
2026-05-24 RAG corpus setup — Vertex AI serverless debugging 2026-05-24_rag-corpus-setup-vertexai.md
2026-05-24 RAG restriction + operator suite heavy lifts + docs hardening 2026-05-24_osvauco-rag-operator-suite.md
2026-05-25 GDrive/GitHub mirror + backup, PS1 prompt, opax-logg-slutt fix, IAM setup 2026-05-25_gdrive-mirror-sync.md
2026-05-25 GitHub boot + prosjektstatus-lesing + GDrive-review fra handoff 2026-05-25_github-boot-status-gdrive-review.md
2026-05-25 Phase 7 RAG corpus opprettet — sesjonsstatus-diff og handoff 2026-05-25_phase7-rag-corpus-handoff.md
2026-05-26 RAG corpus kobling til osvauco-agent — boot, snapshot-sti-avklaring, index-oppdatering 2026-05-26_rag-corpus-kobling-agent.md

ROADMAP

VAUCO OS — ROADMAP.md

Eier: PLAN-Claude-Architect

Sist oppdatert: 2026-05-22 CEST

Godkjent av: Chris Christiansen


NOW — Aktiv nå

  • Phase 4 — Docs hardening
    • Owner: OPS / Gemini TUI
    • HITL gate: MERGE APPROVED
    • Filer: LEARNINGS.md, SECRETS-SETUP.md, IAP-SETUP.md — oppdater med nåværende state
    • Done: alle tre filer har seksjon ## Status 2026-05-22 med verifisert info

NEXT — Neste opp

  • Phase 5 — IAP på opax.vauco.no

    • Begrens til @vauco.no Google-kontoer
    • Owner: EXEC-Gemini / Chris
    • HITL gate: DEPLOY GODKJENT
    • Done: uautentiserte requests → 403, chris.christiansen@vauco.no → 200
  • Phase 6 — VS Code ↔ Cloud Shell workflow

    • Preflight-script + dokumentasjon for lokal utvikling mot OSVauco-repoet
    • Owner: OPS
    • HITL gate: MERGE APPROVED

LATER — Backlog

  • opax-mcp/ restruktureres som ordentlig modul-subtree
  • Full boot cycle acceptance test (automatisert)
  • OPS agent + BigQuery live logging
  • Multi-klient onboard-mønster
  • Medioteq — kun idéfase, ingenting implementeres før OPAX er fullt operasjonelt

BLOCKED

(ingen blokkerte punkter)


Fullførte faser

  • Phase 0 — Baseline: opax-mcp-core live, OSVauco repo, .gemini/ grunnmur, boot-script, sessionslogg
  • Phase 1 — MCP_NAME/MCP_PROTOCOL/ROOT_DOMAIN locked; ARCHITECTURE.md + ROADMAP.md opprettet · 6ae1a25 4a971dd c4149e7 · 2026-05-21
  • Phase 2opax.vauco.no LIVE: domain mapping + CNAME + SSL + HUB_URL locked · f3bf419 · 2026-05-21
  • Phase 3 — Nemotron session loop i GEMINI.md; docs/TODO.md; Phase 1+2 SLUTTRAPPORT i session log · 77ed501 · 2026-05-21

EOF v2.0 — 2026-05-22 — synkronisert med faktisk repo-state


AGENT_RULEBOOK

VAUCO OS — AGENTRLEBOOK.md

Eier: OPS-Computer-Hub

Sist oppdatert: 2026-05-21 CEST

Godkjent av: Chris Christiansen


Hensikt

Immutable regler for alle 4 tråder. Ingen tråd kan overstyre disse. Endringer krever eksplisitt godkjenning fra Chris.


LOCK LIST — ALDRI ENDRE

Parameter Verdi
GCP Account chris.christiansen@vauco.no
Forbudte kontoer tinius.vauger, ccv, jason.vauger
GCP Project propane-will-491900-m5 (Jason-v1)
Billing 0171F6-057E6B-A260BA
Org vauco.no / 155051211891
Region us-central1 — ALDRI us-west1
SDK from google import genai — ALDRI vertexai.generative_models
Agent-rammeverk Google ADK (tillatt) — andre må eksplisitt ADK_GODKJENT av Chris
GitHub user chrischristiansen-glitch
Canonical repo OSVauco
Canonical branch main
MCP_NAME OPAX-MCP
MCP_PROTOCOL OPAX Protocol
MCP_SERVICE opax-mcp-core (Cloud Run, us-central1)
ROOT_DOMAIN vauco.no
HUB_URL https://opax.vauco.no LIVE 2026-05-21

DOMENEKONVENSJON — LOCKED

Subdomain Type Formål
opax.vauco.no Hub/MCP OPAX-MCP operator hub — kun Vauco internt
<klient>-os.vauco.no Prod OS Kundens live produksjonssystem
<klient>-oss.vauco.no Stage OS Kundens staging/demo-system (pre-go-live)

-os = produksjon. -oss = staging. Aldri omvendt.

Auth-strategi:

  • Nå: Google OAuth på alle miljøer
  • Senere: BankID på -os-domener for kliniske kunder (Medioteq først)

Kjente/planlagte domener:

Domene Status Cloud Run-tjeneste
opax.vauco.no LIVE opax-mcp-core
medioteq-oss.vauco.no Planlagt medioteq-oss-core
medioteq-os.vauco.no Planlagt medioteq-os-core

HITL-GATES — STOPP OG SPØR ALLTID

  1. DEPLOY GODKJENT — før deploy til Cloud Run
  2. MERGE APPROVED — før merge til main
  3. DEEP DREAM GODKJENT — før strategisk vokabular eksponeres
  4. COST GODKJENT — før endringer som påvirker billing
  5. IAM_GODKJENT — før IAM-endringer eller ny service account
  6. NEWREPO — før opprettelse av ny repo

BOOT-PROTOKOLL — kjøres av ALLE tråder ved oppstart

  1. Branch-discovery: list alle branches, finn mest aktiv (ahead av default)
    • Hvis 1+ branch er 10+ commits ahead: STOPP og spør Chris
    • Standard: OSVauco/main er canonical for dette prosjektet
  2. Les eid fil + MASTER_HANDOFF_v2 + ROADMAP fra riktig branch
  3. Bekreft i én linje: Boot OK — branch X, HEAD Y, oppgave Z

VOCABULARY FIREWALL

Type Ord Regel
Offentlig (OK overalt) Token Ledger, VVN, Provenance, File signature, Client identity record, Cognitive contribution, The system Fritt bruk
Strategisk (KUN internt) Pregeverdi, Deep Dream, Vauco-arv, Pregesignatur, T-konto, Work of Living, Pregeverk KUN i deep-dream/-mappe

KOST-DISIPLIN

  • $3/dag hard cap per tråd
  • gemini-2.5-flash for enkle steg, pro for komplekse
  • ALDRI rekursive modell-loops
  • Hvis tråden bruker $1 på én oppgave: STOPP, rapporter, spør
  • 80%/95%/100% quota stops aktive

FRICTION-REGLER (kodifisert lærdom)

TASK-FRICTION-001: Branch-discovery-before-read

Preflight må advare hvis non-default branch er 10+ commits ahead. Implementer i: scripts/preflight-check.sh

TASK-FRICTION-002: SYSTEM_STATE_AGENT_BOOT autogenerering

Boot-script skriver fersk state-fil ved hver tråd-oppstart. Implementer i: scripts/boot-state.sh (EXEC eier)

TASK-FRICTION-003: Eierskap-matrise håndhevet i pre-commit

Pre-commit hook avviser commit hvis fil endres av feil tråd. Implementer i: .githooks/pre-commit (OPS eier)


KORREKSJONS-REGEL

Ground truth wins always.

  1. Innrøm direkte i én setning
  2. Oppdater eid fil med korreksjon
  3. Fortsett ALDRI forsvar gamle posisjoner.

KOMMUNIKASJON MELLOM TRÅDER

  • ML-TRÅD: Chris kopierer melding over
  • Filer flyter via GitHub (OSVauco + tjeneste-repoer)
  • Aldri direkte tråd-til-tråd — alt via committed MD eller Chris

EIERSKAP-MATRISE

Fil Eier Andre kan
VAUCO_OS_MASTER_HANDOFF_v2.md OPS lese
VAUCO_OS_ROADMAP.md PLAN lese, foreslå patch via PR
SYSTEM_STATE_AGENT_BOOT.md EXEC lese
docs/AGENTRLEBOOK.md OPS lese
docs/ARCHITECTURE.md PLAN lese, foreslå patch via PR
docs/LEARNINGS.md OPS lese, foreslå append
docs/RISKREGISTER.md AUDIT lese
docs/PLANBOARD.md AUDIT lese
CHANGELOG.md OPS lese
TODO.md EXEC lese

Regel: én fil — én eier. Andre foreslår via PR, eier merger.


EOF v1.2 — 2026-05-21 — OPS-Computer-Hub (Phase 2: HUB_URL locked LIVE, domain status updated)


LEARNINGS — siste oppføringer

Regel: Før ny plan: verifiser alle premisser eksplisitt. Ground truth wins always. Innrøm direkte, oppdater eid fil, fortsett. Implementert i: docs/AGENTRLEBOOK.md — KORREKSJONS-REGEL


LEARNING-004: Pre-commit hook kan ikke skille regel-definisjon fra regelbrudd

Dato: 2026-05-18 Kontekst: .githooks/pre-commit bruker innholdsbasert regex-gate. Fanger vertexai.generative_models overalt — inkludert i NEVER-lister og kommentarer. Lærdom: Semantisk korrekt bypass (--no-verify eller git config --unset core.hooksPath) er riktig for commits som inneholder regel-definisjoner, ikke regelbrudd. Regel: Hook v2 må implementere Argument C: kun match uncommented lines i .py/.sh, og kun utenfor NEVER/blocked/forbid-kontekst i .md. Implementert i: TASK-FRICTION-003 — hook v2 (Day 2)


LEARNING-005: Verdivurdering før commit — tråden kan absorbere korreksjon raskt

Dato: 2026-05-18 Kontekst: Doc-konsolidering ble nødvendig (LEARNINGS.md, AGENTRLEBOOK.md). Ground-truth-vinner-alltid-prinsippet fungerte raskt i praksis. Lærdom: Kjør verdivurdering ved slutten av hver økt: hva produserte vi, hva er nyttig vs dødt, hvilken læring overlever? Regel: Før tråd-økt avsluttes: oppdater LEARNINGS.md (append), og friction → TASK-FRICTION-NNN i ROADMAP. Implementert i: docs/AGENTRLEBOOK.md — FRICTION-REGLER


EOF — append videre under denne linjen


LEARNING-006: gcloud-CLI deler quota med system-prosesser (32555940559)

Dato: 2026-05-18 Kontekst: gcloud CLI bruker shared project 32555940559 for cloudresourcemanager API. Loop-scripts trigget 2400 RPM cap. Årsak: boot-script eller watch-prosess listet prosjekter/billing i loop. Lærdom: Quota-hit på shared gcloud-prosjekt er ikke-fatal, forsvinner etter 60s. Sjekk alltid ps aux for spam-prosesser før loop-operasjoner. Regel: 1) Skriv Y ved quota-prompt → 2) vent 60s → 3) kjør preflight.sh på nytt. Ved 429: ps aux | grep -E "(gcloud|gemini|watch)" | grep -v grep → kill -9 ved looping prosess. Implementert i: scripts/preflight.sh — kandidat for quota-check i v1.2 (TF-004)


LEARNING-007: Bindestrek er ugyldig i bash-funksjonsnavn (POSIX strict)

Dato: 2026-05-25 Kontekst: Cloud Shell kjører -bash i POSIX strict mode. opax-logg-slutt() { kastet syntax error. Funksjonen var definert korrekt men navn med bindestrek er ikke tillatt i POSIX sh. Lærdom: Funksjonsnavn i bash-scripts som skal kjøres i Cloud Shell MÅ bruke understrek, ikke bindestrek. Alias kan fortsatt bruke bindestrek og peke på understreks-funksjonen. Regel: Alle funksjoner i scripts/ bruker understrek (opax_logg_slutt). Aliaser for brukervennlighet kan ha bindestrek (alias opax-logg-slutt='opax_logg_slutt'). Implementert i: scripts/osvauco-opax-boot.sh — fix pushet HEAD 1cea31d


LEARNING-008: rclone med GDrive service account krever eksplisitt mappedeling

Dato: 2026-05-25 Kontekst: GitHub Actions nattlig backup feilet første kjøring. Årsak: service account (vauco-gdrive-backup@...) hadde ikke tilgang til GDrive-mappen selv om JSON-nøkkel og Secret var korrekt satt. Lærdom: GDrive-mapper er ikke automatisk tilgjengelig for service accounts selv om de har riktig IAM-rolle. Mappen MÅ deles eksplisitt med service account-eposten (Editor-tilgang) i GDrive UI. Regel: Ved oppsett av rclone/GDrive-backup: del ALLE målmapper med SA-epost manuelt i GDrive. Dokumenter i docs/GDRIVE_SETUP.md. Implementert i: docs/GDRIVE_SETUP.md — steg 3


LEARNING-009: .gdrive-mirror-state som SHA-anker forhindrer falske OK-varsler

Dato: 2026-05-25 Kontekst: Boot-dashboard viste alltid "fersk mirror" selv om GDrive ikke var oppdatert. Årsak: ingen persistert state å sammenligne mot. Lærdom: Synkroniseringsstatus uten persistert anker er ubrukelig. .gdrive-mirror-state-filen (LAST_SYNC + LAST_SHA) gir boot-scriptet et faktisk sammenligningspunkt mellom sesjoner. Regel: Ethvert sync-script skal skrive en state-fil med tidsstempel + commit-SHA. Boot leser denne og varsler ved avvik. Implementert i: scripts/sync-gdrive-mirror.sh + scripts/osvauco-opax-boot.sh


Oppdater ved å kjøre: bash scripts/sync-gdrive-mirror.sh — last deretter opp til GDrive.

EOF · GDRIVE_MIRROR_BOOT · 2026-05-25T23:59 UTC · HEAD 57bfc51 · auto-generert