If the assessment is data, Terraform is one of its renderers. Map target architecture records to modules, keep human decisions in the assessment, and use Ansible for the parts Terraform should not own.
Migration waves are a topological sort plus business constraints. Start from evidence-backed dependencies, isolate foundation services, and keep inferred edges out of the critical path until a human confirms them.
Wave planning fails when dependencies are interviews. Collect known edges from config and runtime, mark inferred edges as inferred, and refuse to hide the difference.
A migration inventory is not a CMDB export. It is evidence: OS, packages, listeners, storage, and enough facts to decide rehost versus replatform. Here is a playbook-shaped starting point.
The 7 Rs are only useful when each disposition becomes tasks, Terraform candidates, Ansible candidates, and a wave. Strategy without a backlog is still a slide.
Most AWS migration assessments still burn senior engineer hours on inventory, dependency collection, and backlog formatting. Those steps are mechanical. Architecture, risk, and cutover are not.