A kickoff brief is a hypothesis about what the work should look like. A build dispatch is the experiment that tests the hypothesis at full cost. The cheapest way to find out the hypothesis is wrong is to send a small dispatch first.
A short recon pass is useful when a build brief depends on facts that may have drifted. Checking those facts first can prevent a full implementation against a function, seam, or architecture that no longer exists as described.
The Wrong-Brief Tax
Most kickoff briefs are written under one of two conditions: someone who knew the code wrote them weeks ago and has since forgotten the specifics, or someone who did not know the code wrote them based on a partial read. Both are normal. Both produce briefs that are mostly right and load-bearingly wrong in a couple of places.
The cost of building against a wrong brief is not just the wasted dispatch. It is also the dispatch you spend reading the failed diff to figure out what went wrong, and the second dispatch you spend rewriting the brief, and the third dispatch you spend running the build again. A bad-premise build is rarely a one-burn mistake. It compounds.
What Recon Actually Does
A recon dispatch is a small, focused query that confirms or refutes the specific claims in the brief. It does not write code. It reads code and reports back.
Two examples show the shape of the check.
The first brief said a particular function was InvalidateCache<T>. A recon pass over the relevant package found the function was actually ReloadCache<T>. The semantics were similar, but the call sites differed enough that implementation against the brief would have produced a failing patch.
The second brief said a particular module was “tightly coupled to a subprocess seam and would require refactoring to test.” A recon dispatch checking the actual class found that the seam was already public, and the existing test file already used the pattern the brief said needed to be added. The brief was stale: the refactor had been done, the memory was not updated. The recon caught it before the build ran a refactor that was already in the codebase.
In neither case was the recon dispatch interesting on its own. The value was in the fact that the build dispatch did not run against a false premise.
When to Recon, When Not To
Recon is wasted on mechanical edits with unambiguous specs. If the brief says “rename variable foo to bar across these five files,” a recon dispatch confirming that foo exists in those five files is just a slower grep. Run the build.
Recon earns its dispatch budget when:
The brief makes a specific factual claim that the build will rely on. Function names, file paths, behavior assumptions, “this is already wired up” claims, “this needs refactoring” claims. Anything the build will treat as ground truth.
The brief is old enough that the code may have moved. Memories and planning documents often lag behind the repository.
The brief was written by someone who is not currently in the file. Briefs from a separate planning session, a separate person, or a separate agent are more likely to have drifted from the code than briefs written by the same agent that will execute them.
The build is expensive enough that a failed first pass would be painful. For a tiny, easily reviewed edit, run the edit. For a multi-file change built on uncertain facts, check the premise first.
The Tradeoff
Recon has its own cost, so it should answer a specific factual question that the build will rely on. The more expensive the implementation and the less certain the brief, the stronger the case for checking first. If the answer is visible with a quick search or the edit is cheap to discard, another dispatch only adds overhead.
The Discipline
Recon-before-build is not a process improvement. It is an admission that briefs lie, and that an agent operating on a wrong brief produces output that has to be unwound at every downstream step. The dispatch you do not run is the cheapest one.
If your agent dispatches are getting expensive in context terms, the first place to look is not the model. It is the briefs.