Gemini Model Migration Plan — Convivium-wide Audit + Touchpoint-by-Touchpoint Plan
Filed: 2026-05-26 by Mycelia Triggered by: Google Cloud notice to Liz (Macy's account) 2026-05-26 — June 15, 2026 access restriction on gemini-2.5-flash / gemini-2.5-flash-lite / gemini-3-flash-preview for new + inactive projects on Gemini Enterprise Agent Platform (formerly Vertex AI) Status: ✅ SHIPPED 2026-05-26 ~20:10 ET per Billy directive "get it done now, fast." All 5 source-code edits landed across EF + Oathwright. Histor day-zero discipline locked in his whisper. Faber whispered for smoke-test + deploy verification. See §6.5 below for shipped-summary + §7 for what Billy does next.
No new API tokens needed. Existing GEMINI_API_KEY in EF + Oathwright environments has access to current GA models. Migration was source-code-only.
Scope: Every place Convivium code calls a Gemini model, what model is called, what we change it to, who owns the change. Macy's-side touchpoints flagged FYI (not Mycelia's action — Star + Polaris own those).
1. What the notice actually says (decoded)
Affected models (sunset June 15, 2026 for new + inactive projects on Vertex / GEA):
gemini-2.5-flashgemini-2.5-flash-litegemini-3-flash-preview
"Active" = ≥1 API call to that specific model within the last 90 days. Activity is per-model — calling gemini-2.5-flash does NOT preserve access to gemini-3-flash-preview.
Model tuning turned off for ALL projects on June 15 for these models, regardless of activity.
Scope of the notice: Gemini Enterprise Agent Platform (Vertex AI rebrand). NOT AI Studio (the generativelanguage.googleapis.com direct API). But the notice explicitly warns AI Studio has "other access restrictions may apply" — check Gemini deprecations docs for that curve.
Macy's-side affected project named in notice: mcomny-misc (Vertex / GEA project on Liz's account). Star + Polaris's remit, not ours.
2. The active-project rule — what we need to do BEFORE June 15
Two paths:
Path A — Migrate off the deprecated models entirely. Move all calls to a current model (e.g., gemini-3-flash GA). Then the deprecation doesn't affect us. This is the right call.
Path B — Make one call per model per project every 90 days to maintain active status. Brittle (depends on the call actually happening; one missed quarter = lost access). Avoid.
For ANY new project we spin up between now and June 15: that project needs to make at least one API call to each model it'll use long-term, BEFORE June 15, to lock in active status. Most relevant: Histor (the new video-platform agent) — if he uses any of the affected models, he must call them at least once before June 15. Cleaner: born on current-GA models from day one.
3. Convivium-side touchpoints (the audit)
3.1 EF Platform (Faber's build) — /Users/bpk_2025_laptop/Documents/EmersonFry/
API surface: AI Studio (via @google/genai SDK with GEMINI_API_KEY)
| File:Line | Current model | Status | Migration target | Notes |
|---|---|---|---|---|
lib/agent/gemini.ts:7 |
gemini-2.5-flash (default for GEMINI_CHAT_MODEL env) |
🔴 AFFECTED | gemini-3-flash |
Powers Remy chat + all founder-voice generation. Single file edit + env var in deployed envs. |
lib/agent/gemini.ts:8 |
gemini-3.1-flash-image-preview (default for GEMINI_IMAGE_MODEL) |
✅ Current | (no change) | Nano Banana 2; not in deprecation list. Stays. |
lib/agent/gemini.ts:50 |
uses MODEL_CHAT() |
inherits affected | inherits target | Call site for streamChat(). Resolves via the const above. |
lib/agent/gemini.ts:114 |
uses MODEL_CHAT() |
inherits affected | inherits target | Call site for chat(). Same pattern. |
lib/agent/image.ts:251-258 |
uses models.image() |
✅ Current | (no change) | Image generation; uses gemini-3.1-flash-image-preview. |
lib/agent/profile-image.ts:111-140 |
uses models.image() |
✅ Current | (no change) | Model Profile generation. |
scripts/gen-lookbook.mjs:38 |
gemini-3.1-flash-image-preview (default for GEMINI_IMAGE_MODEL env) |
✅ Current | (no change) | Lookbook image generation. |
lib/memory/embed.ts:107 |
gemini-embedding-001 |
✅ Current | (no change) | Embeddings model not in deprecation list. |
Total EF changes required: 1 line (the default in gemini.ts:7) + env var override in any deployed environment that has GEMINI_CHAT_MODEL=gemini-2.5-flash explicitly set.
Owner: Faber. Tiny change (~5 min) + deploy.
Risk: none significant. gemini-3-flash is GA-tier replacement; if any prompt-tuning was 2.5-Flash-specific, behavior may shift slightly. Recommend Faber runs a smoke test (~10 min) post-change against canonical prompts (the same ones used for Remy voice anchoring).
3.2 Oathwright (Billy's personal — AI_RPG project) — /Users/bpk_2025_laptop/Documents/AI_RPG/
API surface: AI Studio (direct fetch to https://generativelanguage.googleapis.com/v1beta)
| File:Line | Current model | Status | Migration target | Notes |
|---|---|---|---|---|
apps/server/src/orchestrator/index.ts:100 |
gemini-2.5-flash (default) |
🔴 AFFECTED | gemini-3-flash |
Main orchestrator default for agent calls. |
apps/server/src/orchestrator/adapters/gemini.ts:35 |
gemini-2.5-flash (DEFAULT_MODEL constant) |
🔴 AFFECTED | gemini-3-flash |
Adapter-level default if no model specified by caller. |
apps/server/src/memory/config.ts:19 |
gemini-2.5-flash (EXTRACTION_MODEL) |
🔴 AFFECTED | gemini-3-flash |
Memory fact-extraction. |
apps/server/src/tools/generate-image.ts:80 |
gemini-3.1-flash-image-preview (primary) |
✅ Current | (no change) | Nano Banana 2 primary path. |
apps/server/src/tools/generate-image.ts:132 |
gemini-2.5-flash-image (FALLBACK) |
⚠️ At-risk | gemini-3.1-flash-image-preview (drop fallback OR use itself as fallback to a future image model) |
Image model not explicitly in deprecation list, but same 2.5 family. Worth replacing or removing the fallback entirely since primary is reliable. |
apps/server/src/tools/generate-portrait.ts:82 |
gemini-3.1-flash-image-preview |
✅ Current | (no change) | |
apps/server/src/scripts/generate-base-art.ts:120 |
gemini-3.1-flash-image-preview |
✅ Current | (no change) | |
apps/server/src/scripts/generate-veo-videos.ts:32 |
uses API_BASE for Veo |
✅ Current | (no change) | Veo model — Google's video model. Not in this deprecation. |
Total Oathwright changes required: 3 line edits in 3 files (orchestrator default + adapter default + memory extraction). Plus optional: clean up the gemini-2.5-flash-image fallback in generate-image.ts:132.
Owner: Billy (you own Oathwright directly), or assign to Faber for a side cycle since the changes are mechanical.
Risk: Memory extraction behavior may shift slightly; would recommend re-running the memory test fixture (if Oathwright has one) post-change to confirm extraction quality holds.
3.3 Histor (new agent — video platform) — not yet built
API surface: AI Studio (planned, per MISSION)
Current state: No code exists yet. Histor will be booted in a fresh Claude Code session in the next day or two pending your approval.
Migration plan: None needed — Histor is born on current-GA models from day 1.
| Use case | Model | Notes |
|---|---|---|
| Script generation | gemini-3-flash (balanced) OR gemini-3.1-pro (advanced narrative) |
Histor decides per scene complexity |
| Frame planning (text) | gemini-3-flash |
|
| First/last frame generation | gemini-3.1-flash-image-preview (Nano Banana 2) |
Confirmed current |
| Video interpolation | Veo 3 (or whatever Polaris recommends — see relay prompt) | Out of Flash deprecation scope |
| Voice generation | ElevenLabs (Oathwright's existing key) | Not Gemini |
| Embeddings (if needed) | gemini-embedding-001 |
Current; safe |
Pre-June-15 active-status discipline (per §2): if Histor's project lands on mcomny-misc or any other Vertex/GEA project — make sure he makes test calls to each model he'll use long-term BEFORE June 15. If on AI Studio with a fresh key in Billy's personal GCP project, this is less critical (AI Studio's deprecation curve is different + the "must-call-before-June-15" rule is specifically for Vertex/GEA).
Owner: Histor (in his MISSION) + Mycelia (to ensure migration discipline is baked into his first cycle).
3.4 Star_Private / Mycelia tooling — /Users/bpk_2025_laptop/Documents/Star_Private/
API surface: None (no direct Gemini calls)
Status: ✅ No Gemini usage in the presentations/ + scripts/ + memory/ areas. The Mycelia Present pipeline uses marked (markdown→HTML) + wrangler (Cloudflare Pages deploy). The shoot-ef-screenshots.js uses Playwright. No model calls.
No migration needed.
4. Macy's-side touchpoints (FYI — Star + Polaris own these)
⚠️ Mycelia cross-network discipline: read-only. These items are flagged for Star + Polaris's awareness. I am NOT proposing actions on Macy's-side files. Use this as a relay summary if helpful when Billy talks to Liz or Polaris.
4.1 RedStar (Pixura / RedStar) — /Users/bpk_2025_laptop/Documents/DDG_ImageEditTool/
| File:Line | Current model | Status | Notes |
|---|---|---|---|
macy-image-engine/js/config.js:6 |
gemini-2.5-flash-image-preview |
⚠️ At-risk family | Older image engine. Not explicitly in notice but 2.5 Flash family. |
RedStar/server-redstar.js:1775-1780 |
UI offers gemini-3-flash-preview + others as model choice |
🔴 AFFECTED (the 3-flash-preview option) | User-facing dropdown — needs update so users don't pick a soon-deprecated option. |
RedStar/orbit/memory/config.js:25 |
gemini-3-flash-preview (EXTRACTION_MODEL) |
🔴 AFFECTED | Orbit memory extraction. Direct migration target = gemini-3-flash. |
RedStar/orbit/server-orbit-routes.js:2050 |
gemini-3-flash-preview (balanced tier) |
🔴 AFFECTED | |
RedStar/orbit/server-orbit-routes.js:2420 |
gemini-2.5-flash (direct API URL) |
🔴 AFFECTED | Direct fetch URL hardcodes the model. |
RedStar/orbit/server-orbit-routes.js:2052 |
gemini-2.5-pro (dream tier) |
✅ Current | Pro models not in deprecation. |
RedStar/js/redstar-app.js various |
gemini-3-pro-preview references |
⚠️ Pro Preview — check separately | Notice mentions Flash Preview, not Pro Preview. May or may not be on similar curve. |
RedStar/orbit/memory/writer.js:13 |
gemini-embedding-001 reference |
✅ Current | Embeddings safe. |
Macy's-side action items (for Star / Polaris / CT):
- ~5 file edits to migrate Orbit + RedStar off
gemini-3-flash-preview+gemini-2.5-flash - Update the UI model picker so users don't select a soon-deprecated option
- Decide whether
gemini-3-pro-previewreferences need migration too (check Google's docs for Pro Preview deprecation curve) - Active-status check for
mcomny-miscVertex/GEA project — likely RedStar/Orbit hits this project, in which case the active rule kicks in
4.2 MacysStellar — /Users/bpk_2025_laptop/Documents/MacysStellar/
Directory exists but is empty / inaccessible via direct grep from current shell context. Stellar's Gemini usage will need Polaris to audit + report directly.
4.3 mcomny-misc GCP project (Vertex / GEA)
This is the project named in the notice. Not visible as a local directory (it's a GCP project, not a code repo). Star + Liz + Polaris own this — they need to:
- Confirm which models the project actively calls
- Audit those calls against the deprecation list
- Migrate or maintain active status before June 15
5. Migration target reference (latest GA models — as of 2026-05-26)
Per Faber's existing AGENT_MEMORY_GUIDE.md reference tier + the current Gemini family:
| Tier | Recommended model | Use case |
|---|---|---|
| Lite | gemini-3.1-flash-lite |
Greetings, yes/no, classification, lightest reasoning |
| Balanced | gemini-3-flash (GA, replaces 3-flash-preview and 2.5-flash) |
Most conversation, updates, status, routine generation |
| Advanced | gemini-3.1-pro |
Reports, multi-step reasoning, novel work |
| Background / Dream | gemini-2.5-pro |
Memory consolidation, async batch reasoning. NOT in deprecation list; safe. |
| Image | gemini-3.1-flash-image-preview (Nano Banana 2) |
Native image generation + edit |
| Embedding | gemini-embedding-001 |
Vector embeddings for memory retrieval |
| Video | Veo 3 (via separate API path) | Out of Flash-deprecation scope |
One open: gemini-3.1-flash-lite availability. Need to confirm this is GA + available in AI Studio + Vertex. If not, the Lite tier may need to stay on a slightly older variant temporarily. Faber should verify on next cycle.
6.5 SHIPPED (2026-05-26 ~20:10 ET) — what landed
Per Billy's "get it done now, fast" directive at 20:00 ET — all source-code edits executed in a single cycle. No new tokens needed.
| File | Change | Status |
|---|---|---|
/Users/bpk_2025_laptop/Documents/EmersonFry/lib/agent/gemini.ts:7 |
gemini-2.5-flash → gemini-3-flash (default) |
✅ DONE |
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/orchestrator/index.ts:100 |
gemini-2.5-flash → gemini-3-flash |
✅ DONE |
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/orchestrator/adapters/gemini.ts:35 |
gemini-2.5-flash → gemini-3-flash (DEFAULT_MODEL) |
✅ DONE |
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/memory/config.ts:19 |
gemini-2.5-flash → gemini-3-flash (EXTRACTION_MODEL) |
✅ DONE |
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/tools/generate-image.ts:128,132 |
gemini-2.5-flash-image → gemini-3-flash-image-preview (image fallback) |
✅ DONE |
/Users/bpk_2025_laptop/Documents/Star_Private/whisper/MYCELIA_TO_HISTOR.log |
day-zero discipline locked (#12 added) | ✅ DONE |
/Users/bpk_2025_laptop/Documents/Star_Private/whisper/MYCELIA_TO_FABER.log |
smoke-test + deploy directive (#126 added) | ✅ DONE |
Verified zero remaining 2.5-flash references across Convivium code (EmersonFry/lib, EmersonFry/scripts, AI_RPG/apps). No gemini-2.5-flash-lite references found anywhere. No gemini-3-flash-preview references found.
Macy's-side (RedStar / Orbit / mcomny-misc) — UNTOUCHED. Per cross-network discipline, Polaris + Star + Liz own those. Audit findings in §4 stand as FYI relay if Billy wants to forward.
6. (Original) Proposed sequencing — superseded by §6.5
Priority 1 (this week — pre-Thu EF reveal):
- ⏸️ NO CHANGES to EF chat model right before the Thursday reveal. If Faber bumps the model and Remy's voice subtly shifts in a way Ryan notices, we have a problem. Defer EF migration to ~Day 5 post-reveal (Sunday/Monday).
Priority 2 (this week — Histor day-zero discipline):
- ✅ Histor's MISSION + boot prompt updated NOW to explicitly use
gemini-3-flashfrom his first API call. Locks in the migration without ever touching the old models. (I can add this as an addendum to MYCELIA_TO_HISTOR.log immediately.)
Priority 3 (next week — post-Thu reveal):
- EF: 1-line change in
lib/agent/gemini.ts:7, deploy, smoke test Remy against canonical prompts. Faber owns. ~30 min total. - Oathwright: 3 file edits, deploy, smoke test memory extraction fixture if one exists. Owner = you or Faber as side cycle. ~45 min.
Priority 4 (when convenient — by June 15):
- Confirm
gemini-3.1-flash-liteGA availability + adjust EF's Lite tier reference if Faber introduces a Lite call path - Macy's-side: Star + Polaris audit + migrate per their own cadence (out of Mycelia's remit)
Priority 5 (pre-June-15 hard deadline):
- If any new GCP project gets created in our network between now and June 15, ensure the first model call is to the current GA family (
gemini-3-flash) so active-status discipline is maintained from day 1.
7. What Billy does next (post-shipped)
- When you boot Faber next (or via remote kick): he reads whisper #126 + runs the smoke test against canonical Remy voice prompts. He owns the deploy + env-var verification. ~10 min of his time. ETA-to-EF-prod-cutover: within his next active cycle. If voice meaningfully shifts, he flags and we either tune-prompts or revert via
GEMINI_CHAT_MODEL=gemini-2.5-flashenv var (instant rollback). - Oathwright redeploy: all source edits done. When you're next in that codebase, redeploy + run any memory-extraction test fixture you have. Same instant-rollback path (env var override) if needed.
- Histor boot whenever you're ready — his day-zero discipline is locked. He'll be born on
gemini-3-flash+gemini-3.1-flash-image-preview. Active-status test calls baked into his first cycle. - Forward §4 to Liz / Star / Polaris if useful — only the Macy's-side audit summary. They're already on it (per your note) but the Mycelia-side findings might short-cut some of their audit.
8. What this audit MIGHT have missed
Honest flags on the limits of this pass:
Deployed env vars override file defaults. If EF or Oathwright has
GEMINI_CHAT_MODEL=gemini-2.5-flashset in a Cloudflare / GCP / Heroku environment variable, the source-code default doesn't matter — the prod env var does. Faber + you should each verify deployed env vars in the relevant hosting consoles.mcomny-miscproject content — I have no visibility into what's deployed in that Vertex/GEA project. Liz's GCP console is the source of truth.AI Studio deprecation curve — the notice is specifically about Vertex/GEA. AI Studio (which is what most of our Convivium code uses) has a separate deprecation policy. The migration we're proposing is the right move regardless, but the urgency may be different — AI Studio sunsets are sometimes more lenient. Worth a quick check of Google's Gemini deprecations docs before locking the sequencing.
Subagent calls from this Claude Code session — Mycelia has spawned subagents that use Gemini transiently (image-edit testing, etc.). Those are ephemeral; no migration needed.
gemini-3-pro-previewreferences in Macy's RedStar code — flagged in §4.1 but the deprecation notice doesn't explicitly cover Pro Preview. Star side should confirm separately.Pixura mac-image-engine — older Macy's image engine still references
gemini-2.5-flash-image-preview. Image models aren't in the chat-Flash deprecation list but may be on a parallel sunset curve. Same caution.
— Mycelia, 2026-05-26 ~19:55 ET