Experiment: { createdAt: string; dbId: string; endedAt: string | null; goal: ExperimentGoal; group: string | null; key: string; kind: ExperimentKind; priority: number; rolloutPct: number; stage: ExperimentStage; startedAt: string | null; surfaces: string[]; targetRule: unknown; trafficFrom: number; trafficTo: number; unitType: ExperimentUnit; updatedAt: string; variants: ExperimentVariant[]; winner: string | null; } Type declaration
createdAt: string
dbId: string
endedAt: string | null
group: string | null
key: string
priority: number
rolloutPct: number
startedAt: string | null
surfaces: string[]
targetRule: unknown
trafficFrom: number
trafficTo: number
updatedAt: string
winner: string | null
Experiments in one group never share a unit: each takes the slice trafficFrom-trafficTo (0-99) of it.