ff-engine 0.11.0

FlowFabric cross-partition dispatch and background scanners
Documentation
[package]
name = "ff-engine"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "FlowFabric cross-partition dispatch and background scanners"

[features]
# PR-94: opt in to OTEL-backed scanner cycle metrics. OFF by default.
# The `ff-observability` dep is always present (no-op shim compiles to
# zero cost); the feature flips its backend to real OTEL.
observability = ["ff-observability/enabled"]
# Wave 5a: enable the Postgres dispatch branch in `partition_router`.
# Pulls `ff-backend-postgres` as a direct dep. OFF by default; the
# Valkey-only build stays lean. Wave 6d extends this feature to gate
# the Postgres completion_listener drain loop, which adds `sqlx` +
# `uuid` for the outbox event_id resolution query.
postgres = ["dep:ff-backend-postgres", "dep:sqlx", "dep:uuid"]

[dependencies]
ff-core = { workspace = true }
ff-observability = { workspace = true }
ferriskey = { workspace = true }
futures = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
# Wave 5a: Postgres dispatch delegate. Activated by `postgres`
# feature only; stays out of the Valkey-only dep graph.
ff-backend-postgres = { workspace = true, optional = true }
# Wave 6d: Postgres completion_listener outbox drain. `sqlx` for the
# event_id resolution query; `uuid` to decode the ExecutionId suffix.
# Both flip on with the `postgres` feature only.
sqlx = { workspace = true, features = ["postgres", "runtime-tokio-rustls"], optional = true }
uuid = { workspace = true, optional = true }