Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Ninad moved Carolopedia to Bilbo and asked for a CLEAN transfer, plus a skill if none existed for doing it properly.
MEASURED 2026-08-02 (CLI-201). Moving the app record alone is a half-transfer, and it is invisible from the side you looked at: - SIX droids stayed behind under two other agents - the daily refresh, update scanner and page generator under Clara, the change detector and refresher under Loki, and a retired org app under Carol. - The write permission still named the previous owner, so the new owner could not maintain what they now owned. - The encyclopedia page CONTRADICTED ITSELF: its facts panel is derived live and said Bilbo, while its authored prose - typed months ago - said Clara three lines above. A page that disagrees with itself is worse than a stale one; a reader cannot tell which half to trust.
THE GENERAL RULE, now written down: an owner appears in RECORDS (derived, follow instantly) and in PROSE (typed once, never follows). A transfer must fix both, and prose should point at the record rather than restate it.
ACCESS, CHECKED AS ASKED: Carolopedia is reachable by all 41 active agents, before and after. Worth noting for the general case though - the DEFAULT scope grants the owner AND ITS WHOLE REPORTING LINE, so moving an app to an agent under a different boss silently hands that chain access it did not have. That is why access belongs in the transfer procedure, not beside it.
A NOTE ON THE SCOPE WORD: Ninad said Carolopedia should be a 'global' app. It is recorded as 'public', and both grant every agent reach, so the behaviour is right. But 'global' means 'the law and the record of what is true are common ground' (the Constitution, Policies, the Source of Truth, Design) while 'public' also carries a human-facing sense. For an encyclopedia of what Carolverse IS, 'global' is arguably the truer label. Not changed without a ruling - the behaviour is already correct and relabelling is cosmetic.
SCOPE: 1. Complete the transfer across all five surfaces. 2. Write the skill so the next transfer is complete by default. 3. Regression proof that nothing credits the previous owner.
⚖️Decisions
- 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)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- [delivery-check] 5 must-have criteria remain pending at bypass_end — delivery FAILED live re-performance; UAT must grade on live evidence, not checklist silence (CAROL-INI-3020): test test_ini3592.py: FAIL (no tests ran in 0.26s) (orion)
- [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
- The app, every droid that serves it including retired ones, and the write permission all credit the same owner - a transfer leaves nothing behind under the previous one. (must_have)
- The encyclopedia page agrees with itself: what it states as fact and what its prose says name the same owner. (must_have)
- Access is unchanged by the transfer and stated explicitly - every Carolverse agent could reach Carolopedia before and still can. (must_have)
- A skill exists so the next transfer is complete by default rather than by remembering, and it covers the access consequence of moving an app to a different reporting line. (must_have)
- The historic update notes are preserved, not rewritten - a record of what happened is not edited to match what is true now. (must_have)