Skip to content

SDD-004 — Curriculum Storage & Learning Experiences

Nguyên tắc: Hierarchy để tổ chức · Graph để biểu diễn quan hệ · Registry để quản lý identity · R2 chứa nội dung lớn · Learning Experiences là reusable objects, không khóa cứng trong course. Load structure first, content on demand.

2. Curriculum Hierarchy

School → Subject → Area → Grade Band → Unit → Topic → {Knowledge Nodes, Skills, Learning Packages, Learning Experiences}. Grade là metadata/context, không phải ownership boundary (một node dùng G7–G9).

3. Registry, không phải cây document khổng lồ

Mỗi entity một record: subjects, areas, units, topics, knowledge_nodes, skills, learning_packages, learning_experiences, labs. Quan hệ ở bảng riêng entity_relations {parent_of, contains, prerequisite_of, teaches, assesses, related_to} — một Skill tái sử dụng ở nhiều grade/school/package/assessment/lab. (Fix RISK-014: cấm content-as-migrations kiểu mori 15.9k SQL trộn DDL + data.)

4. Storage 3 lớp (REQ-KNW-06)

LớpChứa
D1IDs, hierarchy, relations, metadata (type, title, grade_min/max, difficulty, duration, status, version, quality score), content_ref
R2Markdown, JSON payload lớn, images/diagrams/audio/video, simulations, lab assets, datasets, PDFs — key dạng r2://learning-experiences/math/algebra/lx-283/v7/content.json
KV/Cachepublished manifests, config, resolved learning paths, static catalogs

5–8. Learning Experience types (REQ-KNW-04)

LearningExperience {identity, targets, prerequisites, metadata, experience_type, content_ref, evidence_contract}experience_type quyết định renderer/behavior:

  • Micro (30s–5'): chọn đáp án, điền, matching, reorder, prediction; session nối 5–20 micro.
  • Practice (10–30'): 10–20 items từ Item Bank, không duplicate content.
  • Assessment (subtype riêng): blueprint + item selection + scoring + timing + evidence + interpretation; các dạng Diagnostic/Placement/Readiness/Mastery Check/Adaptive/Exam Simulation/Quick Check/Oral/Writing/Project/Performance. Blueprint → Item Bank → Selection Engine → Assessment Instance (mỗi learner một đề khác nhau).
  • Lab (asset lớn nhất): objective, concepts, skills, instructions, materials, stages, observations, data, questions, reflection, evidence. Curriculum chỉ reference lab — chi tiết Lab Platform: SDD-010.
  • Project / Simulation tương tự — entity độc lập, metadata hóa (target_skill, difficulty, estimated_time, pedagogy, prerequisites, expected_evidence, age_range, interaction_type) để Recommendation Engine chọn experience, không chỉ course.

9. Item Bank (REQ-KNW-05)

Registry riêng: MCQ, multi-select, short answer, numeric, ordering, matching, essay, coding, drawing, interactive. Một question xuất hiện trong practice/assessment/micro/diagnostic — không duplicate. (Hợp nhất 4 item stores legacy — RISK-006; kho đề thi thật exam_problems giữ registry riêng thuộc Shark, liên kết qua relations — Q-041.)

10. Manifest (REQ-KNW-06)

Unit/Package publish manifest nhẹ (danh sách experience IDs); frontend tải manifest trước, heavy content chỉ tải khi mở experience.

11. Versioning (REQ-KNW-12)

Asset immutable theo version (lab-0042/v3); learner session ghi {experience_id, experience_version} — sửa content sau vẫn biết learner học bản nào.

Trace

REQMục
REQ-KNW-04§5–§8
REQ-KNW-05§9
REQ-KNW-06§4, §10
REQ-KNW-12§11