1.1 KiB
1.1 KiB
Quality Risks
Aktualizacja: 2026-07-06 (post-apply Plan 2 — degraded)
Zaakceptowane świadomie
- Kopiowanie wzorców zapytań z
OperationModeldoInvOperationModel/ValuationModel(filtered/join). Osobna domena (brak type income/expense, dochodzą wyceny) — nie konsolidować w bazowy model, kod krótki. - Format kwoty
number_format(...,2,',',' ').' zł'powtórzony w widokach jako lokalna funkcja$fmt. Trywialny, świadomie nie wydzielony do helpera (YAGNI).
Rozwiązane
- Zarobek netto: jedno źródło prawdy
InstrumentModel::withStats(net_invested,profit,percent); nie liczony w widokach. - Typ operacji inwestycyjnej: ENUM
deposit|withdraww DB + walidacjain_listw modelu + sanity w kontrolerze. - Integralność: FK RESTRICT na
inv_operations/inv_valuations.
Odłożone
- Pełna indeksacja
codebase-memory-mcp—$paul-map-codebase. - jscpd/ast-grep — wyłączone polityką w
config.md(skan on-demand).
Do obserwacji
portfolioTimelineliczony w PHP O(daty × operacje) — trywialne przy ręcznych wycenach; przy dużej liczbie wpisów rozważyć agregację SQL.