feat: Implement Pareto-front ranking integration with multi-criteria sorting

- Add RankingMode field to SearchOptions (fastest/fewest_transfers/cheapest)
- Update FindRoutesPareto to respect ranking mode when sorting
- Add ranking_mode query parameter to RouteSearch endpoint
- Add TestParetoFrontGeneration with subtests for all three modes

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-16 19:27:02 +03:00
parent 026b779cb3
commit d67bc5aca7
4 changed files with 226 additions and 20 deletions

View File

@@ -169,12 +169,12 @@ Implement the complete multimodal trip planning service as specified in `docs/sp
- [x] Write tests: TestLazyExpansionDepthLimit, TestFindRouteMaxTransfers
- [x] Run tests - must pass before task 15
### Task 15: Pareto-front ranking integration [ ]
- [ ] Integrate multi-criteria ranking into route search results
- [ ] Sort by default "быстрее всего" (fastest)
- [ ] Add UI controls to switch to "меньше пересадок" / "дешевле"
- [ ] Write tests: TestParetoFrontGeneration
- [ ] Run tests - must pass before task 16
### Task 15: Pareto-front ranking integration [x]
- [x] Integrate multi-criteria ranking into route search results
- [x] Sort by default "быстрее всего" (fastest)
- [x] Add UI controls to switch to "меньше пересадок" / "дешевле"
- [x] Write tests: TestParetoFrontGeneration
- [x] Run tests - must pass before task 16
### Task 16: Auto station closure detection [ ]
- [ ] Implement daily cron job checking `/schedule` for monitored stations