OSVauco/docs/CostCheckProtocol.md

72 lines
1.9 KiB
Markdown

# OSVauco Cost Check Protocol
> Implements OSVauco-NMTMD-GCOS § Cost Management — sist oppdatert 2026-05-23
## Når skal 09-cost-check.sh kjøres?
| Situasjon | Handling |
|---|---|
| Før du starter arbeid for dagen | Kjør for se hva som fortsatt kjører fra forrige sesjon |
| Agenten booter og `MEMORY_ENGINE_NAME` er tom | Kjør for sjekke om instans allerede finnes |
| Før teardown | Kjør for bekrefte hva som vil bli slettet |
| Mistanke om uventet kostnad | Kjør umiddelbart |
## Kjør protokollen
```bash
cd ~/OSVauco
source .env
bash infrastructure/09-cost-check.sh
```
## Hva den sjekker
| Punkt | Ressurs | Koster løpende? |
|---|---|---|
| [1] | Cloud Run services | Ja, per request + CPU |
| [2] | Reasoning Engines / Memory Bank | **Ja, kontinuerlig** |
| [3] | Artifact Registry | Litt, per GB lagret |
| [4] | RAG Corpora | Minimal |
| [5] | GCS Buckets | Minimal |
| [6] | Budget alerts | Sjekker at varsler er aktive |
## Memory Bank — spesialregel
Memory Bank (Vertex AI Reasoning Engine) **slettes ikke av `03-teardown.sh`** og
faktureres kontinuerlig:
- **$0.0994/vCPU-time**
- **$0.0105/GiB-time**
- Gratis tier: 180 000 vCPU-sekunder/mnd
Hvis `09-cost-check.sh` punkt [2] viser aktive instanser du ikke trenger:
```bash
gcloud ai reasoning-engines delete ENGINE_NAME \
--project=$PROJECT_ID --region=$REGION --quiet
```
## Agentprotokoll
Alle agenter som bruker Memory Bank skal ved boot sjekke:
```python
import os
if not os.getenv("MEMORY_ENGINE_NAME"):
raise RuntimeError(
"MEMORY_ENGINE_NAME ikke satt i .env. "
"Kjør: source .env && bash infrastructure/09-cost-check.sh "
"for å se eksisterende instanser."
)
```
## Teardown-regel (obligatorisk)
```bash
# Hver kveld:
source .env
bash infrastructure/09-cost-check.sh # se hva som kjører
bash infrastructure/03-teardown.sh # rydd ned Cloud Run + IAM
# Memory Bank: slett manuelt hvis ikke i bruk
```