---
name: diffusion-lora-coreai lesson 02
description: >-
  Agent recipe for lesson 02: choose sd-1.5 or sd-2.1 and define a testable
  subject or style contract with holdout prompts.
---
# Pick a base and LoRA idea

**Lesson id:** `02`  
**One-line goal:** Select `sd-1.5` or `sd-2.1` and define a subject or style goal with a holdout plan.

## Why this matters on a phone

Only adapt a base you can export. Privacy and ownership start with licensed local images and a success sentence you can test without a network.

## Prerequisites

Lesson 01. Official coreai-models diffusion list. The `uv` project from lesson 01.

## Inputs

Exact base revision, licensed local image set, captions, and a success sentence.

## Outputs and artifacts

`contract.json`, `data/train`, `data/holdout`, and held-out prompts.

## Executable steps

1. Recreate the `uv` project if needed (`uv init --python 3.11`, `uv venv`, `uv add`).
2. Confirm the short-name with the installed export or registry help.
3. Choose subject or style, not both.
4. Write captions that describe what changes around the concept.
5. Split holdout images or prompts the trainer will never see.
6. Record revision, license, trigger token, success sentence, and `runtime_lora_swap: false`.

## Constraints

Keep data guidance practical. Do not promise quality or export compatibility for unofficial checkpoints. Course bases are only `sd-1.5` and `sd-2.1`. No CUDA, quizzes, Mermaid, or em dashes.

## Failure modes

Unexportable base, mixed subject and style, missing holdout, unlicensed photos, captions that only repeat the trigger.

## Key concepts

- Pick `sd-1.5` or `sd-2.1` with a Core AI export recipe before you collect images.
- One narrow goal per run: subject or style, not both.
- Held-out prompts the trainer never sees are your evidence.
- Privacy and license start here. The baked model still carries the concept.

## Takeaways

- Confirm the short-name with `coreai.diffusion.export --help` and pin the revision.
- Write one success sentence before you gather files.
- Captions must describe the scene, not only repeat the trigger token.

## Done when

The contract names one catalog base with revision and license, one goal type, holdout prompts, and no runtime swap.

**Human lesson:** [Pick a base and LoRA idea](02-pick-base-and-lora-idea.html)
