ADR 0012: A mention is not a source - naming a topic does not advance its status

decision

ADR 0012: A mention is not a source - naming a topic does not advance its status

About this note
Field Value
Status accepted
Date 260801
Deciders chamin
On this pageContextDecisionThe asymmetry that decides itAlternatives consideredConsequences

Context#

Ingesting S9 (Inside the Microsoft Agent Framework, 2026-05-28) forced the same call twice in one pass, on two different topics, and the kit had no written rule for it.

The mcp case. S9's ecosystem figure names MCP as one of exactly two tool-integration standards, beside OpenAPI [S9 fig_AgentLoop]. brain/topics/mcp.md has been at seed with zero sources since the brain started. On a literal reading of the status ladder - seed (created, no source) -> emerging (one source) - S9 is a source that mentions MCP, so mcp advances and the brain's longest-standing empty topic is finally populated.

The skills case. S9's harness inventory files Skills under Context, beside Prompts and Memory [S9 fig_AgentHarness]. skills.md is at emerging on S5, with S7 adding the category name (claim 64). A third source touching skills would, read literally, be the second corroborating source that takes the topic to established.

Both readings are wrong, and wrong in the direction that inflates the brain. What S9 supplies in each case is one box in one diagram. It never defines MCP, never describes a server, tool, resource, prompt or transport, and never mentions MCP in its prose at all. It never defines a skill, never discusses writing, triggering, evaluating or retiring one, and never mentions skills in its prose either. A topic note that advanced on this would announce coverage it does not have - and mcp.md would go to emerging while its Synthesis section stayed literally empty.

This is a taxonomy question, which is why it is an ADR and not a judgement buried in a log entry: it will recur on every broad source, and broad sources are common. The status ladder in AGENTS.md counts sources, and until now "source" was undefined at the low end.

Decision#

A source advances a topic's status only when it teaches something about that topic's scope. A mention, a citation, or a labelled box in a diagram is a sighting, and a sighting is recorded in the topic's Open questions without advancing status or appearing in "Sources feeding this topic".

Applied this pass:

The test: would a reader arriving at this note from the INDEX find what the status promises? If the status says emerging and the note cannot answer a basic question about the area, the status is lying. Scope is defined by the note's own "What this covers" section, which is what makes this checkable rather than a matter of taste.

Not a one-way door. Nothing is discarded - the sighting is written down, cited and findable. If a later source makes the area real, the sighting is already there to cite alongside it.

The asymmetry that decides it#

The two errors are not symmetric, which is the same argument ADR-0006 makes about the static probe.

Error Cost
Under-counting a real source as a sighting The topic looks thinner than it is. Self-correcting: the next real source arrives and the sighting is sitting there, cited, waiting to be promoted with it.
Over-counting a sighting as a source The topic's status is wrong, the INDEX advertises coverage that does not exist, and the error is invisible - a populated status row with an empty note reads as "not written up yet" rather than "never had a source".

Over-counting also corrupts the one thing the ladder exists to measure. If established can be reached by three sources each naming a topic in passing, it stops meaning "this brain knows this area" and starts meaning "this string has appeared three times".

Alternatives considered#

Consequences#