julee.domain.models.policy.document_policy_validation ===================================================== .. py:module:: julee.domain.models.policy.document_policy_validation .. autoapi-nested-parse:: DocumentPolicyValidation domain models for the Capture, Extract, Assemble, Publish workflow. This module contains the DocumentPolicyValidation domain object that represents the result of validating a document against a policy configuration in the CEAP workflow system. A DocumentPolicyValidation captures the complete validation process including: - The document being validated and the policy used - Actual validation scores achieved against policy criteria - Optional transformation results and post-transformation scores - Status tracking throughout the validation lifecycle All domain models use Pydantic BaseModel for validation, serialization, and type safety, following the patterns established in the sample project. Classes ------- .. autoapisummary:: julee.domain.models.policy.document_policy_validation.DocumentPolicyValidation julee.domain.models.policy.document_policy_validation.DocumentPolicyValidationStatus Module 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'