Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Ninad: each service card should carry the service owner agents picture. The card template and API already support it, but the app still reads portraits from Carolopedias old per-app avatar folder, which CAROL-INI-3582 emptied when portraits moved to the shared Carolverse media store (Carolopedia now serves from shared.agent_profile PORTRAIT_DIR, 67 portraits). Every owner_avatar therefore resolves empty and cards fall back to an initial letter. Fix: the Consciousness apps avatar directory is the shared portrait store, imported from shared.agent_profile - no second copy, no hardcoded path - which restores pictures on the service cards AND the per-agent cards, since both read the same constant.
⚖️Decisions
- Auto-detected remediation target INI-999902476 from title/description scan (matched CAROL-INI-3582 -> row id 999902476 (CAROL-INI-3582-00: One composer for what an agent is, and one portrait per agent)); override by setting remediates_initiative_id explicitly at bypass_start. (system-auto-detect)
- Elrond's bypass methodology checklist (a reminder, not a gate -- you've got this): 0. File it requested_mode='bypass' (planner-vs-bypass is a deliberate choice). bypass_start REFUSES a non-bypass initiative (CAROL-INI-1846), and the dispatcher only skips the bypass lane when the mode says bypass -- a 'planner' mistag lets Merlin's pipeline grab the placeholder step and block your finished work. 1. Filed as planned status -- let the bypass claim/activate it; never file active. 2. Open the bypass (bypass_start) with your droid id + the remediation answer (remediates_initiative_id=NNN, or remediates_nothing=True). 3. Work the blocks for your work-type: template -> design -> code -> test -> review. Do the real work; record decisions on the initiative as you make them. 4. Reality is recorded for you at close -- code (files changed), each decision, and the twin-review verdict become real activities tied to this initiative and show in the Activity Tracker like a planner run (CAROL-INI-1840). No dummy rows. 5. Keep the initiative status moving; it parks in 'reviewing' and is tagged uat-pending for you at close (CAROL-INI-1836), so the stuck-watchdog leaves it alone until UAT. 6. Close runs the gates (design/architecture compliance + caller-audit). If a gate flags something pre-existing or unrelated to your change, waive it with a clear written rationale -- audit, don't skip. 7. Bypass skips the planner's auto-orchestration, NOT the standards. Same template checklist, same review, same observability as a planner run. (elrond)
- Current state at filing (Elrond validity check): Carolopedia, Carolverse, and Carolverse Consciousness are all registered/live apps. The filing describes Consciousness still reading owner_avatar from Carolopedia's old per-app avatar folder, emptied since portraits moved to shared.agent_profile PORTRAIT_DIR (per CAROL-INI-3582). No reviewed closed initiative touches Consciousness's avatar directory or service-card portrait rendering. (elrond)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- [status-router] reviewing -> closed | event=operator_signoff | Auto-accepted (CAROL-INI-1859): Orion-initiated, >2 days in reviewing with no objection. (el-srac-01)
✅Success criteria
- Every service card on the Consciousness landing shows the owner agents portrait when the shared store holds one, verified by rendering the page (must_have)
- The apps avatar directory is imported from the shared agent-profile module - no hardcoded copy of the path remains in the app (must_have)
- The apps own avatar route serves the same store, so the URLs the API emits resolve (must_have)
- A regression test proves the API returns a non-empty owner avatar for owners with a stored portrait and that the avatar route serves it (must_have)