Дизайн-система
Токены, примитивы, доменные компоненты и контракты. Источник смысла — docs/TZ-llmschool.md.
Основы
Семантические токены. Компоненты используют только их. Тёмная тема переключает значения, имена не меняются.
Поверхности и текст
--bg --surface --fg …bgsurfacesurface-sunkensurface-inverseborderborder-strongfgfg-mutedfg-subtleaccentaccent-softaccent-soft-fgСтатусы
success | warning | danger | infosuccesssuccess-softwarningwarning-softdangerdanger-softinfoinfo-softРежимы (ТЗ 3.1)
MODE_META[mode]Треки T1–T6 (ТЗ 4.1)
TRACK_META[track]Грейды Г0–Г5 (ТЗ 4.2)
GRADE_META[grade]Радиусы и тени
Типографика
Inter Variable для текста, JetBrains Mono для промптов, кода и ответов модели. Шкала — утилиты type-*.
Примитивы
Без доменного смысла. Доменные компоненты собираются из них.
Button
variant: primary|secondary|ghost|danger|soft · size: sm|md|lg · loadingBadge
tone · size · icon · dotField + Input / Textarea / Select
Field children(ctl) → <Input {...ctl} />Коротко, как в отчёте
Нет ограничения на факты
Tabs / Segmented
контролируемые, клавиатура ←/→Progress
ProgressBar(marker) · ProgressRingAlert / EmptyState / Skeleton
Записывай, где ИИ ошибся. Это материал для галереи провалов.
Dialog / Tooltip / Avatar / Kbd / Stat / CodeBlock / Divider
{
"supplier": "ООО Ромашка",
"inn": "7701234567"
}Доменные метки
Единственный способ показать режим, трек, грейд, тип задачи и 4D. Цвет всегда дублируется иконкой или текстом.
ModeBadge
variant: short | full | iconModeBanner / ModeGate
ТЗ 3.1, TUT-5TrackTag / GradeBadge / TaskTypeTag / FourDChips
Прогресс
Профиль по трекам (2.2), серия (10.2), mastery 80% (принцип 6), ступени (5.1).
TrackRadar
пунктир — входная диагностика
TrackProfileList
доступная альтернатива радару + XP
- T1ОсновыГ2420 / 600 XP
- T2КонтекстГ2610 / 800 XP
- T3ДокументыГ1180 / 300 XP
- T4КодГ040 / 100 XP
- T5АгентыГ1150 / 300 XP
- T6КачествоГ1230 / 300 XP
StreakWidget
GradeLadder
T2: текущий Г2, цель Г3
- Г0Пассажир
- Г1Осознанный пользователь
- Г2Практик
- Г3Инженер контекста
- Г4Строитель систем
- Г5Архитектор / наставник
ModuleCard
state: locked | available | in-progress | masteredStageRoadmap
- СтартГ0→Г1 · 4 нед.
- 2ПрактикГ1→Г2 · 6 нед.Сейчас
- 3СпециализацияГ2→Г3 · 8 нед.
- 4Строитель системГ3→Г4 · 8 нед.
- 5АрхитекторГ4→Г5 · 3–6 мес.
Урок
Единый шаблон из 7 шагов (ТЗ 5.2). Точка шага окрашена режимом.
LessonStepper
HookCard (шаг 1)
Штраф $5 000 за выдуманные прецеденты
PredictionCard (шаг 2)
Что сделает модель, если в счёте ошибка в итоговой сумме?
WorkedExample (шаг 4)
Сделай саммари договора
Договор поставки между сторонами… (общие слова, без сумм и сроков)
Нет цели и формата. Модель не знает, что важно читателю.
RecallQuiz (шаг 6)
Задача и оценка
Паспорт (7.2), автопроверки (F-6), рубрика (8.2), судья (F-7). Итоговую оценку ставит человек (8.1).
Промпт-апгрейд: письмо о задержке
Цель: Добавляет контекст аудитории и формат вывода
AttemptStatusBadge
AttemptStatusРезультат попытки
RubricTable в режиме ментора
onScore → клик по ячейке| Критерий | 1 — Не принято | 2 — Частично | 3 — Принято | 4 — Отлично |
|---|---|---|---|---|
| Постановка задачи | ||||
| Выбор инструмента | ||||
| Проверка | ||||
| Ответственность | ||||
| Эффект |
Типы задач K1–K14
Рабочие области по каталогу ТЗ 7.1. Жёлтая рамка — тип ещё не сделан.
K1 · PromptUpgradeWorkspace
Напиши письмо клиенту что поставка задерживается
Уважаемый клиент! К сожалению, ваша поставка задерживается до 15 ноября. Наш лучший менеджер Иван свяжется с вами… (ещё 280 слов)
K3 · DetectorText
segments · flagged · reviewedK4 · CtfLevelCard
K8 · MissionChecklist
Прил. А.4- 1. План в отдельном файле до первого изменения кодаPLAN.md @ 1a2b
- 2. Тесты написаны до реализации3c4d → 5e6f
- 3. Каждый коммит ≤ 1 логическое изменение7a8b: 14 файлов
- 4. AGENTS.md обновлён
- 5. Скрытые тесты проходят
K5 · ContextDietMeter
score = quality × min(1, budget / tokens)K6 · LogReview
Breunig: отравление / отвлечение / путаница / конфликтK7 · ExtractionDiff
поле-в-поле, precision / recall| Поставщик | ИНН | Дата | Итого |
|---|---|---|---|
| ООО Ромашка | 7701234567 | 02.10.2026 | 128 400 |
| ИП Орлов | 540123456789 | 05.10.2026 | 18 000 |
K10 · DuelCompare
Ответ клиенту о возврате, ≤ 80 слов
Здравствуйте! Вернуть товар можно в течение 14 дней…
Добрый день. По правилам магазина возврат — 14 дней с даты получения…
K11 · JaggedFrontierBoard
Ещё не сделаны
Песочница
ТЗ 7.3: токены, стоимость и время на каждом ответе. Квота и лимит трат (17.6).
QuotaMeter
UsageMeter
ИИ-тьютор
Сократический режим (ТЗ 11): гипотеза → подсказка по уровням. В режиме «Голова» выключен.
Ежедневка
ТЗ 9.1: 10–20 минут. Разминка, задача дня, дневник практики, рефлексия.
Почему галлюцинация — норма работы модели, а не сбой?
WorkLogForm
Где сегодня я применил ИИ в работе?
AiErrorLogForm
Где ИИ сегодня ошибся?
Диагностика и аттестация
Входной практикум (Прил. В), аттестация (8.3), очередь ментора (F-11), сертификат (8.5), портфолио (F-10).
DiagnosticProgress
- Г1ИИ справится / не справитсяT1 · 10 мин
- Г2Улучшить промптT2 · 10 мин
- 3Ответ в 15-страничном документеT3 · 10 мин
- 4Задача агенту по ошибкеT4 · 10 мин
- 5Разложить процесс на шагиT5 · 10 мин
- 6Найти 3 ошибки в ответеT6 · 10 мин
Г2 Практик
Портфолио + разбор
- Рабочий кейс 1K12Рабочий кейс
- Рабочий кейс 2K12Рабочий кейс
- Рабочий кейс 3K12Рабочий кейс
- ПрототипK9Сборка прототипа
- Созвон 30 мин
CertificateView
без слов «диплом», «удостоверение» (17.3)- • 10 рабочих задач с проверкой
- • Лендинг в app-builder
PortfolioGrid
Сообщество
Бейджи за артефакты, лиги по качеству (v2), галерея провалов, неделя когорты (9.2).
AchievementBadge
- 1ОБОльга Белова3.8
- 2АСАнна Смирнова3.6
- 3ПОПётр Орлов3.4
- 4ДЮДина Юсупова2.9
CohortSchedule
Поток 2026-10-A · группа 3
- Задача недели: отчёт по продажам10-12 09:00
- Дуэль промптов10-14 18:00
- Дедлайн модуля М2.210-16 23:59
- Живой разбор группы10-18 11:00
FailureStoryCard
Итог в счёте был с ошибкой. Модель молча пересчитала и не пометила. Поймал при сверке с банком.
Ссылка на несуществующую часть статьи. Проверил по КонсультантПлюс.
TODO-реестр
Полный список — `grep -rn 'TODO(' web/src`. Ниже — сводка по релизам ТЗ 12.1.
| Релиз | Область | Что сделать | Где |
|---|---|---|---|
| MVP | Архитектура | HTTP-адаптеры портов, формат ApiError | contracts/ports.ts |
| MVP | Архитектура | Аутентификация, меню профиля | layout/AppShell.tsx |
| MVP | Песочница F-4 | Стриминг через SandboxPort.send, токенизатор для оценки ввода | domain/sandbox.tsx |
| MVP | Биллинг 17.6 | Провайдер оплаты (54-ФЗ), единица «кредит», диалог лимита | domain/sandbox.tsx, contracts/billing.ts |
| v1 | Видео F-3 | Видео ≤ 7 мин на шаге концепции (концепцию закрывают текст и схема) | features/lessons/LessonScreen.tsx |
| v1 | Практика Э4 | Сдача живого прототипа/автоматизации в отдельной среде (F-13, K9) | features/lessons/LessonScreen.tsx |
| v1 | Аттестация F-11 | Подтверждение грейда Г1 ментором поверх предварительной аттестации М1.8 | features/auth/ProfileScreen.tsx |
| v1 | Прогоны Э7 | Деплой воркера прогонов и планировщика в контур РФ | compose.yaml, scripts/worker.ts |
| MVP | Диагностика F-2 | Адаптивная ветка на сервере | domain/assessment.tsx |
| MVP | Задачи | K2 контейнер прогона, K3 разбивка на сегменты, K6 объяснение для судьи | domain/task-widgets.tsx |
| MVP | XP F-9 | Формула XP→грейд, цена подсказки в XP, правила заморозок | domain/progress.tsx, domain/tutor.tsx |
| v1 | Тесты | Компонентные тесты (Vitest/Playwright CT), проверка клавиатуры и фокуса | ui/** |
| v1 | UI | Combobox, Tooltip flip, подсветка кода (shiki) | primitives/* |
| v1 | Задачи | K9, K12, K13, K14 рабочие области | domain/task-widgets.tsx |
| v1 | K4 / K8 | Изоляция CTF-агентов (F-14), облачная среда (F-13), анализ git | domain/task-widgets.tsx |
| v1 | Ментор F-11 | Калибровка менторов, сортировка очереди | domain/assessment.tsx |
| v1 | Сертификат F-18 | QR, страница проверки, PDF | domain/assessment.tsx |
| v1 | Портфолио F-10 | Загрузка, публичность по согласию | domain/assessment.tsx |
| v1 | Когорты F-12 | Внешний чат, напоминания | domain/community.tsx |
| v1 | Галерея | Модерация и обезличивание историй | domain/community.tsx |
| v2 | Лиги/дуэли F-15 | Формула качества, Эло, подбор пар | domain/community.tsx |