Keep generative campaigns visually consistent without reviewing every asset by hand.

CanonLoop plans, generates, critiques, repairs, and archives multi-format media with autonomous agents and verifiable provenance.

Synthetic references · deterministic Replay · no account required

SIX-LINE HALO Replay ready
Synthetic masked performer square cover
Synthetic masked performer vertical story
Synthetic masked performer landscape banner
Drift detectedSymbol: 4 lines observed · 6 required
RepairedOnly the emblem constraint changed

Autonomous visual continuity workflow

One controlled loop keeps the identity stable while formats change.

CanonLock identity anchors
PlanBrief every format
GenerateRun provider steps
CritiqueClassify drift
RepairPatch only failures
ArchivePreserve evidence

Detect drift. Repair only what fails.

Passing assets stay untouched; the failed constraint gets a parent-linked second attempt.

Rejected synthetic story attempt
Attempt 1 · rejected4-line emblem
constraint patchsymbol only
Approved repaired synthetic story
Attempt 2 · approved6-line emblem

Every decision leaves evidence.

Provider, model, prompt version, asset hash, critic result, repair lineage, and object path are captured in one replayable record.

Inspect provenance
Synthetic campaign asset
manifest.json{ "runId": "run-007r", "parent": "run-007", "verified": true }
Backblaze B2Replay object index is clearly marked unverified until live credentials are supplied.

Rights first

Only synthetic or authorized references enter the pipeline.

Server-only secrets

Provider and B2 keys never reach the browser.

Bounded autonomy

Cost caps, two repairs, then human review.

One visual identity. Every format. No drift.

Run the complete failure-to-repair workflow without an account or API key.

Run Guided Demo