mud_server.services.policy_service ================================== .. py:module:: mud_server.services.policy_service .. autoapi-nested-parse:: Canonical policy service facade. This module is intentionally thin. It preserves the historical import path (``mud_server.services.policy_service``) while delegating behavior to specialized modules under ``mud_server.services.policy``. Breaking changes in this refactor: 1. Legacy file-import APIs were removed from this facade. 2. Legacy path-mapping API (`policy_reference_from_legacy_path`) was removed. 3. Canonical DB/artifact APIs remain stable and are re-exported here. Attributes ---------- .. autoapisummary:: mud_server.services.policy_service.config mud_server.services.policy_service.policy_repo mud_server.services.policy_service.PolicyServiceError Functions --------- .. autoapisummary:: mud_server.services.policy_service.list_policies mud_server.services.policy_service.get_policy mud_server.services.policy_service.get_policy_capabilities mud_server.services.policy_service.validate_policy_variant mud_server.services.policy_service.upsert_policy_variant mud_server.services.policy_service.set_policy_activation mud_server.services.policy_service.list_policy_activations mud_server.services.policy_service.resolve_effective_policy_activations mud_server.services.policy_service.get_effective_policy_variant mud_server.services.policy_service.resolve_effective_prompt_template mud_server.services.policy_service.resolve_effective_axis_bundle mud_server.services.policy_service.resolve_effective_image_policy_bundle mud_server.services.policy_service.publish_scope mud_server.services.policy_service.get_publish_run mud_server.services.policy_service.import_published_artifact mud_server.services.policy_service.parse_scope Module Contents --------------- .. py:data:: config .. py:data:: policy_repo .. py:data:: PolicyServiceError .. py:function:: list_policies(*, policy_type, namespace, status) List canonical policy variants with optional filter constraints. .. py:function:: get_policy(*, policy_id, variant) Get one canonical policy variant row by id and optional variant. .. py:function:: get_policy_capabilities(*, role) Return canonical policy API capability metadata for an authorized role. The caller is responsible for session validation and enforcing that only admin/superuser roles can access policy APIs. This helper keeps the capability payload deterministic for UI clients. .. py:function:: validate_policy_variant(*, policy_id, variant, schema_version, policy_version, status, content, validated_by) Validate one policy variant payload and persist validation-run history. .. py:function:: upsert_policy_variant(*, policy_id, variant, schema_version, policy_version, status, content, updated_by) Validate then upsert one canonical policy variant row. .. py:function:: set_policy_activation(*, scope, policy_id, variant, activated_by, rollback_of_activation_id = None) Set one Layer 3 activation pointer for a scope. .. py:function:: list_policy_activations(*, scope) List active policy pointers for exactly one scope. .. py:function:: resolve_effective_policy_activations(*, scope) Resolve effective active pointers for a scope overlay. .. py:function:: get_effective_policy_variant(*, scope, policy_id) Return effective active policy variant for scope + policy id. .. py:function:: resolve_effective_prompt_template(*, scope, preferred_policy_id = None) Resolve effective canonical prompt template from DB activation state. .. py:function:: resolve_effective_axis_bundle(*, scope) Resolve effective canonical manifest+axis-bundle payloads. .. py:function:: resolve_effective_image_policy_bundle(*, scope) Resolve effective canonical image-policy diagnostic bundle for one scope. .. py:function:: publish_scope(*, scope, actor) Publish deterministic manifest/artifact for one scope. .. py:function:: get_publish_run(*, publish_run_id) Get one publish run plus deterministic artifact metadata. .. py:function:: import_published_artifact(*, artifact, actor, activate) Import one publish artifact into canonical DB policy state. .. py:function:: parse_scope(scope_text) Parse ``world_id[:client_profile]`` string into ``ActivationScope``.