HomePilot / backend /app /interactive /qa /__init__.py
HomePilot Deploy Bot
chore(hf): sync HomePilot to HF Space
921d377
Raw
History Blame Contribute Delete
953 Bytes
"""
QA subsystem — automated checks before publish.
Two layers:
checks.py Individual ``QACheck`` callables that each return a
list of issues (dicts with stable ``code`` keys).
Pure functions over a manifest dict + cfg.
report.py ``run_qa(experience)`` runs every registered check,
aggregates issues + a verdict (``pass`` / ``warn`` /
``fail``), and persists the result on
``ix_qa_reports``.
Severity model: each issue carries ``severity`` ∈ {info, warning,
error}. ``run_qa`` returns ``fail`` if any error issue is present,
``warn`` if any warning, otherwise ``pass``. The publish flow
refuses to advance an experience to ``status=published`` while
the latest QA report is ``fail``.
"""
from .checks import QACheck, QAIssue, all_checks
from .report import QASummary, run_qa
__all__ = [
"QACheck",
"QAIssue",
"all_checks",
"QASummary",
"run_qa",
]