MEMORY
memory/localmode-1060dea9-0dc3-42b4-958d-2a6f7a6c0c58/project-must-stay-free.md
sha256 84a752e222000b5d · 1734 bytes ·
original held in the private archive
---
name: project-must-stay-free
description: HARD CONSTRAINT — RobCo U.O.S. must remain free to run; no paid infrastructure
metadata:
node_type: memory
originSessionId: 0b7c5f41-bb34-4ab4-93be-fdb363f5eb40
---
HARD RULE (owner 2026-06-29): "this project must remain free." No paid infrastructure, ever, unless the owner explicitly lifts this.
**Implications:**
- NO Firebase **Blaze** plan → NO Firebase **Cloud Functions** (they require Blaze). Stay on the **Spark (free)** tier: anonymous + Google auth, Firestore, App Check all work free.
- NO paid traditional backend / VPS / always-on server with a bill.
- **AI stays BYO-key** ($0 to the owner) — the operator must NOT host a single Gemini key server-side, because that makes the owner pay for everyone's usage.
- Features that REQUIRE a paid backend stay OFF: the docked **push notifications** (FCM *sending* needs a trusted server) and any **no-BYO-key AI** — UNLESS a genuinely FREE path exists.
- Owner DECLINED parking a "backend evaluation" (2026-06-29) — paid-backend is simply off the table.
**Free ways to still "level up" (no bill):** Firestore as a live network/content layer (remote broadcasts, anonymized community presence, the kill-switch/config pattern), genuinely-free serverless tiers (e.g. Cloudflare Workers free tier — could do push/webhooks WITHOUT Blaze, but still no owner-paid AI), and client-side "infrastructure" (Web Workers, Service Worker background sync, IndexedDB). See the level-up discussion 2026-06-29.
**How to apply:** any feature/proposal must have a $0-to-owner path or it's out. When something "needs a backend," check for a free-tier route before declining; never propose Blaze/Cloud-Functions/server-side-paid-AI.
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).