{
 "schema_version": "1.0",
 "page_kind": "article",
 "pack_kind": "generate",
 "slug": "onnx-runtime-telemetry-on-linux",
 "title": "ONNX Runtime's telemetry on Linux, measured: on by default since 1.29, and the switch that stops it",
 "dek": "ONNX Runtime is a Microsoft library for running AI models, and tools such as chromadb, faster-whisper and piper-tts install it for you. Since version 1.29 (August 2026) it has shipped with telemetry on by default on Linux and macOS, and its own privacy file says so. We measured it on Linux in a sealed container: it tried to reach Microsoft's telemetry server 9.2 seconds after starting, and setting ORT_DISABLE_TELEMETRY=1 before launch stopped it in every run.",
 "published": "2026-09-28",
 "series": [
  "bench"
 ],
 "licence": "CC BY 4.0",
 "status": "pending-judge",
 "pack_note": "no judge is seated, so every chip is held",
 "notice": "items with published:false are held and are not this page's published words",
 "source": {
  "url": "https://research.strata2signal.com/onnx-runtime-telemetry-on-linux/",
  "md_url": "https://research.strata2signal.com/onnx-runtime-telemetry-on-linux/index.md",
  "md_sha": "7aaae5700631ca63732cde9a2c11815de9ed8a70743e2f38d3524f26803138ad",
  "html_sha": "9f92190c13a5b4e94e82d8fd9f70f86e510339ba33976aa1b4cf2ec1f0a3ccc9",
  "anchors_sha": "42195fd862cd9ea85c4f5ccd88c56a04077d01146c435a8efe7bb649397a54e7"
 },
 "short": {
  "paragraph": "ONNX Runtime 1.29.0 and 1.30.0, which chromadb, faster-whisper, piper-tts, fastembed and many other tools install for you, try to reach Microsoft's telemetry collector by default on Linux. In our sealed test the first attempt came 9.2 seconds after launch in every default run, and the library kept retrying when our stand-in collector cut it off. The events carry no audio, prompts or model outputs, but they do carry a device ID that stays the same across runs (sent as a hash), the path the program was launched by (with your username in it when that program lives in your home folder), your processor and operating system, and the names and metadata of the models you run. The fix is one environment variable, set before the program starts: ORTDISABLETELEMETRY=1 stopped every attempt. The library's own disable call did not, and the library never reads DONOTTRACK. Version 1.28.0 made no attempt, and Microsoft's own privacy file says the macOS, Android and iOS builds carry the same telemetry.",
  "from_dek": false,
  "counts": {
   "words": 7100,
   "minutes": 32,
   "tables": 7,
   "kit": true
  },
  "bullets": [
   {
    "text": "the queue on a dev laptop had been there since 2026-08-27",
    "figure": "2026-08-27",
    "cite": "how-we-noticed",
    "quote": "The queue on our dev laptop had been there since 2026-08-27, a month before we noticed; we had not read the file either.",
    "span": [
     3086,
     3097
    ]
   }
  ]
 },
 "sections": [
  {
   "id": "how-we-noticed",
   "heading": "How we noticed",
   "level": 2,
   "span": [
    2163,
    3274
   ],
   "chunks": [
    [
     2163,
     3274
    ]
   ],
   "chars": 1111,
   "digest": "the authors noticed telemetry was on by default in ONNX Runtime after an AI agent flagged a privacy file. they found a device ID file and a Microsoft collector address on their dev laptop, where a queue had existed since 2026-08-27. they switched telemetry off on the Beat Lab's voice at 08:00 UTC.",
   "digest_skipped": null
  },
  {
   "id": "are-you-affected",
   "heading": "Are you affected?",
   "level": 2,
   "span": [
    3274,
    9440
   ],
   "chunks": [
    [
     3274,
     9440
    ]
   ],
   "chars": 6166,
   "digest": "users of local AI tools in Python or Node.js likely have ONNX Runtime. telemetry is on by default for Linux pip installs of 1.29.0 or 1.30.0, macOS, Android, iOS, and certain C# or Java packages. the article provides four checks to identify installed versions, existing event queues, and running programs with the library loaded.",
   "digest_skipped": null
  },
  {
   "id": "how-to-turn-it-off",
   "heading": "How to turn it off",
   "level": 2,
   "span": [
    9440,
    18762
   ],
   "chunks": [
    [
     9440,
     18762
    ]
   ],
   "chars": 9322,
   "digest": "to disable telemetry, set ORT_DISABLE_TELEMETRY=1 in the environment before the library starts. the article describes how to apply this to terminals, cron jobs, systemd services, Docker, and Python code. it also notes that Windows uses different controls and suggests pinning versions or using conda-forge builds as alternatives.",
   "digest_skipped": null
  },
  {
   "id": "which-tools-bring-it-in",
   "heading": "Which tools bring it in",
   "level": 2,
   "span": [
    18762,
    21676
   ],
   "chunks": [
    [
     18762,
     21676
    ]
   ],
   "chars": 2914,
   "digest": "many Python packages, such as chromadb, kokoro-onnx, and faster-whisper, bring in ONNX Runtime 1.30.0. the article lists various tools and their associated versions, noting that some, like insightface, set the switch themselves. it also mentions that transformers.js on npm depends on onnxruntime-node 1.30.0.",
   "digest_skipped": null
  },
  {
   "id": "what-changed",
   "heading": "What changed, and when",
   "level": 2,
   "span": [
    21676,
    26427
   ],
   "chunks": [
    [
     21676,
     26427
    ]
   ],
   "chars": 4751,
   "digest": "the change in 1.29.0 is that Linux, macOS, Android and iOS builds carry a telemetry uploader. previously, telemetry was only implemented for Windows builds. the article provides a timeline of pull requests and releases, noting that 1.29.0 was the first release with Linux telemetry.",
   "digest_skipped": null
  },
  {
   "id": "what-we-measured",
   "heading": "What we measured",
   "level": 2,
   "span": [
    26427,
    31703
   ],
   "chunks": [
    [
     26427,
     31703
    ]
   ],
   "chars": 5276,
   "digest": "the authors ran ONNX Runtime in a sealed Docker container with no network to measure connection attempts and file creation. they found that version 1.30.0 with default settings made 5 connection attempts and 10 name lookups in 120 s. setting ORT_DISABLE_TELEMETRY=1 resulted in 0 attempts and 0 lookups.",
   "digest_skipped": null
  },
  {
   "id": "what-is-in-the-events",
   "heading": "What is in the events",
   "level": 2,
   "span": [
    31703,
    35948
   ],
   "chunks": [
    [
     31703,
     35948
    ]
   ],
   "chars": 4245,
   "digest": "events include the program's launch path, processor details, operating system version, and a persistent device ID. running a model adds the model's graph name, producer name, and metadata. the authors found that no tensor data, such as audio or transcripts, is carried in the events.",
   "digest_skipped": null
  },
  {
   "id": "what-we-did-about-ours",
   "heading": "What we did about ours",
   "level": 2,
   "span": [
    35948,
    38055
   ],
   "chunks": [
    [
     35948,
     38055
    ]
   ],
   "chars": 2107,
   "digest": "the authors switched off telemetry for several of their own services, including the Beat Lab's voice and the long table's voice. they used the ORT_DISABLE_TELEMETRY=1 variable and verified it by checking for the absence of debug-log files and the presence of the environment variable in running processes.",
   "digest_skipped": null
  },
  {
   "id": "what-this-page-does-not-know",
   "heading": "What this page does not know",
   "level": 2,
   "span": [
    38055,
    39647
   ],
   "chunks": [
    [
     38055,
     39647
    ]
   ],
   "chars": 1592,
   "digest": "the article does not know what the collector accepted, how often it connects on a working network, or details regarding Windows beyond the privacy file. it also does not provide a security finding or cover setups beyond the specific Linux x86-64 environment tested.",
   "digest_skipped": null
  },
  {
   "id": "what-to-take-with-you",
   "heading": "What to take with you",
   "level": 2,
   "span": [
    39647,
    40726
   ],
   "chunks": [
    [
     39647,
     40726
    ]
   ],
   "chars": 1079,
   "digest": null,
   "digest_skipped": null
  },
  {
   "id": "how-to-check-our-work",
   "heading": "How to check our work",
   "level": 2,
   "span": [
    40726,
    43051
   ],
   "chunks": [
    [
     40726,
     43051
    ]
   ],
   "chars": 2325,
   "digest": null,
   "digest_skipped": "credits"
  },
  {
   "id": "the-rest-of-the-seminar",
   "heading": "The rest of the seminar",
   "level": 2,
   "span": [
    43051,
    43673
   ],
   "chunks": [
    [
     43051,
     43673
    ]
   ],
   "chars": 622,
   "digest": null,
   "digest_skipped": "credits"
  },
  {
   "id": "who-ran-this-and-thanks",
   "heading": "Who ran this, and thanks",
   "level": 2,
   "span": [
    43673,
    45690
   ],
   "chunks": [
    [
     43673,
     45690
    ]
   ],
   "chars": 2017,
   "digest": null,
   "digest_skipped": "credits"
  },
  {
   "id": "sources",
   "heading": "Sources (read 2026-09-28, UTC)",
   "level": 2,
   "span": [
    45690,
    50188
   ],
   "chunks": [
    [
     45690,
     50188
    ]
   ],
   "chars": 4498,
   "digest": "the sources include ONNX Runtime GitHub pull requests, issues, and releases; the library source code for v1.30.0; the microsoft/cpp_client_telemetry library; and various packaging and documentation sites like PyPI, npm, and the official ONNX Runtime documentation.",
   "digest_skipped": null
  }
 ],
 "chips": [
  {
   "id": "c-31f88272",
   "q": "how did the telemetry issue come to light?",
   "a": "An AI agent reviewing a privacy plan flagged that telemetry was enabled by default in the ONNX Runtime privacy file. Subsequent investigation revealed a device ID file, a database of queued events, and a Microsoft collector address compiled into the library.",
   "cites": [
    "how-we-noticed"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-c9527b37",
   "q": "which software versions enable telemetry by default?",
   "a": "On Linux, versions 1.29.0 and 1.30.0 installed via pip have telemetry on by default. The telemetry code first shipped in 1.29.0, whereas 1.28.0 and older versions were silent. macOS, Android, and iOS versions 1.29.0 to 1.30.0 also have it enabled by default.",
   "cites": [
    "are-you-affected"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-e6b73ed8",
   "q": "which python packages include onnxruntime?",
   "a": "Several packages bring in the library, including `chromadb`, `kokoro-onnx`, `faster-whisper`, `markitdown`, `fastembed`, `piper-tts`, `openwakeword`, and `rembg[cpu]`. Many of these specifically pull in version 1.30.0.",
   "cites": [
    "which-tools-bring-it-in"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-6469de04",
   "q": "what changed in the onnxruntime builds?",
   "a": "The change in 1.29.0 was the inclusion of a cross-platform telemetry library called 1DS for Linux, macOS, Android, and iOS. Previously, telemetry was only implemented for Windows builds via the operating system's trace events.",
   "cites": [
    "what-changed"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-d6c598bb",
   "q": "how many connection attempts occur in a default run?",
   "a": "In a sealed test of version 1.30.0 with default settings, the library made 5 connection attempts, 10 name lookups, and 15 connect system calls within 120 seconds.",
   "cites": [
    "what-we-measured"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-e375d422",
   "q": "what specific data is included in the telemetry events?",
   "a": "Events include the program's launch path, processor model, core count, total memory, operating system version, device class, and a persistent, hashed device ID. They also include model-specific data like the graph name and duration, but do not carry tensor data like audio or transcripts.",
   "cites": [
    "what-is-in-the-events"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  },
  {
   "id": "c-812fa353",
   "q": "what are the main takeaways regarding telemetry control?",
   "a": "Versions 1.29.0 and 1.30.0 attempt to reach Microsoft by default on Linux. Setting `ORT_DISABLE_TELEMETRY=1` before the library loads stops all collection, lookups, and file creation. However, the in-code call `disable_telemetry_events()` and the `DO_NOT_TRACK` variable do not stop the uploader.",
   "cites": [
    "what-to-take-with-you"
   ],
   "published": false,
   "publish_state": "held",
   "quote": "",
   "quote_cite": ""
  }
 ],
 "related": [
  {
   "slug": "august-arrivals",
   "why": "shares ground with § What this page does not know · § The story"
  },
  {
   "slug": "llms-txt",
   "why": "shares ground with § How we noticed · § Measured again, after publication"
  },
  {
   "slug": "ten-minutes-with-living-artists",
   "why": "shares ground with § How we noticed · § The ear"
  }
 ],
 "thanks": "## Who ran this, and thanks {#who-ran-this-and-thanks}\n\n**Microsoft's ONNX Runtime team** documents the default and the switch in the package's own privacy file, publishes the telemetry code in the open, sends the device ID only as a hash, blanks the program's name and your timezone from the shared context, and strips paths from its own fields. A reviewer on the pull request turned the environment switch from one that still let the start-up event go into one that creates nothing ([#29843](https://github.com/microsoft/onnxruntime/pull/29843)), which is why one variable is enough. A crash in minimal containers, reported on 2026-08-19 ([#32173](https://github.com/microsoft/onnxruntime/issues/32173)), was fixed five days later ([#32226](https://github.com/microsoft/onnxruntime/pull/32226)). ONNX Runtime (MIT) and the telemetry library it builds in, microsoft/cpp_client_telemetry (Apache-2.0), are open source, which is how we could read both. **insightface** 2.0 and **markitdown**'s Docker image set the switch for their users.\n\nOthers saw it before we did: a privacy note in [immich #30729](https://github.com/immich-app/immich/issues/30729) (2026-08-12), a firewall alert in [wyoming-piper #64](https://github.com/OHF-Voice/wyoming-piper/issues/64) (2026-09-04) and a connection trace in [claude-docker-sandbox PR #21](https://github.com/jonn-smith/claude-docker-sandbox/pull/21) (2026-09-16).\n\nThe sealed test stood on Docker, Debian's `debian:12-slim` image, python-build-standalone's CPython 3.12 with pip, strace, the `onnx` and NumPy packages that build and feed its one-addition model, and curl for the preflight; uv resolved the package table.\n\nEverything here was read or measured on 2026-09-28 (UTC). A small (human) team runs the machines and decided what to switch off; a fleet of AI agents read the source, built and ran the sealed test, audited it, and read this page through two rounds of critics and a last pair of fresh-eyes reviews, one for accuracy and one as a stranger would read it.",
 "kit": {
  "url": "https://research.strata2signal.com/onnx-runtime-telemetry-on-linux/data/",
  "licence": "CC BY 4.0",
  "files": [
   "PREREG-probe.md",
   "PROBE-AUDIT.md",
   "PROBE-RESULTS.md",
   "README.md",
   "audit/audit_inside.py",
   "audit/ort-pybind-SHA256SUMS",
   "audit/run-arm-audit-arm.diff",
   "audit/runs/launch-ort130-apioff.txt",
   "audit/runs/launch-ort130-default.txt",
   "audit/runs/launch-ort130-envoff.txt",
   "audit/runs/launch-posctl.txt",
   "audit/runs/launch2-ort130-default.txt",
   "audit/runs/launch2-ort130-envoff.txt",
   "audit/runs/launch3-ort129-default.txt",
   "audit/runs/launch3-ort129-envoff.txt",
   "audit/runs/ort129-default-raudit3/deviceid",
   "audit/runs/ort129-default-raudit3/harness.log",
   "audit/runs/ort129-default-raudit3/machine-id",
   "audit/runs/ort129-default-raudit3/marks.json",
   "audit/runs/ort129-default-raudit3/queue/strings.txt",
   "audit/runs/ort129-default-raudit3/result.json",
   "audit/runs/ort129-default-raudit3/strace.log",
   "audit/runs/ort129-default-raudit3/subject.stderr",
   "audit/runs/ort129-default-raudit3/subject.stdout",
   "audit/runs/ort129-default-raudit3/tmp.ses",
   "audit/runs/ort129-envoff-raudit3/harness.log",
   "audit/runs/ort129-envoff-raudit3/machine-id",
   "audit/runs/ort129-envoff-raudit3/marks.json",
   "audit/runs/ort129-envoff-raudit3/result.json",
   "audit/runs/ort129-envoff-raudit3/strace.log",
   "audit/runs/ort129-envoff-raudit3/subject.stderr",
   "audit/runs/ort129-envoff-raudit3/subject.stdout",
   "audit/runs/ort130-apioff-raudit1/deviceid",
   "audit/runs/ort130-apioff-raudit1/harness.log",
   "audit/runs/ort130-apioff-raudit1/machine-id",
   "audit/runs/ort130-apioff-raudit1/marks.json",
   "audit/runs/ort130-apioff-raudit1/queue/strings.txt",
   "audit/runs/ort130-apioff-raudit1/result.json",
   "audit/runs/ort130-apioff-raudit1/strace.log",
   "audit/runs/ort130-apioff-raudit1/subject.stderr",
   "audit/runs/ort130-apioff-raudit1/subject.stdout",
   "audit/runs/ort130-apioff-raudit1/tmp.ses",
   "audit/runs/ort130-default-raudit1/deviceid",
   "audit/runs/ort130-default-raudit1/harness.log",
   "audit/runs/ort130-default-raudit1/machine-id",
   "audit/runs/ort130-default-raudit1/marks.json",
   "audit/runs/ort130-default-raudit1/queue/strings.txt",
   "audit/runs/ort130-default-raudit1/result.json",
   "audit/runs/ort130-default-raudit1/strace.log",
   "audit/runs/ort130-default-raudit1/subject.stderr",
   "audit/runs/ort130-default-raudit1/subject.stdout",
   "audit/runs/ort130-default-raudit1/tmp.ses",
   "audit/runs/ort130-default-raudit2/deviceid",
   "audit/runs/ort130-default-raudit2/harness.log",
   "audit/runs/ort130-default-raudit2/machine-id",
   "audit/runs/ort130-default-raudit2/marks.json",
   "audit/runs/ort130-default-raudit2/queue/strings.txt",
   "audit/runs/ort130-default-raudit2/result.json",
   "audit/runs/ort130-default-raudit2/strace.log",
   "audit/runs/ort130-default-raudit2/subject.stderr",
   "audit/runs/ort130-default-raudit2/subject.stdout",
   "audit/runs/ort130-default-raudit2/tmp.ses",
   "audit/runs/ort130-envoff-raudit1/harness.log",
   "audit/runs/ort130-envoff-raudit1/machine-id",
   "audit/runs/ort130-envoff-raudit1/marks.json",
   "audit/runs/ort130-envoff-raudit1/result.json",
   "audit/runs/ort130-envoff-raudit1/strace.log",
   "audit/runs/ort130-envoff-raudit1/subject.stderr",
   "audit/runs/ort130-envoff-raudit1/subject.stdout",
   "audit/runs/ort130-envoff-raudit2/harness.log",
   "audit/runs/ort130-envoff-raudit2/machine-id",
   "audit/runs/ort130-envoff-raudit2/marks.json",
   "audit/runs/ort130-envoff-raudit2/result.json",
   "audit/runs/ort130-envoff-raudit2/strace.log",
   "audit/runs/ort130-envoff-raudit2/subject.stderr",
   "audit/runs/ort130-envoff-raudit2/subject.stdout",
   "audit/runs/posctl-raudit1/harness.log",
   "audit/runs/posctl-raudit1/machine-id",
   "audit/runs/posctl-raudit1/marks.json",
   "audit/runs/posctl-raudit1/result.json",
   "audit/runs/posctl-raudit1/strace.log",
   "audit/runs/posctl-raudit1/subject.stderr",
   "audit/runs/posctl-raudit1/subject.stdout",
   "audit/verify-audit.txt",
   "audit/verify-orig.txt",
   "audit/verify.py",
   "audit/wheels-SHA256SUMS",
   "audit/witness/audit-sandbox.json",
   "audit/witness/audit-sandbox.stderr",
   "audit/witness/ort129-default.txt",
   "audit/witness/ort129-envoff.txt",
   "audit/witness/ort130-default.txt",
   "audit/witness/ort130-envoff.txt",
   "probe/as-run/inside.py",
   "probe/as-run/summarize.py",
   "probe/inside.py",
   "probe/preflight.sh",
   "probe/prepare.sh",
   "probe/resolv.conf",
   "probe/run-all.sh",
   "probe/run-arm.sh",
   "probe/runs/SUMMARY.md",
   "probe/runs/dryrun/posctl-r0/harness.log",
   "probe/runs/dryrun/posctl-r0/machine-id",
   "probe/runs/dryrun/posctl-r0/marks.json",
   "probe/runs/dryrun/posctl-r0/result.json",
   "probe/runs/dryrun/posctl-r0/strace.log",
   "probe/runs/dryrun/posctl-r0/subject.stderr",
   "probe/runs/dryrun/posctl-r0/subject.stdout",
   "probe/runs/dryrun/preflight.txt",
   "probe/runs/ort-pybind-SHA256SUMS",
   "probe/runs/ort128-default-r1/harness.log",
   "probe/runs/ort128-default-r1/machine-id",
   "probe/runs/ort128-default-r1/marks.json",
   "probe/runs/ort128-default-r1/result.json",
   "probe/runs/ort128-default-r1/strace.log",
   "probe/runs/ort128-default-r1/subject.stderr",
   "probe/runs/ort128-default-r1/subject.stdout",
   "probe/runs/ort128-default-r2/harness.log",
   "probe/runs/ort128-default-r2/machine-id",
   "probe/runs/ort128-default-r2/marks.json",
   "probe/runs/ort128-default-r2/result.json",
   "probe/runs/ort128-default-r2/strace.log",
   "probe/runs/ort128-default-r2/subject.stderr",
   "probe/runs/ort128-default-r2/subject.stdout",
   "probe/runs/ort128-default-r3/harness.log",
   "probe/runs/ort128-default-r3/machine-id",
   "probe/runs/ort128-default-r3/marks.json",
   "probe/runs/ort128-default-r3/result.json",
   "probe/runs/ort128-default-r3/strace.log",
   "probe/runs/ort128-default-r3/subject.stderr",
   "probe/runs/ort128-default-r3/subject.stdout",
   "probe/runs/ort129-default-r1/deviceid",
   "probe/runs/ort129-default-r1/harness.log",
   "probe/runs/ort129-default-r1/machine-id",
   "probe/runs/ort129-default-r1/marks.json",
   "probe/runs/ort129-default-r1/queue/strings.txt",
   "probe/runs/ort129-default-r1/result.json",
   "probe/runs/ort129-default-r1/strace.log",
   "probe/runs/ort129-default-r1/subject.stderr",
   "probe/runs/ort129-default-r1/subject.stdout",
   "probe/runs/ort129-default-r1/tmp.ses",
   "probe/runs/ort129-default-r2/deviceid",
   "probe/runs/ort129-default-r2/harness.log",
   "probe/runs/ort129-default-r2/machine-id",
   "probe/runs/ort129-default-r2/marks.json",
   "probe/runs/ort129-default-r2/queue/strings.txt",
   "probe/runs/ort129-default-r2/result.json",
   "probe/runs/ort129-default-r2/strace.log",
   "probe/runs/ort129-default-r2/subject.stderr",
   "probe/runs/ort129-default-r2/subject.stdout",
   "probe/runs/ort129-default-r2/tmp.ses",
   "probe/runs/ort129-default-r3/deviceid",
   "probe/runs/ort129-default-r3/harness.log",
   "probe/runs/ort129-default-r3/machine-id",
   "probe/runs/ort129-default-r3/marks.json",
   "probe/runs/ort129-default-r3/queue/strings.txt",
   "probe/runs/ort129-default-r3/result.json",
   "probe/runs/ort129-default-r3/strace.log",
   "probe/runs/ort129-default-r3/subject.stderr",
   "probe/runs/ort129-default-r3/subject.stdout",
   "probe/runs/ort129-default-r3/tmp.ses",
   "probe/runs/ort130-apioff-r1/deviceid",
   "probe/runs/ort130-apioff-r1/harness.log",
   "probe/runs/ort130-apioff-r1/machine-id",
   "probe/runs/ort130-apioff-r1/marks.json",
   "probe/runs/ort130-apioff-r1/queue/strings.txt",
   "probe/runs/ort130-apioff-r1/result.json",
   "probe/runs/ort130-apioff-r1/strace.log",
   "probe/runs/ort130-apioff-r1/subject.stderr",
   "probe/runs/ort130-apioff-r1/subject.stdout",
   "probe/runs/ort130-apioff-r1/tmp.ses",
   "probe/runs/ort130-apioff-r2/deviceid",
   "probe/runs/ort130-apioff-r2/harness.log",
   "probe/runs/ort130-apioff-r2/machine-id",
   "probe/runs/ort130-apioff-r2/marks.json",
   "probe/runs/ort130-apioff-r2/queue/strings.txt",
   "probe/runs/ort130-apioff-r2/result.json",
   "probe/runs/ort130-apioff-r2/strace.log",
   "probe/runs/ort130-apioff-r2/subject.stderr",
   "probe/runs/ort130-apioff-r2/subject.stdout",
   "probe/runs/ort130-apioff-r2/tmp.ses",
   "probe/runs/ort130-apioff-r3/deviceid",
   "probe/runs/ort130-apioff-r3/harness.log",
   "probe/runs/ort130-apioff-r3/machine-id",
   "probe/runs/ort130-apioff-r3/marks.json",
   "probe/runs/ort130-apioff-r3/queue/strings.txt",
   "probe/runs/ort130-apioff-r3/result.json",
   "probe/runs/ort130-apioff-r3/strace.log",
   "probe/runs/ort130-apioff-r3/subject.stderr",
   "probe/runs/ort130-apioff-r3/subject.stdout",
   "probe/runs/ort130-apioff-r3/tmp.ses",
   "probe/runs/ort130-default-r1/deviceid",
   "probe/runs/ort130-default-r1/harness.log",
   "probe/runs/ort130-default-r1/machine-id",
   "probe/runs/ort130-default-r1/marks.json",
   "probe/runs/ort130-default-r1/queue/strings.txt",
   "probe/runs/ort130-default-r1/result.json",
   "probe/runs/ort130-default-r1/strace.log",
   "probe/runs/ort130-default-r1/subject.stderr",
   "probe/runs/ort130-default-r1/subject.stdout",
   "probe/runs/ort130-default-r1/tmp.ses",
   "probe/runs/ort130-default-r2/deviceid",
   "probe/runs/ort130-default-r2/harness.log",
   "probe/runs/ort130-default-r2/machine-id",
   "probe/runs/ort130-default-r2/marks.json",
   "probe/runs/ort130-default-r2/queue/strings.txt",
   "probe/runs/ort130-default-r2/result.json",
   "probe/runs/ort130-default-r2/strace.log",
   "probe/runs/ort130-default-r2/subject.stderr",
   "probe/runs/ort130-default-r2/subject.stdout",
   "probe/runs/ort130-default-r2/tmp.ses",
   "probe/runs/ort130-default-r3/deviceid",
   "probe/runs/ort130-default-r3/harness.log",
   "probe/runs/ort130-default-r3/machine-id",
   "probe/runs/ort130-default-r3/marks.json",
   "probe/runs/ort130-default-r3/queue/strings.txt",
   "probe/runs/ort130-default-r3/result.json",
   "probe/runs/ort130-default-r3/strace.log",
   "probe/runs/ort130-default-r3/subject.stderr",
   "probe/runs/ort130-default-r3/subject.stdout",
   "probe/runs/ort130-default-r3/tmp.ses",
   "probe/runs/ort130-envoff-r1/harness.log",
   "probe/runs/ort130-envoff-r1/machine-id",
   "probe/runs/ort130-envoff-r1/marks.json",
   "probe/runs/ort130-envoff-r1/result.json",
   "probe/runs/ort130-envoff-r1/strace.log",
   "probe/runs/ort130-envoff-r1/subject.stderr",
   "probe/runs/ort130-envoff-r1/subject.stdout",
   "probe/runs/ort130-envoff-r2/harness.log",
   "probe/runs/ort130-envoff-r2/machine-id",
   "probe/runs/ort130-envoff-r2/marks.json",
   "probe/runs/ort130-envoff-r2/result.json",
   "probe/runs/ort130-envoff-r2/strace.log",
   "probe/runs/ort130-envoff-r2/subject.stderr",
   "probe/runs/ort130-envoff-r2/subject.stdout",
   "probe/runs/ort130-envoff-r3/harness.log",
   "probe/runs/ort130-envoff-r3/machine-id",
   "probe/runs/ort130-envoff-r3/marks.json",
   "probe/runs/ort130-envoff-r3/result.json",
   "probe/runs/ort130-envoff-r3/strace.log",
   "probe/runs/ort130-envoff-r3/subject.stderr",
   "probe/runs/ort130-envoff-r3/subject.stdout",
   "probe/runs/posctl-r1/harness.log",
   "probe/runs/posctl-r1/machine-id",
   "probe/runs/posctl-r1/marks.json",
   "probe/runs/posctl-r1/result.json",
   "probe/runs/posctl-r1/strace.log",
   "probe/runs/posctl-r1/subject.stderr",
   "probe/runs/posctl-r1/subject.stdout",
   "probe/runs/posctl-r2/harness.log",
   "probe/runs/posctl-r2/machine-id",
   "probe/runs/posctl-r2/marks.json",
   "probe/runs/posctl-r2/result.json",
   "probe/runs/posctl-r2/strace.log",
   "probe/runs/posctl-r2/subject.stderr",
   "probe/runs/posctl-r2/subject.stdout",
   "probe/runs/posctl-r3/harness.log",
   "probe/runs/posctl-r3/machine-id",
   "probe/runs/posctl-r3/marks.json",
   "probe/runs/posctl-r3/result.json",
   "probe/runs/posctl-r3/strace.log",
   "probe/runs/posctl-r3/subject.stderr",
   "probe/runs/posctl-r3/subject.stdout",
   "probe/runs/preflight.txt",
   "probe/runs/run-all.log",
   "probe/runs/wheels-SHA256SUMS",
   "probe/subject.py",
   "probe/summarize.py"
  ]
 },
 "seat_class": {
  "writer": "gemma-class",
  "judge": null,
  "writer_runtime": "vllm"
 },
 "bench": {
  "bullets_written": 3,
  "bullets_kept": 1,
  "digests_written": 11,
  "digests_kept": 10,
  "chips_written": 8,
  "chips_kept": 7,
  "chips_grounded": 0,
  "chips_published": 0,
  "dropped_by": {
   "new_noun": 0,
   "figure": 0,
   "length": 0,
   "cite": 0,
   "judge": 0,
   "quote": 0,
   "directive": 0,
   "redaction": 1,
   "profanity": 0,
   "identifier": 0,
   "bare_figure": 0,
   "house_voice": 0,
   "hand-edit": 3
  },
  "new_noun_tokens_checked": [
   "0",
   "00",
   "08",
   "1",
   "1.28.0",
   "1.29.0",
   "1.30.0",
   "10",
   "120",
   "15",
   "1DS",
   "2026-08-27",
   "5",
   "9.2",
   "AI",
   "Android",
   "Beat",
   "C",
   "DONOTTRACK",
   "Docker",
   "Environment",
   "GitHub",
   "ID",
   "Java",
   "Lab's",
   "Linux",
   "Microsoft",
   "Node.js",
   "ONNX",
   "ORTDISABLETELEMETRY",
   "PyPI",
   "Python",
   "Runtime",
   "Service",
   "UTC",
   "Windows",
   "v1.30.0",
   "x86-64"
  ],
  "new_noun_tokens_withheld": 0,
  "figure_definition": "v3",
  "figure_boundary": "guarded",
  "drops": [
   {
    "kind": "chip",
    "reason": "redaction",
    "item": null,
    "item_chars": 289,
    "withheld": "a string carrying a fenced literal",
    "detail": ""
   },
   {
    "kind": "bullet",
    "reason": "hand-edit",
    "item": null,
    "item_chars": 71,
    "text_sha": "d9add3d2facf",
    "figure": "9.2",
    "withheld": "one bullet removed from this pack by hand",
    "removed_utc": "2026-09-28",
    "why": "reads 'the first attempt came 9.2 s' without 'after launch' and as universal; the page measured it on mains power only (9 s charging, 18 s otherwise per the source)",
    "detail": "Carried forward by --carry-hand-edits on 2026-09-28: the writer produced this line again and the pack on disk records it removed by hand on 2026-09-28 (matched on its terminal figure). The earlier record reads: removed from this pack by hand on 2026-09-28 (UTC), after the writer ran and after the gates had counted: reads 'the first attempt came 9.2 s' without 'after launch' and as universal; the page measured it on mains power only (9 s charging, 18 s otherwise per the source). Not a gate drop, and recorded here so the ledger adds up."
   },
   {
    "kind": "bullet",
    "reason": "hand-edit",
    "item": null,
    "item_chars": 57,
    "text_sha": "de2244889933",
    "figure": "5",
    "withheld": "one bullet removed from this pack by hand",
    "removed_utc": "2026-09-28",
    "why": "garbled ('attempts in 120 s 5') and drops 'when cut off', so an attempt count reads as more than the sealed test showed",
    "detail": "removed from this pack by hand on 2026-09-28 (UTC), after the writer ran and after the gates had counted: garbled ('attempts in 120 s 5') and drops 'when cut off', so an attempt count reads as more than the sealed test showed. Not a gate drop, and recorded here so the ledger adds up."
   },
   {
    "kind": "digest",
    "reason": "hand-edit",
    "item": null,
    "item_chars": 278,
    "text_sha": "a1240fbbe0a0",
    "section": "what-to-take-with-you",
    "withheld": "one section digest removed from this pack by hand",
    "removed_utc": "2026-09-28",
    "why": "says the in-code call 'does not work' where the page says it left the uploader running, and states 'one server received an answer' without the page's caveat that acceptance cannot be seen",
    "detail": "removed from this pack by hand on 2026-09-28 (UTC), after the writer ran and after the gates had counted: says the in-code call 'does not work' where the page says it left the uploader running, and states 'one server received an answer' without the page's caveat that acceptance cannot be seen. Not a gate drop, and recorded here so the ledger adds up."
   }
  ]
 },
 "generated_utc": "2026-09-28T20:28:41Z"
}
