Ingestion (#31): приём событий по контракту docs/05
...
- POST /api/v1/events: Bearer-ключ -> source, анти-спуфинг (401/403/422),
дедуп по dedup_key в окне (DEDUP_WINDOW_SECONDS, дефолт 24ч), 202 мгновенно
- POST /api/v1/events/batch: честная частичная валидация по индексам,
202 при хоть одном принятом, dispatch строго после коммита
- GET /api/v1/events/{id}: статус + доставки, только своему источнику
- synapse.ingest: Routing Engine MVP — первое подошедшее правило по weight,
internal_log исполняется сразу (Jinja-рендер), каналы — #29/#28
- app/cli.py: create-source/create-key/add-type/add-target/add-rule для dev
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
23 hours ago