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

Миролимп как задачное и методическое ядро

Зачем нужно

Документ связывает продуктовую систему Миролимп / MeraLink с техническим доменом task-bank. В целевой архитектуре Миролимп не является отдельным доменом и не конкурирует с task-bank. Он является продуктовой, исторической и предметной реализацией банка задач.

task-bank / Миролимп должен развиваться не только как хранилище олимпиадных задач, а как система управления задачным контентом и методическими шаблонами задачных активностей.

Целевая роль

Task-bank / Миролимп отвечает за:

  • создание и редактуру задач;
  • хранение версий задач, answer schema, answer keys, checking rules, rubrics и решений;
  • мультипредметную таксономию: математика сейчас, физика следующая, будущие предметы позже;
  • источники, связи задач, подборки и публикационные правила;
  • шаблоны занятий, домашек, тренажёров, диагностик, разборов и олимпиадных туров;
  • программы, треки и последовательности активностей, например 32 занятия кружка;
  • locked snapshots для LMS, competitions, storefront и management.

Иерархия контента

УровеньСмыслВладелец
problemканоническая задачаtask-bank
problem_versionопубликованное или draft содержимое задачиtask-bank
problem_setподборка задач без полной сценарной структурыtask-bank
activity_templateсценарий занятия, домашки, тренажёра, диагностики или тураtask-bank
program_templateпрограмма, трек или последовательность активностейtask-bank
content_export_snapshotзафиксированная передача set/activity/program во внешний доменtask-bank + consumer
lesson_instance, course_instance, competition_submissionфактическое проведение и результатыLMS / competitions

Templates vs instances

Task-bank проектирует, что должно быть дано ученику. Внешние домены решают, когда, кому и в каком процессе это было выдано.

Task-bank / МиролимпLMS / competitions / storefront
задача и её версияучебная или олимпиадная попытка как business object
методический шаблон занятияпроведённое занятие, группа, расписание, посещаемость
программа из активностейкурс с enrollment, календарём и progress
олимпиадная подборка задачregistration, submission, official result, awards
public eligibility и projection fieldsrendering, SEO delivery, lead capture

Публичный каталог

Публичный каталог является public-safe projection поверх task-bank, а не отдельной базой.

Базовые URL-правила:

  • /tasks — каталог;
  • /tasks/<taskId> — canonical page задачи;
  • /tasks/topic/<path> — список по теме;
  • /tasks/source/<path> — список по источнику;
  • /tasks/tag/<slug> — список по тегу;
  • /tasks/search?q= — поиск, noindex follow.

Canonical URL задачи не зависит от topic path. Primary topic используется для breadcrumbs, SEO и related blocks. Public projection не раскрывает hidden answer keys, teacher-only notes, closed competition content и embargoed sources.

Олимпиады

Миролимп / task-bank владеет подготовкой задач, roles внутри набора (main, reserve, tie-breaker, sample), answer schema, rubrics, recommended scoring и locked snapshot для competitions.

Competitions владеет event, season, tour, registration, participants, submissions, official checking lifecycle, results, appeals, awards и publication.

LMS, кружки, интенсивы и тренажёры

Task-bank владеет activity/program templates:

  • занятие кружка;
  • домашнее задание;
  • тренажёр;
  • диагностика;
  • интенсив;
  • разбор олимпиады;
  • программа на 32 занятия;
  • трек подготовки.

LMS импортирует snapshot и создаёт свои lesson/course/training objects. LMS остаётся владельцем roster, schedule, assignments, learning attempts, progress и mastery contribution.

Snapshots

Внешние домены получают только published versions или locked snapshots. Snapshot фиксирует:

  • problem ids и problem version ids;
  • порядок, roles и section structure;
  • answer schema references;
  • scoring snapshot;
  • solution/hint visibility policy;
  • teacher/student comments, если consumer имеет право их видеть;
  • source lineage;
  • payload hash и lock time.

Изменение исходной задачи, подборки, activity template или program template после lock создаёт новую версию и новый snapshot. Locked snapshot не меняется in-place.

Связанные решения