Pipeline Flow

S31 · 8 gates · curriculum_context KB-join enrichment, kb_write loopback, pacing guardrails · Click any node for schemas, prompts, contracts
User/LMS Preflight LLM Skill Tool Soft Gate Hard Gate Render/Finalize | JSON file KB table Domain rule Rubric Prompt Field contract
Agent Type
Cross-lane data bridges

Gate Registry

Human review checkpoints. Hard gates block downstream; soft gates auto-pass if un-reviewed.
CHAPTER_MODULE_SEQUENCE hard
Hard gate — blocks downstream pipeline until approved. Rework triggers re-run of the producing skill with human feedback.
produced by derive_chapter_sequence ch_research
CHAPTER_LO_BRIEF soft
Soft gate — informational review. Pipeline proceeds if skipped. Rework triggers re-run of the producing skill with human feedback.
produced by derive_chapter_sequence ch_research
CHAPTER_KB_SYNTHESIS soft
Soft gate — informational review. Pipeline proceeds if skipped. Rework triggers re-run of the producing skill with human feedback.
produced by research_deep ch_research
MODULE_LO_BRIEF hard
Hard gate — blocks downstream pipeline until approved. Rework triggers re-run of the producing skill with human feedback.
produced by derive_module_lo mod_review
MODULE_KB_SYNTHESIS soft
Soft gate — informational review. Pipeline proceeds if skipped. Rework triggers re-run of the producing skill with human feedback.
produced by research_deep mod_review
REFERENCE_MODULE_BLUEPRINT soft
Soft gate — informational review. Pipeline proceeds if skipped. Rework triggers re-run of the producing skill with human feedback.
produced by build_blueprint mod_review
APPLET_KB_SYNTHESIS soft
Soft gate — informational review. Pipeline proceeds if skipped. Rework triggers re-run of the producing skill with human feedback.
produced by research_deep app_review
REFERENCE_APPLET_SCREENS hard
Hard gate — blocks downstream pipeline until approved. Rework triggers re-run of the producing skill with human feedback.
produced by build_blueprint app_review

Rubrics

