File size: 908 Bytes
921d377
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""
Assembly subsystem — turn DB rows into a publishable manifest.

Two things live here:

  manifest.py   build_manifest(experience) → dict — a complete,
                self-describing snapshot of an experience: nodes,
                edges, actions, rules, asset references. The
                publish flow stores a copy on ix_publications.
  packager.py   package_experience — light wrapper that pairs a
                manifest with a deterministic content hash so the
                publish step can detect "nothing changed since
                last publish" and skip re-emitting.

Nothing here writes back to ix_experiences — assembly is
read-only. Status changes happen one layer up in publish/.
"""
from .manifest import build_manifest
from .packager import PackagedExperience, package_experience

__all__ = [
    "build_manifest",
    "PackagedExperience",
    "package_experience",
]