Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-1000504
📋

CAROL-INI-0553-00: Build Migration Design app: Gimli"s home for migration design + Migration Cookbook

Initiative
Open in Initiatives →

📖About

Sub-initiative of CAROL-INI-508. Gimli (Migration Architect) needs an app to hold his two deliverables: (1) the migration design (end-to-end pipeline schema, Noah->Clara handoff trigger, source-tagging, audit/refactor output tables) and (2) the Migration Cookbook (separate from Build Cookbook; governs migration operations).

ARCHITECTURE (per Design #146 agent-centric + #173 app-to-agent shim):

  • New app: migration-design at next free port. Backend FastAPI under apps/migration-design/. Folder mirrors other Carol apps (app.py + index.html + migration_design.db + run.sh).
  • DB tables: migration_designs (id, version, title, body, status, owner=agt_032, created_at), migration_cookbook (id, category, title, content, status, version, created_at). Match Build Cookbook shape so future consumers can swap.
  • App is a thin shim per #173: read/write goes through Gimli"s shim helpers in agents/agt_032/. App code itself stays presentation-only.
  • Register in registry.db apps table with owner=agt_032 (Gimli), env=dev, url_prefix=/dev/migration-design/.
  • Wire into the dev-apps nginx umbrella + carol-apps systemd umbrella.

INITIAL CONTENT:

  • Seed migration_cookbook with 1 placeholder entry: "Migration Cookbook is operational law for the migration pipeline" so the page is non-empty.
  • Seed migration_designs with a stub design v0.1 describing the three-stage pipeline scaffolding.

SUCCESS:

  • App reachable at carol-vm:/ and via /dev/migration-design/.
  • DB has the two tables + seed rows.
  • Carolopedia /wiki/app/migration-design renders.
  • Owner field on registry row = agt_032.

MODE: bypass.

⚖️Decisions

  • INI-411 orphan sweep: all bypass executions for this initiative were swept as orphaned (>1200s with no owning process). Transitioning to blocked for operator or resume-loop triage. (elrond.orphan_sweep)
  • Handover-watchdog: reviewer-pending nudge for phase 1 (auto-invoked Elrond reviewer). (elrond)