Skip to content

InteractiveLesson

InteractiveLesson

InteractiveLesson is a pedagogical spec type generated by the Curator Agent from LMS packages (Canvas .imscc, Moodle .mbz). It represents a structured lesson with slides, interactive widgets, and learning objectives aligned to a curriculum.


Use Cases

SourceToolOutput
Canvas package (.imscc)curator curate --source-type LMS_PACKAGEInteractiveLesson
Moodle package (.mbz)curator curate --source-type LMS_PACKAGEInteractiveLesson
Canvas Commons (batch)docs discover --source canvas-commons + curator batchInteractiveLesson[]

YAML Schema

apiVersion: core.oas.colabedu.io/v1beta1
kind: InteractiveLesson
metadata:
name: <referenceCode> # e.g.: global.lesson.bio.mitosis.bach1.v1
displayName: "<Human-readable title>"
description: "<Pedagogical description>"
tags:
- biology
- bachillerato
lmsSource:
platform: canvas # canvas | moodle
packageId: "<package-id>"
url: "<original-url>"
importedAt: "2026-06-09T00:00:00Z"
spec:
learningObjectives:
- "Students understand the phases of mitosis."
- "Students identify differences between mitosis and meiosis."
slides:
- id: slide_01
title: "Introduction to Mitosis"
type: text_image # text_image | quiz | video | interactive
content: |
Mitosis is the cell division process by which a cell produces
two genetically identical daughter cells.
assets:
- type: image
gcsUri: "gs://colabedu-lms-assets/<pkg-id>/mitosis_diagram.png"
alt: "Diagram of mitosis phases"
- id: slide_02
title: "Phases of Mitosis"
type: interactive
widget: timeline_widget
data:
phases:
- name: "Prophase"
description: "Chromatin condenses to form visible chromosomes."
- name: "Metaphase"
description: "Chromosomes align at the metaphase plate."
- name: "Anaphase"
description: "Sister chromatids separate toward the poles."
- name: "Telophase"
description: "Two daughter nuclei form and cytokinesis begins."
- id: slide_03
title: "Comprehension Check"
type: quiz
widget: multiple_choice
data:
question: "In which phase do chromosomes align at the equatorial plate?"
options:
- "Prophase"
- "Metaphase"
- "Anaphase"
- "Telophase"
correct: 1
feedback: "Correct. In Metaphase, chromosomes align at the metaphase plate."
curricularContext:
standard: LOMLOE
level: "1 BACH"
subject: "biology"
referenceCode: "es.lomloe.bach.1.bio"

Field Reference

metadata

FieldTypeDescription
namestringUnique identifier in referenceCode format
displayNamestringHuman-readable title for the UI
lmsSource.platformstringcanvas or moodle
lmsSource.packageIdstringPackage ID in the original platform
lmsSource.urlstringDownload URL of the original package

spec.slides[]

FieldTypeDescription
idstringUnique identifier within the lesson
titlestringSlide title
typeenumtext_image | quiz | video | interactive
widgetstringFlutter widget name registered in A2UI
assets[]arrayReferences to assets uploaded to GCS

spec.learningObjectives[]

List of learning objectives aligned to the curricularContext. The curator_lesson Gem extracts them from the LMS package manifest and refines them using the backend’s CurricularContext.


CLI Ingestion

Ventana de terminal
# Single package in sandbox
curator curate \
--source ce-specs/sources/lms/canvas/canvas_bio_mitosis.imscc \
--output-type INTERACTIVE_LESSON \
--courseId 88 --sandbox
# Batch from Canvas Commons
docs discover --source canvas-commons --subject biology --output canvas.yaml
docs download --list canvas.yaml --local-dir ce-specs/sources/lms/canvas/
curator batch --manifest ce-specs/tests/lms_batch_manifest.yaml --parallel 2
# LMS tests
curator test --lms --case canvas_biology_bach1_smoke
curator test --lms --all --threshold 70

A2UI Integration

InteractiveLesson specs are rendered in the Flutter frontend via the interactive_lesson_widget.dart widget. The widget emits the lesson_completed event when all slides are finished.