mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-07-16 09:37:23 +00:00
Pipeline: Add LLM and mocked user generation to the pipeline (#230)
This commit is contained in:
@@ -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_
|
||||
|
||||
Reference in New Issue
Block a user