Перейти к основному содержимому

Использование задач

Зачем нужно

Task-bank отделяет каноническую задачу от контекста её использования. Один problem version может использоваться в LMS lesson, homework, live session, roadmap topic, competition tour, diagnostic или public training set.

Для grouped передачи контента используется content_export_snapshot: он фиксирует экспорт problem_set, activity_template или program_template во внешний домен. problem_usage остаётся per-problem связью, а snapshot фиксирует целый набор/шаблон/программу.

problem_usage

problem_usage фиксирует:

  • problem_version_id;
  • context_domain: lms, competitions, management, storefront, manual;
  • context_type и context_id;
  • position, scoring snapshot и answer policy snapshot;
  • idempotency key.

content_export_snapshot

content_export_snapshot фиксирует:

  • source_type: problem_set, activity_template, program_template;
  • source id and version;
  • target domain/type/id;
  • payload hash;
  • problem ids and problem version ids;
  • order, sections and roles;
  • scoring snapshot;
  • visibility policy snapshot;
  • solution/hint policy snapshot;
  • source lineage;
  • status: draft, exported, locked, active, retired, failed.

Locked snapshot immutable. Изменение исходной задачи, подборки, activity template или program template создаёт новую version and snapshot, а не меняет внешнее назначение задним числом.

Связи с LMS live delivery

LMS live delivery может использовать task-bank для:

  • задач занятия;
  • входных и выходных проверок;
  • домашних заданий по теме занятия;
  • activity template snapshots;
  • program template snapshots;
  • evidence для attendance/progress context.

Task-bank хранит usage, но не владеет session, group, attendance или schedule.

LMS владеет lesson instance, course instance, assignments, training attempts and progress. Task-bank хранит content template, snapshot and low-level checks.

Связи с LMS roadmap

Roadmap внутри LMS может рекомендовать задачи и подборки. Связь problem -> roadmap_topic является reference и не делает task-bank владельцем topic progress или topic completion.

Связи с management

Management читает агрегированные evidence signals и difficulty metrics. Goal, recommendation и diagnostic lifecycle остаются в management.

Связи с competitions

Competitions создаёт locked source usage или content_export_snapshot для tour activity binding/task structure. Task-bank даёт content/source refs; LMS activity runtime или temporary adapter владеет attempts, responses, files, checking details и score by item. После lock тура task-bank problem version не меняется задним числом для result calculation.

Связи со storefront

Storefront получает public catalog projection или snapshot target_type=public_catalog. Projection не содержит hidden answer keys, closed solutions, teacher notes, moderation comments, raw attempts или embargoed sources.

События

  • task-bank.problem_usage.created;
  • task-bank.problem_set.published;
  • task-bank.content_export_snapshot.created;
  • task-bank.content_export_snapshot.locked;
  • task-bank.answer_check.completed;
  • task-bank.evidence.created.