Build1 distinct publisher3 min readPublished
RuntimeWire's teardown of the shipped desktop archive found list and put methods for per-agent memory shards and an enabled rollout gate, but no code path calling them, so the retention questions land before the feature does.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Call PutGrokBotMemoryShard and, on RuntimeWire's reading of the contract, the client sends an agent id plus the entire memory folder, and the server answers with a version number [4]. The request carries no delta [16]. The unit of write is the whole folder, profile string and keyed logs together [3][16], so the server owns history and the client owns only the copy it last uploaded. The version appears in the response and not in the request, which means the client contract as reported does not establish whether a write is checked against the version it replaces [17]. Two harnesses writing the same agent is a server-side question.
The dating is looser than a version number suggests. RuntimeWire's comparison is between packaged 0.30.0 and 0.39.0 [6], nine minor releases apart [14], and it comes from reverse engineering a 33,149,055-byte desktop archive rather than documentation [11]. That places the interface somewhere inside the window without saying when the server side went up or whether the gate is live for anyone [9].
Both memory fields are stored as text [3]. That is the right choice for anything a person will later have to read, and it is what makes the numeric version worth having, because a text folder can be diffed by a reviewer instead of inspected as an opaque blob.
Ask about the verb that is missing. The two operations RuntimeWire names are list and put [1], and the reporting describes no delete and no expiry [15]. Combine that with server-held versioning [2] and the resting behaviour of the system is accumulation.
There is also a question of scope that the binary does not answer. The list request carries no filters and returns multiple shards, from which RuntimeWire infers that the server derives the accessible set from the authenticated session, while noting the client does not state what that set is [5]. The client asks for everything and lets the server decide what everything means.
Whether the feature does the job it exists for comes down to the harness field. A shard binds a folder to an agent id and to the execution harness responsible for it [2], while RuntimeWire frames the interface as a route to carrying memory across sessions, devices and execution environments [12]. Both descriptions hold only if harness metadata is provenance. If it is part of the key, an agent restarted under a different harness reads an empty profile.
None of this waits on activation. The gate grok_bot_server_memories is enabled in the client's fallback feature catalog [7], RuntimeWire identified no desktop call site invoking either operation [8], and RuntimeWire notes that generated RPC definitions often ship ahead of the code consuming them [10]. The company answered RuntimeWire's questions [13]. What version 0.39.0 pins down is the shape of the record: per agent, per harness, versioned by the server, stored as readable text, with no described way to remove it.
Ranked by verification strength, evidence, and original report placement.
Grok Bot desktop version 0.39.0 introduces two previously absent methods in the application's service contract, ListGrokBotMemoryShards and PutGrokBotMemoryShard, which together define a way to retrieve and write versioned memory records associated with individual Bots.
Each GrokBotMemoryShard contains a Bot/agent identifier, the execution harness responsible for it, a memory folder and a numeric version.
The memory folder is split into a profile string and a map of keyed logs, both stored as text.
The write request sends a Bot ID and its memory folder to the server, and the response returns a version number.
The list request contains no filters and returns multiple shards, which RuntimeWire says suggests the server determines the user's accessible memory set from the authenticated session; the exact scope is not stated in the client.
RuntimeWire compared application archives identified by package metadata as versions 0.30.0 and 0.39.0, and none of the memory-shard messages or methods appears in the older binary.
Distinct publishers with included, body-backed reporting in this cluster.
runtimewire.com
1 article · September 4, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Three named agents shipped in 27 days, and none of them can read each other's config1 distinct publisher
build
Cursor's undocumented 'desktop' command turns local AI agents into a scriptable control channel1 distinct publisher
product
Cursor's case for being bought is unit economics, and the post-close note promises nothing else4 distinct publishers
build
MCP's roadmap fast-tracks five priorities and quietly queues everything else1 distinct publisher
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.
Checkable diff, single custodian
RuntimeWire published the archive filename, its 33,149,055 bytes and its SHA-256 next to the two versions it diffed, so the message names, field shapes and gate name can be confirmed or killed by anyone holding the same file. That is more disclosure than binary-teardown reporting usually offers. It is also the entire evidence base: one outlet, one pair of builds, and a company reply that appears only as the fact of a reply.
Shipped in a build, used by nothing observed
Presence in a public desktop archive is the only usage fact available. No desktop code was found calling either method, the gate's enabled state comes from the client's own fallback catalog rather than from anything the server handed down, and the server side may or may not exist yet. Everything past 'the strings are in the binary' is unobserved.
Written in the wrong tense
The reporting hedges itself more carefully than its own framing does. 'Clearest implementation evidence yet' sits a few lines from an admission that nothing was seen invoking these methods, and our headline says the call writes each agent's memory when what was found is a contract that would write it if something called it. The overstatement is small and lives almost entirely in the verbs.
Scoop with sole custody of the artifact
A story built on private analysis of a binary pays for being first and definite, and RuntimeWire labels this one a scoop. It mostly declines the reward, publishing the limits alongside the finding. The vendor's incentives are unreadable: it answered questions and none of the answer was printed, leaving the outlet as sole narrator of a feature the company has not described in public.
Firm on the diff, soft on the reading
Message names, field shapes and the version delta are the kind of claim a second analyst settles in an afternoon from the hash alone. The interpretive layer is thinner, and one supporting detail is odd: the per-Bot memory boundary is sourced to documentation the reporting attributes to Cursor, not to the maker of the client it took apart. Trust sits with the comparison rather than the conclusion drawn from it.