Build1 publisher3 min readPublished
One developer's infrastructure context server refreshes three of its five cache entries on every file save. Past twenty-four hours the graph survives with no cloud facts left in it, and the only warning available fires on age.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The refresh hint is derived from one value: the timestamp saying when the cloud account was last read. When that timestamp is null, the server treats it as "cannot vouch for this", and the hint goes true on every response from then on [12]. It fired correctly. It also stopped carrying information, because a hint that appears on almost every answer looks the same as a hint that is stuck [1].
An earlier version of the same problem had a cleaner shape. The cache entries expired on different clocks, the graph at twenty-four hours and the cloud metadata and the provenance record at one [9], while the warning threshold sat at six hours [2]. Subtract, and every long session had a five-hour band in which the companion entries were already null and the hint had said nothing yet [16]. The current bug moves that gap to the far side of the twenty-four hour mark. The file-save path rewrites three of the five entries and resets their clocks, leaves the other two alone, and reads no cloud API while it works [10] [17]. So a session where you keep editing holds the graph alive indefinitely while the metadata underneath it expires, and the rebuilt graph ends up with no cloud facts in it at all [11].
None of these paths raise. A missing analyzer returns a shorter findings array, and an empty findings array is what a healthy account looks like [14]. Expired metadata returns a graph with fewer nodes [15]. The degradation is toward the shape of good news, which is the shape nobody re-checks.
Two of the four documented failures never touch the read-time at all. The analyzer omission is one missing line in the second list, and one file save retires that category of finding for the rest of the session [7]. The boot snapshot bug served state that had a perfectly valid timestamp attached to it, so a fresh analysis in another terminal appeared to do nothing [8]. No signal computed from age can see either of those [18]. What separates a healthy session from a hollow one is a count: nodes in the graph, findings per analyzer, whether any cloud-derived fact is present [14] [15]. A check that would have caught all four has to compare what the incremental path produced against what a full run produces [13], which is a different question from how old the data is.
This is one repository, written up by the developer who shipped all four of the bugs in it [4]. Three things have to be true for the pattern to be yours. The context server holds state across tool calls instead of fetching per call [5]. Part of that state refreshes on a trigger you do not control, such as a file save [10]. And the state lives in more than one entry with independent lifetimes [9]. Break any one of those and this specific failure cannot happen. A server that re-reads the account on every tool call is immune, and pays for immunity with a cloud API call on every question the assistant asks [6].
Ranked by verification strength, evidence, and original report placement.
The author writes that he has now shipped the same class of bug four separate times, and does not think it is specific to his tool.
A developer running his own infrastructure context server behind his editor noticed it was telling him to re-run the analysis on almost every response, not occasionally but on almost every request.
The refresh hint was configured to warn after six hours, with a twenty-four hour cache behind it, and the author concluded those numbers were fine and the hint was doing exactly what it was configured to do.
The session had been running long enough for the context layer to quietly empty itself out while still answering every question in a well-formed, confident-looking way.
What actually runs is a server that boots once, reads the cloud account once, and stays alive as long as the editor does, hours or sometimes days, answering from what it has while incrementally updating parts of itself: it watches source files, rebuilds a graph on save, and re-checks its cache before every tool call.
All of the incremental machinery exists because the alternative is hitting the AWS account on every question an assistant asks, and assistants ask a lot of questions.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific mechanism, single voice
Every fact traces to the person who wrote the tool and the bugs, and the two hardest artefacts, the issue text and the fix commit, are quoted rather than linked. What raises this above anecdote is how specific the mechanism is: a named analyzer missing from a second list, three of five cache entries rewritten on save, a graph on a twenty-four-hour clock sitting over metadata that used to expire at one hour. Nobody outside the project has examined any of it.
One machine, the author's
The only deployment described is the one behind the author's own editor, running the way he says he runs it every day. No second user is named, no install or download figures are given, and no other long-lived context server is reported on anywhere, so the reach of the finding is exactly one project.
Scope reaches past the four cases
The title promises that AI context degrades the longer you work, while the documented failures all live in one repository and the most recent was diagnosed by its author on his own machine. Working the other way, the failure descriptions are deflationary rather than inflated, a shorter findings array and a graph with fewer nodes, and the argument that an age-based warning cannot catch two of the four cases makes the tooling look worse than the author says. What's overstated here is the scope of the claim, not the severity of the failures it describes.
Self-disclosed bugs in his own product
The author is cataloguing four failures in the context server he built and promotes, and the closing turn addresses anyone running such a server, his or otherwise. Publishing your own defects is the awkward kind of marketing and cuts the discount, but the framing still leaves the problem sounding universal and the author the one who has already mapped it.
Internally consistent, externally unchecked
The arithmetic behind the numbers holds together, and that's why the mechanics read as credible: a one-hour metadata clock beneath a six-hour warning leaves five hours in which a session serves null companion entries without complaint, and the three-of-five split explains the constant hint the post opens with. Verification stops there, though, since the repository behind the quotes isn't available here and no second installation is described.
build
Partial batch failures: the handler is fine, the mapping decides1 publisher
build
A .find() on a symbol name is how an agent ends up editing the wrong handler1 publisher
build
MCP's empty-string cursor: the null check that hides most of a tool catalog1 publisher
product
Experian embeds its model risk checks in customers' ServiceNow workflows1 publisher
Publishers with included, body-backed reporting in this cluster.
1 article · September 6, 2026