julee.domain.models.policy ========================== .. py:module:: julee.domain.models.policy Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/julee/domain/models/policy/document_policy_validation/index /autoapi/julee/domain/models/policy/policy/index Classes ------- .. autoapisummary:: julee.domain.models.policy.DocumentPolicyValidation julee.domain.models.policy.DocumentPolicyValidationStatus julee.domain.models.policy.Policy julee.domain.models.policy.PolicyStatus Package Contents ---------------- .. py:class:: DocumentPolicyValidation(/, **data) Bases: :py:obj:`pydantic.BaseModel` Represents the validation of a document against a policy configuration. A DocumentPolicyValidation tracks the complete lifecycle of validating a document against policy criteria. It includes: 1. Initial validation: Document is scored against policy validation queries 2. Optional transformation: If policy includes transformation queries and initial validation fails, transformations are applied 3. Re-validation: Transformed document is re-scored against policy criteria 4. Final determination: Pass/fail based on final validation scores The validation process supports both validation-only policies and policies that include transformations for document quality improvement. .. py:method:: error_message_must_be_valid(v) :classmethod: .. py:method:: input_document_id_must_not_be_empty(v) :classmethod: .. py:method:: policy_id_must_not_be_empty(v) :classmethod: .. py:method:: post_transform_scores_must_be_valid(v) :classmethod: .. py:method:: transformed_document_id_must_be_valid(v) :classmethod: .. py:method:: validation_scores_must_be_valid(v) :classmethod: .. py:attribute:: completed_at :type: datetime.datetime | None :value: None .. py:attribute:: error_message :type: str | None :value: None .. py:attribute:: input_document_id :type: str :value: None .. py:attribute:: passed :type: bool | None :value: None .. py:attribute:: policy_id :type: str :value: None .. py:attribute:: post_transform_validation_scores :type: list[tuple[str, int]] | None :value: None .. py:attribute:: started_at :type: datetime.datetime | None :value: None .. py:attribute:: status :type: DocumentPolicyValidationStatus .. py:attribute:: transformed_document_id :type: str | None :value: None .. py:attribute:: validation_id :type: str :value: None .. py:attribute:: validation_scores :type: list[tuple[str, int]] :value: None .. py:class:: DocumentPolicyValidationStatus Bases: :py:obj:`str`, :py:obj:`enum.Enum` Status of a document policy validation process. .. py:attribute:: ERROR :value: 'error' .. py:attribute:: FAILED :value: 'failed' .. py:attribute:: IN_PROGRESS :value: 'in_progress' .. py:attribute:: PASSED :value: 'passed' .. py:attribute:: PENDING :value: 'pending' .. py:attribute:: TRANSFORMATION_COMPLETE :value: 'transformation_complete' .. py:attribute:: TRANSFORMATION_IN_PROGRESS :value: 'transformation_in_progress' .. py:attribute:: TRANSFORMATION_REQUIRED :value: 'transformation_required' .. py:attribute:: VALIDATION_COMPLETE :value: 'validation_complete' .. py:class:: Policy(/, **data) Bases: :py:obj:`pydantic.BaseModel` Policy configuration that defines validation and transformation criteria for documents. A Policy represents a set of quality criteria that documents must meet. It includes validation scores that are calculated using knowledge service queries, and optional transformation queries that can be applied to improve document quality before re-validation. The policy operates in two modes: 1. Validation-only: Calculates scores and passes/fails based on criteria 2. Validation with transformation: Calculates scores, applies transformations, then re-calculates scores for final pass/fail .. py:method:: description_must_not_be_empty(v) :classmethod: .. py:method:: policy_id_must_not_be_empty(v) :classmethod: .. py:method:: title_must_not_be_empty(v) :classmethod: .. py:method:: transformation_queries_must_be_valid(v) :classmethod: .. py:method:: validation_scores_must_be_valid(v) :classmethod: .. py:method:: version_must_not_be_empty(v) :classmethod: .. py:attribute:: created_at :type: datetime.datetime | None :value: None .. py:attribute:: description :type: str :value: None .. py:property:: has_transformations :type: bool Check if this policy includes transformation queries. Returns True if transformation queries are defined and non-empty. .. py:property:: is_validation_only :type: bool Check if this policy operates in validation-only mode. Returns True if no transformation queries are defined or if the transformation queries list is empty. .. py:attribute:: policy_id :type: str :value: None .. py:attribute:: status :type: PolicyStatus .. py:attribute:: title :type: str :value: None .. py:attribute:: transformation_queries :type: list[str] | None :value: None .. py:attribute:: updated_at :type: datetime.datetime | None :value: None .. py:attribute:: validation_scores :type: list[tuple[str, int]] :value: None .. py:attribute:: version :type: str :value: None .. py:class:: PolicyStatus Bases: :py:obj:`str`, :py:obj:`enum.Enum` Status of a policy configuration. .. py:attribute:: ACTIVE :value: 'active' .. py:attribute:: DEPRECATED :value: 'deprecated' .. py:attribute:: DRAFT :value: 'draft' .. py:attribute:: INACTIVE :value: 'inactive'