The problem
Migrating between GRC platform instances (dev → QA → production, or during a version upgrade) used to mean manually comparing tables, fields, workflows, and business rules between the source and destination instances — commonly called “stare-and-compare” review. It’s slow and error-prone, and a single missed field can mean a control mapping silently breaks.
What it does
A Python and Playwright automation crawls both the source and destination instances, extracts their configuration (tables, fields, workflows, rules), and a Flask web app presents a structured diff so a human reviewer can confirm, in minutes instead of days, that everything moved correctly. It replaces manual review with something closer to an automated regression test suite for platform configuration.
Why it matters
This runs in a highly regulated state government environment, so migrations are already under change control (RFC-based, with rollback plans). This tool makes the actual verification step of that process fast and auditable instead of a manual bottleneck — which is what let us keep shipping vendor SaaS patches and upgrades on a predictable cadence.
What’s next
Currently extending it with retrieval-augmented (RAG) querying, so instead of reading a diff report line by line, a reviewer can just ask “which fields, rules, or formulas didn’t migrate?” and get a direct answer. The underlying design also uses a provider-agnostic ai_assistant/ package, so the RAG layer isn’t locked to one LLM vendor.
Note: this is an internal State of Michigan tool, so the code isn’t public — happy to talk through the architecture and design decisions in more detail.