@startuml !theme plain package "infra-workflow" { interface WorkflowLoader class TomlWorkflowLoader class ConditionSpec class ConditionFactory interface PromptLoader class FileSystemPromptLoader class PromptNotFoundException class WorkflowValidationException } interface WorkflowGraph <> WorkflowLoader --> WorkflowGraph : load() WorkflowLoader <|.. TomlWorkflowLoader TomlWorkflowLoader --> ConditionSpec : parses TomlWorkflowLoader --> ConditionFactory : uses ConditionFactory --> ConditionSpec : converts PromptLoader <|.. FileSystemPromptLoader TommWorkflowLoader --> WorkflowValidationException : throws FileSystemPromptLoader --> PromptNotFoundException : throws @enduml