Developer preview. Pre-admission. Not for sensitive, proprietary, regulated, or production code. Expect breaking changes and data loss. Read the limits.

Measured budgets come from their measuring tool

A measured budget (the web test-runtime budget, a per-file ceiling) is a generated value: a measuring tool records it from N clean runs, owned by a generator, and it is never edited by hand (see UR-02). A reading is taken inside the host’s one instrument lock; a run outside it is refused, never judged, and never tuned for. Under load the reading is NOT refused: until AMBIENT-ALLOWANCE-REMOVE lands it is ambient-adjusted (below), stated.

The web budget’s tool is npm run budget:measure -- --check|--write (scripts/testing/measure-web-budget.ts, arithmetic measureBudgetFloor in engine/src/shared/budget-verdict.ts): the median of the last baselineWindowRuns clean judged full runs of the current population, each stamped as measured inside the host’s one instrument lock (heavySlot: "held"; a row without the stamp feeds nothing), written through the config-path writer.

The ambient-load allowance is removed (the user’s decision of 2026-10-07, UD-AUDIT-NO-FORGIVENESS, standing). It is still APPLIED in code — each reading ambient-adjusted by ambientInflationSlopePerCpu 0.05 per unit of 5-minute load per CPU, capped at ambientInflationCapFraction 0.12 — until AMBIENT-ALLOWANCE-REMOVE lands. It lands ATOMICALLY in the web writer’s rebased workspace, right after the engine merge, as that workspace’s FIRST item (the saved removal patch: engine/src/shared/budget-verdict.ts with the web writer’s tests/helpers/budget-config.ts, which are in two leases). UNTIL THEN EVERY BUDGET VERDICT STATES THE ALLOWANCE IN FORCE, NUMERICALLY — the verdict line itself ([ambient allowance in force until AMBIENT-ALLOWANCE-REMOVE: +5.0% per unit of 5-minute load per CPU, capped at +12.0%; this verdict: +x%]) and every report that quotes a verdict — so no pass is mistaken for a strict one. The removal was written in round 6, no longer applied by round 12 and was rebased then; it was regenerated in round 13 against the round-13 fold and is kept in the repository at docs/trackers/patches/AMBIENT-ALLOWANCE-REMOVE.patch (apply it with git apply; it carries its tests), where the owning task lands it. engine/test/workflow/parked-patches.test.ts checks on every run that it still applies. The removal RE-DERIVES THE FLOOR through this tool: without the allowance the verdict judges raw readings, so the ambient-adjusted floor no longer measures what is judged. The patch carries the floor the tool wrote at regeneration (1968 at 521 files, raw window 1947.2-2019.7); whoever applies it re-runs npm run budget:measure -- --write on that day’s ledger and carries the tool’s value into the derivation record and the pin.

Until baselineWindowRuns runs of the current population are recorded the tool answers unmeasurable with the count, and the re-derivation waits for them.

The rows it measures are the eligible rows (one rule, eligibleBudgetReadings: not a mutation run, the current population within the declared drift, none of the gate’s own failures other than its population arm, slotted, and — until AMBIENT-ALLOWANCE-REMOVE — ambient-adjusted), and one outlier line (sameTreeSpreadFraction) drops an overloaded outlier against the window’s own median (a stale floor cannot be the reference of its own re-derivation). The ROLLING BASELINE reads the same eligible rows, but a row feeds it only if its OWN CPU outcome passed (the outcome it recorded, and its reading within the cap in force at its moment): a run that failed the cap never moves the cap (round 13, design HIGH 1). With the floor as its lower bound, the rolling baseline therefore never rises above the floor; only this tool moves the floor. The spread is never a verdict’s allowance (one judged run over the cap fails, UR-24-BUDGETS).

The population is generated as well, and harness sync writes it. In the accumulation phase, derivedAtTestFileCount is the live supported population. The sync arm (measure-web-budget.ts --population, WEB_BUDGET_POPULATION) writes it, and harness check judges it, so a new test file moves it in the same commit and no pull request types it. In the measured phase it is the population the floor was measured at. It is written with the floor by --write and is never moved without it; the population drift gate decides when the floor must be measured again.

The logbook index

Search the record

Type to search the curated record.

↑↓ move Enter open Esc close