syntax = "proto3";

package runner.v1;
option go_package = "/runner/v1;runnerv1";

import "google/protobuf/duration.proto";

message Instruction {
  oneof instruction {
    Build build = 1;
    Run run = 2;
  }
}

message Result {
  oneof result {
    BuildResult build = 1;
    RunResult run = 2;
  }
}

message Build {
  int32 solution_id = 1; // FIXME: make private
  string binding_key = 2;
  int32 language = 3;
  string solution = 4;
}

message BuildResult {
  int32 solution_id = 1; // FIXME: make private
  int32 status = 2;
}

message Run {
  int32 solution_id = 1; // FIXME: make private
  int32 test_id = 2;
  string binding_key = 3;
}

message RunResult {
  int32 solution_id = 1; // FIXME: make private
  int32 test_id = 2;
  int32 status = 3;
}