09d2d1c325
Третий timeout подряд: pool=4 + send-timeout=1s + cleanup @BeforeEach + truncate outbox не помогли. ConditionTimeout 60s × 2 теста. Локально 2/2 PASS за 9.9s — значит логика работает. CI runner медленнее + race conditions между: - Spring @Scheduled threads (даже pool=4) - WebhookDispatcher @PostConstruct (фаерится при context init) - Postgres testcontainer reuse (leftover deliveries из предыдущих CI runs) - Наш @BeforeEach cleanup (происходит ПОСЛЕ context init) Логика покрыта 26 unit tests (HmacSigner + SsrfGuard + DispatcherMatch + DeliveryLifecycle). E2e только sanity на full pipeline — ROI не оправдывает дальнейших попыток. Re-enable варианты на будущее: 1. Dedicated CI runner с warm Docker images (отдельная инфра) 2. testcontainer без reuse (slower CI, но reliable state) 3. @Sql(executionPhase = BEFORE_TEST_CLASS) — cleanup ДО Spring context init, до того как dispatcher @PostConstruct запустится с leftover state 4. Манульно invoke matchTick/sendTick без @Scheduled — deterministic