@elaraai/e3-ui 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,12 +30,12 @@
30
30
  *
31
31
  * @packageDocumentation
32
32
  */
33
- import { NullType, BooleanType, ArrayType, StructType, VariantType, OptionType, type ExprType, type SubtypeExprOrValue } from '@elaraai/east';
33
+ import { NullType, BooleanType, ArrayType, StringType, StructType, VariantType, OptionType, type ExprType, type SubtypeExprOrValue } from '@elaraai/east';
34
34
  import { type UIComponentType } from '@elaraai/east-ui';
35
35
  import { type BoundValue } from '../bind/data.js';
36
36
  import { type BoundFunc } from '../bind/func.js';
37
37
  import { ExperimentConfigType, ExperimentResultType, JournalType, ConfigurationType, DesignConfigType, ExperimentDesignType } from './types.js';
38
- export { CiType, WeightingSchemeType, EstimatorType, TargetUnitsType, BootstrapConfigType, RefuteSpecType, ExperimentConfigType, BalanceRowType, OverlapDiagnosticType, RefutationType, DoseResponseType, ExperimentVerdictType, ExperimentResultType, JournalRowType, JournalType, ColumnMetaType, PopulationType, ConfigurationType, } from './types.js';
38
+ export { CiType, WeightingSchemeType, EstimatorType, TargetUnitsType, BootstrapConfigType, RefuteSpecType, ExperimentConfigType, BalanceRowType, SensitivityBenchmarkType, OverlapDiagnosticType, RefutationType, DoseResponseType, ExperimentVerdictType, VerdictReasonType, ExperimentResultType, JournalRowType, JournalType, ColumnMetaType, PopulationType, ConfigurationType, } from './types.js';
39
39
  /**
40
40
  * The `experiment` function signature: `(rows, config) → ExperimentResult`. The
41
41
  * renderer calls this on **Apply** with the bound `data` and the staged config.
@@ -53,6 +53,18 @@ export declare const ExperimentTabType: VariantType<{
53
53
  }>;
54
54
  /** Type alias for {@link ExperimentTabType}. */
55
55
  export type ExperimentTabType = typeof ExperimentTabType;
56
+ /**
57
+ * The domain noun for one row of the bound dataset — singular + plural (e.g.
58
+ * `{ one: 'batch', many: 'batches' }`). The surface interpolates it everywhere
59
+ * it speaks about rows ("Which batches?", "480 batches", the guidance
60
+ * glossary), replacing the neutral default `record(s)`.
61
+ */
62
+ export declare const ExperimentSubjectType: StructType<{
63
+ readonly one: StringType;
64
+ readonly many: StringType;
65
+ }>;
66
+ /** Type alias for {@link ExperimentSubjectType}. */
67
+ export type ExperimentSubjectType = typeof ExperimentSubjectType;
56
68
  /**
57
69
  * The `Experiment` component payload — binding descriptors + options. Renderers
58
70
  * decode this and resolve each binding to a live, reactive value / call handle.
@@ -68,16 +80,17 @@ export type ExperimentTabType = typeof ExperimentTabType;
68
80
  * @property design - Optional {@link FuncBindingType} for the universal `design` function
69
81
  * (the "Validate" tab); applies to any question.
70
82
  * @property columnMeta - Optional per-column display metadata.
83
+ * @property subject - Optional domain noun for a row ({@link ExperimentSubjectType}).
71
84
  * @property readonly - Render without the Apply / Commit / edit affordances.
72
85
  * @property defaultTab - Initial result tab ({@link ExperimentTabType}).
73
86
  */
