Phase 7 complete (5 plans): - 07-01: Performance (N+1→LEFT JOIN, static cache, DB indexes) - 07-02: Stability (SSL verification, cron throttle DB, migration 000014b) - 07-03: UX (orderpro_to_allegro disable, lista zamówień fixes, SSL hotfix) - 07-04: Tests (12 unit tests for AllegroTokenManager + AllegroOrderImportService) - 07-05: InPost ShipX API (natywny provider, workaround remap usunięty) Additional fixes: - 5 broken use-statements fixed across 4 files - vendor/ excluded from ftp-kr auto-upload - PHPUnit + dg/bypass-finals infrastructure Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5.9 KiB
5.9 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, duration, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | duration | completed | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 07-pre-expansion-fixes | 05 | shipments |
|
|
|
|
|
|
|
|
~20min | 2026-03-15T13:00:00Z |
Phase 7 Plan 05: InPost ShipmentProviderInterface Summary
InpostShipmentService z natywnym ShipX API zastąpił workaround remap inpost→allegro_wza. InPost działa niezależnie od Allegro.
Performance
| Metric | Value |
|---|---|
| Duration | ~20min |
| Completed | 2026-03-15 |
| Tasks | 3 completed (2 auto + 1 checkpoint) |
| Files created | 1 |
| Files modified | 4 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: InpostShipmentService implementuje ShipmentProviderInterface | Pass | php -l clean, implements ShipmentProviderInterface, 5 metod interfejsu |
| AC-2: InPost shipments przez InPost API, nie Allegro WZA | Pass | Workaround usunięty, InpostShipmentService zarejestrowany pod kluczem 'inpost' |
| AC-3: Brak regresji Allegro WZA | Pass | Human-verify approved — formularz ładuje się bez błędów, Allegro WZA nadal dostępne |
Accomplishments
- InpostShipmentService z pełną implementacją ShipX API: createShipment, checkCreationStatus, downloadLabel, getDeliveryServices
- Workaround
if ($providerCode === 'inpost') { $providerCode = 'allegro_wza'; }usunięty z ShipmentController - InpostShipmentService zarejestrowany w ShipmentProviderRegistry (routes/web.php)
- vendor/ dodany do ftp-kr ignore — rozwiązanie problemu auto-upload dev dependencies na serwer
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
src/Modules/Shipments/InpostShipmentService.php |
Created | Natywna implementacja ShipX API — create, status, label |
src/Modules/Shipments/ShipmentController.php |
Modified | Usunięty remap inpost→allegro_wza; fix use ShipmentException |
src/Modules/Shipments/AllegroShipmentService.php |
Modified | Fix broken use-statements (IntegrationConfigException, ShipmentException) |
routes/web.php |
Modified | Dodano use InpostShipmentService, wiring w ShipmentProviderRegistry |
.vscode/ftp-kr.json |
Modified | Dodano vendor/, tests/, phpunit.xml, composer.* do ignore |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
| ShipX API (natywne InPost) | InpostIntegrationRepository ma pola ShipX (organization_id, locker_size, dispatch_method) — jest pod ShipX, nie Allegro WZA | InPost działa bez Allegro; InPost-only użytkownicy odblokwani |
| vendor/ w ftp-kr ignore | Auto-upload wrzucał dev deps (phpunit, deep-copy) na serwer powodując Fatal Error | Deploy vendor/ ręcznie; dev deps nigdy nie trafią na serwer |
Deviations from Plan
Summary
| Type | Count | Impact |
|---|---|---|
| Auto-fixed | 2 | Broken use-statements w ShipmentController i AllegroShipmentService |
| Scope additions | 1 | ftp-kr.json ignore (konieczne — auto-upload powodował crash na serwerze) |
| Deferred | 0 | — |
Total impact: Niezbędne poprawki. Bez fix use-statements ShipmentException nigdy nie byłby łapany prawidłowo.
Auto-fixed Issues
1. Broken use-statement: ShipmentController
- Found during: Task 2
- Issue:
use AppCorexceptionsShipmentException— brak backslashy - Fix:
use App\Core\Exceptions\ShipmentException - Files: src/Modules/Shipments/ShipmentController.php
2. Broken use-statements: AllegroShipmentService
- Found during: Task 2
- Issue:
use AppCoreExceptionsIntegrationConfigExceptioniuse AppCoreExceptionsShipmentException - Fix: Poprawione backslashe w obu use-statements
- Files: src/Modules/Shipments/AllegroShipmentService.php
Skill Audit
| Oczekiwany | Wywołany | Uwagi |
|---|---|---|
| sonar-scanner | ○ | Zainstalowany (v4.3.5) ale nie uruchomiony w tym planie |
Issues Encountered
| Issue | Resolution |
|---|---|
| Auto-upload vendor/ z dev deps → Fatal Error na serwerze | Dodano vendor/ do ftp-kr ignore; deploy vendor/ ręcznie przez FTP skrypt |
| Wiring nie w Application.php (jak zakładał plan) ale w routes/web.php | Znalezione przez grep; dodano wiring w tym samym pliku co inne providery |
Next Phase Readiness
Ready:
- Wzorzec ShipmentProviderInterface sprawdzony na 3 providerach (Allegro WZA, Apaczka, InPost)
- Dodanie nowego carrieru: 1 klasa + 1 linia w web.php
- sonar-scanner zainstalowany (v4.3.5), gotowy do uruchomienia
Concerns:
- InPost ShipX wymaga testów z prawdziwym tokenem sandbox — nie testowano API calls
- 5+ broken use-statements naprawionych w fazach 07-04 i 07-05 — mogą być więcej w innych plikach
Blockers:
- Brak
Phase: 07-pre-expansion-fixes, Plan: 05 Completed: 2026-03-15