Migration discovery: find the starting point

Migration discovery is read-only collection of facts about the source state, target intent, and transition boundaries. Before the first change, you should know at least the affected runtime, build, dependencies, deployment/configuration boundaries, integrations, and how behavior will be checked.

The starting point is a concrete revision, environment, or pilot slice from which a baseline can be reproduced. If the revision, owner, or critical input is unknown, record it as unknown rather than replacing it with an assumption.

Discovery questions and evidence anchors

QuestionWhere to find evidenceConfidenceNext check
What are the source and target runtimes?build files, CI, deployment docshigh / medium / lowcompare the actual run and owner
Which components depend on the source?dependency manifests, imports, lockfileshigh / medium / lowbuild the affected graph
Which integrations have a contract?API schema, clients, tests, logshigh / medium / lowchoose a representative scenario
Which starting point is available?Git revision, environment, artifactconfirmed / unknownsave the baseline reference
What cannot be confirmed read-only?missing docs, inaccessible systemsunknownassign an owner or stop condition

Migration discovery boundaries

  • do not update dependencies merely because the target version seems obvious;
  • do not declare a component compatible without a source, target, and evidence anchor;
  • do not treat a list of package names as a complete description of runtime behavior;
  • do not hide inaccessible production or vendor facts behind the word “verified”;
  • do not move to a pilot without rollback or a way to compare output.

Workflow for the starting point

  1. Define one migration slice and state the source-to-target intent.
  2. Collect repository, build, runtime, integration, and deployment evidence.
  3. Record the revision, environment assumptions, and available baseline checks.
  4. List knowns, assumptions, unknowns, and an owner for each important question.
  5. Mark stop conditions after which analysis or the pilot must be paused.

Canonical lesson source · JavaRush

Open JavaRush material