hubuum-events-core Rust API Policy¶
Status: experimental public API in the storage SDK 0.4 release train.
Purpose and Callers¶
hubuum-events-core defines Hubuum's backend-neutral event catalog, envelopes,
and mutation provenance. Applications, event integrations, and storage adapters
may use these types without depending on the server crate.
Compatibility¶
The crate follows the lockstep versioning, exact dependency, MSRV, feature, deprecation, and release rules in the Storage Adapter SDK Compatibility policy. The release-train MSRV is Rust 1.88.
The default feature set is empty. The schema feature adds Utoipa 6 schema
implementations and is supported. Serialized event values are compatible only
where their type documentation or Hubuum's persisted event format says so;
ordinary Rust helper representations are not independent wire protocols.
Event envelopes and subscription filters are intentional serialized
integration DTOs. Event envelopes keep their representation private, expose
typed accessors, and require a fallible builder that validates catalog pairs,
actor kind, UTC time, JSON payload shape, and schema version. Subscription
filters retain a serialized field representation and are validated when they
enter subscription boundary types. Mutation helpers keep their representation
private, and catalog parsing uses semantic parse methods; database column
terminology is not part of the public API.
Errors, Runtime, and Security¶
The crate performs no I/O and requires no asynchronous runtime. Constructors return explicit errors for invalid caller input and do not intentionally panic. Debug implementations and event APIs must not expose credential material. Cancellation is not applicable.
Ownership and Verification¶
Hubuum maintainers own the crate. Storage and event-sink consumers verify its behavior. CI packages it, builds rustdoc with warnings denied, and compares it with the latest crates.io release when a baseline exists.