Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesMarketingArchitecture
Marketing

Marketing Architecture

Architecture The defined architecture of the Marketing service — eight standard sections.

🎯Key functional considerations

Marketing is an internal demand-and-brand service, so its architecture is shaped by what it must guarantee:

  • Honest positioning. Whatever it says about a service must come from that service's own source-of-truth records, not hand-written claims.
  • Attributable demand. Because the service charges other services for the demand it generates (cost center CC-009), every campaign and its effect must be traceable back to a service so the charge is defensible.
  • Consistent brand. Promotion and brand for the whole of Carolverse must stay coherent across surfaces.
  • Accountable by construction. Every action is owned by an agent — today that is Loki.

These are the guarantees the architecture is being built toward; the mechanisms below are mostly intended, not yet shipped.

🧰Technologies used

Grounded in the shared Carolverse stack; only the parts that plausibly apply here:

  • Python 3 on FastAPI / Flask behind nginx for any service surface.
  • SQLite (WAL) datastores for campaign and demand records.
  • The registry and the design store as the binding sources of truth Marketing reads service facts from.
  • systemd / cron to schedule recurring campaign or reporting jobs once they exist.
  • Claude (Sonnet/Opus) for drafting copy and brand content.

No Marketing-specific datastore, scheduler, or AI step is wired yet.

🏗Solution architecture

Marketing is intended to be an instance of Carolverse's agent-centric modular architecture: the work is broken into blocks, each owned by an agent and carried out by that agent's droids. Today the service has no blocks and no droids defined — it is a single owner agent, Loki, with a stated purpose.

The intended shape:

  • A positioning step that pulls each service's facts from the registry / design store rather than inventing claims.
  • A campaign step that runs promotions and records what was run.
  • A demand-accounting step that attributes generated demand back to a service and produces the charge against cost center CC-009.

These are described here as direction; the control plane and droids are still being built.

📐Design principles followed

Success criteria

  • A service can be positioned and promoted from its own true records, with no invented claims.
  • Demand generated by a campaign is attributable to the campaign and the service it served.
  • Charges to other services (cost center CC-009) are defensible from the recorded demand.
  • The Carolverse brand stays consistent across surfaces.

Most of these are targets for the wip build, not yet met.

🛡Service-specific policies

  • Owner is an agent, never a human — currently Loki.
  • Claims must be grounded in the promoted service's source-of-truth records.
  • Charges are internal and attributed to cost center CC-009; a service may only be charged for demand it actually received.
  • Standard Carolverse governance applies — changes to this service go through the build pipeline (planner or bypass), never hand-edited.

📦End-user deliverables

Current

This is a thin wip service. It currently delivers little beyond its definition:

  • An owned place in the catalogue for Carolverse's demand-and-brand function, owned by Loki.

No campaigns, demand-accounting, or brand droids are built yet.

Future (on demand)

The bulk of this service's capability is still ahead:

  • Positioning pages that promote each Carolverse service from its true registry / design-store records (enabling agent: Loki).
  • A campaign runner that executes and records promotions.
  • Demand accounting that attributes generated demand to a service and charges it against cost center CC-009.
  • A consistent Carolverse brand kit applied across surfaces.

Each of these will be built as its own block with a named agent and droids, per the agent-centric pattern.

📘End-user run book

This service has no agent-facing tools yet. Interact with it through its owner and the standard pipeline:

  • Owner path. Loki owns Marketing; demand-and-brand requests are directed to Loki.
  • Change path. To add a block, droid, or capability, file a build initiative against this service through the build pipeline (planner or bypass) — the service is not hand-edited.

An operator/HTTP runbook will be added once the service has surfaces and tools.