Skip to content

CanonicalExperimentAllocation

The allocation fields owned by one canonical Experiment version.

Derived from the schema type rather than redeclared, so schema evolution is visible here at compile time without making the adapter require unrelated persistence fields.

optional assignment_unit?: "user" | "account" | "billing_unit" | "organization"

Unit represented by the stable subject identifier; defaults to user.


optional sequence?: number

Canonical experiment version — the Experiment.sequence this allocation was taken from (plan 224, war-games spec §9.1). When present, the native provider derives an ExperimentAssignmentFactDeclaration so assignments emit the experiment_assigned assignment fact with the real (handle, version) SRM join key. When absent, assignment still works but no fact is emitted for this experiment — a fact with a fabricated version is worse than a missing one.