julee.domain.models.assembly_specification

Assembly domain package for the Capture, Extract, Assemble, Publish workflow.

This package contains the AssemblySpecification and KnowledgeServiceQuery domain objects that work together to define assembly configurations in the CEAP workflow.

AssemblySpecification defines document output types (like “meeting minutes”) with their JSON schemas and applicability rules. KnowledgeServiceQuery defines specific extraction operations that can be performed against knowledge services to populate the AssemblySpecification’s schema.

Submodules

Classes

AssemblySpecification

Assembly specification configuration that defines how to assemble

AssemblySpecificationStatus

Status of an assembly specification configuration.

KnowledgeServiceQuery

Knowledge service query configuration for extracting specific data.

Package Contents

class julee.domain.models.assembly_specification.AssemblySpecification(/, **data)[source]

Bases: pydantic.BaseModel

Assembly specification configuration that defines how to assemble documents of a specific type.

An AssemblySpecification represents a type of document output (like “meeting minutes”, “project report”, etc.) and defines which extractors should be used to collect the necessary data from source documents.

The AssemblySpecification does not contain the template itself - templates will be handled separately during the assembly rendering (or publishing?) phase. This separation allows the same AssemblySpecification definition to be used with different templates over time.

classmethod applicability_must_not_be_empty(v)[source]
classmethod assembly_specification_id_must_not_be_empty(v)[source]
classmethod jsonschema_must_be_valid(v)[source]
classmethod knowledge_service_queries_must_be_valid(v, info)[source]
classmethod name_must_not_be_empty(v)[source]
classmethod version_must_not_be_empty(v)[source]
applicability: str = None
assembly_specification_id: str = None
created_at: datetime.datetime | None = None
jsonschema: dict[str, Any] = None
knowledge_service_queries: dict[str, str] = None
name: str = None
status: AssemblySpecificationStatus
updated_at: datetime.datetime | None = None
version: str = None
class julee.domain.models.assembly_specification.AssemblySpecificationStatus[source]

Bases: str, enum.Enum

Status of an assembly specification configuration.

ACTIVE = 'active'
DEPRECATED = 'deprecated'
DRAFT = 'draft'
INACTIVE = 'inactive'
class julee.domain.models.assembly_specification.KnowledgeServiceQuery(/, **data)[source]

Bases: pydantic.BaseModel

Knowledge service query configuration for extracting specific data.

A KnowledgeServiceQuery represents a specific extraction operation that can be performed against a knowledge service. It defines which knowledge service to use and what prompt to send for data extraction.

When executed, the relevant section of the AssemblySpecification’s JSON schema will be passed along with the prompt to ensure the knowledge service response conforms to the expected structure and validation requirements.

The mapping between queries and schema sections is handled by the AssemblySpecification’s knowledge_service_queries field.

Examples of query_metadata usage:

For Anthropic services:

query_metadata = {
    "model": "claude-sonnet-4-5",
    "max_tokens": 4000,
    "temperature": 0.1
}

For OpenAI services:

query_metadata = {
    "model": "gpt-4",
    "temperature": 0.2,
    "top_p": 0.9
}

For custom services:

query_metadata = {
    "endpoint": "custom-model-v2",
    "timeout": 30,
    "retries": 3
}
classmethod knowledge_service_id_must_not_be_empty(v)[source]
classmethod name_must_not_be_empty(v)[source]
classmethod prompt_must_not_be_empty(v)[source]
classmethod query_id_must_not_be_empty(v)[source]
assistant_prompt: str | None = None
created_at: datetime.datetime | None = None
knowledge_service_id: str = None
name: str = None
prompt: str = None
query_id: str = None
query_metadata: dict[str, Any] | None = None
updated_at: datetime.datetime | None = None