Commit graph lct-hack/backend
Author SHA1 Message Date
kaifarikman
7577e7c58b test: закрыта утечка адреса в ДДС 2026-09-28 18:41:55 +00:00
kaifarikman
17e2fa7ce7 fix: скрыт адрес до доклада бригады 2026-09-28 18:41:55 +00:00
kaifarikman
e2d3c56576 lct-55: ошибка адреса и сообщение в 112 2026-09-28 18:41:55 +00:00
gglamer
4623c83927 fix: тесты паузы останавливают таймер DDS_ACK открытием карточки (lct-50) 2026-09-28 18:26:16 +00:00
gglamer
6d3ebb72c8 feat: реагирование смежных служб в карточке ДДС и вводная «бригада просит смежников» 2026-09-28 18:02:03 +00:00
gglamer
40660a6b08 Merge remote-tracking branch 'origin/main' into feat/decline-scenarios
# Conflicts:
#	docs/spec/GAP.md
2026-09-27 20:56:41 +00:00
gglamer
fe50b80863 Merge remote-tracking branch 'origin/main' into feat/dds-timers
# Conflicts:
#	backend/app/scoring/dispatcher.py
#	backend/app/scoring/export.py
#	backend/app/session/finish.py
#	docs/arch/CONTRACT.md
#	docs/spec/GAP.md
#	frontend/src/features/instructor/ScoreWeightsEditor.tsx
2026-09-27 20:56:09 +00:00
GGlamer
afde5bb24d Merge branch 'feat/cluster-auth-handshake'
fix: неизвестный узлу логин проверяется разово, не отзывается сразу
2026-09-27 23:48:38 +03:00
gglamer
0853c69c45 Merge remote-tracking branch 'origin/main' into feat/cluster-auth-handshake
# Conflicts:
#	docs/arch/SCALE-OUT.md
#	scripts/test_cluster_failover.py
2026-09-27 20:48:17 +00:00
Ivan Gerasimov
e090f8f36a lct-52: два сценария с эталонным отказом ДДС — дубль и чужая зона 2026-09-27 23:48:03 +03:00
GGlamer
bdf166040a Merge branch 'feat/dds-card-errors-wording'
lct-53: ДДС сообщает в 112 об ошибке карточки по докладу с места
2026-09-27 23:45:32 +03:00
Ivan Gerasimov
2e764c14a1 lct-53: ДДС сообщает в 112 об ошибке карточки по докладу с места, а не «не проверяет» 2026-09-27 23:44:02 +03:00
kaifarikman
69de5153db feat: учитывать правонарушение в КИО 2026-09-27 23:40:24 +03:00
kaifarikman
76fd4870ef docs: разобрать условия оповещения ЕКП 2026-09-27 23:40:24 +03:00
Ivan Gerasimov
87809f9b7e lct-50: таймеры ДДС — 30 с до открытия карточки, 3 минуты до первой записи 2026-09-27 23:38:10 +03:00
kaifarikman
51ce5dcf36 fix: норматив доклада только по выбору 2026-09-27 23:37:57 +03:00
kaifarikman
0029ad7a12 fix: пауза исключена из реакции на доклад 2026-09-27 23:33:46 +03:00
kaifarikman
a25a8dc08f chore: обновить паузу занятия от main
# Conflicts:
#	backend/app/scoring/dispatcher.py
#	backend/app/session/store.py
2026-09-27 23:30:18 +03:00
GGlamer
36cf3ff93f Merge branch 'feat/report-reaction'
lct-37: норматив реакции ДДС на доклад бригады
2026-09-27 23:27:49 +03:00
GGlamer
419c8fa8a6 chore: правки пауз вне строк из main, чтобы ветку обновить слиянием 2026-09-27 23:23:05 +03:00
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
fd9ebb4eb7 chore: слияние с main, разрешены конфликты в реестре занятий, сокете call и тесте checkpoint 2026-09-27 23:14:35 +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
f0db0e9f5e test: сквозная реакция на доклад через станцию, отказ от работ и восстановление из checkpoint 2026-09-27 22:40:20 +03:00
GGlamer
786757f758 fix: E-коды без карточки в связке 112 → ДДС, идемпотентная ручная отметка, ответ по строке после commit 2026-09-27 22:35:28 +03:00
GGlamer
6b623b5acf fix: BOM в экспорте CSV через имя символа вместо escape-кода 2026-09-27 22:35:16 +03:00
GGlamer
14fb35f711 fix: экспорт CSV снова держит BOM экранированным в исходнике 2026-09-27 22:33:42 +03:00
GGlamer
9928730942 fix: история решений по отметке, пересчёт кодов и баллов карточек, вес отметки преподавателя из весов занятия 2026-09-27 22:32:41 +03:00
GGlamer
0ebb87cb5e test: юнит-тесты реакции на доклад по формату нормативов времени, лимит в экспорте 2026-09-27 22:32:12 +03:00
GGlamer
87a24b20b8 fix: реакция на доклад бригады — норматив через time_metric, без штрафа при отказе от работ 2026-09-27 22:28:49 +03:00
GGlamer
04ee87cc81 test: таймаут разовой проверки, кэш отказа, запись версии узла в БД при сверке и входе 2026-09-27 22:28:02 +03:00
GGlamer
cdb066bd66 fix: разовая проверка логина с таймаутом и кэшем отказа, версия узла выше БД записывается в БД 2026-09-27 22:25:01 +03:00
GGlamer
30bf109ad0 fix: отказ kio.patch возвращает серверные значения, каталог служб проверяется на входе, без дублей с notify 2026-09-27 22:23:15 +03:00
GGlamer
c385138dd6 fix: пауза отклоняет директивы пульта и повторный запуск таймера, снимается после конца занятия 2026-09-27 22:23:12 +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
2856fcc848 fix: защитить вход на втором узле от гонок 2026-09-27 18:11:51 +03:00
kaifarikman
1c54eeaf36 lct-39: пауза останавливает действия и голос 2026-09-27 18:06:49 +03:00
kaifarikman
68ceb06d62 fix: сигнал не на связи переживает рестарт, самый строгий сигнал красит строку 2026-09-27 17:57:17 +03:00
kaifarikman
b4e5387b55 feat: сигналы реестра занятий: очередь, повторные отказы, курсант не на связи 2026-09-27 17:57:17 +03:00
kaifarikman
1467c2665c lct-39: пауза не искажает оценку ДДС и не блокирует завершённое занятие 2026-09-27 17:18:27 +03:00
kaifarikman
e52f41d11b fix: разовая проверка не затирает более свежий локальный отзыв
lct-42: стейл-ответ SELECT, пришедший после конкурентного invalidate_login
на том же узле, откатывал поколение назад и снова принимал отозванную
cookie. После ожидания перепроверяем кэш и не перезаписываем более свежее
значение. Детерминированный тест гонки; SCALE-OUT.md отделяет старые
замеры от непроверенного кластерным смоуком изменения.
2026-09-27 17:13:01 +03:00