Skip to content

PROD: убрать прогресс критериев из назначений экспертов - #747

Merged
TThanos3000 merged 1 commit into
masterfrom
release/prod-assignment-progress-cleanup
Sep 21, 2026
Merged

TThanos3000 merged 1 commit into
masterfrom
release/prod-assignment-progress-cleanup

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Селективный семантический перенос DEV #746 в существующую PROD-реализацию legacy Project analytics. Из публичных объектов списка назначений и детализации /scores/ удалены criteria_total и criteria_scored.

Внутренние SQL-аннотации сохранены. build_assignment() использует их для прежнего статуса, но не включает в возвращаемый словарь; serializer также не публикует эти поля. Исполняемая логика сервиса сравнена через AST с master: отличие только в двух удалённых ключах returned dict. Массив scores[] с полями критериев и оценок полностью сохранён.

Точные SHA и источник

  • Master base: 0727c4d6658c299f1a4632a1f1139f86a32dd4cf
  • Release head: 02abcec3eda64eb7e277e1af19003e70d18e1feb
  • DEV #746, feature head: e4992d18d772849f26e419799be11c35f807c18b
  • Проверенный DEV merge: af8be9575df6251748da3f93959dd9be38daaddb

Перенос selective: без merge dev → master, без DEV merge commits, без переноса DEV implementation paths. Использованы PROD endpoints:

  • GET /programs/<program_id>/project-analytics/assignments/
  • GET /programs/<program_id>/project-analytics/assignments/<assignment_id>/scores/

Изменённые файлы

  • partner_programs/serializers/project_assignment_analytics.py
  • partner_programs/services/project_assignment_analytics.py
  • partner_programs/tests/test_project_assignment_analytics_api.py
  • docs/project-analytics-api.md

Проверки

Локальные Python 3.11 / PostgreSQL 18.1, изолированная тестовая БД; production БД не использовалась.

  • python manage.py test partner_programs.tests.test_project_assignment_analytics_api partner_programs.tests.test_project_analytics_api partner_programs.tests.test_project_analytics_attention_api --verbosity 1 --keepdb --noinput84/84, exit 0.
  • python manage.py test --verbosity 1 --keepdb --noinput — 1560 tests, OK (skipped=3), exit 0.
  • Production quarantine с NEXTGEN_SURFACE_ENABLED=False: procollab.tests.test_nextgen_surface notifications.tests.test_surface_quarantine notifications.tests.test_notifications_api — 16 tests, OK (2 штатных skip), exit 0. Полный suite выполняется с NEXTGEN_SURFACE_ENABLED=True, как в master CI.
  • python manage.py check — exit 0, no issues.
  • python manage.py makemigrations --check --dry-run — exit 0, no changes detected.
  • Black для трёх изменённых Python-файлов — exit 0.
  • Flake8 на всех отслеживаемых Python-файлах, набор как в master CI — exit 0.
  • git diff --check — exit 0.

Тесты проверяют отсутствие полей в list/detail и исходном DTO, безопасную сериализацию внутренних annotations, сохранность scores[], нулевые/частичные/полные оценки, not_ready, scopes, distributed/open semantics, overview, delayed experts, waiting/SLA, межпрограммную изоляцию и фиксированные query budgets. Нулевая внесённая оценка сохраняет прежнюю семантику.

React untouched; DEV untouched; workflows untouched. Completion semantics, модели ProjectScore/Criteria/ProjectExpertAssignment, permissions, current_application, notifications, covers, Docker и dependencies не изменены. Миграций нет.

Зависимость и порядок релиза

Связанный Angular Draft PR #356.

Только после отдельного подтверждения пользователя: сначала Angular merge и успешный frontend PROD deploy, затем smoke назначений; после этого backend merge и Release Prod exact backend merge SHA. Backend первым выкатывать нельзя: старый Angular ещё использует удаляемые поля, новый Angular совместим с обеими версиями backend.

PR остаётся Draft. Merge/deploy не выполнялись; live PROD smoke не выполнялся. GitHub CI после публикации PR проверяется отдельно от приведённых локальных результатов.

@TThanos3000
TThanos3000 marked this pull request as ready for review September 21, 2026 09:57
@TThanos3000
TThanos3000 merged commit a5cdf03 into master Sep 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants