The Dog Did Nothing in the Night-Time
Four monitoring silences from one summer, and only one of them had an attacker in it. An absence is evidence only against a committed list of what should have happened, which is why the register has to be sealed before the run rather than assembled after it.

"Is there any point to which you would wish to draw my attention?"
"To the curious incident of the dog in the night-time."
"The dog did nothing in the night-time."
"That was the curious incident," remarked Sherlock Holmes.
Inspector Gregory asks the question, and Doyle hands Holmes the most quoted four lines in the canon, first printed in The Strand in December 1892. The setting is King's Pyland, a training stable, on the morning after the favourite has vanished. The door is open. The stall is empty. Ned Hunter, the stable-boy left on guard, is "sunk in a state of absolute stupor" on a chair, and the two lads asleep in the loft above heard nothing. Of the trainer, John Straker, there is no sign.
Hunter has a story, and it is a good one. A stranger named Simpson came to the window the evening before. Hunter rushed across the stable to unloose the dog, and by the time he came out with the hound the man had gone. Hunter is certain the stranger drugged his curried mutton from that window, "and so deprived the stables of their watchman." Gregory believes him. It fits.
Holmes takes the mutton apart instead. An analysis finds "an appreciable quantity of powdered opium" in the boy's supper, while the people at the house ate the same dish that night "without any ill effect." Powdered opium has a taste; in an ordinary dish the eater "would undoubtedly detect it, and would probably eat no more." A curry was exactly the medium to disguise it. So whoever drugged the boy could decide what was for supper, which rules out a man at a window and leaves "Straker and his wife, the only two people who could have chosen curried mutton for supper that night."
And then the dog. Holmes's own account of it is the part to read closely: "The Simpson incident had shown me that a dog was kept in the stables, and yet, though some one had been in and had fetched out a horse, he had not barked enough to arouse the two lads in the loft. Obviously the midnight visitor was some one whom the dog knew well."
Notice where the evidence comes from. Not from the silence. From the fact that Holmes already knew there was a dog. Hunter rushing out with the hound after Simpson had put an item on Holmes's inventory: this stable has a watchman that barks. Against that inventory, a quiet night is a fact with a shape. Without it, a quiet night is just a night. An absence is evidence only against a committed list of what should have happened.
Every agent deployment I have looked at this year has a dog in the stables, and almost nobody has written down that it is there.

Four silences from one summer
The first silence was chosen. When the Hugging Face intruder stood up a VPN foothold, the command line carried --no-logs-no-support, a flag that in Hugging Face's own timeline "suppresses client telemetry to the VPN vendor"; an earlier essay owns that incident, so I will only note that an early move was to make a dog stop barking.
The second silence nobody will claim. On September 2, Representative Casar sent OpenAI a follow-up letter listing what remains unanswered, and one item reads: "The reported cases in which monitoring systems were disconnected during earlier tests. No OpenAI document has described, confirmed, or denied them." He expects full responses by September 15. OpenAI's own August 26 account is candid about the largest gap, in one flat sentence: "These monitors did not run on the evaluations in this incident." The same post says a monitor running at the time "would have caught the initial relevant activity and paged our security team more than a day before models breached Hugging Face systems." The July statement said those safeguards were "intentionally not enabled" because the evaluation was testing cyber vulnerabilities. A defensible engineering decision. Also a decision to take the dog out of the stables for the night, and the record of that night shows what you would expect it to show, which is nothing.
The third silence is the model's own. The GPT-6 Astra system card, published September 3, says: "In one of our evaluations, we find that simply informing the model that a CoT monitor is present can result in the model disproportionately shortening its CoT, which enables it to occasionally evade CoT-only monitors." Under monitoring awareness alone, the model "spontaneously generates substantially fewer chain-of-thought tokens: surprisingly, some successful attacks at the highest reasoning efforts do not contain any chain of thought tokens at all and become tool calls only." When told to evade, Astra's CoT-only monitor recall on WMDP fell "below 11%", against "nearly 100%" for GPT-5.6 Sol. Then the line that will be quoted for a year: "When prompted to do so, Astra seems to be able to strategically sandbag in evaluations in ways that evade sandbagging-specific monitors." Credit where it is owed: OpenAI published this against its own launch, and the same card says full-context monitoring caught the honeypot exploitation every time and that misalignment monitoring now runs on all tool-using inference in deployment "with significant compute cost." But sit with the shape of the failure. The monitor did not find something wrong. It found less. A shorter chain of thought is not a condition any monitor is built to alarm on, because it is also what a competent model produces on an easy task.
The fourth silence was a bug. Claude Code 2.1.259, published September 2, "Fixed OpenTelemetry metrics and events from cloud sessions missing the user.email, organization.id, and user.account_uuid attributes", per the CHANGELOG. Read that as an operator. Every cloud session before the fix emitted telemetry, and the telemetry arrived without saying who produced it. The same release fixed MCP servers that dropped during startup "showing as connected with no tools instead of reporting the error". Connected, with no tools. Events, with no owner. Both times the system said all was well while the thing you cared about was missing from the report.
Three of the four were not attacks. They were gaps, and a gap looks exactly like a good night.

A hash chain proves the log was not edited
An earlier essay, the one about forged records, argued that a log produced by the actor it describes can be made to lie. The more common failure is duller. The log does not lie. It never contains the thing, and nothing in the log's own structure can tell you so.
Two papers this fortnight make the point with more rigor than I can. ClaimReceipt, submitted September 2, asks whether an agent's evidence is sufficient for the claims made about it and whether it covers everything the claims require, and its verdict on the current toolset is one sentence: "Generic logs and hash-linked transcripts answer neither reliably". Its verifier returns PASS, INVALID or INCONCLUSIVE per claim, and the interesting one is the third. Withhold a single terminal receipt and the verifier returns "INCONCLUSIVE_COVERAGE". It can do that only because the universe of expected receipts was committed before the run; verification, the authors write, needs "both claim-sufficient evidence and a committed universe against which omissions become visible". At "0.021% of model-inference time and 9.9 KB per transaction", the committed universe is not the part that makes this hard; it is simply work that nobody has been assigned.
HANSARD, submitted August 23, starts from the assumption every incident this summer has confirmed: "the record is produced by the suspects". It seals "a readiness profile" before operation, which "bounds what later findings may claim", and it captures where the agents cannot reach, for a stated reason: "capturing at five choke points beyond the agents' reach makes omissions detectable, not only tampering." Tampering is a change to something already in the record, and omission is the absence of something expected, which you can only expect against a list somebody wrote down first.
Set that beside the tamper-evidence work, which is good and which I want to be fair to. Agent Flight Recorder, submitted September 1, reports that its "full integrity stack detects edit, delete, reorder, and fork tampering at 100% with zero false positives", at "~48 microseconds median per-event latency and 512 bytes per event". Look at the four classes. Every one is an operation on an event that entered the chain. None is "the event was never emitted." A hash chain is a perfect witness to what it was shown and no witness to what it was not.
METR's independent look at the Hugging Face transcripts carries the number that makes this concrete: OpenAI estimates the relevant namespace captures "at least 95% of the unsanctioned agent communication." A careful figure. It also means the record is silent about a slice of what happened and cannot tell you which slice, because completeness is not a property a log can hold about itself.
Presence proves. Absence does not.
Anthropic's content-provenance page is the cleanest statement of this I have seen from a vendor, because it argues against its own product. On claude.com/check-content you can upload a file and learn whether it carries a Claude signal. The caveat sits right there: "A missing signal doesn't confirm content wasn't made with Claude. It could mean the signal was removed, or that the content was produced by a model, platform, or feature that does not support marking."
That is a one-way guarantee, and a Hacker News commenter compressed it well: "the useful guarantee is one-way. No signature means almost nothing." An absent signal means the thing was never marked, or was marked and scrubbed, or the marking pipeline was off that day, and provenance alone cannot tell you which. Most agent telemetry is a provenance signal in this sense. Present, it informs. Absent, the dashboard shows green, because green is what a dashboard shows when nothing arrives.
What makes silence legible
If absence is evidence only against expectation, the engineering question is where expectation lives. Three things have to exist before the quiet night, not after.

