update class diagram

This commit is contained in:
Aaron Po
2026-05-14 19:49:14 -04:00
parent 2ee7b3d2a2
commit 688c28f85d

View File

@@ -1,4 +1,4 @@
@startuml @startuml class_diagram
' ========================================== ' ==========================================
' CONFIGURATION & STYLING ' CONFIGURATION & STYLING
@@ -8,6 +8,8 @@ skinparam classAttributeFontSize 9
skinparam defaultFontSize 25 skinparam defaultFontSize 25
skinparam titleFontSize 30 skinparam titleFontSize 30
title Biergarten Data Pipeline — Class Diagram
package "Domain: Models" { package "Domain: Models" {
class Location { class Location {
@@ -141,7 +143,7 @@ package "Domain: Models" {
LocationContext *-- Completeness LocationContext *-- Completeness
} }
@startuml
package "Domain: Application Configuration" { package "Domain: Application Configuration" {
class SamplingOptions { class SamplingOptions {
+ temperature: float = 1.0F + temperature: float = 1.0F
@@ -167,12 +169,10 @@ package "Domain: Application Configuration" {
+ pipeline: PipelineOptions + pipeline: PipelineOptions
} }
' --- Domain Model Relationships ---
ApplicationOptions *-- GeneratorOptions ApplicationOptions *-- GeneratorOptions
ApplicationOptions *-- PipelineOptions ApplicationOptions *-- PipelineOptions
GeneratorOptions o-- SamplingOptions GeneratorOptions o-- SamplingOptions
} }
@endum
package "Domain: Policy" { package "Domain: Policy" {
@@ -297,7 +297,6 @@ package "Infrastructure: Logging" {
- ToString(phase) : std::string - ToString(phase) : std::string
} }
' --- Logging Relationships ---
LogEntry *-- LogLevel LogEntry *-- LogLevel
LogEntry *-- PipelinePhase LogEntry *-- PipelinePhase
PipelineLogger ..> LogEntry : emits PipelineLogger ..> LogEntry : emits
@@ -363,6 +362,22 @@ package "Infrastructure: Enrichment" {
} }
package "Infrastructure: Prompting" {
interface IPromptDirectory <<interface>> {
+ Load(key : std::string_view) : std::string
}
class PromptDirectory {
- prompt_dir_ : std::filesystem::path
- cache_ : std::unordered_map<std::string, std::string>
+ PromptDirectory(prompt_dir : const std::filesystem::path&)
+ Load(key : std::string_view) : std::string
}
IPromptDirectory <|.. PromptDirectory
}
package "Infrastructure: Data Generation" { package "Infrastructure: Data Generation" {
interface DataGenerator <<interface>> { interface DataGenerator <<interface>> {
@@ -386,6 +401,7 @@ package "Infrastructure: Data Generation" {
- model_ : ModelHandle - model_ : ModelHandle
- context_ : ContextHandle - context_ : ContextHandle
- prompt_formatter_ : std::unique_ptr<PromptFormatter> - prompt_formatter_ : std::unique_ptr<PromptFormatter>
- prompt_directory_ : std::unique_ptr<IPromptDirectory>
- rng_ : std::mt19937 - rng_ : std::mt19937
+ GenerateBrewery(...) : BreweryResult + GenerateBrewery(...) : BreweryResult
+ GenerateBeer(...) : BeerResult + GenerateBeer(...) : BeerResult
@@ -459,8 +475,6 @@ package "Infrastructure: Data Export" {
} }
class BiergartenPipelineOrchestrator { class BiergartenPipelineOrchestrator {
- preloader_ : std::unique_ptr<DataPreloader> - preloader_ : std::unique_ptr<DataPreloader>
- enrichment_service_ : std::unique_ptr<EnrichmentService> - enrichment_service_ : std::unique_ptr<EnrichmentService>
@@ -531,6 +545,7 @@ DateTimeProvider <|.. SystemDateTimeProvider
WikipediaService *-- WebClient WikipediaService *-- WebClient
WikipediaService ..> ContextStrategy WikipediaService ..> ContextStrategy
LlamaGenerator *-- PromptFormatter LlamaGenerator *-- PromptFormatter
LlamaGenerator *-- IPromptDirectory
LlamaGenerator ..> GeneratorOptions LlamaGenerator ..> GeneratorOptions
SqliteExportService *-- DateTimeProvider SqliteExportService *-- DateTimeProvider