posted an update

Shipped. What is integrated and running:

Gemini 3.5 Flash on Vertex AI, global endpoint. Every keeper reply, every cross-keeper synthesis, every line of dream prose.

Google ADK with the GenAI SDK. A root agent that holds no corpus and calls each keeper as a tool, so one question fans out across every shelf and comes back as one answer. Agent transfer would have trapped control inside a single keeper and killed that.

Cloud Run. One service for the three.js island and the FastAPI engine, same URL.

Firestore. The only store: worlds, keepers, books, sessions, dream runs.

Pub/Sub and Cloud Scheduler. The nightly dream is infrastructure, not a background thread: Scheduler publishes at 03:00, tired keepers publish their own events, a push subscription delivers both into the consolidation run.

Cloud Text-to-Speech and Cloud Speech-to-Text. Hold T in any dialog and the keeper answers in her own voice.

Gemma open weights on llama.cpp. One env var swaps the brain from Gemini to your own machine. Same code, same island, memories never leave your hardware. A third deterministic tier keeps every test offline.

Cloud Build, Artifact Registry, Cloud Logging, Cloud Billing. Source deploys from GitHub, and a budget event that detaches billing at a hard line.

Outside Google, keepers read what you point them at: YouTube and podcast transcripts, MusicBrainz song facts, LRCLIB lyrics, Gutendex books, OMDb and Wikipedia film plots. They store what they write, never a copy of the source.

802 contract tests against the real FastAPI app and the real ADK runner. Runs are capped at 12 model calls, stop on a repeated tool call, and every flow has a deterministic fallback, so a bad model answer never breaks the game.

AllThingsAgenticHackathon

Log in or sign up for Devpost to join the conversation.