Backend TODO
Підтверджені backend-знахідки, які не належать до tuning або publishing Classic Fruits 3×3 v2. Runtime source of truth:
/Users/admin/kiro/backend.
Urgent — Classic Fruits 3×3 v1 max-win drift
- Узгодити
migrations/009_seed_classic_fruits_3x3.sqlіз frozen v1 config. - Проблема: seed-міграція записує
MaxWinMultiplier: 500, frozen YAML —65.0. - Вплив: чинний рядок із БД і session-service повідомляють клієнту неправильний
max_win_multiplierдля v1. - Критерій закриття: DB-backed v1, frozen YAML і bootstrap/session contract повертають одне підтверджене значення; v1 canonical identity та грошова математика не змінені ненавмисно; додано regression test для seed/read path.
Follow-up — forced-seed replay
- Виправити
cmd/replay, щоб debug-раунди відтворювалися тим самим seed contract, яким були виконані. - Проблема: CLI викликає
RunRound(seed, round_index), тоді як forced-seed/debug spin виконується черезRunRoundRaw; результатом єMatch: falseдля коректного debug-раунду. - Критерій закриття: persisted forced-seed round відтворюється через CLI з
Match: true; звичайний replay не регресує; тест фіксує обидва seed paths.
Follow-up — replay response violates OpenAPI
- Заповнювати
spin.layoutуreplaySpinBlock. - Проблема: replay повертає
"layout": null, хочаSpinBlock.layoutє required у OpenAPI. - Критерій закриття: live і replay responses мають однакову орієнтацію та повний
layout; handler contract test валідовує replay response проти OpenAPI.