PROD: убрать прогресс критериев из назначений экспертов - #747
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Селективный семантический перенос DEV #746 в существующую PROD-реализацию legacy Project analytics. Из публичных объектов списка назначений и детализации
/scores/удаленыcriteria_totalиcriteria_scored.Внутренние SQL-аннотации сохранены.
build_assignment()использует их для прежнего статуса, но не включает в возвращаемый словарь; serializer также не публикует эти поля. Исполняемая логика сервиса сравнена через AST с master: отличие только в двух удалённых ключах returned dict. Массивscores[]с полями критериев и оценок полностью сохранён.Точные SHA и источник
0727c4d6658c299f1a4632a1f1139f86a32dd4cf02abcec3eda64eb7e277e1af19003e70d18e1febe4992d18d772849f26e419799be11c35f807c18baf8be9575df6251748da3f93959dd9be38daaddbПеренос 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.pypartner_programs/services/project_assignment_analytics.pypartner_programs/tests/test_project_assignment_analytics_api.pydocs/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 --noinput— 84/84, exit 0.python manage.py test --verbosity 1 --keepdb --noinput— 1560 tests, OK (skipped=3), exit 0.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.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 проверяется отдельно от приведённых локальных результатов.