Skip to content

ExperimentAssignmentFactDeclaration

Binds one experiment handle to the canonical-version metadata its experiment_assigned assignment facts must carry (plan 224, spec §9.1).

Supply these either through RevTurbineInitOptions.experimentAssignmentFacts (works for ANY assignment source, external adapters included) or — for the native provider — via CanonicalExperimentAllocation.sequence, which derives a declaration automatically. An assigned experiment with no declaration emits no fact.

optional assignmentUnit?: AssignmentFactUnit

Unit the subject identifier represents. Defaults to 'user', matching the native provider’s default.


experimentHandle: string

Canonical experiment handle the declaration applies to.


experimentVersion: number

Canonical experiment version — the Experiment.sequence of the version whose allocation is live. Integer ≥ 1; the fact’s (handle, version) pair is the SRM join key, so this must be the real canonical version, never a guess.


optional subject?: string | (() => string | null | undefined)

Stable subject identifier for the declared unit. A function is re-read on every emission so a later identity change takes effect; a bare string pins one subject. When omitted, the SDK’s user-context id is used. With no resolvable subject there is no fact — absent beats wrong.