Ingest

object Ingest(source)

Feeds results someone else produced (a CI workflow variant, a run on another host) into a case through the same decision rule and belief update as solve. A result is accepted only when it names a preregistered experiment, the sha256 of that experiment's rule and both arm ids, and its trial counts equal the preregistered count; the rule is derived from the case's plan, never from the result. An ingested result can narrow the case, never confirm it: confirmation needs the minimal-set search and the reverse arm, which are separate preregistered experiments.

Functions

Link copied to clipboard
fun apply(case: CaseFile, results: Map<String, String>): IngestOutcome
Link copied to clipboard

Experiment ids that already have a result in the case.

Link copied to clipboard

The preregistered rule of a plan, or null when no trial count reaches alpha.

Link copied to clipboard

One result file per experiment of the case that has no result yet and is not rejected, with the ids and the preregistered rule hash filled in; failures is null until its counts are entered, so an untouched file is refused rather than ingested as zero failures.

Link copied to clipboard
fun template(id: String, ruleSha256: String, control: Counts, treatment: Counts): String

The shape ingest reads, for a result of experiment id under the rule ruleSha256.