GGlamer
|
b66cf14e3f
|
Merge branch 'feat/report-reaction'
lct-37: норматив реакции ДДС на доклад бригады
|
2026-09-27 23:27:49 +03:00 |
|
GGlamer
|
c1a67badbf
|
Merge branch 'feat/finding-review'
lct-35: разбор по отметкам — подтвердить, снять, добавить с пересчётом балла
|
2026-09-27 23:21:24 +03:00 |
|
GGlamer
|
08e9d076f4
|
chore: импорты sessions.py без пересечения с правками main
|
2026-09-27 23:20:48 +03:00 |
|
GGlamer
|
62d1010b79
|
chore: слияние с main, разрешены конфликты импортов в sessions.py
|
2026-09-27 23:15:04 +03:00 |
|
GGlamer
|
7abbce0ef8
|
fix: балл карточки после разбора в итоге упражнения ДДС
|
2026-09-27 23:08:12 +03:00 |
|
GGlamer
|
a848f89da0
|
fix: разбор показывает все решения и балл карточки после разбора, вес отметки преподавателя в настройке
|
2026-09-27 23:04:54 +03:00 |
|
GGlamer
|
8ff51a8955
|
Merge branch 'feat/service-catalog'
lct-38: каталог 209 служб из «СЛУЖБЫ 112» для ручного добавления в карточку
|
2026-09-27 23:04:30 +03:00 |
|
GGlamer
|
6f1c951e35
|
Merge branch 'feat/session-signals'
Сигналы реестра занятий: очередь, повторные отказы, курсант не на связи
|
2026-09-27 23:04:21 +03:00 |
|
GGlamer
|
7f0bf7943b
|
Merge branch 'feat/cluster-close-code'
fix: partition smoke засчитывает 1012 и 1013 как fail-closed закрытие каналов
|
2026-09-27 23:04:07 +03:00 |
|
GGlamer
|
b61036b6fc
|
fix: BOM и нулевой пробел в экспорте CSV по имени символа вместо кода
|
2026-09-27 22:59:01 +03:00 |
|
GGlamer
|
2b4516a6a8
|
fix: одинарное экранирование BOM и нулевого пробела в экспорте CSV
|
2026-09-27 22:54:00 +03:00 |
|
GGlamer
|
61662c9d09
|
fix: вернуть экранированные BOM и нулевой пробел в экспорте CSV
|
2026-09-27 22:51:37 +03:00 |
|
GGlamer
|
0d54fcc893
|
fix: форма разбора с историей решений, выбором карточки только для D-кодов и ключом повтора
|
2026-09-27 22:48:50 +03:00 |
|
GGlamer
|
eefb5e75fe
|
test: история решений, связка 112 → ДДС, отказ при сбое аудита, разбор занятия из истории
|
2026-09-27 22:44:03 +03:00 |
|
GGlamer
|
871832d5ca
|
fix: балл после разбора в PDF, все решения по отметке в экспорте, вес отметки преподавателя в критериях
|
2026-09-27 22:41:27 +03:00 |
|
GGlamer
|
7b9987e78f
|
test: сквозная реакция на доклад через станцию, отказ от работ и восстановление из checkpoint
|
2026-09-27 22:40:20 +03:00 |
|
GGlamer
|
da740dce7f
|
fix: E-коды без карточки в связке 112 → ДДС, идемпотентная ручная отметка, ответ по строке после commit
|
2026-09-27 22:35:28 +03:00 |
|
GGlamer
|
21f695344b
|
fix: BOM в экспорте CSV через имя символа вместо escape-кода
|
2026-09-27 22:35:16 +03:00 |
|
GGlamer
|
4747b0a118
|
fix: экспорт CSV снова держит BOM экранированным в исходнике
|
2026-09-27 22:33:42 +03:00 |
|
GGlamer
|
db8787c6b3
|
fix: история решений по отметке, пересчёт кодов и баллов карточек, вес отметки преподавателя из весов занятия
|
2026-09-27 22:32:41 +03:00 |
|
GGlamer
|
59fcbb3d6b
|
test: юнит-тесты реакции на доклад по формату нормативов времени, лимит в экспорте
|
2026-09-27 22:32:12 +03:00 |
|
GGlamer
|
01e128c22d
|
fix: строка добавленных служб на АРМ ДДС без пустого значения, пикер с лимитом 20 и без служб из notify
|
2026-09-27 22:29:33 +03:00 |
|
GGlamer
|
83709b8b1e
|
fix: реакция на доклад бригады — норматив через time_metric, без штрафа при отказе от работ
|
2026-09-27 22:28:49 +03:00 |
|
GGlamer
|
f9d2c2cc77
|
fix: отказ kio.patch возвращает серверные значения, каталог служб проверяется на входе, без дублей с notify
|
2026-09-27 22:23:15 +03:00 |
|
GGlamer
|
43d87c59af
|
fix: сигнал очереди считает только карточки без первичного статуса, критичность сигнала через TimerState
|
2026-09-27 22:20:49 +03:00 |
|
GGlamer
|
5f8dd98e39
|
fix: partition smoke проверяет fencing при свежем auth и отказ записи старого владельца после обрыва БД
|
2026-09-27 22:20:14 +03:00 |
|
kaifarikman
|
9dd7ac425b
|
fix: повторять сохранение присутствия после сбоя
|
2026-09-27 18:19:09 +03:00 |
|
kaifarikman
|
57c3ff5a5c
|
fix: учёт связи курсанта по сокетам и фазе ДДС
|
2026-09-27 18:14:51 +03:00 |
|
kaifarikman
|
2757a34ed5
|
fix: сигнал не на связи переживает рестарт, самый строгий сигнал красит строку
|
2026-09-27 17:57:17 +03:00 |
|
kaifarikman
|
69b483f570
|
feat: сигналы реестра занятий: очередь, повторные отказы, курсант не на связи
|
2026-09-27 17:57:17 +03:00 |
|
Ivan Gerasimov
|
3ce3e768e1
|
lct-38: каталог 209 служб из «СЛУЖБЫ 112» для ручного добавления в карточку
|
2026-09-27 16:52:11 +03:00 |
|
Ivan Gerasimov
|
a998b0c2f7
|
lct-37: норматив реакции ДДС на доклад бригады, отметка D6 и настраиваемый лимит
|
2026-09-27 16:26:13 +03:00 |
|
Ivan Gerasimov
|
3f5f57877a
|
test: HTTP-тесты разбора отметок не требуют PostgreSQL
|
2026-09-27 16:25:02 +03:00 |
|
Ivan Gerasimov
|
f98c464f4b
|
lct-35: преподаватель подтверждает, снимает и добавляет отметки D1–D6 с пересчётом балла
|
2026-09-27 16:13:21 +03:00 |
|
Ivan Gerasimov
|
b1797786d2
|
fix: partition smoke засчитывает 1012 и 1013 как fail-closed закрытие каналов
|
2026-09-27 15:41:41 +03:00 |
|
Ivan Gerasimov
|
aa6860fc6c
|
test: тесты не зависят от LLM-настроек личного .env и сети WSL2
|
2026-09-27 15:35:21 +03:00 |
|
Ivan Gerasimov
|
a2ce08f46a
|
fix: отозванная cookie не оживает, когда логина нет в users
|
2026-09-27 15:35:20 +03:00 |
|
GGlamer
|
b4420cea16
|
docs: README для жюри со скриншотами экранов
|
2026-09-27 13:20:56 +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 |
|