cd /news/ai-agents/the-ledger-said-763-assets-the-platf… · home topics ai-agents article
[ARTICLE · art-102189] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=· neutral

The ledger said 763 assets. The platforms said about 400.

A developer's audit of a multi-platform AI asset ledger found that only about 400 of 763 recorded assets were real, revealing three distinct failure modes: ghosts, misses, and false positives. The developer, building the pre-launch control plane untactit, emphasizes that read-back audits—re-reading platforms and diffing IDs—are essential to prevent silent data corruption.

read3 min views1 publishedAug 18, 2026

A sync ledger fails silently. Ours said 763 assets. When we stopped trusting it and counted by hand — opening 21 AI platforms in browser tabs, calling each platform's own API from the page context, comparing ID by ID — roughly 400 of those were real.

This is the audit log of that gap. The numbers are from one working account, measured on 2026-08-18. Nothing here is hypothetical.

The database held every asset collected from the platforms a working account actually uses — conversations, projects, skills, instruction files, memories — across Claude, ChatGPT, Gemini, Grok, Perplexity, Kimi, Qwen and fourteen others. 763 rows total.

The verification method matters more than the tool:

fetch

with credentials: 'include'

), paginating to exhaustion.A count that matches can still be two different lists. Only the ID diff tells you what is actually there.

The 363-row gap was not one bug. It was three independent failure modes, each of which produces a database that looks healthy.

Failure mode What happens Confirmed rows
Ghosts
Deleted on the platform, still alive in the DB at least 173
Misses
Exists on the platform, never made it into the DB at least 63
False positives
Platform-provided defaults counted as user assets at least 109

Note the shape of the problem: ghosts and false positives inflate the ledger, misses deflate it. They partially cancel. A total count is the one metric guaranteed to hide all three.

A page-size limit became a count. One platform's skill list showed 100 in the DB. The user had installed 4. The other 96 were the platform's public catalog — shown to every user — and the number 100 was simply the API's page-size cap, recorded as if it were a fact about the account.

Example strings became memories. A memory collector stored 2 items for a platform where the user had 8 real saved memories. It had missed all 8 — and stored two lines of the settings page's placeholder text ("e.g. ...") as if they were user data. On the dashboard, this cell looked like one of the working ones.

Files that were never there. 42 instruction rows pointed at local rule directories that did not exist on the machine at all. Nothing had been deleted; the source path had simply never existed on this host. The collector wrote 42 rows anyway.

Every one of these rows was written by a run that reported success. That is the actual lesson:

The fix is not a better collector. It is a read-back audit as a first-class operation: after any sync, re-read the platform and diff IDs in both directions, and treat "platform-provided default" as a category your matcher must know about. Run it on a schedule, not once.

If you run agents across several tools, try the count yourself. Pick one platform, list what your ledger thinks is there, then page through the platform's own API to the end. The first diff usually takes ten minutes and is rarely empty. This audit is part of building untactit, a control plane for the skills, rules, and memory AI agents run on — currently pre-launch. The read-back verification described here is the product lesson: deployment without re-reading the target is how ledgers rot.

── more in #ai-agents 4 stories · sorted by recency
── more on @claude 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/the-ledger-said-763-…] indexed:0 read:3min 2026-08-18 ·