This module retools the migration architect's core loop for the agentic era: AI-drafted RFP responses, machine-checkable constraint registers from MSAs, portfolio assessments with an override log, Transform-class agentic tooling scoped and verified rather than trusted, and cross-cloud translation that must prove parity before anyone believes it.
The assessment phase of the migration architect's job is being automated first. AWS Transform — an agentic migration and modernization workbench for Windows/.NET, VMware, and mainframe estates — advertises portfolio assessments in "hours, not a multi-month discovery project," and cites 4.56 billion lines of code analyzed. Those are vendor claims, and this module teaches you to treat them exactly as that — but the direction is unmistakable: the parts of migration work that are inventory, classification, and first-draft planning are moving to machines, and the architect's job is consolidating around scoping, verification, override judgment, and exception handling. This module is that job description.
Sameer, Cloud Architect at a GCC migration factory, gets this quarter's tranche: a 12-app portfolio from a business unit — CMDB export, interview notes, dependency data. The parent org has bought AWS Transform; his factory's process now expects AI-drafted dispositions as the starting point.
He runs the assessment pass: structured-output prompts over the CMDB and interview notes produce a draft 6R disposition per app — rehost, replatform, refactor, repurchase, retire, retain — each with a rationale and a confidence level.
Per-app validation, one at a time, against the evidence. App 4, a document-processing service, is drafted rehost — high confidence. The interview notes say the vendor's license terms changed at renewal; the CMDB doesn't know that. Licensing on the target cloud makes rehost economically absurd. Sameer overrides to repurchase, and logs why.
App 9, an "internal reporting tool" the AI marked retire — low usage, turns out to be the source of a monthly regulatory filing — its two heavy users are the compliance team, in the one interview file the extraction pass summarized too aggressively. Override: retain, migrate last, compliance sign-off required. Logged.
Ten dispositions confirmed, two overridden. The override log — app, AI disposition, final disposition, evidence the AI missed — goes into the assessment record alongside the wave plan draft.
Review with the migration factory lead. The two overrides are the meeting: both were cases where the decisive evidence lived outside the structured data. The lead's takeaway becomes factory policy — AI dispositions are drafts by definition, the override log is a mandatory deliverable, and a sprint with zero overrides now triggers a spot audit, because it more likely means rubber-stamping than perfection.
The economics of the week: assessment structuring that once took the better part of a month took days, and the architect's time concentrated exactly where it should — on the two apps where machine-readable data told the wrong story. The override log is the artifact that makes the speed defensible: it proves a human judged every disposition, and it records what kind of evidence the AI systematically misses, which is how the next sprint's prompts get better.
RFP responses from a reuse library (UC-03). For services-company architects like Rajesh, every 2026 RFP has a GenAI section, and response speed is competitive. The pattern is RAG over your own assets — past proposals, case studies, approved reference architectures — retrieving the nearest prior art and drafting tailored sections with consistent win themes. Two gates keep it honest: every capability claim is audited against what the delivery team can actually staff and ship (over-claiming is the taught pitfall — the RFP is a promise someone else must keep), and every service fact in the technical sections passes Module 1's verification checklist, because a hallucinated quota in a proposal becomes a contractual embarrassment later.
Constraint extraction from MSAs (UC-05). Before any AI touches engagement material, the architect answers a prior question: what do the client's contracts allow? MSAs, security questionnaires, and compliance addenda encode constraints — data residency, permitted subprocessors, tooling restrictions, audit rights — that govern both the solution architecture and your own AI usage on the engagement. "Can I paste this client's architecture into a chatbot?" is a contract question, and the default answer is no until the register says otherwise. Extraction is a structured-output task:
from pydantic import BaseModel
from typing import Literal
import anthropic
class Constraint(BaseModel):
id: str
category: Literal["data_residency", "tooling", "subprocessor",
"audit", "security", "ai_usage", "other"]
requirement: str # the obligation, in plain words
source_clause: str # verbatim quote from the document
location: str # section / page reference
affects_own_ai_usage: bool # does this bind OUR tools on this engagement?
class ConstraintRegister(BaseModel):
document: str
constraints: list[Constraint]
ambiguities: list[str] # clauses needing legal interpretation
client = anthropic.Anthropic()
def extract_constraints(msa_text: str) -> ConstraintRegister:
resp = client.messages.parse(
model="claude-opus-4-8",
max_tokens=4000,
thinking={"type": "adaptive"},
system=(
"Extract architecture-relevant constraints from this contract "
"excerpt. Every constraint must quote its source clause "
"verbatim — no quote, no constraint. Route unclear clauses to "
"ambiguities; never resolve legal ambiguity yourself."
),
messages=[{"role": "user", "content": msa_text}],
output_format=ConstraintRegister,
)
return resp.parsed_output
The verbatim source_clause is the verification hook: every register entry is checked against its quote, and the quote against the document. Ambiguous clauses go to legal, not to the model's best guess. The finished register does double duty for the rest of this module — it constrains the solution design, and it is the client-safe-variant switch for every AI workflow on the engagement (App 9's compliance surprise in the scenario is what happens when constraint-grade evidence lives outside the structured data).
The RAID log (UC-06). Discovery notes → drafted risks, assumptions, issues, dependencies, with severity/likelihood scaffolding — the ratings themselves are set by the architect, per Module 1's division-of-labor rule. The RAID draft is the cheap first hour of an engagement that most teams skip and later regret.
The 6R assessment (UC-22) is the workflow from the scenario, and its shape is the module's template: AI drafts every disposition; the architect validates every disposition; overrides are logged with evidence. The draft pass runs structured outputs over CMDB exports and interview notes, producing per-app: disposition, rationale, confidence, and — critically — the evidence it relied on. Then the validation pass, one app at a time, asks a single question: does the evidence actually support this disposition, and is there evidence outside the structured data that changes it?
The override log from Sameer's sprint, as the artifact looks in practice:
| App | AI disposition (conf.) | Final | Override reason — evidence the AI missed |
|---|---|---|---|
| App 4 — doc processing | Rehost (high) | Repurchase | Vendor license terms changed at renewal (interview note); rehost economics invalid on target cloud |
| App 9 — reporting tool | Retire (low usage) | Retain, migrate last | Sources a monthly regulatory filing; usage metric blind to criticality; compliance sign-off required |
| Apps 1–3, 5–8, 10–12 | as drafted | confirmed | Evidence checked per app; no material gaps found |
Three properties make the log more than bureaucracy:
In AI-accelerated assessment the disposition sheet is the draft and the override log is the deliverable — it is the proof of human judgment, the record of what the AI couldn't see, and the feedback loop that improves the next sprint.
Transform-class services (UC-23) run agentic pipelines across assessment → planning → code transformation for named estates: Windows/.NET, VMware, mainframe — with 2026 additions including continuous-modernization previews, mainframe assessment-to-code, and migration of AI workloads to Bedrock. Azure runs the parallel play with Azure Migrate plus Copilot. The architect's relationship to this tool class has three verbs, none of which is "trust":
Legacy comprehension (UC-25) is the input-side sibling: large-context AI over legacy codebases — COBOL, aging .NET, stored-procedure sprawl — produces capability maps and interface inventories that feed target design. The architect consumes the map and designs the target; the map's claims about critical interfaces are spot-verified against the running system before the target design hardens, because a hallucinated interface in a capability map becomes a missing integration on cutover weekend.
Vendor claims about agentic migration tooling describe the vendor's best case, not your estate — pilot on one representative wave, measure your own override and defect rates, and let those numbers set how much you delegate.
Wave planning (UC-24). Dependency data — network flows, CMDB relations — plus constraints in; candidate wave plans with risk annotations out. AI is genuinely good at the combinatorics; the gates are two. First, spot-check the dependency data itself before believing any plan built on it: sample the claimed flows against observed traffic, because dependency exports are notoriously stale and a wave plan inherits every error. Second, sequencing sign-off is human — the AI doesn't know that the App 9 compliance filing lands on the 5th of the month, or that the client's freeze window moves for Diwali. The plan ships when the architect has walked every wave boundary asking "what breaks if this order is wrong?"
Cutover runbooks (UC-28). Per-app runbooks — steps, checks, abort criteria, comms plan — are checklist-shaped documents AI drafts well from the wave plan and app profile. The gate is a dry run: a runbook that hasn't been rehearsed is a hypothesis, and abort criteria in particular get human scrutiny, because they're what you'll be reading at 02:00 mid-cutover.
Cross-cloud IaC translation with parity gates (UC-27). CloudFormation→Terraform, ARM→Bicep, cloud-A→cloud-B: AI translates fluently, and fluently wrong. Service mappings are where it fails — near-equivalent services with different defaults, semantics, or limits translated as if identical, plus the familiar hallucinated resource attributes. The rule mirrors Module 2's but goes further: translated IaC is untrusted until a parity harness proves it —
DR/BC strategy (UC-26) gets the draft-then-attack treatment. AI drafts the RTO/RPO tier proposal per workload class — tiers, replication posture, failover approach — as a structured starting point; the architect validates tier assignments against business impact, which is judgment the model doesn't have. Then the same tooling switches sides and generates the failure tabletops that pressure-test the draft: region loss, quota exhaustion, provider outage, dependency-chain failures — walked scenario by scenario against the proposed design until it breaks or holds.
One scenario class is new to the AI era, and migration architects now own it: the LLM dependency in your DR plan. Any workload that acquired an AI feature during modernization has acquired a new external dependency with its own failure modes — model-provider outages, and quota exhaustion that presents as throttling rather than failure. A 2026-grade DR tabletop asks: what does this application do when its model endpoint is down or throttled? Degrade to a non-AI path? Queue? Fail visibly? If the DR plan has no answer, the modernization added an availability liability nobody signed for. (Designing those degradation ladders in depth is Module 7's territory; the DR plan's job is to make sure the question is asked.)
Run the failure tabletop against the draft DR strategy, not the approved one — the generated scenarios are cheapest exactly when the design is still cheap to change.
Agentic tooling compresses migration's mechanical work into hours — the architect's remaining job is the part that was always the real one: scoping what machines touch, verifying what they produce, logging every override, and owning the exceptions.
Two labs anchor this stage. Lab 04 — Migration assessment sprint: a 12-app synthetic portfolio (CMDB export + interview notes) → AI-drafted 6R dispositions, wave plan, one-page business case — with every override logged and justified; the override log is graded. Lab 05 — Cross-cloud IaC translation with a parity gate: translate a CloudFormation stack to Terraform with AI, prove parity via the plan/deploy-compare harness, and document the two seeded service-mapping traps.
Companion playbooks: pb-21 (RFP Response Drafting from a Reuse Library), pb-22 (Portfolio Assessment — AI Drafts the 6R, You Own the Override Log), pb-23 (Agentic Migration Tooling — Scope It, Verify It, Handle Exceptions), pb-24 (Wave Planning, Dependency Analysis & Cutover Runbooks), pb-25 (Legacy Comprehension — Capability Maps from Old Code), pb-26 (DR/BC Strategy Drafting + Failure Tabletops), pb-27 (Cross-Cloud IaC Translation with Parity Gates) — plus, from the scoping area, pb-03 (Constraint Extraction from MSAs & Compliance Addenda) and pb-04 (RAID Log Drafting from Discovery Notes).