HomePilot Deploy Bot
chore(hf): sync HomePilot to HF Space
921d377
Raw
History Blame Contribute Delete
806 Bytes
"""
Publish subsystem — promotes a draft experience to a channel.
publisher.py publish(experience, channel) → Publication
Publishing flow:
1. Run QA. Refuse to publish if verdict == 'fail'.
2. Build packaged experience (manifest + digest).
3. Compare digest against the most recent publication on the
same channel — if identical, return the existing record
(idempotent re-publish).
4. Insert ix_publications row with the new manifest + version
bumped from the previous one.
5. Update ix_experiences.status = 'published'.
Channels supported in v1: 'web_embed', 'studio_preview', 'export'.
The channel string lives on the publication row so future channels
need no schema change.
"""
from .publisher import PublishResult, publish
__all__ = ["PublishResult", "publish"]