gaige
ink
v0.0.2 · released

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

runs get registered under a series keyed to instrument identity, so a series cannot silently span two different instruments. the series is the unit of comparison, not the run.

replicate-measured variancethe floor of noise

repeated runs on day zero measure how much this instrument moves when nothing is happening. without that floor, every alarm is guesswork about how much movement is normal.

gaige series watchper-interval bounds

each interval carries a conformal alarm bound with a marginal false-alarm rate, so a quiet interval means something specific rather than just looking flat.

change detectors alongsidePH and CUSUM, unadorned

classical detectors run beside the conformal bound with their constants recorded in the report and no guarantee claimed for them (the gama 2014 / webb 2016 lineage). they are there to be read, not to be trusted quietly.
$ 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

adjacent: custody and divergence · choosing a threshold · the package · live receipts