luplo.core.checks.runner ======================== .. py:module:: luplo.core.checks.runner .. autoapi-nested-parse:: Dispatch and aggregation for the rule pack. Functions --------- .. autoapisummary:: luplo.core.checks.runner.run_checks Module Contents --------------- .. py:function:: run_checks(conn: psycopg.AsyncConnection[Any], project_id: str, *, rule_names: collections.abc.Iterable[str] | None = None, disabled: collections.abc.Iterable[str] = ()) -> list[luplo.core.checks.types.Finding] :async: Run the selected rules and return their aggregated findings. :param conn: Async psycopg connection. :param project_id: Project scope — every rule is project-local. :param rule_names: If given, run only these rules (by ``Rule.name``). Unknown names raise :class:`ValidationError` before any SQL runs. When ``None``, run every registered rule. :param disabled: Names to skip (typically from ``.luplo [checks] disabled_rules``). Silently no-ops when a disabled name also appears in *rule_names* — the caller's explicit ``--rule X`` does not override the project-level disable. :returns: Flat list of :class:`Finding` ordered first by the rule order in :data:`luplo.core.checks.registry.RULES`, then by whatever order the rule's own SQL returned.