Kafka Event Contracts (Multichain)
Document ID: GOS-80-CHAIN-KAFKA-SCHEMAS Version: 0.1.0 Status: DRAFT Owner Role: CHAIN_OFFICER Last Review Date: 2026-03-04 Next Review Date: 2026-04-04
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 80_chain | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 60 days
Approval authority: GOVERNANCE_ADMIN, CHAIN_OFFICER
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Change Log
Document ID: GOS-80-CHAIN-KAFKA-SCHEMAS Version: 0.1.0 Status: DRAFT Owner Role: CHAIN_OFFICER Last Review Date: 2026-03-04 Next Review Date: 2026-04-04
All schemas use:
Partition key must be intentId for all orchestration topics.
Use additive-only evolution for payload objects. Do not remove required envelope fields.
milestone.approved, mint.requested, mint.confirmed, anchor.requested, anchor.confirmed, orchestration.dlqAPPROVED for v1.0.0 baseline contractsschemaVersion, eventId, occurredAt, intentId, producer, payload)key = intentIdUse buildKafkaRecordInput or resolveIntentPartitionKey so all produced events keep key=intentId.
Topic: kes.orchestrator.events
services/api/src/routes/kes-orchestrator.tsKES_ORCHESTRATOR_KAFKA_ENABLED=trueintentId resolved from x-intent-id, body.intentId, case/payment id fallbackkes.orchestrator.events.schema.json