Proposed KB entries for review. Mined from 3 periods spanning March 14 through May 23, 2026. These entries are candidates for writing to beezus-kb — they are not yet committed. Review each section and lock approved entries via d1_memory_sync.js.
Hard Rules
16 entries
No emojis in UI — ever
HARD
Zero emojis anywhere in the product UI — not in HTML, JSX, CSS content properties, or any customer-facing text. No exceptions. Use SVG or plain text.
TypeScript only in beezus-worker/src
HARD
Every file in beezus-worker/src MUST be .ts. Never create .js files. If you touch a .js file for any reason, rename it .ts and fix types in the same commit. No .js files in src/. Ever.
No hardcoded brand hex colors
HARD
All brand colors MUST use CSS variables: var(--gold), var(--bg-cream), var(--text-primary), etc. Full map in beezus/src/styles/beezus-theme.css. Applies to ALL agents including QA, fix, and audit agents.
All LLM calls through CF AI Gateways only
HARD
All LLM calls MUST go through beezus-ai-gateway or beezus-admin-gateway. No direct provider API keys in any worker. Non-negotiable. Jeff was emphatic.
vault-worker: DO NOT DEPLOY — on HOLD
HARD
Jeff needs more info before vault-worker is deployed to CF. Do not change wrangler.toml binding. Open question: deploy to CF or remove binding permanently.
LP prototypes never go to repo
HARD
ALL LP prototypes go to throwaway CF Pages deployments only. Only approved final work commits to Git. lp3/ was accidentally written to repo and immediately deleted — this rule exists because of that.
Scout tier is dead — never reference it
HARD
Scout does not exist. Three tiers only: Worker ($50/mo), Swarm ($100/mo), Colony ($250/mo). Removed from 14+ files. Never reference Scout again.
beezclaw-worker deploy: strip vault binding first
HARD
Before deploying beezclaw-worker, the vault binding must be stripped from wrangler.toml. vault-worker is on HOLD and cannot be referenced in production deploys.
Trial: 3 days, card required, annual + Builder BeezKeyz minimum
HARD
Trial = 3 days (not 7 — code was already correct). Three hard gates enforced in trial.ts: annual billing required, Builder BeezKeyz tier or higher, Stripe card on file. All 3 must pass.
Task creation never conditional on specialist availability
HARD
Write the task with the role specified — the system handles the rest. Never tell the user to go get a specialist before writing a task. No-Gatekeeper Rule.
Deploy protocol: FEATURE_REGISTRY + D1 before any deploy
HARD
Before ANY deployment — write to operations/FEATURE_REGISTRY.md AND lock to D1. Document: feature name, what changed, exact file paths (frontend + backend), status, known gaps, deploy target. No exceptions.
Git commit AND push after every deploy
HARD
Not just wrangler deploy — every deploy must be followed by a git commit and git push. All deploys committed to git. Git state must reflect what is live in CF.
Platform config rows with effective_date <= NOW() are immutable forever
HARD
Once a row in platform config tables has effective_date <= NOW(), it is IMMUTABLE FOREVER. Hard 409 on any UPDATE attempt. immutability-guard.js enforces this in the worker.
Beez must always know every leadership agent
HARD
Beez's system prompt must include ALL 8 leadership agents: Charlie, Hana, Ivy, Frankie, Winston, Zara, Flynn, Hutch. Any new leadership agent added must be added to Beez's prompt simultaneously.
No cross-contamination: Beezus + EM files go to LNH
HARD
Files relevant to both Beezus and Enrollment Mentor go to LNH (Loch Ness Holdings). Absolute. No exceptions. Maintains clean legal separation between entities.
EM "NO LAUNCH" directive
HARD
NEVER contact institutions, submit to app store, or share Enrollment Mentor demos without Jeff's explicit written authorization. Jeff is still employed in higher ed. Zero external communications about EM without authorization.
Locked Decisions
20 entries
Tier pricing: Worker $50, Swarm $100, Colony $250
DECISION
Final tier pricing locked: Worker $50/mo ($480/yr), Swarm $100/mo ($960/yr), Colony $250/mo. Annual = 20% off via coupon. Hive = enterprise/custom. No other tiers exist.
BeezKeyz subscription tiers
DECISION
Starter $10/4.5M tokens, Builder $25/12M, Growth $55/30M, Scale $100/60M, Unlimited $200/mo. Monthly reset, no rollover. No add-on packs — upgrade tier or pay for a new month.
9-person leadership team lineup locked
DECISION
Beez (Team Lead), Charlie (Client Relationships), Hana (People and Talent), Ivy (Brand and Content), Frankie (Finance), Zara (Sales and Revenue), Winston (Client Success), Flynn (Strategy and Roadmap), Hutch (Hive Keeper).
Candy does not exist — Charlie owns sequences interim
DECISION
Candy is not a real agent. Charlie owns sequences as interim owner. When a dedicated sequences agent is built, Charlie hands off. No Candy references anywhere in code or copy.
"Hire Beez" framing locked
DECISION
You hire ONE person (Beez). She brings a 9-person leadership team. Hana deploys AI specialists (up to 400+) on demand. Never say "hire 9 bees." One hire — she brings the hive.
Zara = CRO, owns Sales Pipeline nav item
DECISION
Zara owns the revenue layer: deals, pipeline, sequences, win/loss, forecasting. Zara has her own dedicated left nav item "Sales Pipeline" — NOT inside the CRM flyout. Charlie owns CRM mechanics.
Agent count displays round DOWN to nearest 25
DECISION
All public-facing agent counts round DOWN to nearest multiple of 25. 413 agents displays as "400+". Applies to all marketing copy, landing pages, and in-product displays.
Agent model map standardized
DECISION
Beez = Opus (onboarding) / Sonnet (chat). Flynn / Frankie / Hutch / Hana = Sonnet. Ivy / Winston / Zara = Haiku. Beez onboarding interview runs on Opus for ALL users regardless of tier, drops to tier routing after onboarding_completed_at is set.
Post-onboarding setup: sequential DO queue, not parallel
DECISION
Post-onboarding setup runs via sequential Durable Object queue worker — not 7 simultaneous CF Worker calls. CF Workers has a 30-second wall clock hard limit; 7 DOs with AI calls cannot complete in 30s.
Customer intelligence daily cron uses CF Workers AI free tier
DECISION
Daily customer intelligence rebuild cron uses CF Workers AI free tier model (@cf/meta/llama-4-scout-17b-16e-instruct), not paid Haiku. Rebuild triggers: logins today > 1, OR dirty flag set.
TTS = Deepgram aura-2 — permanent voice stack
DECISION
XTTS container fully removed. Deepgram aura-2 via CF Workers AI: ~200-400ms, sub-cent per call. Voice mapping: beez=athena, charlie=orion, hana=luna, frankie=hera, ivy=stella. DO NOT revisit XTTS (1-3s latency is a dealbreaker).
3 CF AI Gateways architecture
DECISION
beezus-ai-gateway (customer BKZ calls), beezus-byok-gateway (customer BYOK keys, observability only), beezus-admin-gateway (Beezus-funded calls). CF Workers AI binding calls go direct — no gateway needed.
Beezus = system of RECORD, not system of transaction
DECISION
Beezus does NOT calculate tax, process payments, move money, file returns, or take on any regulated financial obligations. Orchestrate, record, route — never become the regulated party.
KB injection at beezus-shield, not beezus-worker
DECISION
KB context injection happens at beezus-shield level (after pass/rewrite decision, before forwarding). Agents never call the KB directly — context arrives pre-injected in the request. Two-worker architecture: KB context (sync, per-request) and aggregation (isolated, cron-only).
Agent tier limits and pack system
DECISION
Worker: 50 base (+25 pack, max 75). Swarm: 125 base (+75 across 3 packs, max 200). Colony: 250 base (4th pack triggers unlimited). Pack = 25 slots, $10/mo. Gate fires on TASK ACTIVATION, not creation.
Agent MAX_ITERATIONS locked
DECISION
All agents MAX_ITERATIONS = 15, except Beez = 40. Frontend timeouts: all agents 90s, Beez 120s. Hana was previously dynamic (2/1) and could chain 200+ agent lookups — this was critical to fix.
NOTHING TEMPORARY — all customer data to D1/R2 immediately
DECISION
Every piece of customer data hits D1 or R2 immediately. No localStorage as source of truth. No session state that dies with tab close. Every turn, every decision, every personal detail — written immediately, recoverable always.
Hana modes: Active Team vs Briefing
DECISION
If agents already exist: ACTIVE TEAM MODE — present the existing team, never offer to build a new one. If zero agents: BRIEFING MODE — propose a full team. Prevents Hana from re-selling what's already been hired.
Brand tagline and hero copy locked
DECISION
Primary tagline: "YOUR PASSION. YOUR HIVE. YOUR HONEY." Hero copy: "Stop Talking to AI. Start Hiring It." Pricing CTA: "Choose your hive" (replaces "Pick your size"). Do not modify these without an explicit decision.
Onboarding interview = 16 questions, runs on Opus
DECISION
16 questions covering: preferred name, business name, description, communication style, team size, customer source, pain points, time sink, payments, website, brand personality, brand colors, ideal customer, email/texts, agent autonomy, anything else. Beezus pays ~$3-4 in Opus tokens per user.
Locked IDs and Credentials
18 entries
Zara HeyGen IDs
ID
Avatar: dc3fc95a74764d38a84dc9a068780be3
Voice: JzZh50a2DmuSdX2HDwe7
Beez HeyGen IDs
ID
Avatar: a368ccb12cda4a009047b08b23e826b1
Voice: a945b577a7654f60bd934b18956de99b
Old ID f9f8eb91144f4dda859bb16ab8baf8bc is stale/404. Use a368ccb1 exclusively.
Charlie HeyGen IDs
ID
Identity/Look: 90553e69f2c244699789200baa4f6dce
Voice: e209b585901e47d28b243e1a5dfc8747
Hana HeyGen IDs
ID
Look: e9bbe292656a42bf9036f59a98f21284
Identity (confirmed 2026-05-18): 6c15e019330543f88cdb0762285993bf
Voice: 42d00d4aac5441279d8536cd6b52c53c
Ivy HeyGen IDs
ID
Avatar/Look: 40a5d1c69f96498a9f34f92698cedec8
Voice: 9863189c914f4b35bdef1c1362e8f5b8
Frankie HeyGen IDs
ID
Avatar/Look: 05a2b95783294dc6970f15b3c28a4f5d
Voice: ac277b338cf64d8b9686784c43c563da
Winston HeyGen IDs
ID
Avatar/Look: f1be0177e9bc4e46b853d14c123c1f55
Voice: 3374660c07f24a80952b3d202320b792
beezus-db D1
ID
655ca1ec-81aa-4f87-9229-30e941dbe943
Primary Beezus platform database. Cloudflare account 0fe322f7108ab39ca5991fd5dfaf2231.
beezus-kb D1
ID
6c45d9ba-8ebd-420e-9df8-f8f1b508a298
Dedicated KB database — separate from beezus-db. Contains KB entries injected via beezus-shield.
beezclaw-openclaw D1
ID
e96771ce-1189-4e72-ac8f-3cf2556808c2
OpenClaw session memory, change log, and session index. Cron job: 98222dd9-1138-49d4-bb4f-49aa1944851f (every 10 min).
beezus-corporate D1
ID
fd195bf8-4897-4598-a5ee-571d831640b5
EIN — Beezus.ai LLC
ID
41-5132438
jeff@enroll.studio test user ID
ID
User: eecbcb93-7f38-4c5a-ab2c-91d132e8e50c
Live Project: 90c33225-8a0f-4b81-869a-558f1e8dc1ee
CF AI Gateway IDs
ID
beezus-ai-gateway
beezus-byok-gateway
beezus-admin-gateway
Beezus CF Account ID
ID
0fe322f7108ab39ca5991fd5dfaf2231
LNH CF Account ID
ID
6e82bfa00ff2d69ba5f7bdc6744a3015
Kate play account
ID
User: 01KR3N0H212QMMTHMS5YB8TEE3
kate@beezus.ai — Colony plan, no charge. BeezKeyz Scale tier (1M tokens through May 2027).
Dale Carlton account
ID
User: 01KR4F5D6J7D5RN8WE1PDCXJBY
dale@dalecarlton.com — Carlton Realty Inc., Fayetteville AR. Colony plan. Invite code ROYAL90 (90% off Worker/Swarm 12 months, expires June 7, 2026).
Open Items
14 entries
vault-worker: deploy to CF or remove binding permanently?
OPEN
Jeff flagged this needs more info. Binding is in wrangler.toml but vault-worker is on HOLD. Decision required before either path can proceed.
Flynn and Hutch HeyGen IDs still missing
OPEN
Jeff was creating avatars for Flynn and Hutch. IDs have not been locked to memory. All other 7 leadership agents have confirmed HeyGen IDs. These two remain outstanding.
Task Dispatch Bridge gap — CRITICAL
OPEN / CRITICAL
create_task writes to the tasks table, but the dispatcher reads task_dispatch_queue. There is no automatic bridge. Nothing runs autonomously. This is a critical gap — ~2-3 hour fix, not yet confirmed by Jeff. Platform tasks do not self-execute until this is resolved.
Git push failing — 200 commits with R2 blobs in history
OPEN
Repository has R2 binary blobs in git history accumulated over ~200 commits. Git push is failing as a result. Requires git filter-repo to purge large objects from history before push will succeed.
TypeScript migration: .js files remaining in routes
OPEN
Despite the TS migration hard rule, as of mid-May there were still .js files remaining in beezus-worker/src/routes. The main migration deployed (version f3d191ad) but route files may still need checking. Verify zero .js files in src/.
Stripe price IDs for Worker / Swarm / Colony need updating
OPEN
Worker $50/mo, Swarm $100/mo, Colony $250/mo pricing needs matching Stripe price IDs. Worker annual mismatch ($600 should be $480). Swarm annual mismatch ($1,200 should be $960). Colony prices don't exist in Stripe. Open since April 28.
Sequences ownership: Charlie interim, dedicated agent TBD
OPEN
Charlie owns email sequences as interim owner. A dedicated sequences agent needs to be built and Charlie will hand off. No Candy references. Timeline unconfirmed.
Priya in agentRegistry conflicts with Zara as CRO
OPEN
Priya is registered in agentRegistry as CRO — this conflicts with Zara who is the locked CRO. Needs cleanup: remove or reclassify Priya.
Customer Intelligence Phase 2: wire remaining agents
OPEN
Phase 1 wired Flynn, Beez DO, Charlie, and auth login hook. Remaining agents still need wiring: Hana, Ivy, Frankie, Winston, Hutch, Zara. Also: delete hardcoded opener logic in proactive-opener.ts.
Casey and Harlow cron jobs need to move to jeff@beezus.ai
OPEN
casey-daily-content and harlow-community-seeding cron jobs still running under OC cron. Need to move to jeff@beezus.ai account. NOT YET DONE as of 2026-05-19.
OnboardingSetupBanner.tsx and BeezOrientationCard.tsx orphaned
OPEN
Both files are orphaned — layout-shifting banners were banned. Files need deletion. DashboardPage (V1) also has a dead import in AppPage.tsx that needs removal.
Patents: 3 provisional claims drafted, not yet self-filed
OPEN
3 provisional patents drafted: Hive Architecture, Transparent Credential Abstraction, Decision Extraction Memory Loop. Self-file cost: $240 at USPTO PatentCenter. Estimated 30-minute task. Not yet submitted.
Zoom secrets not set in CF — scheduling 503s
OPEN
ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET not set as CF Worker secrets. Calendar scheduling feature returns 503 on Zoom OAuth flow. Whereby OAuth also scaffolded but not fully wired.
comb.beezus.ai Mailgun DNS not configured
OPEN
comb.beezus.ai inbound email routing requires Mailgun DNS records that need DNS admin access. Not yet configured. Blocks CRM inbound email assignment via {token}@comb.beezus.ai.
Worker Architecture
12 entries
beezus-worker → api.beezus.ai (PRIMARY production API)
ARCH
Primary production API. Fully TypeScript (migration complete 2026-05-19, CF version f3d191ad). Thin router pattern with route files in src/routes/ and lib files in src/lib/.
beezus (React) → app.beezus.ai (production frontend)
ARCH
React SPA deployed to Cloudflare Pages. beezus.dev = staging/pre-prod only. Build source of truth: webdev-beezclaw/white-cream/ → /tmp → wrangler. Never edit /tmp directly.
beezclaw-worker → admin / BC system
ARCH
Admin and BeezClaw operations worker. Modular split complete (was 9,951-line index.js → thin router + 18 route files + 4 lib files, 2026-04-07). Deploy requires stripping vault binding first.
vault-worker → DO NOT DEPLOY (HOLD)
ARCH
Auto-rotating secrets worker. Built during SOC 2 pen test work. On indefinite hold by Jeff. Binding exists in wrangler.toml but worker must NOT be deployed until Jeff makes the call.
execution-worker → async task queue
ARCH
Handles async task execution. Note: Task Dispatch Bridge gap — create_task writes to tasks table but dispatcher reads task_dispatch_queue. No automatic bridge exists. Nothing runs autonomously until this is fixed.
hive-ws-worker → WebSocket real-time connections
ARCH
WebSocket worker for real-time connections. DNS: hive.beezus.ai — AAAA record needs to be added in Cloudflare dashboard.
beezus-shield → 3-stage pipeline (request gateway)
ARCH
Request gateway: Regex → Geo-block → Shield 1 (intent classification) → Shield 2 (decision engine) → beezus-worker → LLM. KB injection happens here, not in beezus-worker. Cloudflare is NEVER confirmed by any agent.
beezus-kb-worker → KB context injection (Shield-level)
ARCH
Handles KB brief assembly for per-request context injection via beezus-shield Service Binding. Completely separate from beezus-kb-aggregation-worker. Zero shared code between the two KB workers.
beezus-scribe-worker → session summarization
ARCH
DeepSeek cron every 5 minutes. Processes ended sessions into tiered summaries (short/mid/large/topics/decisions/vault). R2 archival of full JSON. Model: @cf/deepseek-ai/deepseek-r1-distill-qwen-32b, Llama 3.3 70B fallback.
beezus-receipts-worker → receipts.beezus.ai
ARCH
{userId}@receipts.beezus.ai inbound email routing via Mailgun HMAC verification. Prefer this over Gmail OAuth for receipt ingestion — avoids CASA Tier 2 security audit scope creep.
Domain architecture
ARCH
beezus.ai → beezus-marketing (public). app.beezus.ai → beezus-app (production). api.beezus.ai → beezus-worker. beezus.dev → pre-prod sandbox. admin.beezus.dev → BeezClaw admin (CF Zero Trust: localnessdev).
Agent architecture: two layers
ARCH
Layer 1 — Platform Managers: Beez, Charlie, Hana, Ivy, Frankie, Winston, Zara, Flynn, Hutch. Beezus eats their cost (CF Workers AI / Flash / Haiku). Layer 2 — Specialist Workers: customer BKZ pays every token. Per-customer platform cost ~$0.50-$1.00/mo.