Files
orderPRO/.paul/phases/41-allegro-import-log-rationalization/41-01-PLAN.md

7.0 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous
phase plan type wave depends_on files_modified autonomous
41-allegro-import-log-rationalization 01 execute 1
src/Modules/Settings/AllegroOrderImportService.php
src/Modules/Settings/AllegroOrdersSyncService.php
src/Modules/Settings/AllegroStatusSyncService.php
src/Modules/Orders/OrdersRepository.php
resources/views/orders/show.php
DOCS/ARCHITECTURE.md
DOCS/TECH_CHANGELOG.md
DOCS/todo.md
true
## Goal Zrealizowac punkt 41 z `DOCS/todo.md`: wyjasnic i uporzadkowac duza liczbe logow importu Allegro (np. na `/orders/29`) tak, aby bylo jasne skad pochodza wpisy i zredukowac szum w historii zdarzen.

Purpose

Historia zamowienia ma byc czytelna diagnostycznie: uzytkownik powinien widziec tylko sensowne wpisy importu i rozumiec, czy import uruchomil sync zamowien, sync statusow czy akcja reczna.

Output

Wdrozone ograniczenie duplikatow logow import, rozszerzony kontekst wpisu (zrodlo wywolania i metadane), oraz aktualna dokumentacja opisujaca przeplyw importu i przyczyne dotychczasowego nadmiaru wpisow.

## Project Context @.paul/PROJECT.md @.paul/ROADMAP.md @.paul/STATE.md @DOCS/todo.md @DOCS/ARCHITECTURE.md @DOCS/DB_SCHEMA.md

Prior Work (only if genuinely needed)

@.paul/phases/21-order-source-display/21-01-SUMMARY.md @.paul/phases/29-delivery-status-mapping-ui/29-01-SUMMARY.md

Source Files

@src/Modules/Settings/AllegroOrderImportService.php @src/Modules/Settings/AllegroOrdersSyncService.php @src/Modules/Settings/AllegroStatusSyncService.php @src/Modules/Orders/OrdersRepository.php @resources/views/orders/show.php

## Required Skills (from SPECIAL-FLOWS.md)
Skill Priority When to Invoke Loaded?
sonar-scanner required Po APPLY, przed UNIFY o
/code-review optional Po implementacji, przed UNIFY o

BLOCKING: Required skills MUST be loaded before APPLY proceeds.

Skill Invocation Checklist

  • sonar-scanner uruchomiony po APPLY
  • /code-review (opcjonalnie)

<acceptance_criteria>

AC-1: Log importu zawiera czytelny kontekst uruchomienia

Given import Allegro jest uruchamiany z roznych miejsc (manual, sync zamowien, sync statusow)
When powstaje wpis `import` w `order_activity_log`
Then wpis zawiera metadane pozwalajace wskazac trigger i zakres sprawdzen
And uzytkownik moze odroznic dlaczego import zostal wykonany

AC-2: Duplikaty logow importu sa ograniczone

Given ta sama wersja danych zamowienia jest importowana wielokrotnie
When brak istotnej zmiany danych (np. to samo source_updated_at i ten sam trigger)
Then kolejny wpis `import` nie jest dopisywany jako nowy rekord
And historia zdarzen pozostaje skondensowana

AC-3: Przyczyna ilosci logow jest udokumentowana

Given wdrozenie jest zakonczone
When sprawdzane sa dokumenty techniczne
Then ARCHITECTURE i TECH_CHANGELOG wyjasniaja, skad braly sie liczne logi importu
And punkt 41 w DOCS/todo.md jest oznaczony jako wykonany

</acceptance_criteria>

