589 lines
28 KiB
JSON
589 lines
28 KiB
JSON
{
|
||
"generated_at": "2026-07-29T20:02:59.230356+00:00",
|
||
"nodes": {
|
||
"_gitea_workflows_docker_build_build_and_push_docker_images": {
|
||
"code_fingerprint": "80373e004c326a786715725be21ddb9214b6ff382a02cb829acad1bb9c9098f8",
|
||
"label": "Workflow сборки и публикации Docker-образов",
|
||
"last": "2026-07-29T19:59:04.551881+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:59:04.551881+00:00",
|
||
"outcome": "useful",
|
||
"q": "новая схема на проде на удалённом сервере создана через CREATE SCHEMA public. я проверил, давай дальше"
|
||
},
|
||
{
|
||
"date": "2026-07-29T19:26:44.188240+00:00",
|
||
"outcome": "useful",
|
||
"q": "теперь напиши мне инструкцию как это всё выыкатить на прод. у мня уже поднят на проде этот сервис со старой базой данных, но я могу её затереть. ci/cd тоже настроен, по сути я прямо сейчас могу залить это в ветку мейн и оно должно раскататься. каие есть подводные камни после изменений безопасности которые мы внесли?"
|
||
}
|
||
],
|
||
"score": 1.999355769,
|
||
"source_file": ".gitea/workflows/docker-build.yaml",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_auth_authorizationinterceptor_authorizationinterceptor": {
|
||
"code_fingerprint": "70b01b3fa22e058ee997250c52cc0affee54ab37aa5f8cc7eb74411487f1bbbf",
|
||
"label": "AuthorizationInterceptor",
|
||
"last": "2026-07-11T22:22:23.259230+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
},
|
||
{
|
||
"date": "2026-07-10T18:14:03.213067+00:00",
|
||
"outcome": "useful",
|
||
"q": "проанализируй весь проект на баги и ошибки и дополни '/mnt/HDD/ProjectMagistr/magistr/BUG_REPORT.md'"
|
||
},
|
||
{
|
||
"date": "2026-07-04T10:57:57.276777+00:00",
|
||
"outcome": "useful",
|
||
"q": "Почему RequireRoles связывает множество контроллеров, моделей и сервисов как cross-community bridge?"
|
||
}
|
||
],
|
||
"score": 1.861135007,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/auth/AuthorizationInterceptor.java",
|
||
"status": "preferred",
|
||
"uses": 3
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_auth_jwttokenservice_jwttokenservice": {
|
||
"code_fingerprint": "e83a6b07c917e4aaf5ffa40228bef4f4e1fa0ad7fabfd617fbc6b80d5ff5a4ec",
|
||
"label": "JwtTokenService",
|
||
"last": "2026-07-11T22:22:23.259230+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
}
|
||
],
|
||
"score": 0.661231273,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/auth/JwtTokenService.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_auth_requireroles_requireroles": {
|
||
"code_fingerprint": "9690db03571a132129eadcebf6c24c1217bfb6b1781ec52eb05819e53266ce7e",
|
||
"label": "RequireRoles",
|
||
"last": "2026-07-04T10:57:57.276777+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-04T10:57:57.276777+00:00",
|
||
"outcome": "useful",
|
||
"q": "Почему RequireRoles связывает множество контроллеров, моделей и сервисов как cross-community bridge?"
|
||
}
|
||
],
|
||
"score": 0.556344408,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/auth/RequireRoles.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_datainitializer_datainitializer": {
|
||
"code_fingerprint": "",
|
||
"label": "DataInitializer",
|
||
"last": "2026-07-12T22:20:21.382611+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T22:20:21.382611+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно обновлять tenant DataSource без потери рабочего подключения?"
|
||
}
|
||
],
|
||
"score": 0.676664767,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/DataInitializer.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_tenant_configmapupdater_configmapupdater": {
|
||
"code_fingerprint": "",
|
||
"label": "ConfigMapUpdater",
|
||
"last": "2026-07-10T18:14:03.213067+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-10T18:14:03.213067+00:00",
|
||
"outcome": "useful",
|
||
"q": "проанализируй весь проект на баги и ошибки и дополни '/mnt/HDD/ProjectMagistr/magistr/BUG_REPORT.md'"
|
||
}
|
||
],
|
||
"score": 0.643559327,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/tenant/ConfigMapUpdater.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_tenant_tenantconfig_tenantconfig": {
|
||
"code_fingerprint": "22d2e92c23a81959e7c20ad48ff92fdea8fb2bc37b0dda0dfd33d86eb0267e85",
|
||
"label": "TenantConfig",
|
||
"last": "2026-07-12T22:09:47.294749+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T22:09:47.294749+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно заменить tenant DataSource без потери рабочего подключения?"
|
||
}
|
||
],
|
||
"score": 0.676550037,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/tenant/TenantConfig.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_tenant_tenantconfigwatcher_tenantconfigwatcher": {
|
||
"code_fingerprint": "875d6a84e8dc1b8ada56a152aa08c9bfb54792851692909044ffe1477c2e78c8",
|
||
"label": "TenantConfigWatcher",
|
||
"last": "2026-07-12T22:20:21.382611+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T22:20:21.382611+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно обновлять tenant DataSource без потери рабочего подключения?"
|
||
},
|
||
{
|
||
"date": "2026-07-12T22:09:47.294749+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно заменить tenant DataSource без потери рабочего подключения?"
|
||
},
|
||
{
|
||
"date": "2026-07-10T18:14:03.213067+00:00",
|
||
"outcome": "useful",
|
||
"q": "проанализируй весь проект на баги и ошибки и дополни '/mnt/HDD/ProjectMagistr/magistr/BUG_REPORT.md'"
|
||
}
|
||
],
|
||
"score": 1.99677413,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/tenant/TenantConfigWatcher.java",
|
||
"status": "preferred",
|
||
"uses": 3
|
||
},
|
||
"backend_src_main_java_com_magistr_app_config_tenant_tenantroutingdatasource_tenantroutingdatasource": {
|
||
"code_fingerprint": "4dbf5864ca471e92d143acb834ed61b9eb23e2cf2ebc3ab9ab0757eb2439e727",
|
||
"label": "TenantRoutingDataSource",
|
||
"last": "2026-07-12T22:20:21.382611+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T22:20:21.382611+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно обновлять tenant DataSource без потери рабочего подключения?"
|
||
},
|
||
{
|
||
"date": "2026-07-12T22:09:47.294749+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно заменить tenant DataSource без потери рабочего подключения?"
|
||
},
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
}
|
||
],
|
||
"score": 2.014446076,
|
||
"source_file": "backend/src/main/java/com/magistr/app/config/tenant/TenantRoutingDataSource.java",
|
||
"status": "preferred",
|
||
"uses": 3
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_classroomcontroller": {
|
||
"code_fingerprint": "a768ef91dfe89f82197f53d85b348187a340c3dc8043bf009fa2f08418fabcba",
|
||
"label": "ClassroomController.java",
|
||
"last": "2026-07-21T20:49:48.084227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-21T20:49:48.084227+00:00",
|
||
"outcome": "useful",
|
||
"q": "Почему в выборе аудитории показаны корпус и этаж?"
|
||
}
|
||
],
|
||
"score": 0.831862505,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/ClassroomController.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_databasecontroller": {
|
||
"code_fingerprint": "e888a1e23f2d0ae6993fc2d767f6a4ef026c935ff2300d7d0c91bb805c22017f",
|
||
"label": "DatabaseController.java",
|
||
"last": "2026-07-11T22:22:23.259230+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
}
|
||
],
|
||
"score": 0.661231273,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/DatabaseController.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_databasecontroller_databasecontroller": {
|
||
"code_fingerprint": "e888a1e23f2d0ae6993fc2d767f6a4ef026c935ff2300d7d0c91bb805c22017f",
|
||
"label": "DatabaseController",
|
||
"last": "2026-07-12T22:20:21.382611+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T22:20:21.382611+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно обновлять tenant DataSource без потери рабочего подключения?"
|
||
},
|
||
{
|
||
"date": "2026-07-12T22:09:47.294749+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно заменить tenant DataSource без потери рабочего подключения?"
|
||
}
|
||
],
|
||
"score": 1.353214804,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/DatabaseController.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_globalexceptionhandler_globalexceptionhandler": {
|
||
"code_fingerprint": "a637ea110ec1c5fef0c0a1d88cccbc54d56b3b6ca66a6c1d3659871bd5ff7f4e",
|
||
"label": "GlobalExceptionHandler",
|
||
"last": "2026-07-10T18:14:03.213067+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-10T18:14:03.213067+00:00",
|
||
"outcome": "useful",
|
||
"q": "проанализируй весь проект на баги и ошибки и дополни '/mnt/HDD/ProjectMagistr/magistr/BUG_REPORT.md'"
|
||
}
|
||
],
|
||
"score": 0.643559327,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/GlobalExceptionHandler.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_schedulecontroller": {
|
||
"code_fingerprint": "40af5947a24d994d92566c135abe5080eec04f5f266b40e04abfa3c5fac18a84",
|
||
"label": "ScheduleController.java",
|
||
"last": "2026-07-21T19:52:13.631700+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-21T19:52:13.631700+00:00",
|
||
"outcome": "useful",
|
||
"q": "в дополнительные фильры просмотра расписаний нужно добавить выбор семестра"
|
||
},
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
}
|
||
],
|
||
"score": 1.492325672,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/ScheduleController.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_scheduleoverridecontroller_scheduleoverridecontroller": {
|
||
"code_fingerprint": "91be9aa1507e774d0168c858ad5cde838f8d6650e2169fae81cc1d551cbc5ff9",
|
||
"label": "ScheduleOverrideController",
|
||
"last": "2026-07-12T14:52:07.844079+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T14:52:07.844079+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно валидировать и сохранять точечные изменения расписания?"
|
||
}
|
||
],
|
||
"score": 0.671815777,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/ScheduleOverrideController.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_controller_scheduleruleadmincontroller_scheduleruleadmincontroller": {
|
||
"code_fingerprint": "88244c8ce05d55ac3581c4295a7213294389d1245b56c73a0ad5df2da4ecf000",
|
||
"label": "ScheduleRuleAdminController",
|
||
"last": "2026-07-12T21:48:38.060218+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T21:48:38.060218+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие связи затрагивает полная валидация правил расписания в исправлении №7?"
|
||
},
|
||
{
|
||
"date": "2026-07-10T18:14:03.213067+00:00",
|
||
"outcome": "useful",
|
||
"q": "проанализируй весь проект на баги и ошибки и дополни '/mnt/HDD/ProjectMagistr/magistr/BUG_REPORT.md'"
|
||
}
|
||
],
|
||
"score": 1.319879771,
|
||
"source_file": "backend/src/main/java/com/magistr/app/controller/ScheduleRuleAdminController.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_academiccalendar_academiccalendar": {
|
||
"code_fingerprint": "5bdd7da771fe97443661a5bd06bed94f453ea036759c4de8c927ed68eb2b723d",
|
||
"label": "AcademicCalendar",
|
||
"last": "2026-07-22T21:09:57.015227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-22T21:09:57.015227+00:00",
|
||
"outcome": "useful",
|
||
"q": "хотим поменять название сервиса, придумай что-то короткое одним словом подходящее по смыслу"
|
||
}
|
||
],
|
||
"score": 0.851581632,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/AcademicCalendar.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_classroom_classroom": {
|
||
"code_fingerprint": "5614d83b8b7e20fd2b76271b28a8ef11ffc137808ec2d7ed7cd23e42e0ab93ec",
|
||
"label": "Classroom",
|
||
"last": "2026-07-21T20:49:48.084227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-21T20:49:48.084227+00:00",
|
||
"outcome": "useful",
|
||
"q": "Почему в выборе аудитории показаны корпус и этаж?"
|
||
}
|
||
],
|
||
"score": 0.831862505,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/Classroom.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_department_department": {
|
||
"code_fingerprint": "2948555ebc816c44c9f745ce199b0a908930bf6c82cb4a0bd46c23ffac42ea6a",
|
||
"label": "Department",
|
||
"last": "2026-07-22T21:09:57.015227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-22T21:09:57.015227+00:00",
|
||
"outcome": "useful",
|
||
"q": "хотим поменять название сервиса, придумай что-то короткое одним словом подходящее по смыслу"
|
||
}
|
||
],
|
||
"score": 0.851581632,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/Department.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_schedulerule_schedulerule": {
|
||
"code_fingerprint": "692d61c1bfd5b46f5865174dde8cf2d962d2ccd124b5e4320e2ba8535bb29605",
|
||
"label": "ScheduleRule",
|
||
"last": "2026-07-12T21:48:38.060218+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T21:48:38.060218+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие связи затрагивает полная валидация правил расписания в исправлении №7?"
|
||
},
|
||
{
|
||
"date": "2026-07-04T12:07:28.781712+00:00",
|
||
"outcome": "useful",
|
||
"q": "Корректны ли inferred-связи вокруг ScheduleRule?"
|
||
}
|
||
],
|
||
"score": 1.23328582,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/ScheduleRule.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_scheduleruleslot_scheduleruleslot": {
|
||
"code_fingerprint": "0b1cef627b98558752cc70624d74cd54eb09d9dbff8ca985f81f56d5b3dd34ff",
|
||
"label": "ScheduleRuleSlot",
|
||
"last": "2026-07-12T21:48:38.060218+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T21:48:38.060218+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие связи затрагивает полная валидация правил расписания в исправлении №7?"
|
||
}
|
||
],
|
||
"score": 0.676320444,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/ScheduleRuleSlot.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_semester_semester": {
|
||
"code_fingerprint": "52546b552fff16ab841a63ea80fb806f6cc32edc0615ec53b3c002543d692f24",
|
||
"label": "Semester",
|
||
"last": "2026-07-22T21:09:57.015227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-22T21:09:57.015227+00:00",
|
||
"outcome": "useful",
|
||
"q": "хотим поменять название сервиса, придумай что-то короткое одним словом подходящее по смыслу"
|
||
},
|
||
{
|
||
"date": "2026-07-21T19:52:13.631700+00:00",
|
||
"outcome": "useful",
|
||
"q": "в дополнительные фильры просмотра расписаний нужно добавить выбор семестра"
|
||
}
|
||
],
|
||
"score": 1.682676032,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/Semester.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_main_java_com_magistr_app_model_studentgroup_studentgroup": {
|
||
"code_fingerprint": "c4a022d9dd493adcfcf8bce3abd264e78d5539b45316d9e0aaef72f1b15091ac",
|
||
"label": "StudentGroup",
|
||
"last": "2026-07-22T21:09:57.015227+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-22T21:09:57.015227+00:00",
|
||
"outcome": "useful",
|
||
"q": "хотим поменять название сервиса, придумай что-то короткое одним словом подходящее по смыслу"
|
||
}
|
||
],
|
||
"score": 0.851581632,
|
||
"source_file": "backend/src/main/java/com/magistr/app/model/StudentGroup.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_repository_semesterrepository_semesterrepository": {
|
||
"code_fingerprint": "2b869d2e676e50879b467e36cdc45982b68b323942c51de567c347fe9bf1fd10",
|
||
"label": "SemesterRepository",
|
||
"last": "2026-07-12T21:48:38.060218+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-12T21:48:38.060218+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие связи затрагивает полная валидация правил расписания в исправлении №7?"
|
||
}
|
||
],
|
||
"score": 0.676320444,
|
||
"source_file": "backend/src/main/java/com/magistr/app/repository/SemesterRepository.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"backend_src_main_java_com_magistr_app_service_schedulequeryservice_schedulequeryservice": {
|
||
"code_fingerprint": "96b20e57f1e9d75f8f148a809e40d5ad98038423922f21c1f2c080bca6f76926",
|
||
"label": "ScheduleQueryService",
|
||
"last": "2026-07-21T19:52:13.631700+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-21T19:52:13.631700+00:00",
|
||
"outcome": "useful",
|
||
"q": "в дополнительные фильры просмотра расписаний нужно добавить выбор семестра"
|
||
},
|
||
{
|
||
"date": "2026-07-12T14:52:07.844079+00:00",
|
||
"outcome": "useful",
|
||
"q": "Как безопасно валидировать и сохранять точечные изменения расписания?"
|
||
}
|
||
],
|
||
"score": 1.502910177,
|
||
"source_file": "backend/src/main/java/com/magistr/app/service/ScheduleQueryService.java",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"backend_src_test_java_com_magistr_app_model_scheduleruletest_scheduleruletest": {
|
||
"code_fingerprint": "73cb9594bd5dc29ba9d9bde11e860d2c182b205b36062df87a8a8783611ffe79",
|
||
"label": "ScheduleRuleTest",
|
||
"last": "2026-07-04T12:07:28.781712+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-04T12:07:28.781712+00:00",
|
||
"outcome": "useful",
|
||
"q": "Корректны ли inferred-связи вокруг ScheduleRule?"
|
||
}
|
||
],
|
||
"score": 0.556965376,
|
||
"source_file": "backend/src/test/java/com/magistr/app/model/ScheduleRuleTest.java",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"compose_backend_service": {
|
||
"code_fingerprint": "944ed05aa3bb66491e0622baa9659fc2db3115c79076325ebe243aeb84ca09f9",
|
||
"label": "Backend-сервис Docker Compose",
|
||
"last": "2026-07-11T22:22:23.259230+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-11T22:22:23.259230+00:00",
|
||
"outcome": "useful",
|
||
"q": "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||
}
|
||
],
|
||
"score": 0.661231273,
|
||
"source_file": "compose.yaml",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"compose_db_service": {
|
||
"code_fingerprint": "944ed05aa3bb66491e0622baa9659fc2db3115c79076325ebe243aeb84ca09f9",
|
||
"label": "PostgreSQL-сервис Docker Compose",
|
||
"last": "2026-07-29T19:59:04.551881+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:59:04.551881+00:00",
|
||
"outcome": "useful",
|
||
"q": "новая схема на проде на удалённом сервере создана через CREATE SCHEMA public. я проверил, давай дальше"
|
||
}
|
||
],
|
||
"score": 0.999937245,
|
||
"source_file": "compose.yaml",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"docs_database_flyway_migrations": {
|
||
"code_fingerprint": "2f5d4ce61ba0f5d8a9141f4ac33375dfc26a68e3bdccdc4269cf2a4f45a50176",
|
||
"label": "Flyway-миграции",
|
||
"last": "2026-07-29T19:26:44.188240+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:26:44.188240+00:00",
|
||
"outcome": "useful",
|
||
"q": "теперь напиши мне инструкцию как это всё выыкатить на прод. у мня уже поднят на проде этот сервис со старой базой данных, но я могу её затереть. ci/cd тоже настроен, по сути я прямо сейчас могу залить это в ветку мейн и оно должно раскататься. каие есть подводные камни после изменений безопасности которые мы внесли?"
|
||
}
|
||
],
|
||
"score": 0.999418524,
|
||
"source_file": "docs/DATABASE.md",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"docs_infrastructure_jwt_secret_policy": {
|
||
"code_fingerprint": "fbce586f3b64dba203d336f5744d9895924e86e122cdde1939c0dec1600e1af1",
|
||
"label": "Политика JWT-секрета",
|
||
"last": "2026-07-29T19:26:44.188240+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:26:44.188240+00:00",
|
||
"outcome": "useful",
|
||
"q": "теперь напиши мне инструкцию как это всё выыкатить на прод. у мня уже поднят на проде этот сервис со старой базой данных, но я могу её затереть. ci/cd тоже настроен, по сути я прямо сейчас могу залить это в ветку мейн и оно должно раскататься. каие есть подводные камни после изменений безопасности которые мы внесли?"
|
||
}
|
||
],
|
||
"score": 0.999418524,
|
||
"source_file": "docs/INFRASTRUCTURE.md",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
},
|
||
"docs_infrastructure_kubernetes_production": {
|
||
"code_fingerprint": "fbce586f3b64dba203d336f5744d9895924e86e122cdde1939c0dec1600e1af1",
|
||
"label": "Production-инфраструктура Kubernetes",
|
||
"last": "2026-07-29T19:59:04.551881+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:59:04.551881+00:00",
|
||
"outcome": "useful",
|
||
"q": "новая схема на проде на удалённом сервере создана через CREATE SCHEMA public. я проверил, давай дальше"
|
||
},
|
||
{
|
||
"date": "2026-07-29T19:26:44.188240+00:00",
|
||
"outcome": "useful",
|
||
"q": "теперь напиши мне инструкцию как это всё выыкатить на прод. у мня уже поднят на проде этот сервис со старой базой данных, но я могу её затереть. ci/cd тоже настроен, по сути я прямо сейчас могу залить это в ветку мейн и оно должно раскататься. каие есть подводные камни после изменений безопасности которые мы внесли?"
|
||
}
|
||
],
|
||
"score": 1.999355769,
|
||
"source_file": "docs/INFRASTRUCTURE.md",
|
||
"status": "preferred",
|
||
"uses": 2
|
||
},
|
||
"docs_infrastructure_tenants_configmap": {
|
||
"code_fingerprint": "fbce586f3b64dba203d336f5744d9895924e86e122cdde1939c0dec1600e1af1",
|
||
"label": "Tenants ConfigMap",
|
||
"last": "2026-07-29T19:26:44.188240+00:00",
|
||
"provenance": [
|
||
{
|
||
"date": "2026-07-29T19:26:44.188240+00:00",
|
||
"outcome": "useful",
|
||
"q": "теперь напиши мне инструкцию как это всё выыкатить на прод. у мня уже поднят на проде этот сервис со старой базой данных, но я могу её затереть. ci/cd тоже настроен, по сути я прямо сейчас могу залить это в ветку мейн и оно должно раскататься. каие есть подводные камни после изменений безопасности которые мы внесли?"
|
||
}
|
||
],
|
||
"score": 0.999418524,
|
||
"source_file": "docs/INFRASTRUCTURE.md",
|
||
"status": "tentative",
|
||
"uses": 1
|
||
}
|
||
},
|
||
"version": 1
|
||
}
|