Builds the problem set first, then derives the competitor set from it.
Establishes what customers are trying to get done and admits a problem only on something a customer did that puts it in the set, types every problem by a recorded test, and only then derives the alternatives from those problems — the spreadsheet, the in-house build and doing nothing included — and fills a problem-by-alternative matrix, reading the empty cells as findings in their own right. Unserved problems are listed in problem-ID order and never ranked, so it produces a mapped problem set, not a verdict on which problems to pursue.
Exists because research that starts from a vendor list reliably discovers the company is well positioned against the problems it already solves. A problem enters the set only when something a customer did put it there: a workaround built, a budget spent, a deal lost. Every problem leaves with an identifier and a Problem Record, so the aggregating agents can match it across streams.
What it needs, and which agents use what it produces.