исправление багов
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-11T22:22:23.259230+00:00"
|
||||
question: "Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?"
|
||||
contributor: "graphify"
|
||||
outcome: "useful"
|
||||
source_nodes: ["AuthorizationInterceptor", "JwtTokenService", "TenantRoutingDataSource", "DatabaseController.java", "ScheduleController.java", "Backend-сервис Docker Compose"]
|
||||
---
|
||||
|
||||
# Q: Какие подсистемы связывают исправления аутентификации, tenant-конфигурации, расписания и инфраструктуры?
|
||||
|
||||
## Answer
|
||||
|
||||
Расширение по словарю графа: [auth, authorization, refresh, token, tenant, config, database, schedule, calendar, frontend, backend, kubernetes]. Граф выделил AuthorizationInterceptor/JwtTokenService/AuthController для авторизации, TenantRoutingDataSource/TenantWebMvcConfig/DatabaseController для мультитенантности, ScheduleController и календарные контроллеры для расписания, а compose.yaml и Kubernetes-манифесты для поставки. Связи подтверждены исходниками; граф используется только как карта навигации.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: useful
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- AuthorizationInterceptor
|
||||
- JwtTokenService
|
||||
- TenantRoutingDataSource
|
||||
- DatabaseController.java
|
||||
- ScheduleController.java
|
||||
- Backend-сервис Docker Compose
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-12T14:13:03.313831+00:00"
|
||||
question: "Как ScheduleOverrideService должен выявлять конфликты эффективного расписания?"
|
||||
contributor: "graphify"
|
||||
outcome: "dead_end"
|
||||
source_nodes: ["Override"]
|
||||
---
|
||||
|
||||
# Q: Как ScheduleOverrideService должен выявлять конфликты эффективного расписания?
|
||||
|
||||
## Answer
|
||||
|
||||
Расширение по словарю графа: schedule, override, conflict, effective, teacher, classroom, subgroup, group. Обход оказался тупиковым: токен override сопоставился с Java-аннотацией Override, а новых production-классов ещё нет в графе. Для тестов нужно опираться на актуальные исходники после появления сервиса.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: dead_end
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- Override
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-12T14:52:07.844079+00:00"
|
||||
question: "Как безопасно валидировать и сохранять точечные изменения расписания?"
|
||||
contributor: "graphify"
|
||||
outcome: "useful"
|
||||
source_nodes: ["ScheduleOverrideController", "ScheduleQueryService", "ScheduleGeneratorService"]
|
||||
---
|
||||
|
||||
# Q: Как безопасно валидировать и сохранять точечные изменения расписания?
|
||||
|
||||
## Answer
|
||||
|
||||
Расширение по словарю графа: [schedule, override, generator, query, conflict, classroom, teacher, group, rule, slot]. ScheduleOverrideController делегирует транзакционному ScheduleOverrideService; базовый и effective-день строятся через ScheduleQueryService и ScheduleGeneratorService. Проверка подтверждена по исходникам и дополнена PostgreSQL advisory lock, action matrix и конфликтами ресурсов.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: useful
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- ScheduleOverrideController
|
||||
- ScheduleQueryService
|
||||
- ScheduleGeneratorService
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-12T21:48:38.060218+00:00"
|
||||
question: "Какие связи затрагивает полная валидация правил расписания в исправлении №7?"
|
||||
contributor: "graphify"
|
||||
outcome: "useful"
|
||||
source_nodes: ["ScheduleRuleAdminController", "ScheduleRule", "ScheduleRuleSlot", "SemesterRepository", "ScheduleGeneratorService"]
|
||||
---
|
||||
|
||||
# Q: Какие связи затрагивает полная валидация правил расписания в исправлении №7?
|
||||
|
||||
## Answer
|
||||
|
||||
Expanded from original query via vocab: [schedule, rule, semester, repository, controller, conflict, slot, validation, teacher, classroom]. Граф указал на ScheduleRuleAdminController, ScheduleRule, ScheduleRuleSlot, SemesterRepository и ScheduleGeneratorService. Актуальные исходники подтвердили, что HTTP-слой делегирует ScheduleRuleService, блокировка семестра сериализует запись, а DB-инварианты закрепляются V4.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: useful
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- ScheduleRuleAdminController
|
||||
- ScheduleRule
|
||||
- ScheduleRuleSlot
|
||||
- SemesterRepository
|
||||
- ScheduleGeneratorService
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-12T22:09:47.294749+00:00"
|
||||
question: "Как безопасно заменить tenant DataSource без потери рабочего подключения?"
|
||||
contributor: "graphify"
|
||||
outcome: "useful"
|
||||
source_nodes: ["DatabaseController", "TenantRoutingDataSource", "TenantConfigWatcher", "TenantConfig"]
|
||||
---
|
||||
|
||||
# Q: Как безопасно заменить tenant DataSource без потери рабочего подключения?
|
||||
|
||||
## Answer
|
||||
|
||||
Expanded from original query via vocab: [database, tenant, routing, flyway, hikari, secret, config, updater, watcher, controller]. Граф связал DatabaseController с TenantRoutingDataSource и Hikari/Flyway. Актуальные исходники подтвердили destructive remove старого pool, ленивый candidate, проглоченную ошибку Flyway и отсутствие rollback при отказе Secret. Безопасный локальный протокол: prepare, explicit connection validation, Flyway на candidate, persistence prospective snapshot, atomic swap, compensation и закрытие old только после успеха. ResourceVersion между pod относится к отдельному пункту №10.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: useful
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- DatabaseController
|
||||
- TenantRoutingDataSource
|
||||
- TenantConfigWatcher
|
||||
- TenantConfig
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
type: "query"
|
||||
date: "2026-07-12T22:20:21.382611+00:00"
|
||||
question: "Как безопасно обновлять tenant DataSource без потери рабочего подключения?"
|
||||
contributor: "graphify"
|
||||
outcome: "useful"
|
||||
source_nodes: ["TenantRoutingDataSource", "DatabaseController", "TenantConfigWatcher", "DataInitializer"]
|
||||
---
|
||||
|
||||
# Q: Как безопасно обновлять tenant DataSource без потери рабочего подключения?
|
||||
|
||||
## Answer
|
||||
|
||||
Расширение по словарю графа: tenant, routing, data, source, database, controller, config, watcher, initializer, hikari, flyway, secret. Граф указал на TenantRoutingDataSource, DatabaseController, TenantConfigWatcher и DataInitializer; актуальные исходники подтвердили destructive remove-before-add и проглатывание Flyway. Реализация использует проверенный временный Hikari pool, миграцию до персистенции, immutable runtime snapshot, Secret-before-swap и compensating restore.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Signal: useful
|
||||
|
||||
## Source Nodes
|
||||
|
||||
- TenantRoutingDataSource
|
||||
- DatabaseController
|
||||
- TenantConfigWatcher
|
||||
- DataInitializer
|
||||
Reference in New Issue
Block a user