Uporządkowany, prowadzony przegląd każdego pliku .cs w tej zmianie względem main — co sprawdzić w każdym pliku i jaki ma poziom ryzyka — aby przegląd dało się podzielić w zespole i nic nie umknęło.
main: 13 commitów, 136 plików .cs (121 nowych, 15 zmienionych). Przeglądaj od góry do dołu; każdy etap opiera się na poprzednim.Przeglądaj od góry do dołu — model → porty → orkiestracja → obrzeża → testy. Odhacz plik po sprawdzeniu; postęp zapisuje się w przeglądarce.
Przydziel każdej osobie jeden lub więcej etapów. Etapy wysokiego ryzyka (7–10: bazowy handler, handlery kroków, komendy sterujące) zacznij od najmocniejszych recenzentów.
Każdy plik wymienia konkretne rzeczy do zweryfikowania — warunki strażników, transakcje, współbieżność, idempotencję, klasyfikację błędów — to nie streszczenie. Czytaj kod; traktuj to jako soczewkę.
Na co zwrócić uwagę: Agregat pozyskiwania, obiekty wartości status/krok oraz zdarzenie w kolejce. Przeczytaj to najpierw — każdy handler opiera się na tej maszynie stanów.
src/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Events/InboundDeliveryIngestionQueuedEvent.cswysokiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/InboundDeliveryIngestion.cswysokiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/IngestionOrigin.csniskiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/IngestionStatus.csśredniesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/IngestionStepExecution.csśredniesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/IngestionStepStatus.csniskiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/IngestionStepType.csśrednieNa co zwrócić uwagę: Strażniki przejść stop / start / resume / restart / delete. Sprawdź, czy każdy koduje prawidłowe dozwolone stany i jest ewaluowany przed jakąkolwiek mutacją.
src/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Rules/IngestionCanBeDeletedOnlyWhenInactiveRule.csśredniesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Rules/IngestionCanBeRestartedUnlessCompletedRule.cswysokiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Rules/IngestionCanBeResumedOnlyFromGracePauseRule.csśredniesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Rules/IngestionCanBeStartedOnlyWhenStoppedOrFailedRule.csniskiesrc/WOCK.WholeSale.Domain/Delivery/InboundDeliveryIngestion/Rules/IngestionCanBeStoppedOnlyWhileActiveRule.csniskieNa co zwrócić uwagę: Zmiany w istniejącym InboundDelivery / Key, aby operacja konwersji mogła utworzyć dostarczenie z już przesłanymi kluczami. Przejrzyj tylko te fragmenty — bramkę pomijania przesyłania kluczy i wstępnie wyliczane nazwy obiektów blob.
src/WOCK.WholeSale.Application/Deliveries/InboundDelivery/EventHandlers/InboundDeliveryCreated/UploadKeysToStorageEventHandler.csśredniesrc/WOCK.WholeSale.Domain/Delivery/InboundDelivery/Events/InboundDeliveryCreated/InboundDeliveryCreatedEvent.csniskiesrc/WOCK.WholeSale.Domain/Delivery/InboundDelivery/InboundDelivery.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDelivery/EventHandlers/InboundDeliveryCreated/SupplyInboundOrdersEventHandler.csśredniesrc/WOCK.WholeSale.Domain/Delivery/Key.cswysokieNa co zwrócić uwagę: Interfejsy, od których zależy potok przetwarzania. Sprawdź umowy (i wymagane UserId w komendach działających w tle) przed ich implementacjami.
src/WOCK.Framework.Persistence.Abstraction/Repositories/IInboundDeliveryIngestionsRepository.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IInboundDeliveryIngestionStorage.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IGeneratedInboundOrderSink.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IInboundDeliveryMultipartParser.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IInboundDeliveryZipExpander.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IIngestionKeyReservationService.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IIngestionProgressService.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Abstractions/IKeysStorageMirror.csśrednieNa co zwrócić uwagę: JSON-owe artefakty przekazywane między etapami, katalog błędów oraz DTO postępu — kształty, na których opiera się reszta systemu.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/StepOutcome.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/InboundDeliveryUploadFields.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Models/ParsedPayloadArtifact.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Models/PreparedKeysArtifact.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Responses/InboundDeliveryIngestionProgressResponse.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Responses/IngestionStepProgressDto.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Results/IngestionErrors.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Results/IngestionStepFailure.csśrednieNa co zwrócić uwagę: DTO komend (nośniki IngestionId / Attempt / UserId) oraz bazowa klasa background command, która przywraca kontekst użytkownika. Sprawdzić threading attempt i user.
src/WOCK.WholeSale.Application/BackgroundCommandHandler.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/AwaitGracePeriodStepCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/CreateInboundDeliveryIngestionCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/CreateInboundDeliveryStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/CreateInboundDeliveryStepCommandTimeout.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/DeleteInboundDeliveryIngestionCommand.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/DetectDuplicatesStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ExpandArchivesStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/GenerateKeysStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/InboundDeliveryIngestionStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/MarkIngestionTerminallyFailedCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ParseRawPayloadStepCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/PurgeIngestionRawPayloadCommand.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ReserveKeysStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ResolveAndValidateProductsStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/RestartInboundDeliveryIngestionCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ResumeInboundDeliveryIngestionCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/StartInboundDeliveryIngestionCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/StopInboundDeliveryIngestionCommand.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/UploadKeysStepCommand.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Commands/ValidatePartnerStepCommand.csśrednieNa co zwrócić uwagę: Wspólny cykl życia obiektu handler kroku (guardy przed nieaktualnym stanem/zatrzymaniem/idempotencją, zapis kroku, umieszczenie następnego, transakcja) oraz wejście HTTP, które umieszcza pobieranie w kolejce. Pliki o największym znaczeniu w PR.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/CreateInboundDeliveryIngestionCommandHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/InboundDeliveryIngestionStepHandler.cswysokieNa co zwrócić uwagę: Przeczytaj każdą metodę ExecuteAsync: artefakt wejściowy/wyjściowy, klasyfikacja awarii biznesowej i kontrole magazynu/kluczy w Generate keys.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ExpandArchivesStepHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/GenerateKeysStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ParseRawPayloadStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ResolveAndValidateProductsStepHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ValidatePartnerStepHandler.csśrednieNa co zwrócić uwagę: Krytyczna dla współbieżności część: rezerwacja Redis, deduplikacja w ramach ładunku + zwolnienie, upload blob, harmonogram grace period i konwergencja zabezpieczona tokenem.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/AwaitGracePeriodStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/CreateInboundDeliveryStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/DetectDuplicatesStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ReserveKeysStepHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/UploadKeysStepHandler.cswysokieNa co zwrócić uwagę: Stop / wznowienie / start / restart / usunięcie / rejestracja / czyszczenie / błąd końcowy. Sprawdź flagi cache vs zapis agregatu, buforowanie próbek i zwolnienie rezerwacji.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/DeleteInboundDeliveryIngestionCommandHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/MarkIngestionTerminallyFailedCommandHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/PurgeIngestionRawPayloadCommandHandler.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/RestartInboundDeliveryIngestionCommandHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/ResumeInboundDeliveryIngestionCommandHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/StartInboundDeliveryIngestionCommandHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CommandHandlers/StopInboundDeliveryIngestionCommandHandler.csśrednieNa co zwrócić uwagę: Rozpoczęcie potoku przy zdarzeniu queued integration event, sukces przy zdarzeniu order-completed oraz broadcast gotowego delivery. Sprawdź idempotentność i korelację.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/EventHandlers/BroadcastInboundDeliveryCompletedEventHandler.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/EventHandlers/StartPipelineWhenIngestionQueuedEventHandler.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/EventHandlers/SucceedIngestionWhenGeneratedOrderCompletedEventHandler.csśrednieNa co zwrócić uwagę: Cron czyszczący nieużywane surowe ładunki (musi uwzględnić IboGenerated) oraz zapytania/obsługi po stronie odczytu.
src/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/CronJobs/PurgeStaleIngestionRawPayloadsCronJob.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Query/GetCompletedInboundDeliveryIngestionsQuery.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Query/GetExpandedInboundDeliveryIngestionPayloadQuery.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Query/GetInboundDeliveryIngestionQuery.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/Query/GetInProgressInboundDeliveryIngestionsQuery.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/QueryHandlers/GetCompletedInboundDeliveryIngestionsQueryHandler.csniskiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/QueryHandlers/GetExpandedInboundDeliveryIngestionPayloadQueryHandler.cswysokiesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/QueryHandlers/GetInboundDeliveryIngestionQueryHandler.csśredniesrc/WOCK.WholeSale.Application/Deliveries/InboundDeliveryIngestion/QueryHandlers/GetInProgressInboundDeliveryIngestionsQueryHandler.csśrednieNa co zwrócić uwagę: Konkretne implementacje: magazyn PVC, ekspander ZIP, rezerwacja kluczy Redis (Lua), usługa postępu, lustro kluczy.
src/WOCK.WholeSale.Factories/Ingestion/InboundDeliveryIngestionStorage.csśredniesrc/WOCK.WholeSale.Factories/Ingestion/GeneratedInboundOrderSink.csniskiesrc/WOCK.WholeSale.Factories/Ingestion/InboundDeliveryZipExpander.csniskiesrc/WOCK.WholeSale.Factories/Ingestion/IngestionKeyReservationService.csniskiesrc/WOCK.WholeSale.Factories/Ingestion/IngestionProgressService.csniskiesrc/WOCK.WholeSale.Factories/Ingestion/KeysStorageMirror.csniskieNa co zwrócić uwagę: Dodania SignalR broadcast, interfejs cache, nowe pola AppSettings dla ingestion i mock'i testowe. Recenzja tylko różnic.
src/WOCK.Framework.Cache/ICacheService.csniskiesrc/WOCK.Framework.Utils/Mocks/BackgroundServiceMock.csniskiesrc/WOCK.Framework.Utils/Mocks/NotificationServiceMock.csniskiesrc/WOCK.Framework.WebAPI.Abstraction/Models/AppSettings.csniskiesrc/WOCK.WholeSale.Services/Websocket/NotificationService/INotificationService.csniskiesrc/WOCK.WholeSale.Services/Websocket/NotificationService/NotificationService.csniskieNa co zwrócić uwagę: Kontroler, parser multipart ze strumieniowaniem, filtr Hangfire dla błędów terminalnych, dynamiczne ładowanie konfiguracji oraz wiring DI w Startup. Potwierdź, że wszystko jest zarejestrowane.
src/WOCK.WholeSale.WebAPI/Controllers/Deliveries/InboundDeliveryIngestionsController.cswysokiesrc/WOCK.WholeSale.WebAPI/Infrastructure/Configuration/IngestionRuntimeConfigReloader.csniskiesrc/WOCK.WholeSale.WebAPI/Infrastructure/Configuration/IngestionRuntimeOptions.csniskiesrc/WOCK.WholeSale.WebAPI/Infrastructure/Filters/IngestionStepTerminalFailureFilter.csniskiesrc/WOCK.WholeSale.WebAPI/Infrastructure/Ingestion/InboundDeliveryMultipartParser.csśredniesrc/WOCK.WholeSale.WebAPI/Program.cswysokiesrc/WOCK.WholeSale.WebAPI/Startup.cswysokieNa co zwrócić uwagę: Konfiguracje EF Core i repozytorium. Sprawdź typy kolumn i ich długości, owned Trace, oraz eager-load includes.
src/WOCK.WholeSale.Persistence/Deliveries/Configuration/InboundDeliveryIngestionConfiguration.csniskiesrc/WOCK.WholeSale.Persistence/Deliveries/Configuration/IngestionStepExecutionConfiguration.csniskiesrc/WOCK.WholeSale.Persistence/Deliveries/Repositories/InboundDeliveryIngestionsRepository.csśrednieNa co zwrócić uwagę: Weryfikacja zgodności migracji z konfiguracjami oraz że są tylko w kierunku do przodu. Skupić się na metodzie Up(); pliki *.Designer / snapshot są generowane przez EF.
src/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260530044305_AddedIngestion_Deliveries.csśredniesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260530044305_AddedIngestion_Deliveries.Designer.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260611133321_IngestionSimplify_Deliveries.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260611133321_IngestionSimplify_Deliveries.Designer.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260616063223_IngestionAdjustments_Deliveries.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260616063223_IngestionAdjustments_Deliveries.Designer.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260619071643_IngestionDeliveryAndOrderReferences_Deliveries.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/20260619071643_IngestionDeliveryAndOrderReferences_Deliveries.Designer.csniskiesrc/WOCK.WholeSale.Persistence.Migrations/Deliveries/DeliveriesContextModelSnapshot.csśrednieNa co zwrócić uwagę: Pokrycie agregatu, reguł, cyklu życia podstawowego, każdego handlera i testu integracyjnego. Sprawdź, czy rzeczywiście asertuje się ścieżki obarczone ryzykiem (token grace, stop/resume, converge).
src/WOCK.WholeSale.Tests.Integration/Deliveries/Inbound/InboundDeliveryIngestionIntegrationTests.cswysokiesrc/WOCK.WholeSale.Tests.Integration/Helpers/EndpointsPaths.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/AwaitGracePeriodStepHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/CreateInboundDeliveryIngestionCommandHandlerTests.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/DetectDuplicatesStepHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/ExpandArchivesStepHandlerTests.csśredniesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/GetExpandedInboundDeliveryIngestionPayloadQueryHandlerTests.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/InboundDeliveryIngestionStepHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/InboundDeliveryIngestionTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/CreateInboundDeliveryStepHandlerTests.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/IngestionProgressServiceTests.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/IngestionRulesTests.csśredniesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/IngestionStepFailureTests.csniskiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/MarkIngestionTerminallyFailedCommandHandlerTests.csśredniesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/ReserveKeysStepHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/ResumeInboundDeliveryIngestionCommandHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/StartInboundDeliveryIngestionCommandHandlerTests.csśredniesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/StopInboundDeliveryIngestionCommandHandlerTests.cswysokiesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/SucceedIngestionWhenGeneratedOrderCompletedEventHandlerTests.csśredniesrc/WOCK.WholeSale.Tests/Deliveries/InboundDeliveryIngestion/UploadKeysStepHandlerTests.csśrednieNa liście w etapie 17 — sprawdź, czy migracja Up() zgadza się z konfiguracjami i jest tylko-w-przód; pliki *.Designer / snapshot są generowane przez EF.
Etap 15 obejmuje Startup/Program. Potwierdź, że serwisy/fabryki, hostowany reloader konfiguracji, filtr Hangfire od trwałych błędów oraz rejestracje SignalR/cron są obecne.
Etap 3 wyodrębnia zmiany w InboundDelivery/Key — przeglądaj tylko te fragmenty (bramka skip-key-upload, wcześniej policzone nazwy blobów), nie całe pliki.
Nie jest częścią PR-a API: tools/ingestion-tester to narzędzie deweloperskie (ta strona w nim żyje).