Source: bmad-rcon-foundation ยท
bmad-rcon-foundation.mdยท updated 2026-07-25 ยท ๐ secret gistSynced verbatim from gist.github.com/bl9.
Part 0 โ Foundations
Read this before bmad-deep-recon-guide.md. It assumes no background in agentic tooling. Every term is defined, traced to where its name came from, and shown in use.
Why the etymologies? Almost every word in this system is borrowed from somewhere else โ the military, graph theory, newspaper typesetting, caching, law. That's not decoration. When you know that "topology" comes from network diagrams and "breadth-first" is a graph-traversal algorithm, you stop memorizing vocabulary and start predicting what the system will do, because you already understand the source concept. Naming is compressed explanation.
Contents
- 1. The five-minute model, before any vocabulary
- 2. Layer 1 โ the AI substrate
- 3. Layer 2 โ how BMAD is built
- 4. Layer 3 โ Deep Recon's own vocabulary
- 5. Six mental models that carry the most weight
- 6. Where the metaphors break
- 7. Learning path: your first two weeks
- 8. Resources and references
- 9. What I'm confident about, and what I'm not
1. The five-minute model, before any vocabulary
Strip away every term and this is the whole system:
You have a decision to make. You don't trust the AI's memory, because it's stale and can't show its work. So you make it go look things up, in parallel, from sources it has to name โ while preventing your own assumptions from leaking into what it finds. Everything it learns gets written to a file with dates attached, so that in six months you can tell whether it's still true.
Four moving parts:
- A decision โ stated up front, with constraints. Everything else is shaped by it.
- A plan you approve โ what will be investigated, how, and for how long.
- Parallel lookup with a barrier โ several sub-processes search, none of them sees your assumptions.
- A dated, cited file โ the durable output, with an expiry warning built in.
If you hold only that, the rest of the vocabulary is just precise names for these four things.
2. Layer 1 โ the AI substrate
You need these before BMAD makes sense. Skip any you already know.
2.1 The basics
| Term | What it is | Where the name comes from | How it shows up here |
|---|---|---|---|
| Model (LLM) | The trained neural network that produces text. "Large Language Model" | A model in the scientific sense: a compressed representation of something, used to make predictions | Claude, GPT, Gemini. Different subagents can run different models |
| Token | The unit of text a model reads and writes โ roughly ยพ of a word, or a word fragment | The philosopher C. S. Peirce's type/token distinction: a "type" is the abstract pattern, a "token" is one concrete instance of it. NLP borrowed it for "one unit of text" | Every instruction file costs tokens. This is why BMAD obsesses over file size |
| Context window | The total amount of text the model can hold at once โ the instructions, your messages, the tool results, everything. Finite | Window from signal processing: a bounded view sliding over a longer stream. You see a portion, not the whole | The hard constraint behind almost every BMAD design choice. Run out and the model starts forgetting the beginning |
| Prompt | The text you send in | Theatre โ the prompter feeds an actor their line from offstage | Draft mode's entire output is a prompt |
| Inference | One act of the model producing output | Logic/statistics: deriving a conclusion from inputs. Contrasted with training | "Inference cost" = what you pay per call |
| Training data / knowledge cutoff | What the model learned from, and the date it stops | Self-explanatory | The reason "no conclusions from training data" exists as a rule |
| Hallucination | The model stating something false with full confidence | Borrowed from psychiatry โ perceiving what isn't there. A contested term: critics argue it implies a perceptual glitch when the real cause is that the model was never tracking truth in the first place. "Confabulation" is the more accurate word | The failure mode the citation discipline exists to prevent |
| Grounding | Tying output to a verifiable external source | Electrical grounding โ connecting a circuit to earth so it has a stable reference | The entire point of Deep Recon |
2.2 Agents and tools
| Term | What it is | Where the name comes from | How it shows up here |
|---|---|---|---|
| Agent | A model that can take actions in a loop โ call tools, observe results, decide what to do next โ rather than just answering once | Latin agere, "to do." In AI theory, a rational agent perceives an environment and acts on it (the framing in Russell & Norvig's standard textbook) | โ ๏ธ BMAD uses this word differently โ see ยง3 |
| Tool / function calling | Giving the model a set of callable functions (search the web, read a file, run a command) | Literal | Search, file writes, and MCP servers are all tools |
| Harness | The program that runs the loop around the model, handles tool calls, and manages files | From draft animals and, later, test harnesses in software: the rigging that connects a component to the thing driving it | Claude Code, Cursor, etc. BMAD skills run inside a harness |
| Subagent | A separate model instance spawned with its own fresh context and a narrow assignment, which reports back | Sub- = below. It's an agent working for an agent | The parallel researchers. Also called assistants in the docs |
| MCP (Model Context Protocol) | An open standard for connecting models to external data sources and tools | Literal description | How Deep Recon reaches Tavily, Perplexity, or your internal systems |
Why subagents exist at all โ this is worth understanding, because it explains the whole architecture. The context window is finite. If one model does twelve searches, it accumulates twelve pages of raw text and chokes. Instead: spawn six subagents, each with its own fresh window, each doing two searches and returning a half-page summary. The parent receives six half-pages instead of twelve full pages.
The cost: each subagent only knows what you told it. Coordination becomes the hard problem. Nearly every complexity in Deep Recon โ briefs, digests, the single-writer rule โ is machinery for managing that trade.
3. Layer 2 โ how BMAD is built
3.1 The naming collision, flagged early
| Word | AI meaning | BMAD meaning |
|---|---|---|
| Agent | A model acting in a loop with tools | A persona โ "Mary the Analyst" โ that presents a menu and routes you to workflows |
| Skill | (no standard AI meaning) | A folder of markdown instructions the model loads on demand |
When BMAD docs say "the Analyst agent," they mean a persona file, not an autonomous process. Both senses appear in the same repo. Read from context.
3.2 Structural vocabulary
| Term | What it is | Where the name comes from | How you use it |
|---|---|---|---|
| Skill | A directory with SKILL.md plus supporting files. The unit of installation and invocation | A packaged competence the agent acquires โ the way a person learns a skill and can then perform it on demand | You invoke it: /bmad-deep-recon |
SKILL.md | The entry file. A router: reads your request, decides which branch, loads the right procedure | Convention | You never edit it directly; you override via TOML |
references/ | Procedure files loaded only if that branch is taken | Literal | Why the skill shrank from ~4,000 to ~2,100 tokens: detail moved here |
| Just-in-time loading | Loading instructions only when needed | Borrowed from just-in-time manufacturing (Toyota, 1970s): don't stock parts until the moment of use, because inventory is waste | The core token-optimization pattern. Context is the inventory |
| Slash command | Typing /name to invoke something | IRC and chat clients, 1990s: /join, /me | How you start every skill |
| Workflow | A multi-step skill with a defined sequence | Business process management | Deep Recon is a workflow |
| Module | A bundle of skills shipped together. core = everything; bmm = software development | Software modularity | Deep Recon moved from bmm to core in PR #2611, so non-software installs get it |
| Shim | A stub that forwards an old name to a new one | Mechanical: a thin wedge inserted to fill a gap or level a surface. Software borrowed it for thin compatibility layers | bmad-market-research still works; it forwards to Deep Recon with type=market |
| TOML | The config file format (customize.toml) | "Tom's Obvious Minimal Language," named for its creator, Tom Preston-Werner | Where you set validation level, source policies, output format |
| Frontmatter | A metadata block at the top of a markdown file | Book publishing: the front matter is everything before the main text โ title page, copyright, contents. Static site generators (Jekyll, ~2008) borrowed it for the YAML block | Carries research.md's provenance so downstream skills can consume it |
| Artifact | A file produced by a process, kept as evidence of it | Archaeology: an object made by a human, evidence of activity. Software took it for build outputs | research.md is the artifact; the memlog is its excavation record |
| Planning artifacts | The output folder where analysis and planning documents land | Compound of the above | Where your run folders go |
| Memlog | An append-only file recording what happened, in order | Memory + log. Append-only is the load-bearing part: you add, never edit | Survives context death. The claim tally lives here |
Why "append-only" matters โ if you can rewrite history, the record can't be trusted, because you can't distinguish "this was always true" from "someone changed it." Append-only logs are the backbone of databases, version control, and blockchains for exactly this reason. Here it means: a claim's status can be added to (unverified โ verified โ overturned), and the earlier states remain visible.
4. Layer 3 โ Deep Recon's own vocabulary
4.1 "Recon"
Military reconnaissance: scouting ahead of the main force to learn the terrain and the enemy's position before committing troops. From French reconnaรฎtre, "to recognize" โ literally to know a place again, by having been there.
Why it's the right metaphor:
- It precedes commitment. You scout before you move, not during.
- It's cheap relative to what it protects. A patrol costs far less than a failed assault.
- It's information-gathering, not action. Recon doesn't take the hill. It tells you whether the hill is takeable.
- "Deep" recon is a real military term: patrolling far beyond the forward line, at higher risk, for strategic rather than tactical information.
Where the metaphor is useful to you: it correctly implies that research is preparatory and bounded. Research that never terminates in a decision has failed at being recon.
4.2 "Run" โ the term you asked about
What it is: one complete, bounded execution of a research engagement. It has a beginning, an end, a configuration, an identifier, a folder on disk, and outputs. When you say "the run," you mean that whole bounded episode and everything it produced.
Where the name comes from โ three overlapping ancestors:
- Manufacturing. A production run: one batch produced under one set of settings. Change the settings, it's a different run. This gives you the sense of bounded, configured, and reproducible-ish.
- Early computing. In batch-processing days, you submitted a job and the operator ran it. One run = one pass of one job through the machine, producing one printout. This gives you one execution, one output.
- Machine learning experiment tracking โ almost certainly the immediate ancestor. In tools like MLflow and Weights & Biases, a run is one execution of an experiment: it gets a run ID, a config, logged metrics, and an artifact directory. That's exactly Deep Recon's structure โ a slug, a config, a memlog, an artifact folder.
Why the word does real work here. Compare the alternatives:
- "Session" would imply it's tied to your conversation. It isn't โ it survives on disk.
- "Query" would imply one question, one answer. It's dozens.
- "Report" names only the output, not the process.
- "Run" names the bounded episode plus its record. That's the concept you need, because you refresh a run, deepen a run, resume a run.
How you use it โ the three senses, which trip up beginners:
| Sense | Example | Meaning |
|---|---|---|
| The mode | "use Run mode, not Draft" | Do the research natively in this session, rather than drafting a prompt for another tool |
| The episode | "the run took 40 minutes" | This particular bounded execution |
| The verb | "run the research" | Execute it |
Practical consequences of a run being a bounded, identified thing:
- It has an identity. The folder slug is deterministic, so a draft, its later processing, and a refresh three months on all land in the same run folder. One decision, one run, one artifact โ not three loose files.
- It's resumable. Because everything hits disk as it arrives, a run that dies at minute 30 picks up from disk rather than starting over.
- It's refreshable.
refreshre-executes only the stale parts of an existing run. You can only do that to something with an identity. - It's configurable as a unit. Effort, validation, and freshness are properties of the run, set once at the plan gate.
4.3 "Mode" โ Draft, Process, Run
Mode = a way of operating; from Latin modus, "measure, manner." Same sense as a camera's portrait/night mode: the same device, different operating logic.
The three are named for what you do, and they differ in where the searching happens:
| Mode | Where the crawling happens | You supply | Pick it when |
|---|---|---|---|
| Draft | Elsewhere โ ChatGPT, Gemini, Perplexity | One paste, one round-trip | You already pay for a deep-research subscription |
| Process | Already happened, somewhere | A finished report | Someone handed you a document |
| Run | Here, in this session | Approval at one gate | You want it now, or you need tools only this session has |
4.4 "Type" and "pack"
Type = the category of research: market, domain, technical, competitive, user-voice, academic-lit.
Pack = the ~25-line configuration card that a type selects. From the gaming/software sense of a pack: a bundle of assets shipped as a unit (texture pack, expansion pack).
A pack contains: prioritized dimensions, source craft, freshness rules per claim class. This is the "data-driven variation" that let three near-identical workflows collapse into one skill โ the procedure is shared, only the card differs.
Decision shape is a second, independent axis: explore (build understanding) or select (choose between options, using a weighted matrix). Shape because it describes the form the conclusion takes. Any type can combine with either.
4.5 "Dimension" โ the second term you asked about
What it is: one independent axis of inquiry within your research question. Your question gets decomposed into dimensions; each one is investigated separately, often in parallel; the results are recombined.
Where the name comes from: geometry and measurement. A dimension is an independent direction of variation โ you can move along one without moving along the others. Length, width, height. Data analysis borrowed it (a "dimension" in a data cube: time, region, product), and the sense carried is the same: a separable axis.
Why the word is well chosen โ it encodes three properties at once:
- Independence. Dimensions should be as orthogonal as possible, because that's what makes parallel investigation valid. If two dimensions overlap heavily, you're paying twice for one answer.
- Coverage. Together they should span the decision. In geometry, dimensions that don't span the space leave regions you can't reach; a dimension set that doesn't span the decision leaves blind spots. That's what the "could not determine" section reports.
- Separability. Each can be handed to a different subagent with a self-contained brief.
How you use it โ this is the highest-leverage skill in the whole system. At the plan gate you're shown a proposed dimension list. Your job:
| Action | When | Why it matters |
|---|---|---|
| Delete a dimension | It doesn't bear on the decision | Each costs a full fan-out. At deep, cutting one saves ~15% of the run |
| Add a dimension | Something decision-critical is missing | The pack is generic; only you know your constraints |
| Split a dimension | It's actually two questions with different sources | Merged dimensions produce shallow answers on both |
| Merge two | They'd hit the same sources | Removes duplicated effort |
Concrete example from the guide: for an embedding-model choice, the proposed dimensions covered benchmarks, cost, license and maintenance โ but omitted behavior under filtered ANN search. Benchmarks measure unfiltered top-k retrieval; your recommender queries with filters. That missing dimension is the difference between a report that answers your question and one that answers a similar-looking question.
4.6 "Topology" โ and where breadth-first/depth-first come from
What it is: the shape of how subagents are arranged against the dimensions โ how work is split and connected.
Where the name comes from: mathematics. Topology studies properties of shape that survive stretching and bending โ what's connected to what, regardless of distance. Network topology (star, ring, bus, mesh) is the borrowing you've probably met: the diagram of what connects to what, ignoring cable length.
Here it means the same: the connection pattern of the work graph. Not how long each part takes โ the shape.
The three topologies:
| Topology | Shape | Use when |
|---|---|---|
| Breadth-first | One plan โ N assistants โ N independent sub-questions, in parallel | The dimensions are genuinely independent (the usual case) |
| Depth-first | One question, several assistants attacking it from different angles, iterating | One contested question where the disagreement is the problem |
| Straightforward | One assistant, small budget | A lookup. Ten agents on an easy question just burns tokens |
Where "breadth-first" and "depth-first" actually come from โ and this is the good part. They are graph-traversal algorithms from computer science.
Imagine exploring a maze:
- Depth-first search (DFS): pick a corridor, follow it as far as it goes, hit a dead end, back up, try the next. You go deep before you go wide. Traces back to Trรฉmaux's 19th-century maze algorithm; formalized in mid-20th-century CS.
- Breadth-first search (BFS): step one pace down every corridor, then two paces down every corridor, and so on. You go wide before you go deep. Developed in the 1950s (Moore, for maze routing; Lee, for circuit routing).
The classic property: BFS finds the shortest path and explores evenly; DFS goes further faster on one path but can get lost down a long wrong corridor.
The metaphor transfers exactly:
- Breadth-first research: cover all six dimensions to a moderate depth, evenly.
- Depth-first research: drive hard down one question, following where it leads, accepting you'll learn less about everything else.
Knowing the algorithms means you can predict the failure modes. BFS's weakness is memory โ it holds the whole frontier at once, which is exactly why breadth-first research burns more tokens per round. DFS's weakness is going deep down a corridor that doesn't matter โ which is exactly what happens when you depth-first a question that turns out to be a side issue.
Fan-out โ a related term. From digital electronics: the number of gate inputs a single output can drive before the signal degrades. Distributed systems borrowed it for one request spawning many downstream calls. Here: one plan spawning N assistants. The electronics sense carries a useful warning โ fan-out has a limit past which quality degrades. More parallelism is not free, and it is not automatically better.
4.7 "Plan gate"
What it is: the single mandatory stop where the system shows you what it intends to do, and waits.
Where the name comes from: gate in the sense of a controlled passage โ nothing proceeds until it opens. Two direct ancestors:
- Stage-Gate in product development (formalized by Robert G. Cooper in the 1980s): projects move through stages, and between them sit gates where a decision-maker says go, kill, hold, or recycle. The point of a gate is that it's the only place a decision is made, so the decision gets real attention.
- Quality gates in CI/CD: the build doesn't advance unless it passes.
Why there is exactly one. Constant interrogation trains you to click through. One well-placed gate that actually matters gets read. After it, the run proceeds with light checkpoints. This is a deliberate attention-budget decision, and it means your attention at the gate is the single highest-value input you provide to the entire system.
What it shows: the decision, the dimensions, the topology, the knobs, and a time estimate. What you do: prune, add, adjust, check that the estimate matches your actual patience.
4.8 Rounds, leads, budgets, presets
| Term | What it is | Where the name comes from |
|---|---|---|
| Round | One full cycle of parallel searching, after which results are assessed and the next cycle assigned | Boxing, tournaments, negotiations: a bounded phase followed by reassessment |
| Lead | A finding that points toward something worth chasing next โ a contradiction, an unexpected connection | Journalism: a lead is a tip pointing at a story. Round 2's assignments come from round 1's leads |
| Tool-call budget | A cap on how many searches one assistant may make | Old French bougette, "little pouch" โ a bounded allocation. Prevents one assistant eating the whole run |
| Effort preset | A named bundle of settings: quick / standard / deep | Preset from audio and camera equipment: stored settings recalled by name |
| Stop-and-write valve | The rule that says commit what you have rather than spiralling | Valve: a pressure-release mechanism |
Precedence โ worth memorizing: your request beats a pinned setting beats the preset. Whatever you say in the moment wins.
4.9 Briefs, digests, claims
| Term | What it is | Where the name comes from |
|---|---|---|
| Brief | The narrow assignment handed to one subagent โ written to a file, never a command line | Legal brief (a condensed statement of a case) and military briefing. Both mean: the minimum someone needs to act, deliberately short |
| Digest | Extracted, arranged claims from a source | Latin digerere, "to carry apart, arrange." Justinian's Digest (6th c.) organized scattered Roman law into a usable body. A digest is not a summary โ it's rearranged for use |
| Claim | A single assertion, carrying a source, dates, and a status | Legal and philosophical: an assertion put forward as true, awaiting support |
| Status | unverified โ verified โ disputed โ overturned | Latin status, "state." The point is that a claim's condition is tracked and visible, not silently promoted to fact |
| Import | A finished external report, preserved untouched | Trade: something brought in from outside, whose origin is recorded |
Why briefs are written to files and not passed as text on a command line โ the security fix in PR #2611, and worth understanding as a beginner because it generalizes. If untrusted text is pasted into a shell command, characters like $(...) or backticks are interpreted as commands rather than read as text. Researched content is untrusted by definition โ you fetched it from the internet. The fix wasn't to filter dangerous characters (filters always leak); it was to change the channel so the text never reaches an interpreter. It goes to a file; the command references the file's path.
That pattern โ remove the interpreter from the path rather than sanitizing the input โ is one of the most transferable ideas in the whole PR.
4.10 "Firewall"
What it is: the rule that your project context may shape which questions get asked, but never what counts as evidence. Subagents receive only their brief.
Where the name comes from: building construction. A firewall is a physical wall built to a fire-resistance standard, dividing a structure into compartments so a fire in one can't spread to the next. Cars borrowed it (the barrier between engine and cabin), then networking borrowed it in the late 1980s.
The property that carries through every sense: a barrier at a boundary that stops one specific thing from propagating, by design and by construction rather than by vigilance.
Why it matters more than it sounds. The failure it prevents is subtle: hand an AI your architecture document and ask it to research alternatives, and it comes back explaining that your architecture is excellent. Not through deceit โ through ordinary confirmation bias. The thing generating hypotheses is also grading them.
Most attempts to fix this are instructions โ "be objective," "consider alternatives." Instructions fail, because a system inclined to agree with you will find a way. The firewall is architectural: the subagent cannot be biased by context it was never given. That's the difference between a policy and a wall.
The closest analogy from research methodology is the double-blind trial: the experimenter doesn't know which subject got the drug, so their expectations cannot contaminate the measurement. Not "must not" โ cannot. Same idea, same reason it works.
4.11 Staleness, freshness, refresh, deepen
| Term | What it is | Where the name comes from |
|---|---|---|
| Staleness | A claim that was true when gathered and may not be now | Literal โ stale bread. Borrowed into caching, where data past its TTL is "stale": still present, still readable, no longer trustworthy. That's precisely the condition |
| Freshness window | How long a class of claim stays trustworthy. Statute ~36 months; enforcement guidance ~6 | Same caching lineage โ essentially a TTL per claim class |
| Staleness map | The section of the report listing what ages fastest and when to re-check | Cartographic metaphor: a map of where the ground is likely to move |
| Refresh | Re-verify only the stale claims; produce a delta report | Caching again: refreshing a cache entry re-fetches it |
| Delta | The difference: confirmed / changed / overturned | Greek letter ฮ, standard notation for change |
| Deepen | Drill further into one dimension without re-running the others | Literal |
The distinction that matters: refresh when time has passed. deepen when a dimension was under-answered. A brand-new question is neither โ that's a fresh run.
4.12 Provenance, citations, verification
| Term | What it is | Where the name comes from |
|---|---|---|
| Provenance | The documented origin and chain of custody of a claim | French provenir, "to come from." Art history and archaeology: the ownership record that establishes an artifact is what it claims to be. A painting without provenance may still be genuine โ but you can't show that it is |
| Citation marker | The inline [n] pointing to a source | Latin citare, "to summon" โ literally calling a witness |
| Source appendix | The numbered list the markers resolve to | Latin appendere, "to hang upon" โ attached matter |
| Cross-check | The mechanical script verifying every marker has an entry and vice versa | Bookkeeping: reconciling two records against each other |
| Verification level | normal / high / max โ how much gets checked | Latin verus, "true" โ making true, or showing to be so |
| Red team | An adversarial pass that attacks the conclusion | Cold War military war-gaming: Red played Soviet forces, Blue played US. The Red team's job was to win against the plan. Security adopted it in the 1990s |
Why provenance is the right word, not "sources." A source list says where things came from. Provenance adds when it was published, when you accessed it, and who published it โ which is what lets someone else evaluate a claim they didn't verify themselves. That's the difference between a bibliography and an audit trail.
4.13 The remaining machinery
| Term | What it is | Where the name comes from |
|---|---|---|
| Slug | The short deterministic identifier for a run folder | Newspaper typesetting. A "slug" was a line of metal type cast by a Linotype machine; the slugline was a short label identifying a story as it moved through production. Web development borrowed it for URL identifiers |
| Deterministic | Same input always produces the same output | Latin determinare, "to limit." Why it matters: the run slug must be identical across draft โ process โ refresh, or your artifacts scatter |
| Single-writer rule | Subagents return digests to the lead; only the lead writes research.md | Concurrency control. Parallel writes to one file race and corrupt. Fan out reads, serialize writes |
| Headless | Running without an interactive user or display | Headless server / headless browser: no "head" = no monitor. Here it means CI, so output defaults to plain markdown |
| Idempotent | Running it twice has the same effect as running it once | Latin idem ("same") + potens ("power"). Why refresh is safe to schedule |
| Determinism kit | recon_kit.py โ the script owning counting, date math, and slug generation | Because models are unreliable at mechanical tasks and excellent at judgment. Give each what it's good at |
5. Six mental models that carry the most weight
If you remember nothing else:
1. Recon is scouting before you commit troops. Cheap relative to what it protects, and it must terminate in a decision or it wasn't recon.
2. The run folder is a lab notebook. Dated, append-only, showing failed attempts alongside successes. The value isn't the conclusion; it's that someone else can check your work โ including future you.
3. The firewall is a double-blind trial. The researcher can't be influenced by expectations they were never given. Architectural, not aspirational.
4. Dimensions are axes that must span the space. Independent enough to parallelize, complete enough to cover the decision. Gaps in the span are exactly what "could not determine" reports.
5. Staleness is cache TTL for beliefs. Still readable, no longer trustworthy. Different claim classes have different TTLs, and that's a feature.
6. The plan gate is a stage gate. There is exactly one, deliberately, so that it gets read. Your attention there is the highest-value input you give the system.
6. Where the metaphors break
Understanding a borrowed term includes knowing where the borrowing stops. Four that mislead beginners:
| Metaphor | What it correctly suggests | Where it misleads |
|---|---|---|
| "Run" | Bounded, configured, identified, resumable | Implies determinism. Two runs with identical settings will not produce identical reports โ the model is stochastic and the web changes underneath you. It's a run in the experiment-tracking sense, not the build sense |
| "Dimension" | Separable axes of inquiry | Implies true orthogonality. Real research dimensions overlap constantly โ license terms bear on maintenance risk, latency bears on cost. Treat them as mostly separable and expect some duplicated effort |
| "Firewall" | A barrier that blocks propagation by construction | Implies a static perimeter. It's a data-flow rule about what enters a subagent's context โ and you can defeat it by hand, simply by pasting your assumptions into the request. It protects against accidental leakage, not against you |
| "Verification" | Checking whether a claim holds | Implies independent confirmation. The system checking a claim is the same system that produced it โ that's a coherence check, not corroboration. Genuinely weaker than the word suggests |
That last one is the most important caveat in this entire document. Deep Recon does not give you knowledge. It gives you auditable justification โ a chain you can inspect and challenge. That's a real improvement over uncited fluency, and it is less than a well-formatted, thoroughly-cited report can look like.
7. Learning path: your first two weeks
Week 1 โ mechanics
Day 1 โ Install and read the shape.
npx bmad-method install
Then /bmad-customize bmad-deep-recon and just read the options. Don't change anything. You're building a map of what's adjustable.
Day 2 โ The calibration run. This is the single most useful beginner exercise, and almost nobody does it:
Run a
quickengagement on a question you already know the answer to cold โ something in your own stack you could write a memo about from memory.
Because you know the content, you're free to evaluate the machinery. Where did it go for sources? Did it find the thing you know is the definitive reference? Where was it confidently thin? Where did it flag uncertainty you'd have glossed over? Twenty minutes here teaches more about calibration than five real runs.
Day 3 โ Deliberately break it. Run the anti-pattern: research recommendation system best practices. Watch the plan gate propose eleven dimensions and fifty-five minutes. Kill it at the gate. You'll have learned viscerally why a decision statement is load-bearing, for the price of two minutes.
Day 4 โ A real cheap run. Pick a genuine but low-stakes decision โ a library choice, a dependency health check. quick, standard validation. Take the output to a colleague and defend it.
Day 5 โ Read the artifacts. Open the run folder. Read a brief, a digest, the memlog, then research.md. Trace one claim from the report back through its digest to its source. Once you've done this once, you'll never over-trust a report again.
Week 2 โ judgment
Day 6โ7 โ Draft โ Process. Draft a prompt, run it in whatever deep-research tool you have, process it back. The gap report is the lesson: see for yourself what hosted tools systematically miss.
Day 8 โ Configure. Write your first user.toml. Set a source policy for one domain you know well โ you can tell good sources from bad in your own field, which is exactly what you need to write a policy.
Day 9 โ A load-bearing run, with red_team on. Notice how the adversarial pass changes the tone.
Day 10 โ Refresh something. Even a two-week-old run. Watch the delta mechanism work.
The habit that makes it stick
Every time you're about to make a decision you'll live with for months, write this sentence first:
"I am choosing between ___, ___ and ___, under constraints ___, ___ and ___, and I'll live with it for ___ months."
If you can write it, you're ready to research. If you can't, you're not ready to research โ you're ready to brainstorm, which is a different skill and the right one for that moment.
8. Resources and references
Verify before citing. These are from my own knowledge, not fetched and checked in this session. Titles and authors I'm confident about; URLs and current versions you should confirm.
8.1 BMAD itself โ start here
| Resource | Why |
|---|---|
github.com/bmad-code-org/BMAD-METHOD | The repo. Read docs/explanation/ before docs/how-to/ โ explanation gives you the model, how-to gives you the steps |
docs/explanation/deep-recon.md | The primary source for everything in Part 0 and the main guide |
| PR #2611 | The rationale, the v1 post-mortem, and the security review. Reading a merged PR discussion is one of the fastest ways to understand why a system is shaped the way it is |
docs/how-to/customize-bmad.md | Config layering and merge rules |
The skill's own customize.toml | The authoritative list of knobs, always ahead of any documentation |
8.2 Agentic systems generally
| Resource | Why |
|---|---|
| Anthropic, "Building Effective Agents" (engineering blog, 2024) | The clearest short treatment of when to use workflows vs. agents, and why simple beats clever. Deep Recon's topology choices make more sense after this |
Model Context Protocol docs โ modelcontextprotocol.io | The standard behind external_sources |
| Anthropic's Agent Skills documentation | The skill-as-loadable-competence pattern BMAD builds on |
| Simon Willison's blog, prompt-injection tag | The best sustained writing on why untrusted text in agent pipelines is dangerous. Directly relevant to the ยง4.9 file-vs-shell fix |
8.3 The computer science behind the terms
| Topic | Where to learn it |
|---|---|
| BFS / DFS | Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms (CLRS), graph algorithms chapters. Or any decent visualization โ 20 minutes watching BFS and DFS explore a maze is worth more than the chapter |
| Fan-out | Any digital logic text for the electronics origin; distributed-systems literature for the modern sense |
| Append-only logs | Kleppmann, Designing Data-Intensive Applications, ch. 3 โ the best explanation of why immutable logs are the backbone of trustworthy systems |
| Single-writer / concurrency | Same book, ch. 7 |
| Cache TTL and staleness | Any HTTP caching primer; the concept transfers directly |
8.4 Epistemology โ for ยง22 of the main guide
All free online:
| Resource | Why |
|---|---|
Stanford Encyclopedia of Philosophy (plato.stanford.edu) โ entries on Epistemology, The Analysis of Knowledge, Epistemological Problems of Testimony, Scientific Objectivity | Rigorous, free, written for non-specialists. The single best starting point |
| Edmund Gettier, "Is Justified True Belief Knowledge?" (1963) | Three pages. Genuinely readable in ten minutes, and it reframes what "justification" has to do |
| Karl Popper, The Logic of Scientific Discovery (1934/1959) | Falsification โ the intellectual ancestor of the red-team pass |
| Hans Reichenbach, Experience and Prediction (1938) | Where the discovery/justification distinction is articulated โ the firewall's ancestor |
| Condorcet's jury theorem (SEP or Wikipedia) | Why independent errors make crowds reliable โ and therefore why correlated subagents don't deliver what fan-out promises |
8.5 Research methodology โ best practices worth stealing
| Resource | Why |
|---|---|
| PRISMA guidelines for systematic reviews | The gold standard for transparent evidence synthesis: pre-registered questions, documented search strategy, explicit inclusion criteria, reported exclusions. Deep Recon is a lightweight cousin; PRISMA shows you what rigorous looks like |
| GRADE framework | How medicine rates the certainty of a body of evidence, not just individual studies. Directly applicable to reading a research report |
| Literature on publication bias and the replication crisis | Why "surveying published results" systematically overestimates. Justifies the negative-results dimension |
| Ferrari Dacrema, Cremonesi & Jannach, "Are We Really Making Much Progress?" (RecSys 2019) | Specifically for your field: shows that many published recommender improvements fail to beat properly-tuned simple baselines. If you read one paper from this list, read this one |
8.6 Domain references for the applied sections
Retrieval and recommendation
- MTEB (Muennighoff et al.) and BEIR (Thakur et al.) โ the benchmark suites, and more importantly their stated limitations
- Malkov & Yashunin, HNSW (2016/2018) โ the original paper for the index you're running
- Shilling / profile-injection attack literature in the recsys venues (RecSys, SIGIR)
Security and adversarial ML
- OWASP Top 10 for LLM Applications โ the standard reference for prompt injection and agentic risk
- MITRE ATLAS โ adversarial threat landscape for AI systems, structured like ATT&CK
- NIST AI Risk Management Framework
- Shokri et al. (2017) on membership inference; Morris et al. on text-embedding inversion
Privacy and regulation โ always primary sources, never summaries
- GDPR text on EUR-Lex; EDPB guidelines and opinions
- ICO (UK) โ unusually clear practical guidance, useful even outside UK scope
- OPC Canada (
priv.gc.ca) and CAI Quรฉbec (cai.gouv.qc.ca) for PIPEDA and Law 25 - The EU AI Act and DSA texts on EUR-Lex
Decision records
- Michael Nygard, "Documenting Architecture Decisions" (2011) โ the origin of the ADR format, and the natural home for research output. Short and practical
9. What I'm confident about, and what I'm not
Worth stating plainly, since this document makes a lot of etymological claims.
Well-documented and standard:
- BFS/DFS as graph-traversal algorithms; the maze intuition
- Fan-out from digital electronics
- Firewall from building construction โ automotive โ networking
- Red team from Cold War military war-gaming
- Slug from newspaper typesetting
- Frontmatter from book publishing
- Provenance from art history and archaeology
- Stage-Gate from Robert G. Cooper's product-development work
- Shim from mechanical engineering
- Digest from Latin digerere and Justinian's Digest
- Reconnaissance from French reconnaรฎtre
- TOML named for Tom Preston-Werner
- The philosophical works, authors and dates in ยง8.4
My inference, reasonable but not documented as BMAD's stated rationale:
- That "run" specifically inherits from ML experiment tracking (MLflow, W&B) rather than the general computing sense. The structural match โ run ID, config, artifact directory โ is strong enough that I'd bet on it, but the docs don't say so.
- That "dimension" carries the spanning/orthogonality intuition deliberately rather than just meaning "aspect."
- The specific mapping of each mechanism to a named epistemological position in ยง22 of the main guide. The PR does head a section "Epistemics and reliability," so the intent is explicit; the particular philosophical labels are mine.
Things I have not verified in this session:
- Every URL in ยง8. I'm confident about titles and authors; check the links.
- Exact TOML key paths โ confirm against your installed
customize.toml. - Exact prompt and plan-gate wording, which lives in the skill's reference files.
Where this document and the actual skill disagree, the skill wins. Metaphors are for building intuition, not for settling facts.
Next: bmad-deep-recon-howto.md โ every concept here shown as an executable session. Then bmad-deep-recon-guide.md โ the full applied guide.