Skip to content

ExerciseType

ExerciseType ● ACTIVE
Contract: v0.9.4 • View Schema ↗
Specification Standard: Open Pedagogy Specification (OPS) ce-specs-registry: schemas/assessment/exercise_type.schema.yaml
⚡ Live Schema Contract Definition (Auto-synced from schemas/assessment/exercise_type.schema.yaml) ▼

Metadata Properties (metadata)

Field Type Required Description
id string Yes Canonical unique identifier for the exercise type (e.g. global.exercise_type.free_text.v1).
reference_code string Yes Reference code identifying the interaction format across environments.
referenceCode string Yes CamelCase alias for reference_code supported for backward compatibility.
name string Yes Internal programmatic name of the exercise type.
title string No Human-readable label displayed in authoring editors and catalogs.
version string No Semantic version of the exercise type contract.
status string No Lifecycle status of the exercise type (ACTIVE = production ready).

Specification Body (spec)

Field Type Required Description
type string No Main type discriminator alias used by the evaluation engine (e.g. free_text, audio_response).
ui_components object[] Yes List of frontend UI widgets to dynamically render for student input (Flutter/React).
report_components object[] No Widgets and report visualizers to format grading results and teacher feedback.
configuration_schema object[] No —
📦 Canonical YAML Example (Auto-synced from examples/assessment/exercise_type.example.yaml) ▼
apiVersion: colabedu.ai/v1beta1
kind: ExerciseType
metadata:
  id: global.exercise_type.free_text.v1
  name: "free_text"
  title: "Free Text / Essay"
  version: "1.0.0"
spec:
  type: "free_text"
  ui_components:
    - type: "markdown_editor_widget"
      config:
        spellcheck: true
  report_components:
    - type: "free_text_rubric_evaluation"
      config:
        show_criteria_breakdown: true

The ExerciseType resource defines modular User Interface (UI) and Evaluation components. This YAML tells the frontend which widgets (Flutter/React) to render, and the reporting backend how the correction report should be displayed or structured (e.g., table, chart, rich text).