Task 1: Dodaj kontekst triggera do sciezek importu Allegro src/Modules/Settings/AllegroOrderImportService.php, src/Modules/Settings/AllegroOrdersSyncService.php, src/Modules/Settings/AllegroStatusSyncService.php Rozszerz wywolania importu tak, aby `AllegroOrderImportService` otrzymywal jawny kontekst triggera (np. `manual_import`, `orders_sync`, `status_sync`). Kiedy import zapisuje aktywnosc, zapisuj trigger i metadane diagnostyczne w `details_json`. Zachowaj kompatybilnosc z dotychczasowymi miejscami wywolan (domyslny trigger tam, gdzie niepodany). rg -n "trigger|manual_import|orders_sync|status_sync|recordActivity\(" src/Modules/Settings/AllegroOrderImportService.php src/Modules/Settings/AllegroOrdersSyncService.php src/Modules/Settings/AllegroStatusSyncService.php AC-1 satisfied: kazdy nowy log importu ma jasny kontekst uruchomienia. Task 2: Wprowadz deduplikacje wpisow `import` w historii zamowienia src/Modules/Orders/OrdersRepository.php, src/Modules/Settings/AllegroOrderImportService.php Dodaj mechanizm sprawdzajacy ostatni wpis `import` dla zamowienia i pomijajacy zapis, gdy dane diagnostyczne wskazuja ten sam cykl importu (np. identyczny `source_updated_at` + trigger + source_order_id). Nie pomijaj wpisu dla nowego zamowienia (`created=true`) ani dla realnej zmiany danych. Zadbaj o prepared statements i brak sklejania SQL stringiem z danymi. rg -n "last import|dedup|source_updated_at|event_type = 'import'|details_json" src/Modules/Orders/OrdersRepository.php src/Modules/Settings/AllegroOrderImportService.php AC-2 satisfied: historia nie jest zalewana duplikatami importu. Task 3: Uporzadkuj prezentacje i dokumentacje logow importu resources/views/orders/show.php, DOCS/ARCHITECTURE.md, DOCS/TECH_CHANGELOG.md, DOCS/todo.md W widoku historii (`orders/show`) upewnij sie, ze wpis `import` pozostaje czytelny dla uzytkownika (bez debugowego szumu), a pelny kontekst pozostaje diagnostycznie dostepny. Zaktualizuj dokumentacje: skad brala sie ilosc logow oraz jakie zasady deduplikacji i opisu triggerow obowiazuja po zmianie. Oznacz punkt 41 jako wykonany. rg -n "import|trigger|deduplik|41\." resources/views/orders/show.php DOCS/ARCHITECTURE.md DOCS/TECH_CHANGELOG.md DOCS/todo.md AC-3 satisfied: uzytkownik i zespol maja jasne wyjasnienie zachowania logow.

DO NOT CHANGE

  • database/migrations/*
  • Semantyka istniejacych event_type poza import
  • Integracje inne niz Allegro

SCOPE LIMITS

  • Zakres dotyczy tylko logow importu Allegro i ich czytelnosci.
  • Bez przebudowy calego systemu activity log.
  • Bez zmiany endpointow UI niezwi¹zanych z historia zamowienia.
Before declaring plan complete: - [ ] `C:\xampp\php\php.exe -l src/Modules/Settings/AllegroOrderImportService.php` - [ ] `C:\xampp\php\php.exe -l src/Modules/Settings/AllegroOrdersSyncService.php` - [ ] `C:\xampp\php\php.exe -l src/Modules/Settings/AllegroStatusSyncService.php` - [ ] `C:\xampp\php\php.exe -l src/Modules/Orders/OrdersRepository.php` - [ ] `C:\xampp\php\php.exe -l resources/views/orders/show.php` - [ ] Manual check: historia zdarzen dla testowego zamowienia Allegro nie zawiera powtarzalnych wpisow bez zmian - [ ] Dokumentacja (`DOCS/ARCHITECTURE.md`, `DOCS/TECH_CHANGELOG.md`, `DOCS/todo.md`) zaktualizowana - [ ] All acceptance criteria met

<success_criteria>

  • Powod i trigger wpisow importu sa transparentne
  • Liczba duplikatow logow importu zostala istotnie zredukowana
  • Punkt 41 zamkniety wraz z dokumentacja techniczna </success_criteria>
After completion, create `.paul/phases/41-allegro-import-log-rationalization/41-01-SUMMARY.md`