def METHOD_NAME(
    regen_script_working_dir: str, regen_script: str, config_file: str
) -> List[LintMessage]:
    try:
        proc = run_command(["python3", regen_script], regen_script_working_dir)
    except Exception as err:
        return [
            LintMessage(
                path=None,
                line=None,
                char=None,
                code="CIRCLECI",
                severity=LintSeverity.ERROR,
                name="command-failed",
                original=None,
                replacement=None,
                description=(
                    f"Failed due to {err.__class__.__name__}:\n{err}"
                    if not isinstance(err, subprocess.CalledProcessError)
                    else (
                        "COMMAND (exit code {returncode})\n"
                        "{command}\n\n"
                        "STDERR\n{stderr}\n\n"
                        "STDOUT\n{stdout}"
                    ).format(
                        returncode=err.returncode,
                        command=" ".join(as_posix(x) for x in err.cmd),
                        stderr=err.stderr.decode("utf-8").strip() or "(empty)",
                        stdout=err.stdout.decode("utf-8").strip() or "(empty)",
                    )
                ),
            )
        ]
    with open(config_file, mode="rb") as f:
        config = f.read()
    if proc.stdout == config:
        return []
    return [
        LintMessage(
            path=config_file,
            line=None,
            char=None,
            code="CIRCLECI",
            severity=LintSeverity.ERROR,
            name="config inconsistency",
            original=config.decode("utf-8"),
            replacement=proc.stdout.decode("utf-8"),
            description=(
                "The checked-in CircleCI config.yml file does not match what was generated by the scripts. "
                "Re-run with '-a' to accept changes."
            ),
        )
    ]