1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[]
= "ff-engine"
= true
= true
= true
= true
= true
= true
= true
= true
= "FlowFabric cross-partition dispatch and background scanners"
[]
# 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.
= ["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; PR-7b Cluster 4 moved
# the event_id resolution (which needed `uuid` for the ExecutionId
# suffix parse) into ff-backend-postgres::resolve_event_id, so only
# `sqlx` remains here for the back-compat shim signature.
= ["dep:ff-backend-postgres", "dep:sqlx"]
[]
= { = "0.15.0", = "../ff-core", = false, = ["core"] }
= { = true }
# v0.12 PR-7a transitional: `Engine::start_*` accepts
# `Arc<dyn EngineBackend>` on the boundary but scanners still speak
# ferriskey, so `start_internal` downcasts the backend to
# `ValkeyBackend` and reaches for the embedded client. v0.13 (PR-7b)
# trait-ifies the scanner surface and drops this dep.
#
# `default-features = false` is load-bearing: `ff-backend-valkey`'s
# default feature set enables `ff-core/streaming`, which would
# silently defeat the explicit `ff-core` anchor on line 26
# (`default-features = false, features = ["core"]`) and re-expose
# streaming-gated trait methods on `ff-engine`.
= { = "0.15.0", = "../ff-backend-valkey", = false }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
# Wave 5a: Postgres dispatch delegate. Activated by `postgres`
# feature only; stays out of the Valkey-only dep graph.
= { = true, = true }
# Wave 6d: Postgres completion_listener outbox drain. `sqlx` for the
# back-compat shim signature; flips on with the `postgres` feature
# only.
= { = true, = ["postgres", "runtime-tokio-rustls"], = true }
[]
# Unit-test mock `EngineBackend` impls need `#[async_trait]` to match
# the trait shape defined in `ff-core::engine_backend`.
= { = true }
= { = true, = ["macros", "rt"] }