from simorgh.apps.modules.registry import CapabilitySpec, FeatureSpec, ModuleManifest, register_module

register_module(
    ModuleManifest(
        name="audit",
        version=1,
        domain="platform",
        label_key="audit.module_label",
        description="Audit — immutable activity log with tenant-scoped trail and event recording",
        capabilities=(
            CapabilitySpec(slug="trail", label_key="audit.capabilities.trail",
                          description="Audit trail and retention", icon="shield"),
        ),
        features=(
            FeatureSpec(code="trail.activity_log", label_key="audit.features.activity_log", scope="tenant", default_enabled=True, is_always_on=True, is_platform_internal=True, description="Immutable audit trail for all important actions"),
            FeatureSpec(code="trail.audit_retention", label_key="audit.features.audit_retention", scope="tenant", description="Configurable audit log retention and archiving policies"),
        ),
    )
)
