Pipeline: Add LLM and mocked user generation to the pipeline (#230)

This commit is contained in:
2026-07-01 07:47:24 -04:00
committed by GitHub
parent 880f73e004
commit 2b8a900d12
90 changed files with 57254 additions and 800 deletions

View File

@@ -3,8 +3,8 @@
/**
* @file data_model/generated_models.h
* @brief Generated output models from the pipeline: brewery/user results, enriched data,
* and complete generation results.
* @brief Generated output models from the pipeline: brewery/user results,
* enriched data, and complete generation results.
*/
#include <string>
@@ -19,16 +19,24 @@
* @brief Generated brewery payload.
*/
struct BreweryResult {
/// @brief Brewery display name in English.
/**
* @brief Brewery display name in English.
*/
std::string name_en;
/// @brief Brewery description text in English.
/**
* @brief Brewery description text in English.
*/
std::string description_en;
/// @brief Brewery display name in the local language.
/**
* @brief Brewery display name in the local language.
*/
std::string name_local;
/// @brief Brewery description text in the local language.
/**
* @brief Brewery description text in the local language.
*/
std::string description_local;
};
@@ -36,11 +44,39 @@ struct BreweryResult {
* @brief Generated user profile payload.
*/
struct UserResult {
/// @brief Username handle.
/**
* @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.
/**
* @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{};
};
// ============================================================================
@@ -58,9 +94,23 @@ struct EnrichedCity {
/**
* @brief Helper struct to store generated brewery data.
*/
struct GeneratedBrewery {
struct BreweryRecord {
Location location;
BreweryResult brewery;
};
/**
* @brief Helper struct to store generated user data.
*
* `email` and `date_of_birth` 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 UserRecord {
Location location;
UserResult user;
std::string email{};
std::string date_of_birth{};
};
#endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_