"""Master Capability Registry v0 (Phase 2C) — Compliance Execution domain.

Registry + minting layer for Master Capabilities — the third instance of the
identity-machine pattern (Master Controls, Master Obligations, Master Capabilities).

STORED: identities, sources, relationship types, policy versions, lifecycle events,
provenance. DERIVED (never stored): confidence, coverage, gap.

v0 scope: types + minting + typed relations + versioned policy + identity lifecycle.
NOT here: Company-Gap, real ISO/cert mappings, certification derivations, UI, RAG,
new meta-model class, generic canonicalization engine.
"""

from __future__ import annotations

from .engine import (
    CapabilityRegistry,
    deprecate_capability,
    evaluate_relation,
    merge_capabilities,
    mint_capability,
    resolve,
    split_capability,
)
from .policy import DEFAULT_POLICY, assert_no_certification_confirms
from .schemas import (
    AssertionStatus,
    CapabilityCandidate,
    CapabilityRelation,
    Confidence,
    DerivedAssessment,
    EvidenceKind,
    IdentityLifecycleEvent,
    LifecycleEventType,
    LifecycleState,
    MasterCapability,
    PolicyRule,
    PolicyVersion,
    Provenance,
    RelationType,
)

__all__ = [
    # engine
    "CapabilityRegistry",
    "mint_capability",
    "evaluate_relation",
    "resolve",
    "deprecate_capability",
    "merge_capabilities",
    "split_capability",
    # policy
    "DEFAULT_POLICY",
    "assert_no_certification_confirms",
    # schemas
    "MasterCapability",
    "CapabilityCandidate",
    "CapabilityRelation",
    "RelationType",
    "EvidenceKind",
    "AssertionStatus",
    "Confidence",
    "PolicyRule",
    "PolicyVersion",
    "IdentityLifecycleEvent",
    "LifecycleEventType",
    "LifecycleState",
    "Provenance",
    "DerivedAssessment",
]
