Commit graph lct-hack/backend
Author SHA1 Message Date
GGlamer
c72c2789c1 Merge branch 'feat/finding-review'
lct-35: разбор по отметкам — подтвердить, снять, добавить с пересчётом балла
2026-09-27 23:21:24 +03:00
GGlamer
2fe557bdb9 chore: импорты sessions.py без пересечения с правками main 2026-09-27 23:20:48 +03:00
GGlamer
466a221de1 chore: слияние с main, разрешены конфликты импортов в sessions.py 2026-09-27 23:15:04 +03:00
GGlamer
fdc5484646 Merge branch 'feat/service-catalog'
lct-38: каталог 209 служб из «СЛУЖБЫ 112» для ручного добавления в карточку
2026-09-27 23:04:30 +03:00
GGlamer
88621394e3 fix: BOM и нулевой пробел в экспорте CSV по имени символа вместо кода 2026-09-27 22:59:01 +03:00
GGlamer
902e285c6a fix: одинарное экранирование BOM и нулевого пробела в экспорте CSV 2026-09-27 22:54:00 +03:00
GGlamer
36bd9fbaad fix: вернуть экранированные BOM и нулевой пробел в экспорте CSV 2026-09-27 22:51:37 +03:00
GGlamer
7581fcfd07 test: история решений, связка 112 → ДДС, отказ при сбое аудита, разбор занятия из истории 2026-09-27 22:44:03 +03:00
GGlamer
76bda72e12 fix: балл после разбора в PDF, все решения по отметке в экспорте, вес отметки преподавателя в критериях 2026-09-27 22:41:27 +03:00
GGlamer
786757f758 fix: E-коды без карточки в связке 112 → ДДС, идемпотентная ручная отметка, ответ по строке после commit 2026-09-27 22:35:28 +03:00
GGlamer
9928730942 fix: история решений по отметке, пересчёт кодов и баллов карточек, вес отметки преподавателя из весов занятия 2026-09-27 22:32:41 +03:00
GGlamer
30bf109ad0 fix: отказ kio.patch возвращает серверные значения, каталог служб проверяется на входе, без дублей с notify 2026-09-27 22:23:15 +03:00
GGlamer
f264aa0267 fix: сигнал очереди считает только карточки без первичного статуса, критичность сигнала через TimerState 2026-09-27 22:20:49 +03:00
kaifarikman
9ac8372ac9 fix: повторять сохранение присутствия после сбоя 2026-09-27 18:19:09 +03:00
kaifarikman
336216b043 fix: учёт связи курсанта по сокетам и фазе ДДС 2026-09-27 18:14:51 +03:00
kaifarikman
68ceb06d62 fix: сигнал не на связи переживает рестарт, самый строгий сигнал красит строку 2026-09-27 17:57:17 +03:00
kaifarikman
b4e5387b55 feat: сигналы реестра занятий: очередь, повторные отказы, курсант не на связи 2026-09-27 17:57:17 +03:00
Ivan Gerasimov
6ce50c34f2 lct-38: каталог 209 служб из «СЛУЖБЫ 112» для ручного добавления в карточку 2026-09-27 16:52:11 +03:00
Ivan Gerasimov
c3132509ec test: HTTP-тесты разбора отметок не требуют PostgreSQL 2026-09-27 16:25:02 +03:00
Ivan Gerasimov
4489152c95 lct-35: преподаватель подтверждает, снимает и добавляет отметки D1–D6 с пересчётом балла 2026-09-27 16:13:21 +03:00
Ivan Gerasimov
a6eca72578 test: тесты не зависят от LLM-настроек личного .env и сети WSL2 2026-09-27 15:35:21 +03:00
Ivan Gerasimov
c68831d871 fix: отозванная cookie не оживает, когда логина нет в users 2026-09-27 15:35:20 +03:00
gglamer
9f2ef7691f refactor: оценка занятия по неизменяемому снимку, грамматика параметром, тесты без SimpleNamespace 2026-09-27 08:06:05 +00:00
gglamer
a11206527a refactor: одна функция метрики норматива времени для карточки 112 и карточки ДДС 2026-09-27 08:06:05 +00:00
gglamer
36a9862a94 refactor: общий вход в сокет занятия и выполнение команды с fencing вместо копий в четырёх каналах 2026-09-27 07:56:12 +00:00
gglamer
f9b6fafb7c refactor: завершение занятия — одна операция end_session вместо четырёх копий в сокетах 2026-09-27 07:40:31 +00:00
gglamer
0d7bbf39b3 refactor: lease занятий ведёт хаб поверх SessionStore, main и admin не читают реестр хаба напрямую 2026-09-26 23:17:04 +00:00
gglamer
47cb85ee02 refactor: запись хода занятия — один commit SessionStore на операцию вместо журнала и checkpoint
Правка балла с пульта и из отчёта идёт одной доменной операцией: раньше WS-путь не обновлял full_report живой сессии.
2026-09-26 22:48:24 +00:00
gglamer
72c6a7cfa3 refactor: снимок занятия — model_dump сохраняемой части сессии вместо ручного перечисления полей 2026-09-26 22:13:35 +00:00
gglamer
64313a62fb refactor: прогресс звонящего вынесен в модели SlotProgress и PersonaProgress 2026-09-26 22:13:35 +00:00
gglamer
fca353fdd0 refactor: правила пульта ДДС перенесены в DdsDesk.apply, сокет станции — только транспорт 2026-09-26 22:01:27 +00:00
gglamer
5a3761a830 refactor: пульт ДДС владеет живыми карточками, сессия не копирует их поля
Связка 112→ДДС больше не подменяет таймеры оператора таймерами первой
карточки ДДС, поэтому время заполнения карточки 112 снова попадает в оценку.
2026-09-26 21:38:09 +00:00
GGlamer
c0fa0a50a1 Merge branch 'feat/finish-card-status'
fix: card_status в отчёте ДДС берётся у карточки, активной при завершении
2026-09-27 00:12:18 +03:00
gglamer
12329e7c5d fix: card_status в отчёте ДДС берётся у карточки, активной при завершении 2026-09-26 21:12:00 +00:00
gglamer
a36ec619e4 fix: пульт не теряет команду при опросе fencing — чтение сокета больше не отменяется 2026-09-26 20:58:02 +00:00
gglamer
93c5f063f3 fix: кириллический шрифт DejaVu в пакете для экспорта PDF без системных шрифтов 2026-09-26 20:47:10 +00:00
GGlamer
02c86e457d Merge branch 'feat/dds-ack-limit'
lct-11: срок решения на пульте ДДС из снимка сервера
2026-09-26 23:01:15 +03:00
GGlamer
69de83f232 Merge branch 'feat/checkpoint-fields'
fix: снимок сессии сохраняет раскрытые факты и поля завершённых карточек ДДС
2026-09-26 23:01:11 +03:00
gglamer
83b7f8ffdd fix: timer.tick доходит до пульта ДДС 2026-09-26 19:57:43 +00:00
gglamer
eb5de96ed7 fix: снимок сессии сохраняет раскрытые факты и поля завершённых карточек ДДС 2026-09-26 19:56:50 +00:00
gglamer
1d6b4d67da fix: отчёт и чек-лист при передаче 112→ДДС по сценарию оператора 2026-09-26 19:55:12 +00:00
gglamer
491655de5c fix: сокеты dev не закрываются при недоступной БД поколений 2026-09-26 19:27:52 +00:00
gglamer
fb9c27977d perf: разбор библиотеки сценариев один раз на прогон тестов 2026-09-26 19:27:52 +00:00
gglamer
d26cf2365d perf: разбор YAML сценариев через libyaml 2026-09-26 19:27:52 +00:00
gglamer
daa4f8c4f1 fix: подключить рекомендации модели к разбору, убрать лишнюю проверку грамматики ответа ДДС, задать настроение персоне worried 2026-09-26 17:14:04 +00:00
andreysk0304
7237265833 Complete training workflow and acceptance hardening 2026-09-26 17:13:45 +00:00
andreysk0304
4c4b91064f Complete DDS training workflow and delivery package 2026-09-24 01:10:49 +03:00
andreysk0304
68dd83c7c2 Complete incident selection and 112 to DDS workflow 2026-09-21 20:10:57 +03:00
andreysk0304
0526b11f91 Implement DDS exercise, customer UI and local demo 2026-09-21 19:56:13 +03:00
andreysk0304
cec84ffcd0 Implement local task 09 training workflows 2026-09-21 17:40:54 +03:00