Primary source
The real thing: the file, the diff, the test output, the docs page. What the agent should read instead of a description of it.
A primary source is the original material itself: the actual file on disk, the failing test's output, the API's own documentation, the commit diff. It stands opposite to a secondary source, which is someone's account of that material, including the agent's own earlier summary of it. When the agent reads a primary source, what lands in context is the truth as of right now, not a recollection of it.
Agents drift when they work from descriptions. You tell it the endpoint returns a list, it builds around a list, and the endpoint has returned a paginated object since March. Or a handoff artifact says the tests pass, the new session trusts that, and builds on a broken base. Every layer of retelling loses detail, and the model fills the gaps with parametric knowledge that may be out of date.
Point the agent at sources, not summaries. Instead of explaining what a function does, say “read lib/auth.ts before you change the login flow.” When a library is newer than the model's knowledge cutoff, have it fetch the current docs rather than guess. When a handoff makes a claim, verify it against the repo before trusting it. This is cheap: a tool call costs less than a wrong assumption.
- Claude CodeThe Read tool and
@filementions pull primary sources into context; WebFetch does the same for docs. - Cursor
@fileand@docsreferences attach the source itself rather than your paraphrase of it. - Most toolsPasting a URL is not the same as fetching it; check that the agent actually read the page.
“I told it the config lives in settings.json and it still wrote to the wrong path.”
“Did it read the file, or just your description of it?”
“My description.”
“Have it open the actual file. The primary source beats anything either of you remembers.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →