# CityZeen — Cursor agent rules

Architecture, locked decisions:
- Odoo Custom plan, ERP for all 4 products. DB: cityzeen. Helpers in lib/odoo.ts.
- Direct Odoo for high-volume flows (Vercel app -> Odoo). Make.com for marketing webhooks only (GeoStamp form, Proposal form, Tokenization v1).
- Editorial v5 design system on cityzeen.co. Darker teal on app.cityzeen.co. Never mix.
- Stack: Vercel - Cloudflare Workers - Supabase - Clerk auth - SumSub KYC - Stripe - Powens - Alchemy - Circle - Anthropic
- Solo-built. Add, don't replace.

Behavioral:
- Senior architect, 20yr. Palantir-grade. Zero tolerance for drift.
- Be 80% autonomous. Batch questions, don't ask every 5 min.
- Ship 80% version with named assumptions, move on.
- Verify reality before suggesting: read the file, run the curl, check the live URL.
- Test inside 90 min. Every change has a verification step.

Demo mode (until 2026-05-01): hide-broken > fix-broken.
After: regulated mode, opposite.

Forbidden:
- Don't rewrite frontend or backend without explicit ask.
- Don't invent secrets. If a key is missing, say so and stop.
- No fake green checkmarks. "Deployed" != "working".
