Files
orderPRO/.paul/phases/07-pre-expansion-fixes/07-05-SUMMARY.md
Jacek Pyziak 5ab87a5a20 feat(07-pre-expansion-fixes): complete phase 07 — milestone v0.2 done
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>
2026-03-15 00:37:21 +01:00

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
inpost
shipx-api
shipment-provider
ftp-deploy
phase provides
01-allegro-token-manager ShipmentProviderInterface pattern from AllegroShipmentService
InpostShipmentService implementing ShipmentProviderInterface (native ShipX API)
Workaround remap inpost→allegro_wza removed from ShipmentController
vendor/ excluded from ftp-kr auto-upload (prevents dev deps on server)
2 broken use-statement fixes in ShipmentController and AllegroShipmentService
future-carriers
inpost-configuration
ci-cd
added patterns
ShipX API integration via cURL
ShipmentProviderInterface for new carriers
created modified
src/Modules/Shipments/InpostShipmentService.php
src/Modules/Shipments/ShipmentController.php
src/Modules/Shipments/AllegroShipmentService.php
routes/web.php
.vscode/ftp-kr.json
ShipX API (natywne InPost) zamiast Allegro WZA — pełna niezależność od Allegro
vendor/ w ftp-kr ignore — zapobiega auto-upload dev deps na serwer
Nowy carrier = nowy XxxShipmentService implements ShipmentProviderInterface + rejestracja w web.php
vendor/ deploy: ręcznie przez skrypt FTP po composer install --no-dev
~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 AppCoreExceptionsIntegrationConfigException i use 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