Files
finansePRO/.paul/codebase/quality_risks.md
T
2026-07-06 20:16:00 +02:00

1.1 KiB
Raw Blame History

Quality Risks

Aktualizacja: 2026-07-06 (post-apply Plan 2 — degraded)

Zaakceptowane świadomie

  • Kopiowanie wzorców zapytań z OperationModel do InvOperationModel/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|withdraw w DB + walidacja in_list w 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

  • portfolioTimeline liczony w PHP O(daty × operacje) — trywialne przy ręcznych wycenach; przy dużej liczbie wpisów rozważyć agregację SQL.