Commit graph

  • a3224cb63a feat: учётки стенда заводятся при старте, пароль совпадает с логином main gglamer 2026-09-29 12:18:17 +00:00
  • 7f8501696e feat: стенд открыт в локальную сеть, база только на loopback gglamer 2026-09-29 11:47:14 +00:00
  • 92b4684871 fix: запуск занятия по HTTP в локальной сети без crypto.randomUUID gglamer 2026-09-29 11:06:19 +00:00
  • 35ff14f2ea build: образы из зеркала registry.gglamer.ru/pub, postgres тоже оттуда gglamer 2026-09-28 23:08:38 +00:00
  • 901be88f04 feat: один прод-compose со всеми моделями из готовых образов gglamer 2026-09-28 21:14:38 +00:00
  • 305951fc68 feat: сервисы моделей compose пропускаются офлайн-проверкой адреса gglamer 2026-09-28 21:14:38 +00:00
  • 7577e7c58b test: закрыта утечка адреса в ДДС kaifarikman 2026-09-28 01:09:38 +03:00
  • 17e2fa7ce7 fix: скрыт адрес до доклада бригады kaifarikman 2026-09-28 01:06:02 +03:00
  • e2d3c56576 lct-55: ошибка адреса и сообщение в 112 kaifarikman 2026-09-28 00:55:28 +03:00
  • 4623c83927 fix: тесты паузы останавливают таймер DDS_ACK открытием карточки (lct-50) gglamer 2026-09-28 18:26:16 +00:00
  • 6d3ebb72c8 feat: реагирование смежных служб в карточке ДДС и вводная «бригада просит смежников» gglamer 2026-09-28 18:02:03 +00:00
  • 40660a6b08 Merge remote-tracking branch 'origin/main' into feat/decline-scenarios gglamer 2026-09-27 20:56:41 +00:00
  • fe50b80863 Merge remote-tracking branch 'origin/main' into feat/dds-timers gglamer 2026-09-27 20:56:09 +00:00
  • 70a629d21a Merge branch 'feat/superior-voice' GGlamer 2026-09-27 23:51:36 +03:00
  • afde5bb24d Merge branch 'feat/cluster-auth-handshake' GGlamer 2026-09-27 23:48:38 +03:00
  • 0853c69c45 Merge remote-tracking branch 'origin/main' into feat/cluster-auth-handshake gglamer 2026-09-27 20:48:17 +00:00
  • e090f8f36a lct-52: два сценария с эталонным отказом ДДС — дубль и чужая зона Ivan Gerasimov 2026-09-27 23:48:03 +03:00
  • bdf166040a Merge branch 'feat/dds-card-errors-wording' GGlamer 2026-09-27 23:45:32 +03:00
  • 2e764c14a1 lct-53: ДДС сообщает в 112 об ошибке карточки по докладу с места, а не «не проверяет» Ivan Gerasimov 2026-09-27 23:44:02 +03:00
  • 791730b2ff lct-51: голосовой маршрут ДДС — вышестоящий начальник через WebRTC 6103 с записью Ivan Gerasimov 2026-09-27 23:41:15 +03:00
  • 69de5153db feat: учитывать правонарушение в КИО kaifarikman 2026-09-27 23:38:20 +03:00
  • 76fd4870ef docs: разобрать условия оповещения ЕКП kaifarikman 2026-09-27 23:30:59 +03:00
  • 87809f9b7e lct-50: таймеры ДДС — 30 с до открытия карточки, 3 минуты до первой записи Ivan Gerasimov 2026-09-27 23:38:10 +03:00
  • 51ce5dcf36 fix: норматив доклада только по выбору kaifarikman 2026-09-27 23:37:57 +03:00
  • 0029ad7a12 fix: пауза исключена из реакции на доклад kaifarikman 2026-09-27 23:33:46 +03:00
  • a25a8dc08f chore: обновить паузу занятия от main kaifarikman 2026-09-27 23:30:18 +03:00
  • 36cf3ff93f Merge branch 'feat/report-reaction' GGlamer 2026-09-27 23:27:49 +03:00
  • 419c8fa8a6 chore: правки пауз вне строк из main, чтобы ветку обновить слиянием GGlamer 2026-09-27 23:23:05 +03:00
  • c72c2789c1 Merge branch 'feat/finding-review' GGlamer 2026-09-27 23:21:24 +03:00
  • 2fe557bdb9 chore: импорты sessions.py без пересечения с правками main GGlamer 2026-09-27 23:20:48 +03:00
  • 263558a1a0 chore: слияние с main, разрешены конфликты в partition smoke и SCALE-OUT GGlamer 2026-09-27 23:15:17 +03:00
  • 466a221de1 chore: слияние с main, разрешены конфликты импортов в sessions.py GGlamer 2026-09-27 23:15:04 +03:00
  • fd9ebb4eb7 chore: слияние с main, разрешены конфликты в реестре занятий, сокете call и тесте checkpoint GGlamer 2026-09-27 23:14:35 +03:00
  • 15fdb3a144 fix: балл карточки после разбора в итоге упражнения ДДС GGlamer 2026-09-27 23:08:12 +03:00
  • fb0368b1b0 fix: разбор показывает все решения и балл карточки после разбора, вес отметки преподавателя в настройке GGlamer 2026-09-27 23:04:54 +03:00
  • fdc5484646 Merge branch 'feat/service-catalog' GGlamer 2026-09-27 23:04:30 +03:00
  • 3bebdbb803 Merge branch 'feat/session-signals' GGlamer 2026-09-27 23:04:21 +03:00
  • a0d55c750f Merge branch 'feat/cluster-close-code' GGlamer 2026-09-27 23:04:07 +03:00
  • 88621394e3 fix: BOM и нулевой пробел в экспорте CSV по имени символа вместо кода GGlamer 2026-09-27 22:59:01 +03:00
  • 902e285c6a fix: одинарное экранирование BOM и нулевого пробела в экспорте CSV GGlamer 2026-09-27 22:54:00 +03:00
  • 36bd9fbaad fix: вернуть экранированные BOM и нулевой пробел в экспорте CSV GGlamer 2026-09-27 22:51:37 +03:00
  • 5a7e08051e fix: форма разбора с историей решений, выбором карточки только для D-кодов и ключом повтора GGlamer 2026-09-27 22:48:50 +03:00
  • 7581fcfd07 test: история решений, связка 112 → ДДС, отказ при сбое аудита, разбор занятия из истории GGlamer 2026-09-27 22:44:03 +03:00
  • 76bda72e12 fix: балл после разбора в PDF, все решения по отметке в экспорте, вес отметки преподавателя в критериях GGlamer 2026-09-27 22:41:27 +03:00
  • f0db0e9f5e test: сквозная реакция на доклад через станцию, отказ от работ и восстановление из checkpoint GGlamer 2026-09-27 22:40:20 +03:00
  • 7e5dffef9c fix: строка пауз в разборе только при паузах GGlamer 2026-09-27 22:37:19 +03:00
  • 786757f758 fix: E-коды без карточки в связке 112 → ДДС, идемпотентная ручная отметка, ответ по строке после commit GGlamer 2026-09-27 22:35:28 +03:00
  • 6b623b5acf fix: BOM в экспорте CSV через имя символа вместо escape-кода GGlamer 2026-09-27 22:35:16 +03:00
  • 14fb35f711 fix: экспорт CSV снова держит BOM экранированным в исходнике GGlamer 2026-09-27 22:33:42 +03:00
  • 9928730942 fix: история решений по отметке, пересчёт кодов и баллов карточек, вес отметки преподавателя из весов занятия GGlamer 2026-09-27 22:32:41 +03:00
  • 0ebb87cb5e test: юнит-тесты реакции на доклад по формату нормативов времени, лимит в экспорте GGlamer 2026-09-27 22:32:12 +03:00
  • 53536291d3 fix: директивы неактивны на паузе, отложенные правки не уходят в закрытое занятие GGlamer 2026-09-27 22:30:18 +03:00
  • 77eb0962af test: смоук доказывает разовую проверку логина на B по журналу, время от создания учёток GGlamer 2026-09-27 22:29:57 +03:00
  • 50305bf4b8 fix: строка добавленных служб на АРМ ДДС без пустого значения, пикер с лимитом 20 и без служб из notify GGlamer 2026-09-27 22:29:33 +03:00
  • 87a24b20b8 fix: реакция на доклад бригады — норматив через time_metric, без штрафа при отказе от работ GGlamer 2026-09-27 22:28:49 +03:00
  • 04ee87cc81 test: таймаут разовой проверки, кэш отказа, запись версии узла в БД при сверке и входе GGlamer 2026-09-27 22:28:02 +03:00
  • cdb066bd66 fix: разовая проверка логина с таймаутом и кэшем отказа, версия узла выше БД записывается в БД GGlamer 2026-09-27 22:25:01 +03:00
  • 30bf109ad0 fix: отказ kio.patch возвращает серверные значения, каталог служб проверяется на входе, без дублей с notify GGlamer 2026-09-27 22:23:15 +03:00
  • c385138dd6 fix: пауза отклоняет директивы пульта и повторный запуск таймера, снимается после конца занятия GGlamer 2026-09-27 22:23:12 +03:00
  • f264aa0267 fix: сигнал очереди считает только карточки без первичного статуса, критичность сигнала через TimerState GGlamer 2026-09-27 22:20:49 +03:00
  • 1ef397c06a fix: partition smoke проверяет fencing при свежем auth и отказ записи старого владельца после обрыва БД GGlamer 2026-09-27 22:20:14 +03:00
  • 9ac8372ac9 fix: повторять сохранение присутствия после сбоя kaifarikman 2026-09-27 18:19:09 +03:00
  • 336216b043 fix: учёт связи курсанта по сокетам и фазе ДДС kaifarikman 2026-09-27 18:14:51 +03:00
  • 2856fcc848 fix: защитить вход на втором узле от гонок kaifarikman 2026-09-27 18:11:51 +03:00
  • 1c54eeaf36 lct-39: пауза останавливает действия и голос kaifarikman 2026-09-27 18:06:49 +03:00
  • 68ceb06d62 fix: сигнал не на связи переживает рестарт, самый строгий сигнал красит строку kaifarikman 2026-09-27 17:22:10 +03:00
  • b4e5387b55 feat: сигналы реестра занятий: очередь, повторные отказы, курсант не на связи kaifarikman 2026-09-27 17:16:21 +03:00
  • 1467c2665c lct-39: пауза не искажает оценку ДДС и не блокирует завершённое занятие kaifarikman 2026-09-27 17:18:27 +03:00
  • e52f41d11b fix: разовая проверка не затирает более свежий локальный отзыв kaifarikman 2026-09-27 17:13:01 +03:00
  • 313f6a5889 fix: неизвестный узлу логин проверяется разово, не отзывается сразу kaifarikman 2026-09-27 17:05:29 +03:00
  • 6ce50c34f2 lct-38: каталог 209 служб из «СЛУЖБЫ 112» для ручного добавления в карточку Ivan Gerasimov 2026-09-27 16:52:11 +03:00
  • 1a788098d0 lct-39: пауза занятия с пульта, таймеры и очередь ДДС стоят на время простоя kaifarikman 2026-09-27 16:35:13 +03:00
  • 3babb127f1 lct-37: норматив реакции ДДС на доклад бригады, отметка D6 и настраиваемый лимит Ivan Gerasimov 2026-09-27 16:26:10 +03:00
  • c3132509ec test: HTTP-тесты разбора отметок не требуют PostgreSQL Ivan Gerasimov 2026-09-27 16:25:02 +03:00
  • 4489152c95 lct-35: преподаватель подтверждает, снимает и добавляет отметки D1–D6 с пересчётом балла Ivan Gerasimov 2026-09-27 16:13:21 +03:00
  • 9e42f176b7 fix: partition smoke засчитывает 1012 и 1013 как fail-closed закрытие каналов Ivan Gerasimov 2026-09-27 15:41:41 +03:00
  • a6eca72578 test: тесты не зависят от LLM-настроек личного .env и сети WSL2 Ivan Gerasimov 2026-09-27 15:35:21 +03:00
  • c68831d871 fix: отозванная cookie не оживает, когда логина нет в users Ivan Gerasimov 2026-09-27 15:35:20 +03:00
  • b71ec37436 docs: README для жюри со скриншотами экранов GGlamer 2026-09-27 13:20:56 +03:00
  • 9f2ef7691f refactor: оценка занятия по неизменяемому снимку, грамматика параметром, тесты без SimpleNamespace gglamer 2026-09-27 08:06:05 +00:00
  • a11206527a refactor: одна функция метрики норматива времени для карточки 112 и карточки ДДС gglamer 2026-09-27 08:06:05 +00:00
  • 36a9862a94 refactor: общий вход в сокет занятия и выполнение команды с fencing вместо копий в четырёх каналах gglamer 2026-09-27 07:56:12 +00:00
  • f9b6fafb7c refactor: завершение занятия — одна операция end_session вместо четырёх копий в сокетах gglamer 2026-09-27 07:40:31 +00:00
  • 0d7bbf39b3 refactor: lease занятий ведёт хаб поверх SessionStore, main и admin не читают реестр хаба напрямую gglamer 2026-09-26 23:17:04 +00:00
  • 47cb85ee02 refactor: запись хода занятия — один commit SessionStore на операцию вместо журнала и checkpoint gglamer 2026-09-26 22:48:24 +00:00
  • 72c6a7cfa3 refactor: снимок занятия — model_dump сохраняемой части сессии вместо ручного перечисления полей gglamer 2026-09-26 22:13:35 +00:00
  • 64313a62fb refactor: прогресс звонящего вынесен в модели SlotProgress и PersonaProgress gglamer 2026-09-26 22:13:35 +00:00
  • fca353fdd0 refactor: правила пульта ДДС перенесены в DdsDesk.apply, сокет станции — только транспорт gglamer 2026-09-26 22:01:27 +00:00
  • 5a3761a830 refactor: пульт ДДС владеет живыми карточками, сессия не копирует их поля gglamer 2026-09-26 21:38:09 +00:00
  • c0fa0a50a1 Merge branch 'feat/finish-card-status' GGlamer 2026-09-27 00:12:18 +03:00
  • 12329e7c5d fix: card_status в отчёте ДДС берётся у карточки, активной при завершении gglamer 2026-09-26 21:12:00 +00:00
  • 783b63a683 Merge branch 'feat/session-report-hook' GGlamer 2026-09-27 00:09:40 +03:00
  • 3dc116534d refactor: useControl.start принимает объект параметров вместо 14 позиционных gglamer 2026-09-26 20:59:50 +00:00
  • f6d0653e68 refactor: отчёт сессии загружается одним hook useSessionReport с повтором 409 gglamer 2026-09-26 20:59:50 +00:00
  • a36ec619e4 fix: пульт не теряет команду при опросе fencing — чтение сокета больше не отменяется gglamer 2026-09-26 20:58:02 +00:00
  • 93c5f063f3 fix: кириллический шрифт DejaVu в пакете для экспорта PDF без системных шрифтов gglamer 2026-09-26 20:47:10 +00:00
  • 02c86e457d Merge branch 'feat/dds-ack-limit' GGlamer 2026-09-26 23:01:15 +03:00
  • 69de83f232 Merge branch 'feat/checkpoint-fields' GGlamer 2026-09-26 23:01:11 +03:00
  • 47bda8fba9 lct-11: срок решения на пульте ДДС из снимка сервера gglamer 2026-09-26 19:53:48 +00:00
  • 83b7f8ffdd fix: timer.tick доходит до пульта ДДС gglamer 2026-09-26 19:53:45 +00:00