Discovery finds what an existing system does, from its documents, its code, its production behaviour and the people who run it. Every fact is recorded as a finding with the evidence behind it, and a person confirms each finding before anything is built on it.
Akka Specify builds a specification only from confirmed findings. Every requirement cites the finding it rests on, so every line of the specification rests on evidence.
Discovery gathers everything that says what the system should do: user requirements, the support tickets of past years, an analysis of peers and rivals, and the existing system itself. For an existing system, the sources include its documents and spreadsheets, its code, its production behaviour and the people who run it.
A probe is a check that runs the original system and records what it does. Probes find the routes and the data, the services the system calls, and how it behaves over a sequence of calls, over time and across the range of an input. A fact a probe exercised is stronger than a fact read in the code, and each finding records which kind it is.
Analysis lines the sources up and lists every place they disagree, such as a document and production applying two rules in a different order. Each conflict becomes a decision with an owner and a date, signed before any code is written.
The confirmed findings and the signed decisions feed the specification. The original system then becomes the answer key that the rebuild is checked against on every build.
A person who knows the system confirms each finding. A finding stays observed until it is confirmed, and the specification cannot rest on it before then.
Discovery can read the source alone, run a copy of the system, or compare the original with a running rebuild. Each finding records which of these produced it.
Discovery runs for a new idea too. Discovery for a new idea reads the user requirements, past support tickets and an analysis of peers and rivals, which suggests capabilities that make sense for the enterprise.