feat(129): erli status mapping sync

Phase 129 complete:
- Add Erli pull/push status mapping tables, seeds and repositories
- Wire Erli status sync cron for inbox pull and manual-only push
- Add tabbed Erli settings UI, tests and documentation

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-16 00:27:08 +02:00
parent c127ebf04d
commit 7972bb9fa4
28 changed files with 2021 additions and 57 deletions

View File

@@ -2,22 +2,22 @@
## Project Reference
See: .paul/PROJECT.md (updated 2026-05-07)
See: .paul/PROJECT.md (updated 2026-05-16)
**Core value:** Sprzedawca moze obslugiwac zamowienia ze wszystkich kanalow sprzedazy i nadawac przesylki bez przelaczania sie miedzy platformami.
**Current focus:** v3.8 Erli Marketplace Integration - Phase 128 complete; Phase 129 ready to plan.
**Current focus:** v3.8 Erli Marketplace Integration - Phase 130 ready to plan.
## Current Position
Milestone: v3.8 Erli Marketplace Integration
Phase: 129 of 132 (Erli Status Mapping + Sync)
Phase: 130 of 132 (Erli Shipments + Labels) - Not started
Plan: Not started
Status: Ready to plan
Last activity: 2026-05-15 23:52 - Phase 128 complete; transitioned to Phase 129
Last activity: 2026-05-16 00:23 - Phase 129 complete, transitioned to Phase 130
Progress:
- Milestone v3.8: [####------] ~33% (Phases 127-128 complete)
- Phase 129: [----------] 0% (not planned)
- Milestone v3.8: [#####-----] 50% (Phases 127-129 complete; Phase 130 next)
- Phase 130: [----------] 0% (not planned)
## Loop Position
@@ -29,20 +29,26 @@ PLAN -> APPLY -> UNIFY
## Session Continuity
Last session: 2026-05-15 23:52
Stopped at: Phase 128 complete
Next action: $paul-plan for Phase 129 (Erli Status Mapping + Sync)
Resume file: .paul/phases/128-erli-orders-import/128-01-SUMMARY.md
Last session: 2026-05-16 00:23
Stopped at: Phase 129 complete, ready to plan Phase 130
Next action: $paul-plan for Phase 130 (Erli Shipments + Labels)
Resume file: .paul/ROADMAP.md
## Pending parallel work
- None — Phase 118, 121, 122 wszystkie zacommitowane (8f14851, 360eef1).
## Git State
Last phase commit: 2565d9b feat(128): erli orders import
Previous: d6b18a6 feat(127): erli integration foundation
Last phase commit: b371420 feat(129): erli status mapping sync
Previous: 2565d9b feat(128): erli orders import
Branch: main
### Skill Audit (Phase 129)
| Expected | Invoked | Notes |
|----------|---------|-------|
| `sonar-scanner` | gap documented | Attempted before UNIFY; CLI is not available in PATH. |
## Pending Actions
- Manualne testy AC-1..AC-7 dla Phase 112 na zywej bazie (XAMPP online).
@@ -68,6 +74,8 @@ Branch: main
- Phase 127 follow-up: uruchom `php bin/migrate.php` gdy lokalny MySQL/XAMPP jest online, zapisz prawdziwy klucz Erli w `/settings/integrations/erli`, wykonaj realny test polaczenia i potwierdz wpis w hubie integracji.
- Phase 128 follow-up: uruchom `php bin/migrate.php`, wlacz import Erli w `/settings/integrations/erli`, kliknij `Importuj zamowienia teraz`, potwierdz `orders.source='erli'` i sprawdz, ze przy bezblednym batchu inbox ACK `POST /inbox/mark-read` nie zostawia nieprzeczytanych zdarzen.
- Phase 128 verification gap: `vendor/bin/phpunit` nie istnieje w checkoutcie, wiec test `tests/Unit/ErliOrderMapperTest.php` nie zostal uruchomiony przez PHPUnit; wykonano `php -l` i runtime smoke mappera.
- Phase 129 follow-up: uruchom `php bin/migrate.php`, sprawdz `/settings/integrations/erli` mapowania pull/push i zakladki, zapisz mapowania, ustaw `orderPRO -> Erli`, zmien recznie status zamowienia Erli i uruchom cron `erli_status_sync`.
- Phase 129 verification gap: `vendor/bin/phpunit` nie istnieje w checkoutcie, a globalny XAMPP PHPUnit jest niekompatybilny z PHP (`each()` removed), wiec testy `ErliOrderMapperTest` i `ErliStatusSyncServiceTest` nie zostaly uruchomione przez PHPUnit; wykonano `php -l`, runtime smoke mappera i `git diff --check`.
## Deferred to Next Milestones
@@ -78,4 +86,4 @@ Branch: main
## Skill Requirements
- `sonar-scanner` required after APPLY; Phase 116, Phase 117, Phase 121, Phase 122 and Phase 128 gaps documented because CLI was not available in PATH.
- `sonar-scanner` required after APPLY; Phase 116, Phase 117, Phase 121, Phase 122, Phase 128 and Phase 129 gaps documented because CLI was not available in PATH.