Skip to content

Override and Sweep Contracts

Overrides and sweeps let repository workflows vary maintained receiver profiles without turning configuration changes into unreviewed strings. Infra owns the typed mutation mechanics; the receiver owns what each parameter means at runtime.

Experiment Expansion

flowchart TD
    profile["maintained receiver profile"]
    overrides["CommonOverrides"]
    sweep["SweepParameter list"]
    expansion["expand_sweep"]
    variants["typed run variants"]
    receiver["receiver config validation"]

    profile --> overrides --> variants
    profile --> sweep --> expansion --> variants --> receiver

Contract Families

family owns first proof
common overrides typed mutation of shared receiver-profile fields receiver-profile override source
direct override application applying reviewed override values to a profile override application source
sweep parsing converting PARAM=VALS input into typed sweep parameters sweep parser and sweep-parameter source
sweep expansion Cartesian expansion into reproducible run variants experiment expansion source
experiment specs repository-facing batch-run descriptions experiment spec source

Boundary Rules

  • Infra owns typed variation, expansion, and reviewable experiment shape.
  • Receiver owns parameter validation and runtime behavior after the profile is mutated.
  • Command owns how operators request sweeps, not how sweep keys mutate a profile.
  • Tests must prove expansion order, invalid keys, and value parsing because those details affect reproducibility.

Reader Checks

  • Can a reviewer see every run variant before execution?
  • Does the same sweep input expand deterministically?
  • Are invalid keys rejected at the infrastructure boundary?
  • Does the documentation separate parameter mutation from receiver science?

First Proof Check

Inspect the override guide, experiment guide, override source, sweep source, experiment source, and the override integration test.