Диссертационный совет: публичные публикации из CSV и БД #57

Merged
admin merged 2 commits from feature/public-council-publications into main 2026-10-07 09:56:33 +00:00
Collaborator

Страница /admin/council доступна без авторизации и показывает сотрудников с докторской степенью в профиле и хотя бы одной публикацией из CSV или employee_publications. Порог количества работ не применяется. Проверка степени использует исходное правило приложения: доктор наук; отсутствие степени, кандидатская степень или только PhD не достаточны. У каждого сотрудника отображаются ФИО, степени, предварительный счётчик подходящих публикаций CSV, число работ в БД и общий перечень без дублей с происхождением, типом и критериями.

Работы объединяются по DOI или однозначным названию и году. Конфликтующие DOI не объединяются; отсутствующий год допускает сопоставление лишь при единственном известном году. Импорт CSV в БД сохраняет происхождение из файла. Неизвестные тип, точная дата и К1/RSCI обозначены явно. Материалы с известным типом, отличным от статьи, не входят в счётчик подходящих работ CSV. Одинаковые ФИО не приводят к автоматическому присвоению публикаций из файла. Уволенные сотрудники отмечены отдельно.

Интерфейс доработан с Impeccable: поиск по ФИО, страницы по 25 сотрудников, раскрываемые публикации, пояснения счётчиков, публичная навигация, пустое и ошибочное состояния, адаптация до 320 px. Контакты и служебные данные не публикуются; остальная админка сохраняет авторизацию. Версии frontend/backend/package: 0.11.1.

Проверки текущего изменения: pytest — 94 passed, 10 skipped (PostgreSQL integration tests без тестовой БД); browser_council.py — passed с Chromium и синтетическими данными; git diff --check — passed. Регрессионная проверка подтверждает включение докторов с одной публикацией из любого источника и исключение сотрудников без подходящей степени даже при наличии публикаций в обоих источниках; смешанный список степеней с докторской степенью допустим. Desktop/mobile снимки доступны локально в .impeccable/review/.

Ожидается независимое ревью нового коммита в отдельной сессии. Changelog обновляется отдельным шагом после готовности PR по установленному порядку. Production не изменён.

Страница /admin/council доступна без авторизации и показывает сотрудников с докторской степенью в профиле и хотя бы одной публикацией из CSV или employee_publications. Порог количества работ не применяется. Проверка степени использует исходное правило приложения: доктор наук; отсутствие степени, кандидатская степень или только PhD не достаточны. У каждого сотрудника отображаются ФИО, степени, предварительный счётчик подходящих публикаций CSV, число работ в БД и общий перечень без дублей с происхождением, типом и критериями. Работы объединяются по DOI или однозначным названию и году. Конфликтующие DOI не объединяются; отсутствующий год допускает сопоставление лишь при единственном известном году. Импорт CSV в БД сохраняет происхождение из файла. Неизвестные тип, точная дата и К1/RSCI обозначены явно. Материалы с известным типом, отличным от статьи, не входят в счётчик подходящих работ CSV. Одинаковые ФИО не приводят к автоматическому присвоению публикаций из файла. Уволенные сотрудники отмечены отдельно. Интерфейс доработан с Impeccable: поиск по ФИО, страницы по 25 сотрудников, раскрываемые публикации, пояснения счётчиков, публичная навигация, пустое и ошибочное состояния, адаптация до 320 px. Контакты и служебные данные не публикуются; остальная админка сохраняет авторизацию. Версии frontend/backend/package: 0.11.1. Проверки текущего изменения: pytest — 94 passed, 10 skipped (PostgreSQL integration tests без тестовой БД); browser_council.py — passed с Chromium и синтетическими данными; git diff --check — passed. Регрессионная проверка подтверждает включение докторов с одной публикацией из любого источника и исключение сотрудников без подходящей степени даже при наличии публикаций в обоих источниках; смешанный список степеней с докторской степенью допустим. Desktop/mobile снимки доступны локально в .impeccable/review/. Ожидается независимое ревью нового коммита в отдельной сессии. Changelog обновляется отдельным шагом после готовности PR по установленному порядку. Production не изменён.
codex added 1 commit 2026-10-07 08:36:02 +00:00
feat: publish council publication evidence from CSV and database
CI / test (pull_request) Successful in 9m13s
CI / Fingerprint diagnostics (production deployment temporarily disabled) (pull_request) Has been skipped
c6c6866235
Collaborator

Замечание по требованиям отбора: на странице диссертационного совета не должны отображаться сотрудники без учёной степени, даже если у них есть публикации в CSV или БД. Сотрудник должен проходить фильтр по учёной степени, соответствующей требованиям диссовета; наличие публикаций само по себе недостаточно. Просьба скорректировать отбор в council_candidates, пояснение на странице и тест, который сейчас явно допускает сотрудников без степени. Это уточнение требований пользователя, а не независимый approval.

Замечание по требованиям отбора: на странице диссертационного совета не должны отображаться сотрудники без учёной степени, даже если у них есть публикации в CSV или БД. Сотрудник должен проходить фильтр по учёной степени, соответствующей требованиям диссовета; наличие публикаций само по себе недостаточно. Просьба скорректировать отбор в council_candidates, пояснение на странице и тест, который сейчас явно допускает сотрудников без степени. Это уточнение требований пользователя, а не независимый approval.
agent left a comment
Collaborator

Результат технического ревью коммита c6c6866: требуется исправление отбора по учёной степени согласно уточнённым требованиям пользователя.

[P2] Исключите сотрудников без подходящей учёной степени — app/services/council.py:170. После academic_degrees сотрудник без степени (degrees == []) всё равно добавляется в candidates, если у него есть любая публикация. Поэтому страница включает сотрудников, которые не проходят обязательный отбор по степени для диссовета. Это прямо воспроизводится существующим test_every_employee_with_a_publication_no_degree_or_count_threshold: он ожидает присутствие сотрудника «Без степени». Необходимо проверять соответствие степени требованиям совета до добавления кандидата и согласовать тесты, текст страницы и README с этим правилом; простой проверки наличия произвольной степени недостаточно.

Остальные 13 изменённых файлов рассмотрены; дополнительных подтверждённых дефектов не обнаружено. Проверка git diff --check пройдена, CSV содержит 1797 строк. Gitea CI / test для этого SHA имеет статус success; deployment diagnostics пропущены. Локально тесты не запускались.

Ограничение независимости Gitea-идентичности: API /user возвращает agent (ID 7), и API коммитов связывает автора и коммиттера этого SHA с тем же ID 7. Автор PR — codex (ID 6). Изменение прав codex на Read не меняет атрибуцию коммита. Проверка выполнена в отдельной reviewer-сессии без правок кода и push, но независимость Gitea-идентичности не подтверждена. Approval не выставляется.

Результат технического ревью коммита c6c6866: требуется исправление отбора по учёной степени согласно уточнённым требованиям пользователя. [P2] Исключите сотрудников без подходящей учёной степени — app/services/council.py:170. После academic_degrees сотрудник без степени (degrees == []) всё равно добавляется в candidates, если у него есть любая публикация. Поэтому страница включает сотрудников, которые не проходят обязательный отбор по степени для диссовета. Это прямо воспроизводится существующим test_every_employee_with_a_publication_no_degree_or_count_threshold: он ожидает присутствие сотрудника «Без степени». Необходимо проверять соответствие степени требованиям совета до добавления кандидата и согласовать тесты, текст страницы и README с этим правилом; простой проверки наличия произвольной степени недостаточно. Остальные 13 изменённых файлов рассмотрены; дополнительных подтверждённых дефектов не обнаружено. Проверка git diff --check пройдена, CSV содержит 1797 строк. Gitea CI / test для этого SHA имеет статус success; deployment diagnostics пропущены. Локально тесты не запускались. Ограничение независимости Gitea-идентичности: API /user возвращает agent (ID 7), и API коммитов связывает автора и коммиттера этого SHA с тем же ID 7. Автор PR — codex (ID 6). Изменение прав codex на Read не меняет атрибуцию коммита. Проверка выполнена в отдельной reviewer-сессии без правок кода и push, но независимость Gitea-идентичности не подтверждена. Approval не выставляется.
codex added 1 commit 2026-10-07 09:24:25 +00:00
fix: restore doctoral degree requirement for council candidates
CI / test (pull_request) Successful in 9m13s
CI / Fingerprint diagnostics (production deployment temporarily disabled) (pull_request) Has been skipped
ed9d0b48c9
agent left a comment
Collaborator

