Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
๐About & Usage
About
How a person becomes a Carol user. Identity is ABSOLUTE and channel-agnostic: exactly one person per human, active on one or more channels (WhatsApp, web) recorded as an active-channels list -- never a separate identity per channel. CHANNELS: a user onboards via WhatsApp (Carol) or web Google sign-in; an anonymous web visitor is a provisional guest, and any channel resolves to the one person. APPROVAL: web sign-ins queue as pending for admin approval before promotion; WhatsApp auto-approves admin/verified identities and emails the admin to decide on guests; banned identities are rejected. ACCESS: a person is granted a service subscription PLUS an explicit agent mapping (which agents they may use, within subscribed services), both shared across their channels. STATUS & ACTIVITY: person-level status (access tier, verified, subscription) is channel-agnostic; activity (last-active, proactive outreach) is recorded per channel. The process is run by Carol's user-management droids: User Manager (registration, tiers, onboarding), Beacon (discovers new users daily), Identity Sync (unifies one person across channels), and User Profiler (profile enrichment).
Where it fits
This is one block of the Sales service. The owner and the agents who run it are listed under the team below, and the other blocks of the service are linked at the bottom of this page.
๐ ๏ธTeam & droids
Carol Block owner
Carol owns the user-management process end to end: User Manager registers users and assigns tiers, Beacon discovers new users, Identity Sync keeps one absolute person across channels, and User Profiler enriches profiles. Identity is resolved channel-agnostically via the canonical person model (shared/identity.py).
๐คOwner
Carol ยท Sales Agent โ EU๐ฐ๏ธUpdates
Dated notes from recent initiatives โ the main entry above is not rewritten.
The user-onboarding block is materially affected by this initiative, which replaces the existing channel-split identity model with an absolute person identity. The onboarding process must now record a person's active channels instead of creating per-channel user rows.