Scoring criteria loaded live from config/rubric/*.json. Click to see the criteria table.
Group
applet_D Applet
Instructional Design rubric
7 criteria 25 pts Instructional Design applet_D.json
applet_L Applet
Accessibility rubric
9 criteria 25 pts Accessibility applet_L.json
applet_P Applet
Pedagogy rubric
7 criteria 25 pts Pedagogy applet_P.json
applet_X Applet
Experience rubric
8 criteria 25 pts Experience applet_X.json
applet_gates Applet
Scoring / reference file.
applet_gates.json
blueprint_guide Guide
System-specific rules for S3 build_blueprint. Operationalises module and applet structure. The LLM already knows CPA, cognitive load, ZPD — these rules are specific to this system.
blueprint_guide.json
chapter_sequence_guide Guide
System-specific rules for derive_chapter_sequence. Governs how atomic KB LOs are clustered into delivery modules. The LLM already knows curriculum theory — these rules are specific to this system's de
chapter_sequence_guide.json
design_pitfalls Shared
Run independently after domain scoring. Each violation is a named defect with a mandatory concrete fix.
design_pitfalls.json
lo_criteria Shared
LO quality rules for S1 derive_lo. System-specific — do not repeat general pedagogy theory.
lo_criteria.json
module_D Module
Instructional Design rubric
7 criteria 25 pts Instructional Design module_D.json
module_L Module
Accessibility rubric
8 criteria 25 pts Accessibility module_L.json
module_P Module
Pedagogy rubric
8 criteria 25 pts Pedagogy module_P.json
module_X Module
Experience rubric
7 criteria 25 pts Experience module_X.json
module_gates Module
Scoring / reference file.
module_gates.json
recommendation_protocol Guide
Scoring / reference file.
recommendation_protocol.json
research_synthesis_guide Guide
System-specific rules for S2 research_deep synthesis. The LLM already knows CPA, Variation Theory, cognitive load, ZPD. These rules are specific to this system.
research_synthesis_guide.json
trace_guide Guide
Traces check whether a sequence holds across content. Score by walking in order — does step N lead logically to step N+1?
trace_guide.json

Domain Rules

Injected into skill prompts via {{domain_rules}} at template render.
Format
advisory_gate_protocol Tier B JSON
Advisory gates provide structured enhancement recommendations without blocking the pipeline. They surface opportunities for improvement that are valuable but not gatekeeping — the content can proceed without addressing them.
1 consumer score_gates
applet_conventions Tier A MD
When reviewing module content that contains applet placeholder slides, or when
4 consumers score_gatesscore_rubric_domainscan_design_pitfalls +1
applet_scope_discipline Tier B JSON
{ "_meta": { "tier": "B", "source_template": "assess_learning_coverage.md", "consumers": ["assess_learning_coverage", "compile.py"], "description": "Scope discipline rules for applet learning coverage assessment — prevents module-level concerns from contaminatin
1 consumer assess_learning_coverage
applicable_field_protocol Tier B JSON
{ "_meta": { "tier": "B", "source_template": "score_rubric_domain.md", "consumers": ["all_scorers", "compile.py", "aggregator"], "description": "Protocol for handling rubric criteria that declare applicable_to restrictions based on content type." }, "protoco
1 consumer score_rubric_domain
concept_attribution Tier B JSON
{ "_meta": { "tier": "B", "source_template": "score_rubric_domain.md", "consumers": ["S2_structure", "S3_pedagogy", "compile.py", "assess_learning_coverage"], "description": "Taxonomy for per-slide concept attribution with action types and evidence strength."
1 consumer score_rubric_domain
convention_requirements Tier B MD
Applies when KB data includes convention flags or false-friend warnings for a topic. These arise when mathematical notation, terminology, or conventions differ across regions, curricula, or languages, creating potential confusion for students.
2 consumers build_blueprintenrich_concepts
coverage_audit_protocol Tier B JSON
{ "_meta": { "tier": "B", "source_template": "assess_learning_coverage.md", "consumers": ["assess_learning_coverage", "compile.py", "gate_evaluator"], "description": "Structured cross-reference protocol for auditing misconception, vocabulary, and visual model co
1 consumer assess_learning_coverage
delivery_language Tier A MD
When evaluating, building, or assessing educational content that belongs to a
8 consumers research_deepbuild_blueprintbuild_applet_screens +5
dev_note_anchoring Tier B MD
Applies when any scorer emits developer-facing implementation notes — recommendations about touch targets, accessibility, alt-text, animation timings, transition behaviors, or other technical specifications that a developer would action during build.
1 consumer score_rubric_domain
kb_gap_handling Tier A MD
Applies whenever a blueprint builder, scorer, or mastery assessor encounters missing data in the KB — no Visual Instructional Representation (VIR) for a topic, no misconception data, no vocabulary definitions, or sparse coverage for a learning objective.
3 consumers build_blueprintenrich_engagementbuild_applet_screens
lo_code_alignment Tier A MD
Applies when any agent must match module content to KB learning objective codes (lo_codes). This is one of the most error-prone steps in the pipeline — keyword matching produces false positives that cascade into incorrect alignment scores.
3 consumers derive_chapter_sequencederive_module_loderive_applet_lo
media_insertion_heuristics Tier A MD
Applies when any scorer or blueprint builder must decide whether to recommend inserting a video, applet, or textbook reference at a particular point in the module flow. Also governs the worked-example routing rule for determining whether multi-step content belongs on slides or in
3 consumers build_blueprintenrich_engagementscore_rubric_domain
module_annotation_schema Tier B JSON
Each module in the sequence must carry structured annotations that downstream agents consume. These annotations are set during module sequencing and refined during blueprint construction. Incomplete annotations block downstream agents from producing quality output.
1 consumer derive_chapter_sequence
module_level_tropes Tier A MD
When evaluating, building, or researching content that involves tropes (Snapshot,
7 consumers research_deepbuild_blueprintbuild_spine +4
module_sequencing_rules Tier B MD
Applies when derive_module_sequence builds the ordered list of modules for a chapter. These three constraints must all be satisfied simultaneously — they are not independent options.
1 consumer derive_chapter_sequence
scope_discipline Tier A MD
When reviewing, scoring, building, or assessing content for a module or applet
10 consumers research_deepbuild_blueprintbuild_spine +7
slide_role_observations Tier B JSON
{ "_meta": { "tier": "B", "source_template": "score_rubric_domain.md", "consumers": ["S6_detail", "S6_express", "S7_vision", "compile.py", "render.py"], "description": "Canonical slide-role taxonomy with confidence levels and design pitfall suspension rules."
2 consumers score_rubric_domainscan_design_pitfalls
slide_tagging_protocol Tier B JSON
Every slide in the blueprint must carry explicit pedagogical commitment tags that downstream scorers can independently verify. These tags are the contract between the blueprint author and the scorer — if a tag is present, the scorer will check for it.
2 consumers build_blueprintbuild_spine
storyboard_read_rules Tier A MD
When vision-scoring or evaluating applet storyboard PPTX files where multiple
3 consumers score_gatesscore_rubric_domainscan_design_pitfalls
textbook_floor_principle Tier B MD
Applies when building module sequences, blueprints, or assessing mastery against textbook coverage. The textbook is the starting reference but not the limit of what must be taught.
1 consumer derive_chapter_sequence
visual_hierarchy_rules Tier A MD
When vision-scoring slides or screens that may suffer from organisational
3 consumers score_gatesscore_rubric_domainscan_design_pitfalls
visual_model_protocol Tier A MD
Applies whenever a vision scorer (S6 Detail, S6 Express, S7) inspects slide thumbnails and must emit `observed_visuals` entries. This protocol governs what counts as a reportable visual model and how to describe it.
4 consumers build_blueprintenrich_engagementbuild_applet_screens +1
vocabulary_status_protocol Tier B JSON
During deep research, every vocabulary term must be classified by its relationship to KB data. This classification flows downstream to blueprint builders and scorers so they know which terms are KB-backed and which need attention.
1 consumer research_deep
vocabulary_tracking Tier B JSON
Every mathematical term that the module introduces must be tracked with its introduction point and formalization level. This plan is set during blueprint and verified during scoring and learning coverage assessment.
2 consumers build_blueprintenrich_concepts

Prompt Templates

config/prompts/skill_templates/*.md — sent to the LLM per skill call.
assess_learning_coverage MD
Used by mod_review+app_review · 34 lines · 2 variables
{{anti_bias}}{{domain_rules}}
build_blueprint MD
Used by mod_review+app_review · 242 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
build_spine MD
Used by mod_review · 115 lines · 2 variables
{{anti_bias}}{{domain_rules}}
derive_applet_lo MD
Used by app_review · 54 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
derive_lo_brief MD
Used by ch_research · 59 lines · 2 variables
{{anti_bias}}{{rubric_section}}
derive_module_lo MD
Used by mod_review · 41 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
derive_module_sequence MD
Used by ch_research · 129 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
enrich_concepts MD
Used by mod_review · 37 lines · 2 variables
{{anti_bias}}{{domain_rules}}
enrich_engagement MD
Used by mod_review · 30 lines · 2 variables
{{anti_bias}}{{domain_rules}}
enrich_experience MD
Used by mod_review · 61 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{pacing_state}}
extract_applet_summary MD
Used by mod_review · 28 lines · 1 variables
{{domain_rules}}
generate_action_summaries MD
Used by mod_review+app_review · 34 lines · 2 variables
{{anti_bias}}{{domain_rules}}
research_deep MD
Used by mod_review+app_review+ch_research · 193 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
scan_design_pitfalls MD
Used by mod_review+app_review · 17 lines · 4 variables
{{anti_bias}}{{domain_rules}}{{recommendation_protocol}}{{rubric_section}}
score_gates MD
Used by mod_review+app_review · 14 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}
score_rubric_domain MD
Used by mod_review+app_review · 37 lines · 3 variables
{{anti_bias}}{{domain_rules}}{{rubric_section}}

Field Contracts

config/field_contracts.json — declarative produces/consumed_by contracts per skill.
module_lo_brief_enriched 5 fields 5 consumers
S28_reshape — enriched MODULE_LO_BRIEF.json. Wraps derive_module_lo output with compiled chapter ground truth (slimmed: lo_components, vocabulary_terms, misconception_ids, pedagogical_models), ±1 siblings, and deterministic drift flags.
FieldTypeRequiredNote
derived object LLM derive_module_lo output: module_lo, lo_components, prerequisite_chain, content_type, lo_codes, notes
planned object Slimmed compile from CHAPTER_MODULE_SEQUENCE: position, module_title, content_type, lo_components, cpa_phase, lo_codes, vocabulary_terms, misconception_ids, pedagogical_models, flags
predecessor object Position-1 sibling (condensed: position, module_title, lo_components, content_type, cpa_phase, vocabulary_terms, misconception_ids)
successor object Position+1 sibling (same condensed shape)
scope_drift_flags array Deterministic drift flags: lo_components overlap, content_type mismatch, lo_codes delta
consumed by: research_deep_synthesisbuild_module_blueprintrender_module_lo_brief_htmlrender_module_research_htmlderive_applet_lo
research_deep_synthesis 14 fields 8 consumers
FieldTypeRequiredNote
scope string
lo string
lo_misconceptions array
misconceptions array
visual_models array
ias_patterns array
conventions_flags array
gaps array
synthesis_narrative string
textbook_references array
vocabulary_status array
translation_notes array S20 addition — first-class bilingual pairs
prerequisites_to_reactivate array S22 addition — module scope only, feeds knowledge trace prerequisite tracking
lo_components_enrichment array S29: per-component pedagogical reference material. One entry per input lo_component (preserving index order) at module/applet scope. Empty list acceptable at chapter scope. Each entry: {component_index, component_statement (echo of input), visual_treatment_reference (research-grade multi-paragraph reference describing proven visual strategies), resource_bindings [{interactive_id, url, activity_title, pedagogical_value ≥120 chars, confidence: high|medium|low}] grounded STRICTLY in kb_evidence.interactive_landscape input, derivation_evidence (optional), rationale (optional)}. This is the module/applet-layer enrichment producer — kb_write_agent consumes this directly.
consumed by: build_module_blueprintbuild_applet_screensscore_gates_resultscore_rubric_domain_resultscan_design_pitfalls_resultassess_learning_coverage_resultwrite_tracekb_write_agent
build_module_blueprint 21 fields 6 consumers
FieldTypeRequiredNote
lo string
lo_components array S28_reshape: inherited lo_components[{statement, bloom_verb, visual_treatment}] for traceability
content_type string
slides array
applet_placements array
video_placements array
visual_models array
trope_map object
cpa_summary object
textbook_alignment array
vocabulary_introduction_plan array
convention_requirements array
scaffolding_level_per_slide string S23: per-slide scaffolding intensity (full/partial/guided/independent)
vocabulary_on_this_slide object S23: per-slide vocab state with definitions, conventions, false-friend warnings
visual_model_description string S23: per-slide visual layout description beyond VIR id
tgar_role_per_slide string S23: per-slide TGAR cross-module arc role
major_idea_per_slide string S23: per-slide key idea (one sentence)
transition_from_previous string S23: per-slide cognitive/narrative bridge from previous slide
asset_context_role string S29: structural role — assigned deterministically by compile pass from applet_placements, video_placements, slide.tropes, section. 13-value taxonomy (content/applet_*/video_*/trope_*/worked_example/exit_question/summary). Legacy S23 values (context/placeholder/consolidation) retained for backwards compat.
teaching_sufficiency_note string S23: content clarity and deliverability assessment
consumed by: score_gates_resultscore_rubric_domain_resultscan_design_pitfalls_resultassess_learning_coverage_resultcompile_reviewrender_gate
build_applet_screens 24 fields 6 consumers
FieldTypeRequiredNote
lo string
primary_ias_archetype string
misconception_targeted string
screens array S23: may exceed 6 (multiple screens per IAS stage)
scaffolding_arc string
visual_models_referenced array
convention_requirements array
screen_label string S23: distinguishes screens within same stage
student_sees string S23: visual layout at screen entry
student_does string S23: physical interaction
student_thinks string S23: reasoning demand
intermediate_states array S23: if-then interaction sequence
visual_model_description string S23: layout/colours/spatial arrangement
visual_model_purpose string S23: pedagogical rationale for visual
feedback object S23: on_correct/incorrect/partial/misconception + timing
screen_zones object S23: action_instruction/scaffolding_text/dev_notes
affordances array S23: element + visual_cue pairs
variants_and_invariants object S23: mathematical structure (variants/invariants)
time_estimate object S23: thinking/interaction/feedback seconds
difficulty_level string S23: entry/developing/proficient/extending
difficulty_rationale string S23: why this difficulty level
transition_from_previous object S23: previous_end_state/transition_purpose/this_screen_entry_state
teaching_sufficiency_note string S23: content clarity and deliverability
consumed by: score_gates_resultscore_rubric_domain_resultscan_design_pitfalls_resultassess_learning_coverage_resultcompile_reviewrender_gate
score_gates_result 3 fields 1 consumers
FieldTypeRequiredNote
gate_set string
content_type string
gates array
consumed by: compile_review
score_rubric_domain_result 10 fields 1 consumers
FieldTypeRequiredNote
domain string
domain_code string
scope string
content_type string
criteria array
domain_total integer
domain_verdict string
observed_visuals array Vision scorer only (D/X domains)
concepts_on_slide array P domain only
slide_role_observations array Vision scorers — feeds design pitfall suspension in compile
consumed by: compile_review
scan_design_pitfalls_result 3 fields 1 consumers
FieldTypeRequiredNote
pattern_set string
violations array
slide_role_observations array Feeds compile design pitfall suspension
consumed by: compile_review
assess_learning_coverage_result 2 fields 1 consumers
FieldTypeRequiredNote
content_type string
mastery_estimate object
consumed by: compile_review
derive_module_lo 7 fields 2 consumers
S28_reshape: lo_components with SCOPE-INTENT visual_treatment (creator direction, editable at MODULE_LO_BRIEF hard gate). S29 correction: visual_treatment here is scope intent, NOT pedagogical reference. The reference-grade enrichment is produced LATER by research_deep(module) as lo_components_enrichment. derive_module_lo does NOT feed kb_write_agent — that trigger moved to post-research.
FieldTypeRequiredNote
module_lo string
lo_components array Validated lo_components[{statement, bloom_verb, visual_treatment}] — visual_treatment is SCOPE INTENT (creator-editable at gate), NOT enrichment. The research_deep(module) step produces the reference-grade visual_treatment_reference downstream.
prerequisite_chain array
content_type string
lo_codes array
derivation_evidence array Source trail per component: {component_statement, source, source_text}. Consumed by MODULE_LO_BRIEF gate render; not written to KB by this skill (research_deep does the KB write).
notes string
consumed by: research_deep_synthesisbuild_module_blueprint
derive_applet_lo 6 fields 2 consumers
S28_reshape: receives parent_lo_components with visual_treatment inheritance from module. S29 correction: derive_applet_lo produces applet scope intent, NOT enrichment. lo_components / derivation_evidence fields may be emitted as narrowing refinements, but reference-grade enrichment is produced by research_deep(applet) downstream. derive_applet_lo does NOT feed kb_write_agent.
FieldTypeRequiredNote
applet_lo string
applet_type string
lo_codes array
lo_components array OPTIONAL refinement — applet-scoped subset of parent (scope intent only; not pedagogical enrichment).
derivation_evidence array OPTIONAL — per-component source trail for scope-intent refinement.
notes string
consumed by: research_deep_synthesisbuild_applet_screens
derive_lo_brief 5 fields 1 consumers
S28_reshape: added surfaced_lo_codes for curriculum LO surfacing at chapter level
FieldTypeRequiredNote
chapter_lo string
prerequisite_chain array
curriculum_alignment array
surfaced_lo_codes array All KB LO codes relevant to chapter from target + sister curricula, classified as core/extension/prerequisite
notes string
consumed by: derive_module_sequence
derive_module_sequence 3 fields 3 consumers
S28_reshape: per-module schema slimmed — lo_components replaces free-text lo, vocabulary/misconceptions/models slimmed to terms/ids/names, deferred fields removed
FieldTypeRequiredNote
module_sequence array Per module: position, module_title, content_type, lo_components[{statement,bloom_verb}], lo_codes, cpa_phase, vocabulary_terms[], misconception_ids[], pedagogical_models[], flags[]
textbook_validation object
reconciliation_map array
consumed by: render_gatefinalize_chapter_researcherkb_write_agent
kb_write_agent
S29 (corrected): Append-only enrichment history on lo_components. Three layer-specific entry points: run_kb_write_chapter, run_kb_write_module, run_kb_write_applet. Triggered at the RIGHT producer moments — chapter at finalize (skeleton only), module AFTER research_deep(module) produces lo_components_enrichment (rich), applet AFTER research_deep(applet). derive_module_lo / derive_applet_lo do NOT trigger KB writes — they produce scope intent, not enrichment. Every call appends exactly one diff-only event to the row's enrichments JSONB array. Identity fields (master_lo_code, statement, bloom_verb, embedding) are set on first INSERT and never modified.
extract_applet_summary 7 fields 1 consumers
S26: new entry for applet PPTX summary extraction
FieldTypeRequiredNote
applet_title string
lo_served string
ias_archetype string
visual_model string
interaction_modes array
screen_summaries array
alignment object
consumed by: compile_review
refine_module_result 2 fields 1 consumers
S26: new entry for gate refine/split/merge module operations
FieldTypeRequiredNote
modules array
reasoning string
consumed by: render_gate
insert_module_result 2 fields 1 consumers
S26: new entry for gate insert-module operation
FieldTypeRequiredNote
modules array
reasoning string
consumed by: render_gate
generate_action_summaries_result 6 fields 1 consumers
S26: new entry for action summary blurbs (Haiku)
FieldTypeRequiredNote
summary_blurb string
gate_summary string
recommendation_summary string
mastery_narrative string
mastery_action_line string
slide_actions array
consumed by: compile_review
refine_gate_entry 1 fields 1 consumers
S26: new entry for individual gate entry refine/edit. Polymorphic schema — entries shape varies by entry_type.
FieldTypeRequiredNote
reasoning string
consumed by: render_gate

How to use this page