Scattered wall-clock budgets unified into one surface with a checkable nesting order.

Timeout-budget ordering model (nested wall-clock budgets, checked)

Intent — Gather a system's scattered wall-clock budgets — request timeouts, worker deadlines, lock waits, retry windows — into one typed surface, and state the ordering that must hold between them as a machine-checkable invariant: an inner budget must expire before the outer budget that contains it. The nesting relationship stops being an accident of separately-edited constants and becomes a property a check can prove, so a timeout raised past its container is a build finding rather than a production hang (our instance: the pipeline's wall-clock budgets unified into one surface with a property test over the nesting order).

SummaryScattered wall-clock budgets unified into one surface with a checkable nesting order.
TargetBridge · System models
Formtyped-ir
Movepackage — a constraint shipped with its sensors
Modelis-a-model — a structured model you check a system property against
EnforcementHard (deterministic) — the budgets live in one declared surface and a property test proves the nesting order (each inner budget strictly less than its container) holds across every declared pair
Derivationmodel-from-code — the surface mirrors the scattered authoritative constants, reconciled against them

Its place in the environment — a variant / known-use of Executable Source of Truth, under KNOW · Maintain authoritative system knowledge. Preserved here for its technical texture; the construction kit shows how it folds.

Motivation — the failure it kills

Wall-clock budgets get set independently, one constant at a time, in whatever file needs a timeout. Each looks reasonable alone. The bugs live in the relationships between them: an inner operation whose timeout exceeds the deadline of the operation that calls it, so the outer one gives up first and the inner work is abandoned mid-flight; a lock wait longer than the request that holds it, so the request dies still waiting; a retry window that outlasts the total budget it was meant to fit inside. None of these is visible in any single constant. They surface as a hang, a leaked lock, or a partial write under load, and the person debugging has to reconstruct the intended nesting from scattered numbers to even see the inversion. Nothing in the codebase states that inner-must-expire-before-outer, so nothing checks it.

Why it's not just a config file of constants

A config file collects the numbers in one place; it does not state the relationship they must satisfy, and the relationship is the whole point. Two budgets sitting in the same file are still just two numbers — nothing says the first must be strictly less than the second, and nothing fails when someone bumps the inner one past the outer. The model adds the missing thing: a declared ordering invariant over the pairs, checked by a property test that holds for every nesting, not just the values present today. That is the difference between storing the budgets and modeling them. A config file also invites the very drift the model prevents — consumers copy a constant and the copy diverges — whereas a single sourced surface makes the budget one value that every consumer reads, so the nesting a check proves is the nesting the code actually runs.

Mechanism

Prerequisites

Consequences & costs

Known uses

Related mechanisms

Governed by

The mechanisms that hold this model true — inverted from their Governs edges at build time, never hand-written. A direct governor names this model; a trunk mechanism governs every model.