74
87
  export declare const ExperimentPayloadType: StructType<{
75
88
  readonly data: StructType<{
76
89
  readonly source: ArrayType<VariantType<{
77
- readonly field: import("@elaraai/east").StringType;
90
+ readonly field: StringType;
78
91
  }>>;
79
92
  readonly patch: OptionType<ArrayType<VariantType<{
80
- readonly field: import("@elaraai/east").StringType;
93
+ readonly field: StringType;
81
94
  }>>>;
82
95
  readonly mode: VariantType<{
83
96
  readonly staged: NullType;
@@ -86,10 +99,10 @@ export declare const ExperimentPayloadType: StructType<{
86
99
  }>;
87
100
  readonly configs: StructType<{
88
101
  readonly source: ArrayType<VariantType<{
89
- readonly field: import("@elaraai/east").StringType;
102
+ readonly field: StringType;
90
103
  }>>;
91
104
  readonly patch: OptionType<ArrayType<VariantType<{
92
- readonly field: import("@elaraai/east").StringType;
105
+ readonly field: StringType;
93
106
  }>>>;
94
107
  readonly mode: VariantType<{
95
108
  readonly staged: NullType;
@@ -97,14 +110,14 @@ export declare const ExperimentPayloadType: StructType<{
97
110
  }>;
98
111
  }>;
99
112
  readonly experiment: OptionType<StructType<{
100
- readonly name: import("@elaraai/east").StringType;
113
+ readonly name: StringType;
101
114
  }>>;
102
115
  readonly journal: OptionType<StructType<{
103
116
  readonly source: ArrayType<VariantType<{
104
- readonly field: import("@elaraai/east").StringType;
117
+ readonly field: StringType;
105
118
  }>>;
106
119
  readonly patch: OptionType<ArrayType<VariantType<{
107
- readonly field: import("@elaraai/east").StringType;
120
+ readonly field: StringType;
108
121
  }>>>;
109
122
  readonly mode: VariantType<{
110
123
  readonly staged: NullType;
@@ -112,13 +125,17 @@ export declare const ExperimentPayloadType: StructType<{
112
125
  }>;
113
126
  }>>;
114
127
  readonly design: OptionType<StructType<{
115
- readonly name: import("@elaraai/east").StringType;
128
+ readonly name: StringType;
116
129
  }>>;
117
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
118
- readonly label: OptionType<import("@elaraai/east").StringType>;
119
- readonly unit: OptionType<import("@elaraai/east").StringType>;
130
+ readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
131
+ readonly label: OptionType<StringType>;
132
+ readonly unit: OptionType<StringType>;
120
133
  readonly higherIsBetter: OptionType<BooleanType>;
121
134
  }>>>;
135
+ readonly subject: OptionType<StructType<{
136
+ readonly one: StringType;
137
+ readonly many: StringType;
138
+ }>>;
122
139
  readonly readonly: OptionType<BooleanType>;
123
140
  readonly defaultTab: OptionType<VariantType<{
124
141
  readonly answer: NullType;
@@ -138,10 +155,10 @@ export type ExperimentTabLiteral = 'answer' | 'trust' | 'dose' | 'validate';
138
155
  export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponentDef<StructType<{
139
156
  readonly data: StructType<{
140
157
  readonly source: ArrayType<VariantType<{
141
- readonly field: import("@elaraai/east").StringType;
158
+ readonly field: StringType;
142
159
  }>>;
143
160
  readonly patch: OptionType<ArrayType<VariantType<{
144
- readonly field: import("@elaraai/east").StringType;
161
+ readonly field: StringType;
145
162
  }>>>;
146
163
  readonly mode: VariantType<{
147
164
  readonly staged: NullType;
@@ -150,10 +167,10 @@ export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponent
150
167
  }>;
151
168
  readonly configs: StructType<{
152
169
  readonly source: ArrayType<VariantType<{
153
- readonly field: import("@elaraai/east").StringType;
170
+ readonly field: StringType;
154
171
  }>>;
155
172
  readonly patch: OptionType<ArrayType<VariantType<{
156
- readonly field: import("@elaraai/east").StringType;
173
+ readonly field: StringType;
157
174
  }>>>;
158
175
  readonly mode: VariantType<{
159
176
  readonly staged: NullType;
@@ -161,14 +178,14 @@ export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponent
161
178
  }>;
162
179
  }>;
163
180
  readonly experiment: OptionType<StructType<{
164
- readonly name: import("@elaraai/east").StringType;
181
+ readonly name: StringType;
165
182
  }>>;
166
183
  readonly journal: OptionType<StructType<{
167
184
  readonly source: ArrayType<VariantType<{
168
- readonly field: import("@elaraai/east").StringType;
185
+ readonly field: StringType;
169
186
  }>>;
170
187
  readonly patch: OptionType<ArrayType<VariantType<{
171
- readonly field: import("@elaraai/east").StringType;
188
+ readonly field: StringType;
172
189
  }>>>;
173
190
  readonly mode: VariantType<{
174
191
  readonly staged: NullType;
@@ -176,13 +193,17 @@ export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponent
176
193
  }>;
177
194
  }>>;
178
195
  readonly design: OptionType<StructType<{
179
- readonly name: import("@elaraai/east").StringType;
196
+ readonly name: StringType;
180
197
  }>>;
181
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
182
- readonly label: OptionType<import("@elaraai/east").StringType>;
183
- readonly unit: OptionType<import("@elaraai/east").StringType>;
198
+ readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
199
+ readonly label: OptionType<StringType>;
200
+ readonly unit: OptionType<StringType>;
184
201
  readonly higherIsBetter: OptionType<BooleanType>;
185
202
  }>>>;
203
+ readonly subject: OptionType<StructType<{
204
+ readonly one: StringType;
205
+ readonly many: StringType;
206
+ }>>;
186
207
  readonly readonly: OptionType<BooleanType>;
187
208
  readonly defaultTab: OptionType<VariantType<{
188
209
  readonly answer: NullType;
@@ -228,6 +249,7 @@ export type ExperimentColumns<Row extends StructType> = {
228
249
  * or every shown question carries a precomputed `design`.
229
250
  * @property journal - Optional {@link Data.bind} handle for the committed-experiment journal.
230
251
  * @property columns - Optional per-column display config.
252
+ * @property subject - Optional domain noun for a row (`'batch'`, or `{ one, many }`).
231
253
  * @property readonly - Render without mutation affordances.
232
254
  * @property defaultTab - Initial result tab.
233
255
  */
@@ -243,6 +265,13 @@ export interface ExperimentOptions<Row extends StructType> {
243
265
  journal?: BoundValue<JournalType>;
244
266
  /** Per-column display config, keyed by the data row's fields (like `Table`). */
245
267
  columns?: ExperimentColumns<Row>;
268
+ /** The domain noun for one row — a singular string (`'batch'`, auto-pluralised)
269
+ * or an explicit `{ one, many }` pair for irregular plurals. Replaces the
270
+ * neutral `record(s)` everywhere the surface speaks about rows. */
271
+ subject?: string | {
272
+ one: string;
273
+ many: string;
274
+ };
246
275
  readonly?: SubtypeExprOrValue<BooleanType>;
247
276
  defaultTab?: ExperimentTabLiteral;
248
277
  }
@@ -272,10 +301,10 @@ export declare const Experiment: {
272
301
  readonly Component: import("@elaraai/east-ui").UIComponentDef<StructType<{
273
302
  readonly data: StructType<{
274
303
  readonly source: ArrayType<VariantType<{
275
- readonly field: import("@elaraai/east").StringType;
304
+ readonly field: StringType;
276
305
  }>>;
277
306
  readonly patch: OptionType<ArrayType<VariantType<{
278
- readonly field: import("@elaraai/east").StringType;
307
+ readonly field: StringType;
279
308
  }>>>;
280
309
  readonly mode: VariantType<{
281
310
  readonly staged: NullType;
@@ -284,10 +313,10 @@ export declare const Experiment: {
284
313
  }>;
285
314
  readonly configs: StructType<{
286
315
  readonly source: ArrayType<VariantType<{
287
- readonly field: import("@elaraai/east").StringType;
316
+ readonly field: StringType;
288
317
  }>>;
289
318
  readonly patch: OptionType<ArrayType<VariantType<{
290
- readonly field: import("@elaraai/east").StringType;
319
+ readonly field: StringType;
291
320
  }>>>;
292
321
  readonly mode: VariantType<{
293
322
  readonly staged: NullType;
@@ -295,14 +324,14 @@ export declare const Experiment: {
295
324
  }>;
296
325
  }>;
297
326
  readonly experiment: OptionType<StructType<{
298
- readonly name: import("@elaraai/east").StringType;
327
+ readonly name: StringType;
299
328
  }>>;
300
329
  readonly journal: OptionType<StructType<{
301
330
  readonly source: ArrayType<VariantType<{
302
- readonly field: import("@elaraai/east").StringType;
331
+ readonly field: StringType;
303
332
  }>>;
304
333
  readonly patch: OptionType<ArrayType<VariantType<{
305
- readonly field: import("@elaraai/east").StringType;
334
+ readonly field: StringType;
306
335
  }>>>;
307
336
  readonly mode: VariantType<{
308
337
  readonly staged: NullType;
@@ -310,13 +339,17 @@ export declare const Experiment: {
310
339
  }>;
311
340
  }>>;
312
341
  readonly design: OptionType<StructType<{
313
- readonly name: import("@elaraai/east").StringType;
342
+ readonly name: StringType;
314
343
  }>>;
315
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
316
- readonly label: OptionType<import("@elaraai/east").StringType>;
317
- readonly unit: OptionType<import("@elaraai/east").StringType>;
344
+ readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
345
+ readonly label: OptionType<StringType>;
346
+ readonly unit: OptionType<StringType>;
318
347
  readonly higherIsBetter: OptionType<BooleanType>;
319
348
  }>>>;
349
+ readonly subject: OptionType<StructType<{
350
+ readonly one: StringType;
351
+ readonly many: StringType;
352
+ }>>;
320
353
  readonly readonly: OptionType<BooleanType>;
321
354
  readonly defaultTab: OptionType<VariantType<{
322
355
  readonly answer: NullType;
@@ -330,10 +363,10 @@ export declare const Experiment: {
330
363
  readonly Payload: StructType<{
331
364
  readonly data: StructType<{
332
365
  readonly source: ArrayType<VariantType<{
333
- readonly field: import("@elaraai/east").StringType;
366
+ readonly field: StringType;
334
367
  }>>;
335
368
  readonly patch: OptionType<ArrayType<VariantType<{
336
- readonly field: import("@elaraai/east").StringType;
369
+ readonly field: StringType;
337
370
  }>>>;
338
371
  readonly mode: VariantType<{
339
372
  readonly staged: NullType;
@@ -342,10 +375,10 @@ export declare const Experiment: {
342
375
  }>;
343
376
  readonly configs: StructType<{
344
377
  readonly source: ArrayType<VariantType<{
345
- readonly field: import("@elaraai/east").StringType;
378
+ readonly field: StringType;
346
379
  }>>;
347
380
  readonly patch: OptionType<ArrayType<VariantType<{
348
- readonly field: import("@elaraai/east").StringType;
381
+ readonly field: StringType;
349
382
  }>>>;
350
383
  readonly mode: VariantType<{
351
384
  readonly staged: NullType;
@@ -353,14 +386,14 @@ export declare const Experiment: {
353
386
  }>;
354
387
  }>;
355
388
  readonly experiment: OptionType<StructType<{
356
- readonly name: import("@elaraai/east").StringType;
389
+ readonly name: StringType;
357
390
  }>>;
358
391
  readonly journal: OptionType<StructType<{
359
392
  readonly source: ArrayType<VariantType<{
360
- readonly field: import("@elaraai/east").StringType;
393
+ readonly field: StringType;
361
394
  }>>;
362
395
  readonly patch: OptionType<ArrayType<VariantType<{
363
- readonly field: import("@elaraai/east").StringType;
396
+ readonly field: StringType;
364
397
  }>>>;
365
398
  readonly mode: VariantType<{
366
399
  readonly staged: NullType;
@@ -368,13 +401,17 @@ export declare const Experiment: {
368
401
  }>;
369
402
  }>>;
370
403
  readonly design: OptionType<StructType<{
371
- readonly name: import("@elaraai/east").StringType;
404
+ readonly name: StringType;
372
405
  }>>;
373
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
374
- readonly label: OptionType<import("@elaraai/east").StringType>;
375
- readonly unit: OptionType<import("@elaraai/east").StringType>;
406
+ readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
407
+ readonly label: OptionType<StringType>;
408
+ readonly unit: OptionType<StringType>;
376
409
  readonly higherIsBetter: OptionType<BooleanType>;
377
410
  }>>>;
411
+ readonly subject: OptionType<StructType<{
412
+ readonly one: StringType;
413
+ readonly many: StringType;
414
+ }>>;
378
415
  readonly readonly: OptionType<BooleanType>;
379
416
  readonly defaultTab: OptionType<VariantType<{
380
417
  readonly answer: NullType;
@@ -385,10 +422,10 @@ export declare const Experiment: {
385
422
  }>;
386
423
  /** The experiment-config value type (what the pickers stage). */
387
424
  readonly Config: StructType<{
388
- readonly treatment: import("@elaraai/east").StringType;
389
- readonly outcome: import("@elaraai/east").StringType;
390
- readonly common_causes: ArrayType<import("@elaraai/east").StringType>;
391
- readonly categorical: OptionType<ArrayType<import("@elaraai/east").StringType>>;
425
+ readonly treatment: StringType;
426
+ readonly outcome: StringType;
427
+ readonly common_causes: ArrayType<StringType>;
428
+ readonly categorical: OptionType<ArrayType<StringType>>;
392
429
  readonly method: OptionType<VariantType<{
393
430
  readonly linear_regression: NullType;
394
431
  readonly propensity_score_weighting: StructType<{
@@ -410,12 +447,12 @@ export declare const Experiment: {
410
447
  readonly data_subset: BooleanType;
411
448
  readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
412
449
  }>>;
413
- readonly dose_feature: OptionType<import("@elaraai/east").StringType>;
450
+ readonly dose_feature: OptionType<StringType>;
414
451
  readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
415
452
  readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
416
453
  readonly bootstrap: OptionType<StructType<{
417
454
  readonly reps: import("@elaraai/east").IntegerType;
418
- readonly cluster_column: OptionType<import("@elaraai/east").StringType>;
455
+ readonly cluster_column: OptionType<StringType>;
419
456
  readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
420
457
  }>>;
421
458
  readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
@@ -445,11 +482,12 @@ export declare const Experiment: {
445
482
  readonly n_control: import("@elaraai/east").IntegerType;
446
483
  readonly n_dropped: import("@elaraai/east").IntegerType;
447
484
  readonly balance: ArrayType<StructType<{
448
- readonly column: import("@elaraai/east").StringType;
449
- readonly base_column: import("@elaraai/east").StringType;
485
+ readonly column: StringType;
486
+ readonly base_column: StringType;
450
487
  readonly treated_mean: import("@elaraai/east").FloatType;
451
488
  readonly control_mean: import("@elaraai/east").FloatType;
452
489
  readonly std_diff: import("@elaraai/east").FloatType;
490
+ readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
453
491
  }>>;
454
492
  readonly overlap: StructType<{
455
493
  readonly treated_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
@@ -472,11 +510,15 @@ export declare const Experiment: {
472
510
  readonly sensitivity: OptionType<StructType<{
473
511
  readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
474
512
  readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
513
+ readonly benchmarks: ArrayType<StructType<{
514
+ readonly column: StringType;
515
+ readonly strength: import("@elaraai/east").FloatType;
516
+ }>>;
475
517
  }>>;
476
518
  readonly expected_sign_ok: OptionType<BooleanType>;
477
519
  }>>;
478
520
  readonly dose_response: OptionType<StructType<{
479
- readonly feature: import("@elaraai/east").StringType;
521
+ readonly feature: StringType;
480
522
  readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
481
523
  readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
482
524
  readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
@@ -488,8 +530,20 @@ export declare const Experiment: {
488
530
  readonly modest: NullType;
489
531
  readonly adjustment_insufficient: NullType;
490
532
  readonly non_identifiable_positivity: NullType;
491
- readonly not_estimable: import("@elaraai/east").StringType;
533
+ readonly not_estimable: StringType;
492
534
  }>;
535
+ readonly verdict_reasons: ArrayType<VariantType<{
536
+ readonly placebo_failed: NullType;
537
+ readonly not_material: NullType;
538
+ readonly ci_spans_zero: NullType;
539
+ readonly wrong_sign: NullType;
540
+ readonly thin_support: NullType;
541
+ readonly low_robustness: NullType;
542
+ }>>;
543
+ readonly outcome_sd: import("@elaraai/east").FloatType;
544
+ readonly materiality_threshold: import("@elaraai/east").FloatType;
545
+ readonly treated_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
546
+ readonly control_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
493
547
  }>;
494
548
  /** A confidence interval. */
495
549
  readonly Ci: StructType<{
@@ -506,11 +560,12 @@ export declare const Experiment: {
506
560
  }>;
507
561
  /** One confounder's before-adjustment imbalance (a balance row). */
508
562
  readonly Balance: StructType<{
509
- readonly column: import("@elaraai/east").StringType;
510
- readonly base_column: import("@elaraai/east").StringType;
563
+ readonly column: StringType;
564
+ readonly base_column: StringType;
511
565
  readonly treated_mean: import("@elaraai/east").FloatType;
512
566
  readonly control_mean: import("@elaraai/east").FloatType;
513
567
  readonly std_diff: import("@elaraai/east").FloatType;
568
+ readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
514
569
  }>;
515
570
  /** The propensity-overlap diagnostic. */
516
571
  readonly Overlap: StructType<{
@@ -535,6 +590,10 @@ export declare const Experiment: {
535
590
  readonly sensitivity: OptionType<StructType<{
536
591
  readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
537
592
  readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
593
+ readonly benchmarks: ArrayType<StructType<{
594
+ readonly column: StringType;
595
+ readonly strength: import("@elaraai/east").FloatType;
596
+ }>>;
538
597
  }>>;
539
598
  readonly expected_sign_ok: OptionType<BooleanType>;
540
599
  }>;
@@ -542,6 +601,15 @@ export declare const Experiment: {
542
601
  readonly Sensitivity: StructType<{
543
602
  readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
544
603
  readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
604
+ readonly benchmarks: ArrayType<StructType<{
605
+ readonly column: StringType;
606
+ readonly strength: import("@elaraai/east").FloatType;
607
+ }>>;
608
+ }>;
609
+ /** One observed confounder benchmarked on the sensitivity strengths axis. */
610
+ readonly SensitivityBenchmark: StructType<{
611
+ readonly column: StringType;
612
+ readonly strength: import("@elaraai/east").FloatType;
545
613
  }>;
546
614
  /** The honesty verdict tag. */
547
615
  readonly Verdict: VariantType<{
@@ -549,11 +617,20 @@ export declare const Experiment: {
549
617
  readonly modest: NullType;
550
618
  readonly adjustment_insufficient: NullType;
551
619
  readonly non_identifiable_positivity: NullType;
552
- readonly not_estimable: import("@elaraai/east").StringType;
620
+ readonly not_estimable: StringType;
621
+ }>;
622
+ /** Machine-readable reason a verdict fell short of `causal`. */
623
+ readonly VerdictReason: VariantType<{
624
+ readonly placebo_failed: NullType;
625
+ readonly not_material: NullType;
626
+ readonly ci_spans_zero: NullType;
627
+ readonly wrong_sign: NullType;
628
+ readonly thin_support: NullType;
629
+ readonly low_robustness: NullType;
553
630
  }>;
554
631
  /** The ALE dose-response curve value type (the "How much?" tab). */
555
632
  readonly DoseResponse: StructType<{
556
- readonly feature: import("@elaraai/east").StringType;
633
+ readonly feature: StringType;
557
634
  readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
558
635
  readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
559
636
  readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
@@ -563,10 +640,10 @@ export declare const Experiment: {
563
640
  /** The committed-experiment journal value type. */
564
641
  readonly Journal: ArrayType<StructType<{
565
642
  readonly config: StructType<{
566
- readonly treatment: import("@elaraai/east").StringType;
567
- readonly outcome: import("@elaraai/east").StringType;
568
- readonly common_causes: ArrayType<import("@elaraai/east").StringType>;
569
- readonly categorical: OptionType<ArrayType<import("@elaraai/east").StringType>>;
643
+ readonly treatment: StringType;
644
+ readonly outcome: StringType;
645
+ readonly common_causes: ArrayType<StringType>;
646
+ readonly categorical: OptionType<ArrayType<StringType>>;
570
647
  readonly method: OptionType<VariantType<{
571
648
  readonly linear_regression: NullType;
572
649
  readonly propensity_score_weighting: StructType<{
@@ -588,12 +665,12 @@ export declare const Experiment: {
588
665
  readonly data_subset: BooleanType;
589
666
  readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
590
667
  }>>;
591
- readonly dose_feature: OptionType<import("@elaraai/east").StringType>;
668
+ readonly dose_feature: OptionType<StringType>;
592
669
  readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
593
670
  readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
594
671
  readonly bootstrap: OptionType<StructType<{
595
672
  readonly reps: import("@elaraai/east").IntegerType;
596
- readonly cluster_column: OptionType<import("@elaraai/east").StringType>;
673
+ readonly cluster_column: OptionType<StringType>;
597
674
  readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
598
675
  }>>;
599
676
  readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
@@ -609,13 +686,13 @@ export declare const Experiment: {
609
686
  readonly modest: NullType;
610
687
  readonly adjustment_insufficient: NullType;
611
688
  readonly non_identifiable_positivity: NullType;
612
- readonly not_estimable: import("@elaraai/east").StringType;
689
+ readonly not_estimable: StringType;
613
690
  }>;
614
691
  readonly naive: import("@elaraai/east").FloatType;
615
692
  readonly adjusted: OptionType<import("@elaraai/east").FloatType>;
616
693
  readonly committed_at: import("@elaraai/east").DateTimeType;
617
- readonly committed_by: import("@elaraai/east").StringType;
618
- readonly preset: OptionType<import("@elaraai/east").StringType>;
694
+ readonly committed_by: StringType;
695
+ readonly preset: OptionType<StringType>;
619
696
  }>>;
620
697
  /** The validation-trial recipe value type (the "Validate" tab). */
621
698
  readonly Design: StructType<{
@@ -624,7 +701,7 @@ export declare const Experiment: {
624
701
  readonly modest: NullType;
625
702
  readonly adjustment_insufficient: NullType;
626
703
  readonly non_identifiable_positivity: NullType;
627
- readonly not_estimable: import("@elaraai/east").StringType;
704
+ readonly not_estimable: StringType;
628
705
  }>;
629
706
  readonly basis: VariantType<{
630
707
  readonly detect_observed: NullType;
@@ -638,9 +715,9 @@ export declare const Experiment: {
638
715
  readonly target_power: import("@elaraai/east").FloatType;
639
716
  readonly alpha: import("@elaraai/east").FloatType;
640
717
  readonly current_power: OptionType<import("@elaraai/east").FloatType>;
641
- readonly match_on: ArrayType<import("@elaraai/east").StringType>;
718
+ readonly match_on: ArrayType<StringType>;
642
719
  readonly options: ArrayType<StructType<{
643
- readonly label: import("@elaraai/east").StringType;
720
+ readonly label: StringType;
644
721
  readonly treated_share: import("@elaraai/east").FloatType;
645
722
  readonly n_treated: import("@elaraai/east").IntegerType;
646
723
  readonly n_control: import("@elaraai/east").IntegerType;
@@ -650,7 +727,7 @@ export declare const Experiment: {
650
727
  readonly n: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
651
728
  readonly power: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
652
729
  }>;
653
- readonly rationale: import("@elaraai/east").StringType;
730
+ readonly rationale: StringType;
654
731
  }>;
655
732
  /** The optional design-knobs value type. */
656
733
  readonly DesignConfig: StructType<{
@@ -717,13 +794,13 @@ export declare const Experiment: {
717
794
  }>>;
718
795
  /** A configuration value type — a named question + scope + optional precomputed answer. */
719
796
  readonly Configuration: StructType<{
720
- readonly id: import("@elaraai/east").StringType;
721
- readonly label: import("@elaraai/east").StringType;
797
+ readonly id: StringType;
798
+ readonly label: StringType;
722
799
  readonly spec: StructType<{
723
- readonly treatment: import("@elaraai/east").StringType;
724
- readonly outcome: import("@elaraai/east").StringType;
725
- readonly common_causes: ArrayType<import("@elaraai/east").StringType>;
726
- readonly categorical: OptionType<ArrayType<import("@elaraai/east").StringType>>;
800
+ readonly treatment: StringType;
801
+ readonly outcome: StringType;
802
+ readonly common_causes: ArrayType<StringType>;
803
+ readonly categorical: OptionType<ArrayType<StringType>>;
727
804
  readonly method: OptionType<VariantType<{
728
805
  readonly linear_regression: NullType;
729
806
  readonly propensity_score_weighting: StructType<{
@@ -745,12 +822,12 @@ export declare const Experiment: {
745
822
  readonly data_subset: BooleanType;
746
823
  readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
747
824
  }>>;
748
- readonly dose_feature: OptionType<import("@elaraai/east").StringType>;
825
+ readonly dose_feature: OptionType<StringType>;
749
826
  readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
750
827
  readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
751
828
  readonly bootstrap: OptionType<StructType<{
752
829
  readonly reps: import("@elaraai/east").IntegerType;
753
- readonly cluster_column: OptionType<import("@elaraai/east").StringType>;
830
+ readonly cluster_column: OptionType<StringType>;
754
831
  readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
755
832
  }>>;
756
833
  readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
@@ -816,7 +893,7 @@ export declare const Experiment: {
816
893
  }>;
817
894
  }>;
818
895
  }>>>;
819
- readonly group: OptionType<import("@elaraai/east").StringType>;
896
+ readonly group: OptionType<StringType>;
820
897
  readonly result: OptionType<StructType<{
821
898
  readonly naive: import("@elaraai/east").FloatType;
822
899
  readonly naive_ci: OptionType<StructType<{
@@ -835,11 +912,12 @@ export declare const Experiment: {
835
912
  readonly n_control: import("@elaraai/east").IntegerType;
836
913
  readonly n_dropped: import("@elaraai/east").IntegerType;
837
914
  readonly balance: ArrayType<StructType<{
838
- readonly column: import("@elaraai/east").StringType;
839
- readonly base_column: import("@elaraai/east").StringType;
915
+ readonly column: StringType;
916
+ readonly base_column: StringType;
840
917
  readonly treated_mean: import("@elaraai/east").FloatType;
841
918
  readonly control_mean: import("@elaraai/east").FloatType;
842
919
  readonly std_diff: import("@elaraai/east").FloatType;
920
+ readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
843
921
  }>>;
844
922
  readonly overlap: StructType<{
845
923
  readonly treated_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
@@ -862,11 +940,15 @@ export declare const Experiment: {
862
940
  readonly sensitivity: OptionType<StructType<{
863
941
  readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
864
942
  readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
943
+ readonly benchmarks: ArrayType<StructType<{
944
+ readonly column: StringType;
945
+ readonly strength: import("@elaraai/east").FloatType;
946
+ }>>;
865
947
  }>>;
866
948
  readonly expected_sign_ok: OptionType<BooleanType>;
867
949
  }>>;
868
950
  readonly dose_response: OptionType<StructType<{
869
- readonly feature: import("@elaraai/east").StringType;
951
+ readonly feature: StringType;
870
952
  readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
871
953
  readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
872
954
  readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
@@ -878,8 +960,20 @@ export declare const Experiment: {
878
960
  readonly modest: NullType;
879
961
  readonly adjustment_insufficient: NullType;
880
962
  readonly non_identifiable_positivity: NullType;
881
- readonly not_estimable: import("@elaraai/east").StringType;
963
+ readonly not_estimable: StringType;
882
964
  }>;
965
+ readonly verdict_reasons: ArrayType<VariantType<{
966
+ readonly placebo_failed: NullType;
967
+ readonly not_material: NullType;
968
+ readonly ci_spans_zero: NullType;
969
+ readonly wrong_sign: NullType;
970
+ readonly thin_support: NullType;
971
+ readonly low_robustness: NullType;
972
+ }>>;
973
+ readonly outcome_sd: import("@elaraai/east").FloatType;
974
+ readonly materiality_threshold: import("@elaraai/east").FloatType;
975
+ readonly treated_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
976
+ readonly control_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
883
977
  }>>;
884
978
  readonly design: OptionType<StructType<{
885
979
  readonly verdict: VariantType<{
@@ -887,7 +981,7 @@ export declare const Experiment: {
887
981
  readonly modest: NullType;
888
982
  readonly adjustment_insufficient: NullType;
889
983
  readonly non_identifiable_positivity: NullType;
890
- readonly not_estimable: import("@elaraai/east").StringType;
984
+ readonly not_estimable: StringType;
891
985
  }>;
892
986
  readonly basis: VariantType<{
893
987
  readonly detect_observed: NullType;
@@ -901,9 +995,9 @@ export declare const Experiment: {
901
995
  readonly target_power: import("@elaraai/east").FloatType;
902
996
  readonly alpha: import("@elaraai/east").FloatType;
903
997
  readonly current_power: OptionType<import("@elaraai/east").FloatType>;
904
- readonly match_on: ArrayType<import("@elaraai/east").StringType>;
998
+ readonly match_on: ArrayType<StringType>;
905
999
  readonly options: ArrayType<StructType<{
906
- readonly label: import("@elaraai/east").StringType;
1000
+ readonly label: StringType;
907
1001
  readonly treated_share: import("@elaraai/east").FloatType;
908
1002
  readonly n_treated: import("@elaraai/east").IntegerType;
909
1003
  readonly n_control: import("@elaraai/east").IntegerType;
@@ -913,15 +1007,20 @@ export declare const Experiment: {
913
1007
  readonly n: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
914
1008
  readonly power: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
915
1009
  }>;
916
- readonly rationale: import("@elaraai/east").StringType;
1010
+ readonly rationale: StringType;
917
1011
  }>>;
918
1012
  }>;
919
1013
  /** Optional per-column display metadata. */
920
- readonly ColumnMeta: import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
921
- readonly label: OptionType<import("@elaraai/east").StringType>;
922
- readonly unit: OptionType<import("@elaraai/east").StringType>;
1014
+ readonly ColumnMeta: import("@elaraai/east").DictType<StringType, StructType<{
1015
+ readonly label: OptionType<StringType>;
1016
+ readonly unit: OptionType<StringType>;
923
1017
  readonly higherIsBetter: OptionType<BooleanType>;
924
1018
  }>>;
1019
+ /** Optional domain noun for a row (singular + plural). */
1020
+ readonly Subject: StructType<{
1021
+ readonly one: StringType;
1022
+ readonly many: StringType;
1023
+ }>;
925
1024
  /** Initial result tab variant. */
926
1025
  readonly Tab: VariantType<{
927
1026
  readonly answer: NullType;