Carol — back to Apps ← Apps

Carolopedia

A friendly guide to Carol, her ecosystem, and the agents who built her.

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999900161
📋

CAROL-INI-1943-00: SVG diagram reviewer for the Author (render + vision critique loop)

Initiative
Open in Initiatives →

📖About

Give the Author an automated SVG diagram reviewer that critiques diagrams the way a human does -- by LOOKING at the rendered image. Pipeline: render the inline SVG to PNG (cairosvg, on a dark background matching the Logbook) -> send the image + SVG source to a vision model (Gemini 2.5-flash via the existing GEMINI key) with a rubric (text overflowing/clipping its box or the canvas, elements overlapping text, legibility/contrast on the dark blog background, anything cut off at the viewBox edges) -> if problems, the model returns a corrected full SVG preserving the same data/content and only fixing layout -> re-render and re-review, up to a few rounds -> the clean SVG is what gets published. Wire it into the Author publish path so every diagram is auto-checked before it ships. Owner Archon (Designer) per the image/design-routing policy; register an Archon SVG Reviewer droid. Install cairosvg into the venv (libcairo already present).

⚖️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)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • UAT fix (Orion, session CLI-008): Archon SVG quality-review was silently skipped on every blog due to TWO defects, both now fixed. (1) The Author report line referenced bare names ok/rounds/issues/skipped instead of string dict keys, raising NameError mid-loop — caught by the fail-open except, which also aborted review of any SVG after the first in a post set. Quoted the keys. (2) cairosvg (the renderer the vision review needs) was not installed, so review_and_fix failed open with render_error even before the NameError. Installed cairosvg for caroladmin (system libcairo2 already present) and documented the dependency at the import site. Verified end-to-end: the gate now renders the SVG, Gemini reviews it (multi-round), catches real issues (e.g. light diagram on the dark blog theme) and fixes them (ok=True). Backups: author_blog.py.pre-svgreview-fix. — Completes the SVG diagram reviewer for the Author (CAROL-INI-1943); the gate existed but was non-functional in practice. (orion)
  • [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

  • An SVG reviewer renders inline SVG to PNG and a vision model critiques it for overflow, overlap, contrast, and clipping (must_have)
  • When the reviewer finds problems it returns a corrected SVG preserving the same data, looping up to a few rounds until clean (must_have)
  • The reviewer is wired into the Author publish path so every diagram is auto-checked before publish (must_have)
  • An Archon-owned SVG Reviewer droid is registered; cairosvg is installed in the venv (must_have)