wip(06-sonarqube-quality): 6 planów SonarQube Quality utworzonych

Plany dla php:S112, S1142, S1192, S3776, S1448, S138 — gotowe do APPLY.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 10:54:57 +01:00
parent 2d4b52adfc
commit 3a9cfcd4a2
9 changed files with 1545 additions and 11 deletions

View File

@@ -0,0 +1,98 @@
# PAUL Handoff
**Date:** 2026-03-13
**Status:** paused
---
## READ THIS FIRST
You have no prior context. This document tells you everything.
**Project:** orderPRO — aplikacja do zarządzania zamówieniami z wielu kanałów sprzedaży (Allegro, Erli, własne sklepy). Generowanie etykiet kurierskich.
**Core value:** Sprzedawca obsługuje wszystkie kanały i nadaje przesyłki bez przełączania platform.
---
## Current State
**Version:** v0.1.0 (In Progress)
**Phase:** 6 of TBD — 06-sonarqube-quality
**Plan:** 06-01..06-06 — CREATED, awaiting approval
**Loop Position:**
```
PLAN ──▶ APPLY ──▶ UNIFY
✓ ○ ○ [6 planów gotowych, żaden nie wykonany]
```
---
## What Was Done
- Przeanalizowano 327 issues SonarQube z CONCERNS.md i DOCS/todo.md
- Zbadano kluczowe pliki (AllegroIntegrationController 923L, ShopproIntegrationsController 901L, ShopproOrdersSyncService 1192L, OrdersRepository 785L)
- Utworzono 6 planów dla fazy 06-sonarqube-quality:
- `06-01-PLAN.md` — php:S112 (95x) — typowane wyjątki zamiast RuntimeException
- `06-02-PLAN.md` — php:S1142 (57x) — redukcja return statements (save() z 5→≤3)
- `06-03-PLAN.md` — php:S1192 (40x) — ekstrakcja literałów do stałych (IntegrationSources, RedirectPaths)
- `06-04-PLAN.md` — php:S3776 (31x) — redukcja złożoności kognitywnej (extract method)
- `06-05-PLAN.md` — php:S1448 (6x) — podział god classes (ShopproOrdersSyncService 39→≤20 metod, AllegroIntegrationController 30→≤15)
- `06-06-PLAN.md` — php:S138 (4x) — skrócenie długich metod (sync 195L, paginate 183L)
- Zaktualizowano ROADMAP.md (Phase 6 dodana)
- Zaktualizowano STATE.md
---
## What's In Progress
- Żaden plan nie jest w trakcie — wszystkie 6 czeka na zatwierdzenie i APPLY
---
## What's Next
**Immediate:** Wybierz plan do wykonania i uruchom `/paul:apply .paul/phases/06-sonarqube-quality/06-XX-PLAN.md`
**Rekomendowana kolejność:**
1. `06-01` (php:S112) — najprostsza zmiana, nowe klasy + podmiana throw
2. `06-03` (php:S1192) — quick win, stałe zamiast literałów
3. `06-02` (php:S1142) — refaktoryzacja metod w 2 kontrolerach
4. `06-06` (php:S138) — skrócenie długich metod
5. `06-04` (php:S3776) — redukcja złożoności (extract method w god classes)
6. `06-05` (php:S1448) — największa zmiana: podział klas (ma checkpoint:human-verify)
**Zależności między planami:**
- `06-01, 06-02, 06-03` — niezależne, wave 1
- `06-04` — niezależny, wave 2 (lepiej przed 06-05)
- `06-05``depends_on: ["06-04"]`, wave 3, nie jest autonomous (ma human-verify)
- `06-06` — wave 2, uważaj na interferencję z 06-05 w ShopproOrdersSyncService
---
## Key Files
| File | Purpose |
|------|---------|
| `.paul/STATE.md` | Live project state |
| `.paul/ROADMAP.md` | Phase overview |
| `.paul/phases/06-sonarqube-quality/06-01-PLAN.md` | S112: Typowane wyjątki |
| `.paul/phases/06-sonarqube-quality/06-02-PLAN.md` | S1142: Redukcja return |
| `.paul/phases/06-sonarqube-quality/06-03-PLAN.md` | S1192: Stałe dla literałów |
| `.paul/phases/06-sonarqube-quality/06-04-PLAN.md` | S3776: Złożoność kognitywna |
| `.paul/phases/06-sonarqube-quality/06-05-PLAN.md` | S1448: Podział god classes |
| `.paul/phases/06-sonarqube-quality/06-06-PLAN.md` | S138: Długie metody |
| `.paul/codebase/CONCERNS.md` | Pełna lista concerns (tech debt, bugs, performance) |
| `DOCS/todo.md` | Lista TODO z SonarQube issues |
---
## Resume Instructions
1. Przeczytaj `.paul/STATE.md` — potwierdź pozycję w loop
2. Wybierz plan (rekomendowane: 06-01 lub 06-03)
3. Uruchom `/paul:apply .paul/phases/06-sonarqube-quality/06-01-PLAN.md`
---
*Handoff created: 2026-03-13*