Freeze the workflow
Name components, versions, policy/configuration, shared dependencies, and route semantics. A changed configuration is a different system under test.
The next epistemic frontier
A joint number is not one thing. This workbench makes you name the system, population, event, and observation mode before it will emit a result.
It computes a static all-miss result only when every stated guard saw every stated item. For a deployed route or an adaptive attack, it records the missing protocol fields and refuses to launder those questions into a static score.
The same product labels can appear in three different measurements. Select one; the workbench will make its scope visible in the resulting packet.
A first real study should preserve enough structure to distinguish what was actually measured from what remains hypothetical. The preflight makes the first layer executable; the next layers are intentionally more demanding.
Name components, versions, policy/configuration, shared dependencies, and route semantics. A changed configuration is a different system under test.
Mark static full exposure, an actual deployed route, replay/ablation, or adaptive holdout. Do not render one as evidence for another.
For a route, retain stage sequence, intervention, missingness, and terminal outcome. A blocked input is not an observation for a later stage.
Bind protocol, data manifest, runner, and report. Release a linked revision with reason rather than silently rewriting an evidentiary record.