Skip to content

Project status

Fibril is pre-alpha infrastructure. This table distinguishes the working baseline from active design and wiring work.

FeatureStatusNotes
Durable queuesTested baselineAppend-only message and event logs, snapshot, and replay
Publish and subscribeAvailableCustom TCP protocol and Rust client
Explicit acknowledgementsAvailableACK, immediate requeue, terminal failure
LeasingAvailableExpired leases can return to ready
BackpressureAvailablePull-based delivery and bounded prefetch
Delayed publishInternal path existsBroker/Stroma support exists; public client methods are still todo!()
Delayed retryPartialStroma state supports delayed retry; public client/broker path is not wired end to end
Dead letteringPartialStroma has custom/discard DLQ policy and tests; public broker configuration is not exposed yet
TypeScript clientEarlyLives under clients/typescript
ReplicationPlannedDesign work in progress
ClusteringPlannedNot implemented
TransactionsNot planned initiallyNot the current focus

Informal internal measurements on a Ryzen 5950X system have observed roughly 250k+ messages/sec ingress and egress with 1KB payloads on the durable path.

These numbers are architecture sanity checks, not a rigorous benchmark suite. Hardware, durability settings, batching, queue depth, workload, and storage behavior all matter.

The docs can describe the current state-layer semantics, deployment shape, and early benchmarks. Public delayed publish, msg.retry_after(..), and configurable DLQ behavior should wait for broker/client wiring before the site presents them as supported user-facing behavior.