Consistency Assets
An asset is a self-contained block of information generated once per course and reused throughout the pipeline. Assets are not regenerated unless the inputs they depend on change.
What makes something an asset
- Generated once at a specific pipeline stage
- Stored and reused across downstream steps
- Provides context, consistency, or learner-facing information
Three categories
| Category | When generated | Purpose | Examples |
|---|---|---|---|
| Discovery assets | Before the outline | Feed into structure planning and section generation as knowledge context | audience analysis, knowledge depository |
| Consistency assets | After outline finalization | Keep independent section authors aligned on trainer identity, narrative entities, terminology, and visuals | course_consistency, localization |
| Publishing assets | After outline finalization | Shown to learners on the platform, not used during generation | description, objectives, thumbnail, quiz |
Discovery assets (audience analysis and knowledge depository) are generated in the Discovery phase and stored for reuse — they are fed into section generation for context and consistency, just like consistency assets. The difference is timing: discovery assets exist before the outline, while consistency and publishing assets are derived from it.
For publishing assets, see Publishing assets.
Consistency assets — internal
Used during section content generation to keep the course coherent across independent section authors. Each section author works in isolation — without these assets, characters and organizations would drift, translations would differ, and visual style would be inconsistent.
| Asset | Prompt | Format | Status |
|---|---|---|---|
course_consistency | flow_asset_define_characters + outline-generation merge step | JSON | ✅ Active |
localization | flow_asset_localization | JSON | ✅ Active |
visual_bible | Inline under course_consistency.visual_bible | JSON | ✅ Active (partial) |
Position in the full pipeline
Assets belong to Production. They are generated after the course outline is finalized and before section content generation begins.
┌─────────────────────────────────────────────────────────────────┐
│ Discovery │
│ flow_audience_* ──→ flow_depository_* │
│ (who is learning) (what to teach) │
└───────────────────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Structure │
│ flow_course_structure_* (Steps 1–5) │
│ concept → plan → design → [feedback_learner + feedback_expert]│
│ → refine │
└───────────────────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Production │
│ Asset generation (parallel) │
│ course_consistency localization description LO thumbnail quiz
│ ↓ ↓ │
│ Section content generation │
│ ↓ │
│ Published to learners: description, LO, thumbnail, quiz │
└─────────────────────────────────────────────────────────────────┘
Consistency assets (course_consistency, localization) feed into section
content generation. Publishing assets are delivered directly to the platform.
course_consistency
Format: JSON
Prompt: flow_asset_define_characters
Combines the course trainer, recurring narrative characters, recurring narrative organizations, and visual settings into one consistency object stored on the course row. The current outline-generation workflow populates:
trainernarrative_charactersnarrative_organizationsvisual_bible.video_background
flow_asset_define_characters currently generates the narrative characters and
narrative organizations portion of this object.
narrative_characters
Each character includes:
namedescriptionappearance
Characters must be fictional but realistic. Age or life stage and role context
should be embedded in description, and must still match the character's
responsibilities and domain context.
If a character is tied to a recurring fictional organization, that relationship
should be stated briefly inside description so downstream section generation
can preserve continuity without adding separate linkage fields.
appearance should stay deterministic enough for consistent image generation and
may include one or two stable distinguishing markers such as a recurring accessory,
hairstyle habit, glasses, bag, or jewelry. These markers should vary across
characters rather than becoming formulaic.
narrative_organizations
Recurring organizations keep examples stable across the course. These may include fictional municipalities, companies, schools, agencies, childcare providers, departments, or other institutions. They are optional and may be omitted entirely when the course narrative does not depend on recurring fictional organizations.
Each organization record includes:
namedescription
All narrative organizations must be strictly fictional and must not clearly point to a real existing entity. Descriptions should stay sparse: enough to anchor continuity, not enough to turn the course into a fixed fictional world unless the outline genuinely requires it.
The course trainer is not a narrative character and must not appear in this output. These records are defined once and passed to downstream generators to ensure consistent storytelling across the course.
localization
Format: JSON — { "localized_course_title", "localized_course_titles_variants", "localized_course_outline", "localized_terminology" }
Prompt: flow_asset_localization
Generates two outputs from the finalized course outline: (1) all course titles (course, modules, topics, sections) translated into the target language while preserving the outline structure and existing position values, and (2) a terminology glossary for consistent localization across all independent section authors. Handles the case where content may already be in the target language — still reviews for consistency and cultural appropriateness.
The runtime localization workflow merges this structured output back into the stored
outline so modules/topics carry localized_title and sections carry section_title.
Localization principles and language-quality rules are documented in
docs/localization/localization.md.
visual_bible
Format: JSON
Prompt: flow_asset_visual_bible (in development)
Holds visual references for characters and organization settings. At the moment,
the active saved scope is course_consistency.visual_bible.video_background.
The broader visual-bible schema is still being defined.
Related
- Publishing assets — learner-facing assets generated at the same stage
- Section content — consistency assets feed into every section
- Localization — localization asset principles and language rules
- Principles — why consistency matters across independent authors