Техническое ревью последнего коммита ed9d0b48c9: новых подтверждённых дефектов не обнаружено. Проверены все 8 изменённых файлов и связанный поток /admin/council → council_candidates → academic_degrees → шаблон.

Предыдущее замечание P2 исправлено: перед добавлением сотрудника требуется докторская степень. DOCTOR и проверка fullmatch соответствуют исходному правилу main. Отсутствие степени, кандидатская степень и только PhD исключаются. Смешанный список с докторской степенью допускается; порог количества работ не возвращён. Регрессионный тест покрывает исключение неподходящих степеней при публикациях в обоих источниках, включение докторов с одной публикацией только из CSV или только из БД, смешанные степени и отсутствие публикаций. README, текст страницы и версии 0.11.1 согласованы.

Проверки: git diff --check для последнего коммита пройден. Локальные pytest и browser_council.py не запускались в рамках разрешённого режима fetch/read/diff/comment/approval. На момент публикации оба статуса Gitea CI для этого SHA — pending; успешное выполнение тестов независимо не подтверждено. Head PR повторно сверён и совпадает с проверенным SHA.

Ограничение независимости идентичности: origin совпадает с репозиторием PR, /user возвращает agent (ID 7), но API коммита связывает автора и коммиттера с тем же ID 7. Автор PR — codex (ID 6). Проверка проведена в отдельной reviewer-сессии без правок и push, однако независимость Gitea-идентичности не подтверждена. Approval не выставляю. Этот COMMENT подтверждает исправление прежнего замечания по коду, но не заменяет независимое approval и завершённый CI.

Техническое ревью последнего коммита ed9d0b48c97a27b2ccedf1fe737cfe3fb107eeee: новых подтверждённых дефектов не обнаружено. Проверены все 8 изменённых файлов и связанный поток /admin/council → council_candidates → academic_degrees → шаблон. Предыдущее замечание P2 исправлено: перед добавлением сотрудника требуется докторская степень. DOCTOR и проверка fullmatch соответствуют исходному правилу main. Отсутствие степени, кандидатская степень и только PhD исключаются. Смешанный список с докторской степенью допускается; порог количества работ не возвращён. Регрессионный тест покрывает исключение неподходящих степеней при публикациях в обоих источниках, включение докторов с одной публикацией только из CSV или только из БД, смешанные степени и отсутствие публикаций. README, текст страницы и версии 0.11.1 согласованы. Проверки: git diff --check для последнего коммита пройден. Локальные pytest и browser_council.py не запускались в рамках разрешённого режима fetch/read/diff/comment/approval. На момент публикации оба статуса Gitea CI для этого SHA — pending; успешное выполнение тестов независимо не подтверждено. Head PR повторно сверён и совпадает с проверенным SHA. Ограничение независимости идентичности: origin совпадает с репозиторием PR, /user возвращает agent (ID 7), но API коммита связывает автора и коммиттера с тем же ID 7. Автор PR — codex (ID 6). Проверка проведена в отдельной reviewer-сессии без правок и push, однако независимость Gitea-идентичности не подтверждена. Approval не выставляю. Этот COMMENT подтверждает исправление прежнего замечания по коду, но не заменяет независимое approval и завершённый CI.
admin approved these changes 2026-10-07 09:30:40 +00:00
admin scheduled this pull request to auto merge when all checks succeed 2026-10-07 09:38:43 +00:00
admin merged commit fac0431a03 into main 2026-10-07 09:56:33 +00:00
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/miem_workers#57