THE MIND LAB · CONTENT + RESOURCE BUILDER

Два независимых production package из одного экрана

Слева логика lesson-body, отдельно resources. Исходники читаются только в браузере и не отправляются на WordPress. Состав форм каждого курса задаёт встроенный реестр Form System.

v6.4.0 · FORM SYSTEM r1 · TILE v4.3
1. Идентичность урока
Course slug Можно оставить пустым — Builder попробует определить slug из content.md. Подсказки: курсы из реестра Form System и до 5 недавних курсов этого браузера. Для Resource Package курс обязан быть зарегистрирован в реестре.
Реестр форм · Form System
2A. Lesson Package · основной урок
2B. Resource Package · автономные формы

Это отдельный компилятор. Формы никогда не вкладываются в Lesson ZIP. Можно выбрать сразу все формы или любое их подмножество; .html/.txt не определяет тип — читается содержимое и resource passport/root. Strict gate: resource_slug, capabilities, presentation set и body-only canon берутся из закрытого реестра Form System, а допустимость формы для курса — из политики курса. Общая оболочка ресурса запрещена: Host добавит back/title/A-A+/status/sibling rail сам. Неизвестный тип, форма, выключенная политикой курса, неверный course/lesson/key, старый runtime/API или неправильный state-contract блокируют ZIP. Причины раскрываются прямо под проблемной формой.

Формы ещё не выбраны.
3. Правила и независимость пакетов
Two-Package invariant · Lesson ZIP не содержит resources. Resource ZIP не содержит lesson-body. Ошибка resource блокирует только Resource Package; ошибка lesson-body блокирует только Lesson Package.
Strict Resource Gate v1.2 · identity формы не переписывается. Ошибка показывается у конкретного файла.
Course Policy Gate · курс должен быть в реестре Form System; форма должна быть включена политикой курса. Отсутствие формы в этом ZIP не означает её удаление из урока — активный набор задаёт политика курса.
Для первой сборки загрузите lesson-файлы в секцию 2A и полные presentation set нужных форм в 2B, затем «Собрать оба ZIP». В дальнейшем любой пакет можно собирать независимо.