syntax = "proto3";
package macro_traffic_sim;
option go_package = "github.com/LdDl/macro_traffic_sim_grpc/clients/go;macrotraffic";
import "uuid.proto";
// Request to run the 4-step pipeline
message RunPipelineRequest {
// Session identifier
UUIDv4 session_id = 1;
}
// Progress event streamed during pipeline execution
message RunPipelineProgress {
// Response code (0 = OK)
uint32 code = 1;
// Human-readable message
string text = 2;
// Session identifier
UUIDv4 session_id = 3;
// Current pipeline phase
string phase = 4; // "generation", "distribution", "mode_choice", "assignment"
// Multi-period progress
uint32 period_current = 5; // 1-based
uint32 period_total = 6;
// Feedback loop progress
uint32 feedback_current = 7; // 1-based
uint32 feedback_total = 8;
// Assignment iteration detail
uint32 assignment_iteration = 9;
uint32 assignment_max_iterations = 10;
double relative_gap = 11;
// Completion flags
bool is_completed = 12;
bool is_failed = 13;
string error_message = 14;
}