def METHOD_NAME(cls, args: "DictConfig", shared_state: "SharedTaskState") -> None:
    """Ensure that static requirements are fulfilled, and source file exists"""
    assert isinstance(
        shared_state, SharedStaticTaskState
    ), "Cannot assert args on a non-static state"
    super().METHOD_NAME(args, shared_state)
    found_task_source = args.blueprint.task_source
    assert (
        found_task_source is not None
    ), "Must provide a path to a javascript bundle in `task_source`"
    found_task_path = os.path.expanduser(found_task_source)
    assert os.path.exists(
        found_task_path
    ), f"Provided task source {found_task_path} does not exist."
    link_task_source = args.blueprint.link_task_source
    current_architect = args.architect._architect_type
    allowed_architects = ["local"]
    assert link_task_source == False or (
        link_task_source == True and current_architect in allowed_architects
    ), f"`link_task_source={link_task_source}` is not compatible with architect type: {args.architect._architect_type}. Please check your task configuration."
    if link_task_source == False and current_architect in allowed_architects:
        logger.info(
            "If you want your server to update on reload whenever you make changes to your webapp, then make sure to set \n\nlink_task_source: [blue]true[/blue]\n\nin your task's hydra configuration and run \n\n[purple]cd[/purple] webapp [red]&&[/red] [green]npm[/green] run dev:watch\n\nin a separate terminal window. For more information check out:\nhttps://mephisto.ai/docs/guides/tutorials/custom_react/#12-launching-the-task\n",
            extra={"markup": True},
        )