Event Catalog (Kafka + Outbox)
Last updated: 2026-03-06
Resolving locale, route permissions, and workspace projection.
النطاق الحالي: ضيف
الفئة: 80_chain | الإصدار: v1.0.0
المالك: DOCUMENT_CUSTODIAN | دورة المراجعة: 60 يومًا
جهة الاعتماد: GOVERNANCE_ADMIN, CHAIN_OFFICER
بوابة الوثائق للقراءة فقط. نقاط نهاية التعديل والتغيير معطلة.
منصة Kvary أُنشئت أصلًا باللغة الجورجية. وحيثما تتوفر نسخة جورجية، تبقى الجورجية هي اللغة المعتمدة لواجهة المنصة والوثائق والتفسير القانوني.
تُوفَّر الترجمات إلى اللغات الأخرى لسهولة الاستخدام فقط. وقد تنشأ بعض السجلات بلغات أخرى وتحمل لغة مصدر أو لغة قانونية خاصة بذلك المسار، ولكن حيثما تتوفر نسخة جورجية تكون الأولوية للنسخة الجورجية في صياغة المنصة وتفسيرها.
البيانات الوصفية غير مكتملة: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
Last updated: 2026-03-06
| Topic | Purpose | Producer | Consumer / Tooling |
| --- | --- | --- | --- |
| kes.orchestrator.events | KES proxy mutation events (method/path/statusCode) | services/api (kes-orchestrator route) | services/svc-tenders consume:kes-events |
| kes.orchestrator.events.dlq | Dead-letter events for failed kes.orchestrator.events processing | services/svc-tenders kesEventConsumer | replay:kes-dlq |
| kes.orchestrator.domain-events | Domain events from DB outbox (tenders + kes_orchestrator streams) | services/svc-tenders relay:kes-outbox | consume:kes-domain-events |
kes.orchestrator.domain-events)Current envelope version: schemaVersion = "1.0.0"
Top-level fields:
eventIdeventTypeeventVersionoccurredAtintentIdproducerpayloadpayload common fields (from outbox triggers):
eventTypeeventVersionactorIdsourcePayloadtenderId (for tenders stream) or caseId (for kes_orchestrator stream)Source: tenders_events table + outbox trigger (0028_tenders_events_outbox.sql)
| Event Type | Emitted from API | Stream | Persisted in tenders_events | Enqueued to outbox |
| --- | --- | --- | --- | --- |
| TENDER_SUBMITTED | POST /tenders/submit | tenders | Yes | Yes |
| TENDER_APPROVED | POST /admin/tenders/:id/approve | tenders | Yes | Yes |
| TENDER_REJECTED | POST /admin/tenders/:id/reject | tenders | Yes | Yes |
Source: legacy_tender_events table + outbox trigger (0031_legacy_tender_events_outbox.sql)
| Event Type | Emitted from API legacy flow | Stream | Persisted in legacy_tender_events | Enqueued to outbox |
| --- | --- | --- | --- | --- |
| TENDER_CREATED | POST /api/v1/tenders/legacy/propose | tenders_legacy | Yes | Yes |
| BID_SUBMITTED | POST /api/v1/tenders/legacy/:id/bids | tenders_legacy | Yes | Yes |
| BIDDING_CLOSED | POST /api/v1/tenders/legacy/:id/close | tenders_legacy | Yes | Yes |
| AWARD_PROPOSED | POST /api/v1/tenders/legacy/:id/award/propose | tenders_legacy | Yes | Yes |
| AWARD_RATIFIED | POST /api/v1/tenders/legacy/:id/award/ratify | tenders_legacy | Yes | Yes |
Source: kes_orchestrator_events table + outbox trigger (0027_kes_outbox.sql)
| Event Type | Typical action | Stream | Enqueued to outbox |
| --- | --- | --- | --- |
| CASE_CREATED | Create case | kes_orchestrator | Yes |
| LANDOWNER_APPROVED | Landowner approval | kes_orchestrator | Yes |
| AUCTION_PUBLISHED | Auction publication | kes_orchestrator | Yes |
| FUNDING_CONFIRMED | Funding confirmation | kes_orchestrator | Yes |
| TASK_ASSIGNED | Task assignment | kes_orchestrator | Yes |
| INSPECTION_SUBMITTED | Inspection submission | kes_orchestrator | Yes |
| PAYMENT_REQUESTED | Payment request | kes_orchestrator | Yes |
| PAYMENT_APPROVED | Payment approval | kes_orchestrator | Yes |
| PAYMENT_SETTLED | Payment settlement | kes_orchestrator | Yes |
| CASE_CLOSED | Case close | kes_orchestrator | Yes |
consume:kes-domain-events is implemented and writes to:
kes_domain_event_projection_eventskes_domain_event_projection_counterskes_domain_event_projection_aggregateskafka_consumer_idempotency.replay:kes-outbox-poison.kes.orchestrator.domain-events:
schemaVersion, eventType, eventVersion, eventId, occurredAt, intentId, producer, payloadreasonCode.TENDER_CANCELLED event (requires cancel endpoint wiring in svc-tenders API layer).TENDER_REOPENED event (requires reopen endpoint wiring in svc-tenders API layer).kes.orchestrator.domain-events.eventType + schema evolution rules per event family).