did the system move, or did your ruler
the second application of the same machine: registered series, a measured noise floor, and alarm bounds that stay quiet when nothing real happened.
the question drift actually asks
a number you measured last month reads differently today. before anything else, two candidate explanations deserve separating: the system you are measuring changed, or the apparatus you measure it with changed. they look identical in a chart and call for opposite responses.
this is why every gaige receipt carries an instrument fingerprint. a library upgrade, a re-quantized load, a different resolved device, a corpus edit: each one moves the number without anything moving in the thing you care about. when the fingerprint matches across two runs and the number still moved, the movement is about the measured system. when the fingerprint changed, the honest answer is that you have two instruments and no comparison yet.
what the tool does about it
gaige series list · showruns with an identity
replicate-measured variancethe floor of noise
gaige series watchper-interval bounds
change detectors alongsidePH and CUSUM, unadorned
$ gaige series list # every registered series, with its instrument identity $ gaige series show <id> # the run history and the measured variance floor $ gaige series watch <id> # per-interval conformal alarm bounds
trust while you are still experimenting
prototyping with ai means the ground moves on purpose: a different model this week, a new prompt, a library upgrade, a quantization change to fit the demo hardware. every one of those moves the numbers, and an eval that cannot survive those moves is a demo, not an experiment.
the machinery above is what lets a prototype's numbers be trusted later. the fingerprint records which instrument produced each number, the series refuses to mix two instruments into one history, and the replicate floor separates a real change from the noise your own pipeline makes. when the pilot corpus is too small to carry the guarantee you asked for, the report says so instead of flattering the prototype. a refusal early is cheaper than a retraction later.
the discipline of not calling it drift
the loudest failure in monitoring is the alarm that fires because a number wiggled. gaige refuses that by construction: movement inside the measured variance bound is not drift, the report writes it down as "within run variance", and no amount of wanting a finding changes the arithmetic.
the published walkthrough of a four-interval series shows exactly that outcome: four intervals, all inside the bound, no alarm. a monitoring tool whose interesting output is silence is working.
the same machinery answers a second question with a different reference point. drift compares a series against its own history. divergence compares candidate material against the baseline you chose to trust, which is a question about your standard rather than about time. the custody page walks that one, and the vetting flow it describes runs on shipped commands.
what the alarms are not
- not adjudication. the per-interval bound is marginal, per interval. alarm streams are for triage, and reading them as findings about a person or a document is the mistake this whole bench exists to prevent.
- not a cause. an alarm says the number moved further than this instrument's own noise explains. which upstream thing moved is your investigation, and the fingerprint is where it starts.
- not free of your choices. interval length, replicate count, and the alpha you picked all shape what counts as an alarm. they are recorded in the report because they are part of the result.
adjacent: custody and divergence · choosing a threshold · the package · live receipts