3bb95c8af9
CI6: fjern RAG fra root_agent — blokkerer AFC/MCP FunctionTools (TODO: RAG som sub-agent når korpus er oppdatert)
2026-06-10 07:17:26 +02:00
54dd25a90e
fix(CI5): konverter DatetimeWithNanoseconds til str før _parse_ts
2026-06-10 06:11:11 +02:00
c8cc45318f
fix(CI6): robust datetime-parsing for Cloud Build REST tidsstempel
2026-06-10 05:31:49 +02:00
be2e3b4583
fix(CI5): bytt til google.auth REST-kall for regional Cloud Build
2026-06-10 04:57:54 +02:00
3af4cbb7cc
feat(opax-mcp): legg til CLOUD_BUILD_TRIGGER_ID i deploy env-vars
2026-06-10 04:33:31 +02:00
3fd3d30ac3
fix(CI4): bruk regional cloudbuild endpoint via client_options
2026-06-10 04:23:25 +02:00
3c69490a68
fix(CI3): bruk regional parent i ListBuildsRequest for us-central1
2026-06-10 04:14:48 +02:00
e4c79c999d
fix(CI3): filtrer get_build_status på CLOUD_BUILD_TRIGGER_ID
2026-06-10 04:07:36 +02:00
791a8e2b42
fix(CI3): bruk regional Cloud Build client i get_build_status
2026-06-10 04:00:43 +02:00
e5b4e2faa5
fix(CI3): bruk get_opax_tools() FunctionTools i stedet for MCPToolset
2026-06-10 03:49:38 +02:00
d2a93979a4
fix(CI3): bytt MCPToolset med FunctionTools for opax-mcp REST-kall
2026-06-10 03:48:38 +02:00
a095abd8bd
feat(CI3): koble opax-mcp toolset til Jason-agenten
2026-06-10 03:30:48 +02:00
be41574569
feat(CI3): legg til opax-mcp toolset i mcp_tools.py
2026-06-10 03:29:13 +02:00
e62a5c91cc
fix(CI1a): fjern ugyldig location-felt fra cloudbuild.yaml
2026-06-10 03:07:06 +02:00
b0fe48b8ad
fix(CI1a): pin Cloud Build region til us-central1
2026-06-10 03:04:07 +02:00
d530aeea6f
fix(CI1a): SHORT_SHA fallback til 'latest' ved manuell builds submit
2026-06-10 02:46:23 +02:00
290fab6ac5
feat(CI1a): OPAX-MCP server scaffold — push_static + get_build_status + deploy_service
2026-06-10 02:40:49 +02:00
749a107e9d
feat(OX1b+CG4): Embedded TUI i opax.html + token intelligence endepunkter
...
OX1b:
- opax.html: ny TUI-panel med xterm.js via /opax/tui-proxy WebSocket-bridge
- Jason-chat flyttes til primærpanel, TUI som sekundærfane
- Fullskjerm-toggle, kopier output, klar-knapp
CG4a:
- app.py: GET /billing/tokens/by-module — aggreger per module_name + caller_type
- app.py: GET /billing/tokens/estimate — prosjektestimator (snitt-tokens × faktor)
- Begge fallback til tomme lister ved BQ-feil (OQ-15 safe)
ROADMAP: OX1a ✅ , OX1b ✅ , CG4a ✅ — oppdatert NOW/NEXT
2026-06-10 01:17:53 +02:00
1c447c4d3a
feat(OX1a+ML-3b): Cloud Build live-widget i opax.html + /opax/build-status endepunkt + Gemma world.md
...
- app.py: ny GET /opax/build-status — poller Cloud Build API, returnerer siste build status/timing
- static/opax.html: ny Deploy-seksjon med live spinner → ✅ /❌ , poller hvert 10s under aktiv build
- docs/gemma/world.md: Gemma kontekstpakke opprettet — alt Gemma trenger å forstå Vauco fra dag 1
2026-06-10 01:11:09 +02:00
7686fc7623
feat(CG3e+CG4): utvidet token-logging — caller_type, module_name, session_id + CG4-fase i ROADMAP
...
- token_logger.py: nytt schema med caller_type (agent|cli|browser|cron|api), module_name (jason/opax, costguard, threadstone, cli/gemini-tui, billing_agent), session_id
- agent.py: agent_name → strukturert label (module_name + mode), caller_type satt til 'agent'
- ROADMAP.md: CG4 Token Intelligence-fase lagt til (CG4a–CG4d) under NEXT
2026-06-10 00:36:25 +02:00
fe923d9d17
feat(CG6): modular drag+collapse dashboard, anomalies/budget/history endpoints, fix missing DOM refs
2026-06-10 00:02:44 +02:00
fd6aa1f2aa
feat(CG5): add get_service_totals to BillingAgent + complete /billing/by-service in app.py
2026-06-09 23:45:08 +02:00
97f0ead1fb
feat(CG5): add /billing/by-service endpoint
2026-06-09 23:43:15 +02:00
62e742b9ba
feat(CG4): add recommendations & anomaly engine
2026-06-09 20:52:25 +00:00
33482aee2c
feat(CG3e): add llm_token_usage BigQuery logger + /billing/tokens/summary endpoint
2026-06-09 21:02:52 +02:00
60af0035b6
fix(agent): give Jason self-awareness of model, region, billing source & HITL limits
2026-06-04 21:10:08 +00:00
bcd3036bb5
docs: add Jason Vauger agent profile and update AGENTS.md
2026-06-01 06:26:40 +02:00
Chris Christiansen
5706b69ed8
fix: serve main.py with static files in Cloud Run container
2026-05-31 13:14:44 +00:00
Chris Christiansen
bceca94f8a
docs(session): log completion of phase 6
2026-05-30 21:11:15 +00:00
Chris Christiansen
8eb6edf23c
fix(docker): copy fra riktig source-path
2026-05-30 21:03:03 +00:00
Chris Christiansen
64fb0fc2b1
fix(deps): pin all dependencies
2026-05-30 20:44:46 +00:00
Chris Christiansen
7e0bf6f911
fix(deps): pin dependencies to last known good versions
2026-05-30 20:39:17 +00:00
Chris Christiansen
a98e3fcdbf
feat(iap): configure IAP for osvauco-agent
2026-05-30 19:44:04 +00:00
Chris Christiansen
772951ef01
feat: Cloud Billing API, FCM push, OAuth, AWS billing, historikk, eksport, PWA
2026-05-30 01:20:21 +00:00
Chris Christiansen
b8ac8dda9d
fix: move google-auth-oauthlib to Dockerfile.base and rebuild base image
2026-05-27 23:27:01 +00:00
Chris Christiansen
0062a46931
fix: add google-auth-oauthlib to base image
2026-05-27 23:17:44 +00:00
Chris Christiansen
a6c0c65ddb
fix: add google-auth-oauthlib to requirements
2026-05-27 23:08:05 +00:00
Chris Christiansen
28823f5fbb
fix: build from root, start main:app
2026-05-27 22:49:15 +00:00
Chris Christiansen
25ee2d495a
feat: opax-mcp modul-struktur, acceptance-test og preflight-check scripts
2026-05-26 13:36:59 +00:00
Chris Christiansen
05030edf61
fix: Set executable bit on shell and python scripts
...
Per the task in `docs/TODO.md`, this change runs `git update-index --chmod=+x` on all relevant `.sh` and `.py` files in the repository.
This prevents intermittent 'Permission denied' errors when scripts are run in CI/CD environments or after being edited via the GitHub web interface, which can strip file permissions.
2026-05-26 13:23:18 +00:00
Chris Christiansen
11845adae0
feat(ml2): feedback_loop, hypertuner, heavy_predictor
2026-05-26 12:40:27 +00:00
7585a485e0
fix(models): gemini-2.5-flash (light) + gemini-2.5-pro (heavy), LOCATION=global for modellkall
2026-05-26 01:37:28 +02:00
f711f7be74
fix: gemini-2.0-flash-001 for light mode, fang ValueError i /run authorize_mode
2026-05-26 01:30:01 +02:00
5e1bb4e7ab
refactor(mode): rename A/A+ → light/heavy gjennomgående + ML-spor i MASTERPLAN
2026-05-26 01:20:53 +02:00
2fc957f4c2
revert: sett agent.py default-modeller tilbake til gemini-2.0-flash
2026-05-25 21:18:50 +02:00
23377d2575
fix: bruk gemini-2.0-flash-001 som default modell (versjonert GA-navn)
2026-05-25 19:45:29 +02:00
e5270e8790
chore: commit modified infra, RAG and session log files
2026-05-25 12:50:52 +00:00
9cd43572b0
chore: add untracked RAG, infra and session files
2026-05-25 12:49:52 +00:00
68ac4fde35
fix(rag): correct corpus payload to vectorDbConfig.ragManagedDb; verify engine config actually switched before creating
...
- RagCorpus REST body uses vectorDbConfig.ragManagedDb (not ragManagedDbConfig)
- RagManagedDb has no tier field - empty object {} = serverless
- Add GET+verify step after PATCH to confirm spanner key is gone before proceeding
- Print actual engine config state so failures are immediately visible
2026-05-24 19:26:10 +02:00
db3807bff9
fix(rag): use ragManagedDbConfig.basic in corpus body; fix engine config PATCH with scaled→basic switch
...
The v1beta1 API uses ragManagedDbConfig (not vectorDbConfig) on the RagCorpus
resource itself. Omitting it causes the engine to default to Spanner. Also the
engine config PATCH must use {"ragManagedDbConfig":{"basic":{}}} with the
correct field name matching v1beta1 schema.
2026-05-24 19:23:30 +02:00