Every component your Coding Agent builds or dependency it guesses becomes your tech debt A developer warns that AI coding agents like Claude Code, Cursor, and Copilot generate tech debt by confidently guessing dependencies from frozen training data, unable to consider internal libraries, package abandonment, or security advisories. The developer's Starlog tool provides agents with dated, structured facts about packages, and a controlled test showed that giving agents informational-only facts about existing internal libraries caused them to choose those libraries over building custom solutions. Ask Claude Code, Cursor, or Copilot to add a dependency and it names one — instantly, confidently. That confidence comes from training recall : a snapshot of scraped code frozen at a cutoff date. So the agent can't know your team already has an internal, audited library for this. It can't know the package it just named went unmaintained six months ago, or that a supply-chain advisory landed last week. It picks anyway, with identical confidence either way. Here's the part that compounds: a wrong pick doesn't bounce off. It gets written into your codebase — a hand-rolled auth flow, a dependency on an abandoned package, a second module that duplicates something you already own. That's tech debt the agent created and you inherit. And it's debt with interest: the agent builds on the bad choice, the problem surfaces downstream, and then you pay again — in tokens, review time, and rework — to unwind and redo it. That's not a prompt problem. You can't fix it by asking the model to "be careful." The model is doing recall where it should be doing evaluation , and recall is frozen. A few findings that should make you nervous about an agent picking dependencies unsupervised — and notice not one of these is only a security problem: Each is a place recall fails, and a smarter prompt can't fix a frozen snapshot. The fix is putting real, dated, structured facts in front of the model at the moment it decides. When the agent chooses from memory instead of facts, you pay on four fronts. Security is the one everyone leads with; it's the smallest of the four for most teams. All four share one cause: the decision got made without the facts. That's the thing Starlog targets. Starlog https://github.com/starloghq/index puts authoritative facts about a package in front of your agent — license, maintenance status, CVEs, supply-chain incidents — dated, local, no account: npx starloghq facts ua-parser-js You get the verified facts on file here: the 2021 maintainer-account compromise , with an "as of" date. Sub-second, zero setup, no network call. It plugs into your agent three ways: starlog facts