Endpoint sentinel

This grew out of The Instrument Moves. The gui-reasoning prompt below is that paper’s determinism probe, and the first two endpoints were its pinned endpoint and its control.

The same prompts, at temperature=0 with a fixed seed, sent to each endpoint every day in three windows eight hours apart, with the provider and quantization pinned and the served provider read back. Two probes: a reasoning prompt (gui-reasoning) on every endpoint, and a tool-calling prompt (gui-tool) that offers a small GUI tool schema and asks for one call, on five of them. Each panel is one endpoint-probe: the per-day median completion length with its interquartile band, the share of a day’s probes that repeated an earlier probe byte for byte, and where a single step in the series would explain the most variance.

Record closed. Probed 2026-09-04 to 2026-10-13, 12,553 probes; scheduled probing stopped 2026-10-22. From 10-08 17:53 UTC the router answered every request with HTTP 402 (credits exhausted), so the last answered days are 10-09/10 for the Kimi endpoints and 10-13 for the gpt-oss pair; those final days show as "unavailable" below for that reason, not because the endpoints went away. The closing analysis is in the Closing report.

Loading data…

Alerts

What the drift detector decided against each endpoint's previous week: availability, output length, latency. A day that shifts on three or more endpoints at once is attributed to the client or the router, not the endpoints.

Loading…

Endpoints

Endpoints compared

All days in the selected range, per endpoint. Compare within one model only: different models produce different lengths by design. Identity rate is the share of a day's probes that repeat an earlier probe of that day byte for byte; 0 means every completion differed.

Closing report

Six weeks, fourteen endpoints, two probes, 7,764 answered requests. What the record showed, in order of weight:

  1. The audit’s endpoint moved again, with both edges caught. AtlasCloud int4 Kimi-K2.5, the endpoint whose mid-run change the paper documents, stepped on 2026-09-20: median completion 1,650–1,800 → 1,414 tokens, reasoning 1,500–1,700 → 1,254, latency 41–46 s → 28–30 s, and a single never-before-seen completion became the modal answer, returned 5–12 times out of 24 on each of the next eighteen days. On 10-08/09 it went back: median 1,640–1,750, latency 46 s, modal completion gone. Shorter, faster and more repetitive at once, for eighteen days, then reverted, on a model id that never changed. The detector flagged the first day; a rolling seven-day baseline then absorbed the new level, which is the case such a baseline is worst at. The per-day panel above shows it plainly.
  2. Endpoints disappear and do not come back. Three of the eight providers serving Kimi-K2.5 on 09-04 delisted it within thirteen days (DeepInfra 09-08, DigitalOcean 09-09, Phala 09-17); none returned in the following five weeks. The paper’s control endpoint stopped existing eleven days after submission.
  3. Determinism at temperature 0 is a state, not a trait. DeepInfra’s bf16 gpt-oss-120b returned one completion to more than half its probes on 9 of 37 days and 18–24 distinct completions on the others; its modal completions recur across weeks, so the weights did not change. The fp4 sibling at CoreWeave never repeated a completion in 47 days. Kimi thinking endpoints repeated 0–13% of the time, except AtlasCloud inside its 09-20 regime.
  4. Decisions are nondeterministic, not just wording. On the tool probe the first action never settled: gpt-oss at bf16 chose swipe 81% of the time and was unanimous on 10 of 32 days; at fp4 72%, unanimous 3 of 31; AtlasCloud Kimi-K2.5 split open_app 55% / tap 45%, unanimous 1 day of 28. Same prompt, same tools, temperature 0. This is the mechanism behind flipped verdicts in agent benchmarks, seen at step one.
  5. Same model id, different product. Across providers labelled the same quantization, Kimi-K2.5’s reasoning length ranged 1.4k–2.7k tokens and latency 3 s (Bedrock, which never thinks) to 130 s. Quantization labels explained none of it.
  6. Throttling is its own event. DeepInfra’s Kimi-K2.6 returned 429 to most of a day’s probes on six days, three of them consecutive (10-02 to 10-04), while the router listed it throughout.
  7. Latency belongs to the client, the endpoint and the hour together. Moving the client from a laptop to GitHub runners shifted medians ±20–30% in both directions; within a day the three windows differed by up to 70%. It was demoted to recorded-not-alarmed on 09-29, which the significant-day lists vindicate.
  8. The detector did not cry wolf. 19,168 shuffled tests tripped the per-test level 0.0–0.3% of the time; every real alarm maps to an event in the list below.

What the record cannot say: six weeks on one router is a set of observations, not rates; the tool-probe identity figure in the table is an artefact (tool-call rows carry no text); nothing here separates a provider’s own change from the router’s routing, though the served provider matched the pin on every answered probe. Method, raw record and the full report: the repository is linked from the paper page.

Events

Serving-side changes the sentinel has caught. Each gives the last probe that succeeded and the first that failed; until 2026-09-28 the sentinel probed once a day, so the window is up to 24 hours wide; from 09-29, eight.

The dead endpoints stayed in the matrix to the end. A 0/24 day is the record that the endpoint is gone.

How to read it

Method, probe text, and the raw record are in the repository, linked from the paper page.