Mycelia Present · rendered 2026-05-27T16:08:27.208Z · source: ../convivium/GEMINI_MODEL_MIGRATION_PLAN_v0.1.md

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):

"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):

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:


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-flashgemini-3-flash (default) ✅ DONE
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/orchestrator/index.ts:100 gemini-2.5-flashgemini-3-flash ✅ DONE
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/orchestrator/adapters/gemini.ts:35 gemini-2.5-flashgemini-3-flash (DEFAULT_MODEL) ✅ DONE
/Users/bpk_2025_laptop/Documents/AI_RPG/apps/server/src/memory/config.ts:19 gemini-2.5-flashgemini-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-imagegemini-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):

Priority 2 (this week — Histor day-zero discipline):

Priority 3 (next week — post-Thu reveal):

Priority 4 (when convenient — by June 15):

Priority 5 (pre-June-15 hard deadline):


7. What Billy does next (post-shipped)

  1. 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-flash env var (instant rollback).
  2. 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.
  3. 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.
  4. 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:

  1. Deployed env vars override file defaults. If EF or Oathwright has GEMINI_CHAT_MODEL=gemini-2.5-flash set 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.

  2. mcomny-misc project content — I have no visibility into what's deployed in that Vertex/GEA project. Liz's GCP console is the source of truth.

  3. 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.

  4. 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.

  5. gemini-3-pro-preview references in Macy's RedStar code — flagged in §4.1 but the deprecation notice doesn't explicitly cover Pro Preview. Star side should confirm separately.

  6. 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