#ifndef BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_ #define BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_ /** * @file data_model/generated_models.h * @brief Generated output models from the pipeline: brewery/user results, * enriched data, and complete generation results. */ #include #include "data_model/models.h" // ============================================================================ // Generation Output Models // ============================================================================ /** * @brief Generated brewery payload. */ struct BreweryResult { /// @brief Brewery display name in English. std::string name_en; /// @brief Brewery description text in English. std::string description_en; /// @brief Brewery display name in the local language. std::string name_local; /// @brief Brewery description text in the local language. std::string description_local; }; /** * @brief Generated user profile payload. */ struct UserResult { /// @brief First (given) name, copied from the sampled Name -- not /// LLM-invented. std::string first_name{}; /// @brief Last (family) name, copied from the sampled Name -- not /// LLM-invented. std::string last_name{}; /// @brief Gender associated with the sampled first name, copied from the /// sampled Name -- not LLM-invented. std::string gender{}; /// @brief Username handle. std::string username{}; /// @brief Short user biography. std::string bio{}; /// @brief Relative check-in/activity weight for this user, used to drive /// a J-curve activity profile in later pipeline phases. float activity_weight{}; }; // ============================================================================ // Pipeline Data Models // ============================================================================ /** * @brief Enriched city data with Wikipedia context. */ struct EnrichedCity { Location location; std::string region_context{}; }; /** * @brief Helper struct to store generated brewery data. */ struct GeneratedBrewery { Location location; BreweryResult brewery; }; /** * @brief Helper struct to store generated user data. * * `email`, `date_of_birth`, and `password` are programmatically generated by * the orchestrator (never LLM-authored) so a downstream auth-account seeding * consumer can register real accounts from the pipeline's SQLite export. */ struct GeneratedUser { Location location; UserResult user; std::string email{}; std::string date_of_birth{}; std::string password{}; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_