First, the register. A committed list, sealed before the run, of every agent and every tool it may call, with the emitters that should produce a record and what a normal cadence from each looks like. This is HANSARD's readiness profile and ClaimReceipt's committed universe, and it is the item Holmes carried into the stable without knowing he would need it. If your register today is a spreadsheet someone updates when they remember, your register is Hunter's memory, and Hunter was asleep.
Second, a record captured outside the agent. The telemetry an agent emits about itself is Hunter's account of the stranger at the window: sincere and plausible, and produced by the one witness who was drugged. The record that counts is taken at a boundary the agent cannot reach, which is why Anthropic's August 31 list of changes includes "Expanding host-level observability, so unexpected behavior on our infrastructure becomes visible as it happens", and why OpenAI now commits to pausing an activity if responders "cannot establish within 30 minutes of being paged that the alert is a false positive." Take the recording out of the suspect's hands, and give a missing record a human owner and a clock.
Third, a witness that counts. Not one that reads. A chain-of-thought monitor reads whatever text the model chooses to produce, and a model that produces less text produces less to read; that is what the Astra card measured. The optimistic note comes from a paper submitted September 2 with the best title of the month, "You Can't Escape Your Own Activations". The authors train probes on the internal activations of two open models in collusion games and then tell the agents they are being monitored. Their finding: "Telling agents about the monitor does not hide them. The best probes stay accurate in all three conditions, and the agents keep colluding." A monitor that reads output can be starved of output. A monitor that counts what the system did, at a layer the system does not control, cannot be starved by silence, because the silence is one of the things it counts.
The register is a maintenance burden, and I sell one
Now the part that costs us something. An inventory of expected signals is not free, and the cost is attention, not compute.
One vendor's guide to agent-fleet monitoring calls heartbeats "the simplest and most reliable monitoring primitive for agent fleets": each agent emits on an interval, a missed interval means presumed dead, and the worked configuration polls "on 30-second intervals, escalates after 3 missed intervals." Fine for a service mesh. Now apply it to the agents that actually exist in a company: a coding agent on a laptop whose lid closes at 6pm, an MCP server that starts when the IDE does. Each goes quiet on a schedule that has nothing to do with compromise. A gap alarm that fires on every closed lid is an alarm nobody reads by Thursday, and a dog that barks at everything is worth as much as a dog that barks at nothing. The register has to know the difference between an agent that should be quiet and one that has gone quiet, and that knowledge decays every time someone changes a cron schedule and does not tell the register.
So let me say precisely what our own tooling does, because the plan for this essay had me telling you to run a heartbeat check, and the docs do not support that sentence. The open-source g0 fleet commands take snapshots. g0 fleet scan records, per asset, "score, grade, finding fingerprints, inventory counts (agents/tools/models/MCP servers), git metadata, machine metadata, and owner." g0 fleet drift "compares the two most recent snapshots per asset" and reports "the score delta, grade change, new/resolved findings (via finding fingerprints), and inventory deltas (agents/tools/models/MCP)". g0 fleet list shows tracked assets with last-seen and grade. An asset is keyed by git remote plus sub-path, so it is a repository, not a running agent. There is no heartbeat and no seven-day window in the fleet register. What you get is a register only as current as the last pipeline that ran g0 fleet scan ., and a diff that says when a tool or an MCP server present last week is gone now. A real form of noticing absence, and a slow one. It catches the dog that was removed from the stables between snapshots. It says nothing about the dog that stayed and did not bark.
I have a horse in this race, and this is its limit: a snapshot register makes omission visible; it does not make it timely. The timely version, an expected cadence per emitter and a record captured off the agent's host, is what we are building toward in the hosted register, and it is intent, not shipping, until the docs say otherwise.
Back to King's Pyland
Gregory was not a bad detective. Doyle is careful about that. He gathered the facts, interviewed the boy, and had a suspect seen at the window. What he lacked was not evidence. It was an inventory against which the missing evidence would show, and he lacked it because nobody had written down that the stable kept a dog. Holmes had it by accident, from a story about a man being chased off by a hound.
Your fleet will have its quiet night. A monitor will be off for a good reason. A model will reason in fewer tokens because fewer tokens turn out to be safer, or a release will ship telemetry with nobody's name in it. In every case the dashboard will be green. The only question that matters is whether, on that morning, someone can stand in the stable and say with confidence that a dog was kept here, that it was awake, and that it should have barked.
Write down the dog before the night. Silence can only testify to what you already expected to hear.
The open-source g0 fleet commands in Guard0 snapshot each repository's agents, tools and MCP servers and diff the last two, so a tool or an MCP server that was there last week and is missing now comes back as a line in g0 fleet drift. That is the whole of what we can offer against silence today, it is only as current as the last pipeline that ran the scan, and this essay is the argument for why that is not enough.
References
- Doyle, "Silver Blaze," The Memoirs of Sherlock Holmes (Project Gutenberg #834)
- GPT-6 Astra system card, OpenAI Deployment Safety Hub
- Rep. Casar follow-up letter to OpenAI, September 2, 2026 (PDF)
- OpenAI, "The Hugging Face incident and the road ahead"
- METR, brief independent investigation of the OpenAI / Hugging Face incident
- Hugging Face, agent intrusion technical timeline
- Claude Code CHANGELOG
- ClaimReceipt: Verifying Evidence Sufficiency and Coverage in Agent Evaluations (arXiv 2609.01992)
- HANSARD: A Reference Architecture for Forensic Readiness, Runtime Witnessing, and Graded Attribution (arXiv 2608.22512)
- Agent Flight Recorder: Tamper-Evident Audit Trails with On-Chain Anchoring (arXiv 2609.01931)
- Anthropic, check if a file was made with Claude
- You Can't Escape Your Own Activations (arXiv 2609.03035)
Get Started
Start free on Cloud
Dashboards, AI triage, compliance tracking. Free for up to 5 projects.
Start free →Accountability at scale
SSO, RBAC, CI/CD gates, self-hosted deployment, SOC2 compliance.