Help us shape the future of Go! Take the 2026 Go Developer Survey

verdict

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package verdict is the replication-gated outcome-eval verdict (SPEC-ADDITIONS §18.2): a pure decision core that layers a trust taxonomy over the cheap strict-`>` gate. A single held-out comparison cannot separate signal from noise, so a change is ELEVATE only when its primary gain is meaningful AND replicates significantly on an independent split; otherwise the verdict refuses to elevate and says why. It performs no I/O and reads no clock — the caller supplies the measured outcomes.

Index

Constants

View Source
const DefaultMinEffect = 0.05

DefaultMinEffect is the smallest score delta (on the 0..1 rule-judge scale) that counts as a meaningful effect for ELEVATE — a smaller gain is real but not worth elevating on without more evidence (§18.2).

Variables

This section is empty.

Functions

func ValidateSplits

func ValidateSplits(assignments []SplitAssignment) error

ValidateSplits guards against split leakage (§18.2): a task id assigned to more than one split makes the held-out replication a proxy for the primary rather than an independent check. It returns EINVALID naming the first leaked id. It is pure.

Types

type Outcome

type Outcome struct {
	Delta       float64
	Significant bool
}

Outcome is one condition's measured result: the score delta (candidate − baseline) and whether a paired significance test found the change significant.

type SplitAssignment

type SplitAssignment struct {
	ID    string
	Split string
}

SplitAssignment pairs a task id with the split it was assigned, for the leakage guard.

type Verdict

type Verdict string

Verdict is the replication-gated adoption verdict.

const (
	Elevate            Verdict = "ELEVATE"
	Directional        Verdict = "DIRECTIONAL-NOT-REPLICATED"
	ReplicationMissing Verdict = "REPLICATION-MISSING"
	Kill               Verdict = "KILL"
)

Verdict values: the outcome-eval taxonomy (§18.2). ELEVATE requires a primary gain AND an independent replication; the rest refuse to elevate, honestly.

func Decide

func Decide(primary, replication Outcome, minEffect float64, hasReplication bool) Verdict

Decide maps a primary and a replication outcome to a verdict (§18.2): KILL on a primary regression; REPLICATION-MISSING when there was no held-out replication to check; ELEVATE only when the primary gain clears minEffect AND the replication held without regressing and is significant; DIRECTIONAL otherwise — a primary gain that did not replicate. It is pure.

func Replicate

func Replicate(runs []Outcome, minEffect float64) Verdict

Replicate is the fresh-replication verdict (§18.2): a single held-out comparison (Decide) can still be a fluke, so ELEVATE here requires at least two *independent* runs — a primary and a fresh replication — that each clear minEffect and are significant. Any run that regressed is KILL; fewer than two runs is REPLICATION-MISSING (there is no fresh replication to trust); otherwise DIRECTIONAL. It is pure — the caller supplies each independent run's outcome.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL