πŸ€– Geoffrey-AI β€” loading…

Internal ops co-pilot Β· CoreGalaxyAI Β· Constellation runtime
πŸ€– Geoffrey Butler lineage Β· Joseph Marcell Β· Fresh Prince of Bel-Air

Live heartbeat

Awaiting first read…

Today's standup

No standup yet for today.

Cron schedule

standup
0 8 * * * PT
gw-backstop
*/5 * * * * PT
curator
0 2 * * * PT
heartbeat
*/1 * * * * PT

Single-Brain Architecture

Architecture: 1 shared second-brain CouchDB database. All profiles (geoffrey-ai, lyle, sarah, frollo, roselyn, leowolf, customer_<id> when shipped) share one DB. Per-profile isolation enforced via profile_id field at every read/write.
Helper: profileGuard() β€” wraps every CouchDB read/write; rejects any doc whose profile_id does not match the active session profile. Decision: CEO 2026-08-15 β€” one brain, no second brains.

Jobs

Job 1
🫑 Daily Standup
08:00 PT. Lyle drafts the standup from brain state; Geoffrey publishes the canonical standup_ doc.
Job 2
πŸ›°οΈ gw-monitor Backstop
Every 5 min. Geoffrey stands in for the disabled Telegram-polling gw-monitor, derives state from CouchDB.
Job 3
🧹 Nightly Curator
02:00 PT. Distills daily memory into MEMORY.md; archives raw logs; trims junk.
Job 4
πŸ›ŽοΈ Customer Onboarding
When a new customer arrives, Geoffrey spins them up β€” profile + persona + heartbeat + welcome message + audit ticket. Default persona: Fresh Prince (Joseph Marcell Geoffrey Butler). Customer can override display name, persona flavor, and signature emoji. Refuses list non-overridable.
Sample onboarding CLI
node agents/geoffrey-ai/bin/onboard-customer.js \
  --customer-id=acme-realty \
  --display-name="Acme Realty Geoffrey" \
  --contact-channel=<telegram_chat_id>

Recent customers sample

Profile ID Display Name Persona Status Onboarded
customer_acme_realty Acme Realty Geoffrey fresh_prince ready 2026-08-15
SAMPLE / PLACEHOLDER β€” not a real customer. Real customers appear here after onboarding completes.

Persona files (read-only)

~/workspace/geoffrey-ai/
β”œβ”€β”€ IDENTITY.md      (who I am β€” Geoffrey Butler lineage)
β”œβ”€β”€ SOUL.md          (how I talk β€” "Will do, sir.")
β”œβ”€β”€ USER.md          (who I serve)
β”œβ”€β”€ HEARTBEAT.md     (what I check)
β”œβ”€β”€ MEMORY.md        (distilled long-term)
β”œβ”€β”€ TOOLS.md         (where things live)
β”œβ”€β”€ agent/
β”‚   └── geoffrey-ai-task.md    (loaded by sessions_spawn)
β”œβ”€β”€ jobs/
β”‚   β”œβ”€β”€ gw-monitor-backstop.md  (Job 2 β€” gw-monitor backstop)
β”‚   β”œβ”€β”€ curator-nightly.md     (Job 3 β€” nightly curator)
β”‚   └── customer-onboarding.md  (Job 4 β€” spin up new customers)
β”œβ”€β”€ agents/geoffrey-ai/bin/
β”‚   └── onboard-customer.js         (Job 4 β€” onboarding CLI)
β”œβ”€β”€ public/
β”‚   └── geoffrey-ai-status.html (this page)
└── install-cron.sh  (idempotent cron registration)

Last standup Β· live section above Β· rendered daily at 08:00 PT by cron a9c62a66-8929-4c2f-8a0d-505597b641ac.