В подборе диссертационного совета больше нельзя выбрать отрасль, не относящуюся к специальностям сайта. Для всех специальностей доступны технические и физико-математические науки; для 1.1.2 — только физико-математические, для 2.3.2 — только технические. При смене специальности форма сохраняет допустимую отрасль или автоматически выбирает подходящую.
Допустимые отрасли записаны в справочник на основании сохранённых паспортов ВАК и сохраняются при его регенерации. Сервер отклоняет несовместимые сочетания для списка, карточек публикаций и XLSX. Справка показывает только применимые пороги.
Исправлено замечание P2 первого ревью: без JavaScript форма передаёт предыдущую специальность. Если старая отрасль стала несовместимой при смене специальности, сервер выбирает допустимую отрасль нового выбора. Поиск и сортировка сохраняются, переходы работают и при скачивании XLSX. Несовместимые прямые запросы без корректного контекста смены специальности по-прежнему получают 422.
Версия приложения, frontend и backend: 1.2.3. Проверки: pytest — 408 passed, 11 skipped; браузерный сценарий council — пройден с JavaScript и без него, включая переходы 2.3.2 ↔ 1.1.2 и XLSX; node --check council.js и git diff --check — пройдены.
Ожидается повторное независимое ревью в отдельной сессии. Changelog будет обновлён после ревью по указанию пользователя.
В подборе диссертационного совета больше нельзя выбрать отрасль, не относящуюся к специальностям сайта. Для всех специальностей доступны технические и физико-математические науки; для 1.1.2 — только физико-математические, для 2.3.2 — только технические. При смене специальности форма сохраняет допустимую отрасль или автоматически выбирает подходящую.
Допустимые отрасли записаны в справочник на основании сохранённых паспортов ВАК и сохраняются при его регенерации. Сервер отклоняет несовместимые сочетания для списка, карточек публикаций и XLSX. Справка показывает только применимые пороги.
Исправлено замечание P2 первого ревью: без JavaScript форма передаёт предыдущую специальность. Если старая отрасль стала несовместимой при смене специальности, сервер выбирает допустимую отрасль нового выбора. Поиск и сортировка сохраняются, переходы работают и при скачивании XLSX. Несовместимые прямые запросы без корректного контекста смены специальности по-прежнему получают 422.
Версия приложения, frontend и backend: 1.2.3. Проверки: pytest — 408 passed, 11 skipped; браузерный сценарий council — пройден с JavaScript и без него, включая переходы 2.3.2 ↔ 1.1.2 и XLSX; node --check council.js и git diff --check — пройдены.
Ожидается повторное независимое ревью в отдельной сессии. Changelog будет обновлён после ревью по указанию пользователя.
Независимое ревью коммита 3359ea2f86. Origin сверён с репозиторием PR; reviewer agent (id=7) отличается от автора PR и коммита codex (id=6). Найдена одна регрессия P2: переключение специальности в форме без JavaScript может отправить несовместимую отрасль и лишить пользователя возможности исправить параметры. Подробности в комментарии к коду. Проверены изменённые файлы и вызовы общего сервиса из списка, карточек, XLSX и редактора; git diff --check прошёл. Тесты и браузер не запускались: режим этой сессии разрешает только fetch/read/diff/comment/approval. Заявленные автором 405 passed независимо не подтверждены; CI на момент ревью pending. Поля отраслей в PDF-паспортах независимо не извлечены: в среде отсутствует PDF reader. Правки, push и merge не выполнялись.
Независимое ревью коммита 3359ea2f868b21e3595eec9c5eaf71dd938a2999. Origin сверён с репозиторием PR; reviewer agent (id=7) отличается от автора PR и коммита codex (id=6). Найдена одна регрессия P2: переключение специальности в форме без JavaScript может отправить несовместимую отрасль и лишить пользователя возможности исправить параметры. Подробности в комментарии к коду. Проверены изменённые файлы и вызовы общего сервиса из списка, карточек, XLSX и редактора; git diff --check прошёл. Тесты и браузер не запускались: режим этой сессии разрешает только fetch/read/diff/comment/approval. Заявленные автором 405 passed независимо не подтверждены; CI на момент ревью pending. Поля отраслей в PDF-паспортах независимо не извлечены: в среде отсутствует PDF reader. Правки, push и merge не выполнялись.
[P2] Сохранить возможность смены специальности без JavaScript. Теперь branches содержит только отрасли текущей специальности, и шаблон выводит только эти options. В уже поддерживаемом режиме без JS (страница содержит noscript-ссылки на публикации) откройте /admin/council?specialty=2.3.2&branch=технические, выберите 1.1.2 и нажмите Применить или Скачать XLSX: единственная доступная отрасль остаётся технические, поэтому новая проверка возвращает 422. На странице ошибки фильтры скрыты, выбрать допустимую физико-математическую отрасль невозможно; остаётся сбросить все параметры. Аналогично после 1.1.2 нельзя напрямую перейти на 2.3.2. Нужен серверный fallback смены специальности, сохраняющий строгую проверку явно заданных несовместимых пар, и проверка этого сценария с отключённым JS.
[P2] Сохранить возможность смены специальности без JavaScript. Теперь branches содержит только отрасли текущей специальности, и шаблон выводит только эти options. В уже поддерживаемом режиме без JS (страница содержит noscript-ссылки на публикации) откройте /admin/council?specialty=2.3.2&branch=технические, выберите 1.1.2 и нажмите Применить или Скачать XLSX: единственная доступная отрасль остаётся технические, поэтому новая проверка возвращает 422. На странице ошибки фильтры скрыты, выбрать допустимую физико-математическую отрасль невозможно; остаётся сбросить все параметры. Аналогично после 1.1.2 нельзя напрямую перейти на 2.3.2. Нужен серверный fallback смены специальности, сохраняющий строгую проверку явно заданных несовместимых пар, и проверка этого сценария с отключённым JS.
Повторное независимое ревью коммита 9d788b0663 (изменения после 3359ea2). Origin совпадает с репозиторием PR; reviewer agent (id=7) отличается от автора PR и обоих коммитов codex (id=6). Прежнее замечание P2 устранено по результатам чтения кода: hidden previous_specialty передаёт предыдущий выбор, общий сервис нормализует отрасль при смене специальности, обработчики списка и XLSX используют этот контекст. В результат, карточки и пагинацию попадает уже допустимая отрасль. Прямые несовместимые запросы без контекста смены, с неизменившейся или неизвестной предыдущей специальностью отклоняются; отрасли вне справочника также не нормализуются. Изучены добавленные HTTP-проверки и браузерный сценарий с отключённым JavaScript, включая переходы 2.3.2 ↔ 1.1.2, XLSX и сохранение поиска/сортировки. Новых замечаний не найдено. git diff --check для полного PR прошёл; версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались: роль сессии ограничена fetch/read/diff/comment/approval. Заявленные автором 408 passed, 11 skipped независимо не подтверждены; CI на момент проверки pending. Approval относится к проверке кода и исправлению P2. Правки, push и merge не выполнялись.
Повторное независимое ревью коммита 9d788b0663e042dc4f611c7bfe92b8090acef88b (изменения после 3359ea2). Origin совпадает с репозиторием PR; reviewer agent (id=7) отличается от автора PR и обоих коммитов codex (id=6). Прежнее замечание P2 устранено по результатам чтения кода: hidden previous_specialty передаёт предыдущий выбор, общий сервис нормализует отрасль при смене специальности, обработчики списка и XLSX используют этот контекст. В результат, карточки и пагинацию попадает уже допустимая отрасль. Прямые несовместимые запросы без контекста смены, с неизменившейся или неизвестной предыдущей специальностью отклоняются; отрасли вне справочника также не нормализуются. Изучены добавленные HTTP-проверки и браузерный сценарий с отключённым JavaScript, включая переходы 2.3.2 ↔ 1.1.2, XLSX и сохранение поиска/сортировки. Новых замечаний не найдено. git diff --check для полного PR прошёл; версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались: роль сессии ограничена fetch/read/diff/comment/approval. Заявленные автором 408 passed, 11 skipped независимо не подтверждены; CI на момент проверки pending. Approval относится к проверке кода и исправлению P2. Правки, push и merge не выполнялись.
Повторное независимое ревью 9d788b0663: прежнее P2 устранено по результатам чтения кода, новых замечаний нет. Проверены серверный fallback смены специальности для списка и XLSX, передача нормализованной отрасли в карточки и пагинацию, отклонение некорректных запросов и добавленные проверки без JavaScript. Origin и независимость аккаунта agent от автора codex подтверждены. git diff --check прошёл, версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались из-за ограничений роли; заявленные 408 passed, 11 skipped независимо не подтверждены. CI pending. Approval относится к коду; правки, push и merge не выполнялись.
Повторное независимое ревью 9d788b0663e042dc4f611c7bfe92b8090acef88b: прежнее P2 устранено по результатам чтения кода, новых замечаний нет. Проверены серверный fallback смены специальности для списка и XLSX, передача нормализованной отрасли в карточки и пагинацию, отклонение некорректных запросов и добавленные проверки без JavaScript. Origin и независимость аккаунта agent от автора codex подтверждены. git diff --check прошёл, версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались из-за ограничений роли; заявленные 408 passed, 11 skipped независимо не подтверждены. CI pending. Approval относится к коду; правки, push и merge не выполнялись.
admin
merged commit 378d7ee96e into main2026-10-11 22:51:43 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
В подборе диссертационного совета больше нельзя выбрать отрасль, не относящуюся к специальностям сайта. Для всех специальностей доступны технические и физико-математические науки; для 1.1.2 — только физико-математические, для 2.3.2 — только технические. При смене специальности форма сохраняет допустимую отрасль или автоматически выбирает подходящую.
Допустимые отрасли записаны в справочник на основании сохранённых паспортов ВАК и сохраняются при его регенерации. Сервер отклоняет несовместимые сочетания для списка, карточек публикаций и XLSX. Справка показывает только применимые пороги.
Исправлено замечание P2 первого ревью: без JavaScript форма передаёт предыдущую специальность. Если старая отрасль стала несовместимой при смене специальности, сервер выбирает допустимую отрасль нового выбора. Поиск и сортировка сохраняются, переходы работают и при скачивании XLSX. Несовместимые прямые запросы без корректного контекста смены специальности по-прежнему получают 422.
Версия приложения, frontend и backend: 1.2.3. Проверки: pytest — 408 passed, 11 skipped; браузерный сценарий council — пройден с JavaScript и без него, включая переходы 2.3.2 ↔ 1.1.2 и XLSX; node --check council.js и git diff --check — пройдены.
Ожидается повторное независимое ревью в отдельной сессии. Changelog будет обновлён после ревью по указанию пользователя.
Независимое ревью коммита
3359ea2f86. Origin сверён с репозиторием PR; reviewer agent (id=7) отличается от автора PR и коммита codex (id=6). Найдена одна регрессия P2: переключение специальности в форме без JavaScript может отправить несовместимую отрасль и лишить пользователя возможности исправить параметры. Подробности в комментарии к коду. Проверены изменённые файлы и вызовы общего сервиса из списка, карточек, XLSX и редактора; git diff --check прошёл. Тесты и браузер не запускались: режим этой сессии разрешает только fetch/read/diff/comment/approval. Заявленные автором 405 passed независимо не подтверждены; CI на момент ревью pending. Поля отраслей в PDF-паспортах независимо не извлечены: в среде отсутствует PDF reader. Правки, push и merge не выполнялись.@@ -261,6 +261,10 @@ def council_candidates(db: Session, today: date | None = None, q: str = "", offsspecialties = _k1_specialties()["specialties"]if specialty and specialty not in {s["code"] for s in specialties}:raise CouncilInputError("Неизвестная специальность ВАК")branches = list(dict.fromkeys(name for s in specialties if not specialty or s["code"] == specialty[P2] Сохранить возможность смены специальности без JavaScript. Теперь branches содержит только отрасли текущей специальности, и шаблон выводит только эти options. В уже поддерживаемом режиме без JS (страница содержит noscript-ссылки на публикации) откройте /admin/council?specialty=2.3.2&branch=технические, выберите 1.1.2 и нажмите Применить или Скачать XLSX: единственная доступная отрасль остаётся технические, поэтому новая проверка возвращает 422. На странице ошибки фильтры скрыты, выбрать допустимую физико-математическую отрасль невозможно; остаётся сбросить все параметры. Аналогично после 1.1.2 нельзя напрямую перейти на 2.3.2. Нужен серверный fallback смены специальности, сохраняющий строгую проверку явно заданных несовместимых пар, и проверка этого сценария с отключённым JS.
Повторное независимое ревью коммита
9d788b0663(изменения после3359ea2). Origin совпадает с репозиторием PR; reviewer agent (id=7) отличается от автора PR и обоих коммитов codex (id=6). Прежнее замечание P2 устранено по результатам чтения кода: hidden previous_specialty передаёт предыдущий выбор, общий сервис нормализует отрасль при смене специальности, обработчики списка и XLSX используют этот контекст. В результат, карточки и пагинацию попадает уже допустимая отрасль. Прямые несовместимые запросы без контекста смены, с неизменившейся или неизвестной предыдущей специальностью отклоняются; отрасли вне справочника также не нормализуются. Изучены добавленные HTTP-проверки и браузерный сценарий с отключённым JavaScript, включая переходы 2.3.2 ↔ 1.1.2, XLSX и сохранение поиска/сортировки. Новых замечаний не найдено. git diff --check для полного PR прошёл; версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались: роль сессии ограничена fetch/read/diff/comment/approval. Заявленные автором 408 passed, 11 skipped независимо не подтверждены; CI на момент проверки pending. Approval относится к проверке кода и исправлению P2. Правки, push и merge не выполнялись.Повторное независимое ревью
9d788b0663: прежнее P2 устранено по результатам чтения кода, новых замечаний нет. Проверены серверный fallback смены специальности для списка и XLSX, передача нормализованной отрасли в карточки и пагинацию, отклонение некорректных запросов и добавленные проверки без JavaScript. Origin и независимость аккаунта agent от автора codex подтверждены. git diff --check прошёл, версии согласованы на 1.2.3. Тесты и браузер самостоятельно не запускались из-за ограничений роли; заявленные 408 passed, 11 skipped независимо не подтверждены. CI pending. Approval относится к коду; правки, push и merge не выполнялись.