Skip to content

End-to-End Production Loop

This page walks through the complete production loop — the real point of Style Dataset Lab. Not just curation. Not just datasets. The full cycle from creative rules to production outputs and back.

canon → dataset → training → brief → run → critique → batch → select → re-ingest
↑ |
└─────────────────────────────────────────────────────────────────────────┘

Every stage produces structured artifacts. Every artifact links to its predecessors. Selected outputs return as candidates, not as auto-approved canon. The review system stays in charge.

Terminal window
sdlab init my-project --domain character-design
sdlab project doctor --project my-project

Five JSON config files define your visual rules: constitution.json, lanes.json, rubric.json, terminology.json, project.json.

Generate candidates, review them against your rubric, and bind approved work to constitution rules.

Terminal window
sdlab generate inputs/prompts/wave1.json --project my-project
sdlab curate anchor_01_deckhand_v1 approved "Strong silhouette, correct faction palette"
sdlab bind --project my-project

Every approved record now carries provenance, judgment, and canon binding.

Freeze versioned snapshots, create leakage-safe splits, and package for export.

Terminal window
sdlab snapshot create --project my-project
sdlab split build --project my-project
sdlab export build --project my-project
sdlab card generate --project my-project

Create training profiles, manifests, and trainer-ready packages.

Terminal window
sdlab training-profile list --project my-project
sdlab training-manifest create --profile character-style-lora
sdlab training-package build --project my-project

Score generated outputs against canon-aware eval packs:

Terminal window
sdlab eval-run create --project my-project
sdlab eval-run score <id> --outputs results.jsonl

Briefs are deterministic generation instructions compiled from workflow profiles and project truth.

Terminal window
sdlab workflow list --project my-project
sdlab brief compile --workflow character-portrait-set --subject kael_maren --project my-project
sdlab brief show brief_2026-04-16_001

The brief carries the full prompt, negative prompt, runtime defaults, and canon focus — all derived from your constitution and workflow profile.

Execute briefs through ComfyUI. Each run is a frozen artifact: brief + seeds + outputs + manifest.

Terminal window
sdlab run generate --brief brief_2026-04-16_001 --project my-project
sdlab run show run_2026-04-16_001
sdlab run list --project my-project

Inspect run outputs against canon dimensions. Generate focused next-pass briefs.

Terminal window
sdlab critique --run run_2026-04-16_001 --project my-project
sdlab critique show --run run_2026-04-16_001
sdlab refine --run run_2026-04-16_001 --pick 001.png --push "stronger faction insignia"

Coordinated multi-slot production: expression sheets, environment boards, silhouette packs, continuity variants.

Terminal window
sdlab batch generate --mode expression-sheet --subject kael_maren --project my-project
sdlab batch show batch_2026-04-16_001
sdlab batch sheet batch_2026-04-16_001

Each slot gets its own brief, run, and output. The batch sheet is an HTML review surface.

Choose the best outputs from runs or batches. A selection is a creative decision artifact — what was chosen, why, and where it came from.

From a run:

Terminal window
sdlab select --run run_2026-04-16_001 --approve 001.png,003.png --reason "best continuity" --project my-project

From a batch:

Terminal window
sdlab select --batch batch_2026-04-16_001 --approve slot_neutral:001.png,slot_anger:001.png --project my-project

View selections:

Terminal window
sdlab selection show --project my-project
sdlab selection show selection_2026-04-16_001

Selected outputs return as new candidate records with full generation provenance. They go through the same review and canon-binding flow as everything else. No bypass.

Terminal window
sdlab reingest selected --selection selection_2026-04-16_001 --project my-project

Each re-ingested record carries:

  • source: generated provenance
  • Generation provenance linking back to run/batch → brief → workflow → seed
  • Tags: generated, selected, workflow ID, subject ID
  • Status: staged for review (not auto-approved)

Then review them like everything else:

Terminal window
sdlab curate gen_selection_2026-04-16_001_001 approved "Strong faction read, correct palette"
sdlab bind --project my-project

The corpus grows. The rules hold. The next snapshot, split, and training package will include them — if they pass.

After this loop, your project can:

  1. Define what your art looks like (canon)
  2. Build versioned, auditable training datasets (snapshots, splits, exports)
  3. Package trainer-ready model assets (training manifests, packages)
  4. Compile production briefs from project truth (workflow profiles)
  5. Run local generation workflows (ComfyUI)
  6. Critique and refine outputs against canon (critique engine)
  7. Batch-produce real work surfaces (expression sheets, environment boards)
  8. Select the best results (selection artifacts)
  9. Feed them back into the corpus (re-ingest with provenance)

That is a closed creative production system, not a one-way generator.