Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
DEFERRED FROM CAROL-INI-416 (item 2).
GUEST PROMPT EVOLUTION. Today a web guest is served the static unverified-tier prompt + isolated guest memory. There is no mechanism that authors a per-user prompt as the conversation builds. Build a background loop (cron + scorer) that periodically reads the user's conversation history and authors/refines users/
SERVICE EDUCATION. As a guest subscribes to services (ventures, jobsearch, requirements, etc.), the corresponding service prompt must come into effect for THAT user (per-user service-list, not a global toggle). Beyond that, Carol must pro-actively educate the guest about services on offer ONE service per appropriate conversational opportunity (NOT a brochure dump). Order: relevance > popularity > novelty. Define an opportunity gate (e.g. natural lull in the thread, or a question that maps to a service capability). Build a per-user service_education_log so Carol does not re-pitch a service that was already declined.
This is the natural next step after CAROL-INI-416 makes the web chat reliable; it gives Carol the layered prompt machinery on the web channel that today only exists for the admin/verified tiers on WhatsApp.
⚖️Decisions
- Elrond stuck-watchdog: 3 consecutive failed recovery attempts since 2 strikes recorded. Initiative idle past 600s with no live queue row; Albus invoked 3 times without progress. Flipping to blocked and surfacing on operator queue per CAROL-INI-403. (elrond.handover_watchdog)
- CAROL-INI-510 restore: this initiative was wrongly flipped to 'blocked' by elrond.handover_watchdog Gap D, which treated status='planned' as 'stuck'. INI-510 removes 'planned' from the watchdog's status scan; planned means filed-and-waiting-for-operator-dispatch, not stuck. Status restored to 'planned'. (ninad)
- requester rewritten ninad -> orion per CAROL-INI-744: orion is the only human-CLI requester — Backfill of historical rows after INI744 added API-level refusal of requester=ninad. Orion is Ninads CLI agent; all human-originated initiatives are filed with requester=orion. (orion)
- [status-router] planned -> closed | event=operator_put | PUT /api/initiatives (operator)