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
[]
= "ff-core"
= true
= true
= true
= true
= true
= true
= true
= true
= "FlowFabric core types, partition math, key builders, error codes"
[]
# RFC-012 Stage 1c tranche-1 scaffold: backend-implementer feature
# surface. `default = [all]` means consumer crates (ff-sdk and
# downstream) see the full trait with zero toggles. Backend crates may
# opt into a strict subset; a `default-features = false` dependency
# with, say, `features = ["core"]` will in later tranches see a
# trait slice without streaming / suspension / budget methods.
#
# Tranche 1 only declares the feature names — the `EngineBackend`
# trait does not yet carry `#[cfg(feature = "…")]` gates on any
# method. Tranches 2-5 land the gates as each method migrates. All
# feature bodies are intentionally empty here.
#
# Grouping rationale (per plan §Trait feature-gate strategy): names
# track storage primitives, not consumer APIs — primitives change
# slower than APIs, which keeps the cfg-gate topology stable.
= ["core", "streaming", "suspension", "budget"]
= []
= []
= []
= []
# Exposes `handle_codec::v1_handle_for_tests` — a pre-Wave-1c (v1)
# byte producer used by cross-version compat tests in downstream
# consumers (e.g. cairn #323) to verify that HandleCodec::decode
# still handles event-log handles persisted under FF 0.3. Default
# OFF so the fixture never leaks into production builds.
= []
[]
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true, = ["time"] }
# RFC-019 Stage A — opaque stream cursor + event payload bytes, plus
# `tokio_stream::Stream` for the `EngineBackend::subscribe_*` type alias.
= { = true }
= { = true }
[]