cursus

Design And Contribution Principles

Cursus favors a compact implementation, but simplicity must not weaken a documented reliability or security guarantee.

  1. Partition-local authority: ordering, offsets, producer sequence state, high watermarks, and transaction visibility must have one explicit owner.
  2. Durability before visibility: acknowledgements and read_committed visibility must follow the configured flush, replication, and coordinator decision contracts.
  3. Separated control and data paths: group and transaction coordinators own fenced metadata; partition leaders own records; internal replication commands stay behind the broker security boundary.
  4. Monotonic state: offsets, generations, producer epochs, stream versions, and committed tails must not move backward.
  5. Recoverable state: every authoritative in-memory index needs a durable source and a tested rebuild or snapshot path.
  6. Structured protocol behavior: successes start with OK or use documented binary/JSON frames; failures use ERROR: <code> and expose retry/fencing semantics.
  7. Explicit format boundaries: the runtime supports one current wire and storage contract; incompatible state requires an offline converter or clean bootstrap, and the broker and in-repository Go SDK change together.
  8. Operational evidence: shared-path changes require unit tests, integration coverage, and failure-window tests proportional to their blast radius.

Change Checklist

Standalone mode and clustered mode share the same client contract. Cluster features add coordinator routing, Raft-backed metadata, leader ownership, quorum replication, and internal transport security; they are not a separate protocol product.