core/packs/safety/__init__.py

39 lines
976 B
Python

"""Safety-pack loader.
Reads the single shipping safety pack and returns its boundary set for
composition into the runtime ``IdentityManifold``. Safety packs are
**not** swappable: there is exactly one safety pack per installation,
loaded unconditionally.
The loader fails closed. Missing file, malformed JSON, empty
``boundary_ids``, or — in production mode — unverified self-seal all
cause ``SafetyPackError`` and prevent ``ChatRuntime`` startup.
See ``docs/adr/ADR-0029-safety-packs.md``.
"""
from packs.safety.check import (
SafetyCheck,
SafetyCheckResult,
SafetyContext,
SafetyPredicate,
SafetyVerdict,
)
from packs.safety.loader import (
DEFAULT_SAFETY_PACK,
SafetyPack,
SafetyPackError,
load_safety_pack,
)
__all__ = [
"DEFAULT_SAFETY_PACK",
"SafetyCheck",
"SafetyCheckResult",
"SafetyContext",
"SafetyPack",
"SafetyPackError",
"SafetyPredicate",
"SafetyVerdict",
"load_safety_pack",
]