Skip to content

The moment of choice

Declared in Advance

Two metrics carry the same name and answer different questions. Every mechanism that keeps them apart assumes a person is standing at the moment of choice, reading the source column. Take that person away and see which of the four cases your stack is in.

The twins

Finance builds net revenue retention from the contract table. Sales Ops builds net revenue retention from the billing export. Both are correct, and they separate on the quarter the question lands on.

Set who is asking and whether a declaration exists, then watch the screen and the trace change together.

Who is at the moment of choice

Has anyone declared which one answers this

She reads the source column

Right answer, and nobody will ever know she chose

Metric picker

What was net revenue retention last quarter?

Net revenue retention

112%

finance contract table, owned by Finance

holds the original contract value through a mid-term change

Net revenue retention

119%

sales ops billing export, owned by Sales Ops

counts a mid-term change as expansion in the month it bills

What the trace records

  • search "net revenue retention" returned 2 candidates
  • rendered both rows with source and owner
  • analyst selected metric.finance_nrr

The choice happened in her head. The system stored the click, not the reason.

Both rows are on her screen. She reads the source column, remembers which one last quarter used, and picks the finance number in about four seconds. The judgment is sound and it happens dozens of times a week.

What the business gets back

112% from the finance contract table

The same story on a clock

The window to declare closes months before the question is ever asked.

When somebody could still have been asked

SOMEBODY IS STILL THERENOBODY IS THERE, ONLY THISthe window closes hereMarchthe metric is builtnobody writes it downthe judgment stays in a headfour months pass2:07 AMthe query arrives119%the answer returnsthe correction90 days laterthe fix arrives after the decision it was needed for

The two controls above set a state. This is the same scene as a sequence, and it is the part that does not show up in any architecture diagram. The people who could answer which twin the question means are present for a few weeks, while the metric is being built and while somebody still remembers why. The query lands months after they stopped paying attention. A declaration is not paperwork, it is the only channel that reaches across that gap.

This is not a data problem, it is a timing problem

The protocol layer already worked it out, one floor down.

Two servers, one tool name

The Model Context Protocol spec says tool name uniqueness is scoped to a single server, and that a client aggregating several servers may hit collisions, two servers each exposing a search tool, and should prefix names with a server identifier. It also names what will not save you. The server name is not guaranteed to be unique and should not be relied on for disambiguation.

Model Context Protocol, Tools ↗

What the benchmarks grade

Spider 2.0 runs 632 real enterprise workflow problems on databases that often carry more than 1,000 columns. Execution accuracy compares the generated query against one correct target, which means a person already decided which table the question meant. Models keep getting better at the part that starts after that decision.

Spider 2.0, Lei et al. ↗

The timing claim

An agent cannot ask which one you meant. It can only be told, and it has to have been told already.

Every disambiguation mechanism in this architecture assumed a human standing at the moment of choice. Agent to agent consumption deletes that station, so the judgment has to exist before the question arrives, attached to something durable enough to still be there at 2am. A declaration written after the agent has already answered is not governance. It is a postmortem.

Part of: Stage 02 · The Trust Contract

Back to the map

A layer is an idea until it has an artifact. The artifact is the trust contract: a machine-readable envelope that travels with every metric, carrying the signals a human and an agent can both read to know whether to act, caveat, or stop.

Read the essay