test_platform: Drop unused fields

BUG=chromium:1127202
TEST=./generate.sh

Change-Id: Ia1f120a36ad99f61e5cd0f82223aab8cf15fc6ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/2547570
Auto-Submit: Prathmesh Prabhu <pprabhu@google.com>
Commit-Queue: Jared Loucks <jaredloucks@google.com>
Reviewed-by: Jared Loucks <jaredloucks@google.com>
diff --git a/go/test_platform/phosphorus/common.pb.go b/go/test_platform/phosphorus/common.pb.go
index faa03e4..2db1f8a 100644
--- a/go/test_platform/phosphorus/common.pb.go
+++ b/go/test_platform/phosphorus/common.pb.go
@@ -64,9 +64,6 @@
 
 // TaskEnvironment defines task-specific parameters used by phosphorus.
 type TaskEnvironment struct {
-	// Path to the client offload directory relative to the results directory
-	//  Intended for log-data which is needed synchronously with high reliability
-	SynchronousOffloadDir string `protobuf:"bytes,1,opt,name=synchronous_offload_dir,json=synchronousOffloadDir,proto3" json:"synchronous_offload_dir,omitempty"`
 	// Absolute path to the results directory for a given run. Include results of
 	//  both tests and non-test tasks like provision
 	ResultsDir string `protobuf:"bytes,2,opt,name=results_dir,json=resultsDir,proto3" json:"results_dir,omitempty"`
@@ -111,13 +108,6 @@
 
 var xxx_messageInfo_TaskEnvironment proto.InternalMessageInfo
 
-func (m *TaskEnvironment) GetSynchronousOffloadDir() string {
-	if m != nil {
-		return m.SynchronousOffloadDir
-	}
-	return ""
-}
-
 func (m *TaskEnvironment) GetResultsDir() string {
 	if m != nil {
 		return m.ResultsDir
@@ -250,30 +240,29 @@
 }
 
 var fileDescriptor_6d57f1c2e65b1971 = []byte{
-	// 389 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x41, 0xab, 0xd3, 0x40,
-	0x14, 0x85, 0x89, 0xef, 0xf9, 0xc0, 0x89, 0x3c, 0xdf, 0x8b, 0x55, 0xbb, 0x53, 0x03, 0x42, 0x45,
-	0x4c, 0xa0, 0x15, 0x17, 0x82, 0x9b, 0x34, 0x2e, 0x0a, 0xa2, 0x10, 0x75, 0x23, 0xc2, 0x70, 0x9b,
-	0x4e, 0xd2, 0xa1, 0x99, 0xb9, 0xc3, 0xdc, 0x89, 0xd4, 0xdf, 0xe7, 0x2f, 0xf1, 0x9f, 0x48, 0xa6,
-	0xad, 0x4d, 0x2b, 0x59, 0xe6, 0x9c, 0xef, 0x5c, 0x6e, 0xce, 0x5c, 0xf6, 0xc2, 0x09, 0x72, 0xdc,
-	0x34, 0xe0, 0x2a, 0xb4, 0x2a, 0x35, 0x6b, 0x24, 0xb3, 0x46, 0xdb, 0x52, 0x5a, 0xa2, 0x52, 0xa8,
-	0x13, 0x63, 0xd1, 0x61, 0x34, 0x3e, 0xc1, 0x92, 0x23, 0x16, 0xcf, 0xd8, 0x75, 0x86, 0xee, 0x83,
-	0xfe, 0x29, 0x2d, 0x6a, 0x25, 0xb4, 0x8b, 0x9e, 0xb3, 0xfb, 0xd0, 0x3a, 0xf4, 0x89, 0x95, 0xb4,
-	0xe3, 0xe0, 0x59, 0x30, 0xb9, 0x57, 0x84, 0x07, 0x2d, 0x97, 0x36, 0xfe, 0x1d, 0xb0, 0x07, 0x5f,
-	0x81, 0x36, 0xfd, 0xd8, 0x5b, 0xf6, 0x84, 0x7e, 0xe9, 0x72, 0x6d, 0x51, 0x63, 0x4b, 0x1c, 0xab,
-	0xaa, 0x41, 0x58, 0xf5, 0x26, 0x3c, 0xea, 0xd9, 0x9f, 0x77, 0x6e, 0x2e, 0x6d, 0xf4, 0x94, 0x85,
-	0x56, 0x50, 0xdb, 0x38, 0xf2, 0xec, 0x1d, 0xcf, 0xb2, 0xbd, 0xd4, 0x01, 0x13, 0x76, 0xe3, 0x77,
-	0xe9, 0x53, 0x17, 0x9e, 0xba, 0xee, 0xf4, 0xe2, 0x48, 0xbe, 0x66, 0x0f, 0x89, 0x0c, 0x5f, 0x02,
-	0x09, 0x2e, 0x15, 0xd4, 0x82, 0x6b, 0x50, 0x62, 0x7c, 0xe9, 0xe1, 0x1b, 0x22, 0x93, 0x01, 0x89,
-	0x45, 0x67, 0x7c, 0x02, 0x25, 0xe2, 0x05, 0xbb, 0xfd, 0x88, 0x75, 0x0e, 0x0e, 0xbe, 0x99, 0x6e,
-	0x9b, 0x2f, 0x4e, 0x98, 0xe8, 0x0d, 0x7b, 0xac, 0x60, 0xcb, 0x4b, 0xd4, 0x65, 0x6b, 0xad, 0xd0,
-	0x8e, 0xb7, 0xde, 0x24, 0xff, 0x17, 0x77, 0x8b, 0x91, 0x82, 0xed, 0xfc, 0x9f, 0xb9, 0x0b, 0x52,
-	0xfc, 0x27, 0x60, 0x57, 0x73, 0xd4, 0x95, 0xac, 0xa3, 0x77, 0xec, 0x62, 0x89, 0xce, 0xd3, 0xe1,
-	0x74, 0x92, 0x0c, 0x15, 0x9f, 0x9c, 0xb6, 0x5e, 0x74, 0xa1, 0xe8, 0x3d, 0xbb, 0x74, 0x40, 0x1b,
-	0x5f, 0x42, 0x38, 0x7d, 0x39, 0x1c, 0x3e, 0x2b, 0xbf, 0xf0, 0xb1, 0xe8, 0x07, 0x1b, 0x35, 0x58,
-	0xf3, 0x15, 0x38, 0xd8, 0x6f, 0xcd, 0xc9, 0x09, 0xe3, 0xdb, 0x0a, 0xa7, 0xaf, 0x86, 0xc7, 0xfd,
-	0x57, 0x43, 0x71, 0xdb, 0x9c, 0x4b, 0x59, 0xfe, 0x3d, 0xab, 0x31, 0xe9, 0x5e, 0x50, 0xc9, 0x56,
-	0x25, 0x68, 0xeb, 0xf4, 0xf0, 0x81, 0x94, 0x4a, 0x5d, 0x59, 0x48, 0xfd, 0xb5, 0xa5, 0x35, 0xa6,
-	0x43, 0x67, 0xb9, 0xbc, 0xf2, 0xc8, 0xec, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcc, 0xda, 0x4d,
-	0x8a, 0xb9, 0x02, 0x00, 0x00,
+	// 384 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xcf, 0xaa, 0xd3, 0x40,
+	0x14, 0xc6, 0xc9, 0xbd, 0xf5, 0xa2, 0x13, 0xb9, 0xb6, 0xb1, 0x68, 0x77, 0x6a, 0x40, 0xa8, 0x88,
+	0x09, 0xb4, 0xae, 0x04, 0x37, 0x69, 0x5c, 0x54, 0xc4, 0x45, 0xd4, 0x8d, 0x08, 0xc3, 0x69, 0x3a,
+	0x49, 0x87, 0x66, 0xe6, 0x0c, 0x73, 0x26, 0x52, 0x5f, 0xc9, 0xb7, 0xf2, 0x4d, 0x24, 0x63, 0x6b,
+	0xff, 0x5c, 0xb2, 0xcc, 0x77, 0x7e, 0xbf, 0x93, 0xe4, 0xe3, 0xb0, 0x97, 0x4e, 0x90, 0xe3, 0xa6,
+	0x01, 0x57, 0xa1, 0x55, 0xa9, 0xd9, 0x20, 0x99, 0x0d, 0xda, 0x96, 0xd2, 0x12, 0x95, 0x42, 0x9d,
+	0x18, 0x8b, 0x0e, 0xa3, 0xc9, 0x19, 0x96, 0x1c, 0xb1, 0x78, 0xce, 0x6e, 0x33, 0x74, 0x1f, 0xf4,
+	0x4f, 0x69, 0x51, 0x2b, 0xa1, 0x5d, 0xf4, 0x82, 0x3d, 0x84, 0xd6, 0xa1, 0x37, 0xd6, 0xd2, 0x4e,
+	0x82, 0xe7, 0xc1, 0xf4, 0x41, 0x11, 0x1e, 0xb2, 0x5c, 0xda, 0xf8, 0x77, 0xc0, 0x1e, 0x7d, 0x05,
+	0xda, 0x9e, 0x6a, 0xcf, 0x58, 0x68, 0x05, 0xb5, 0x8d, 0x23, 0x6f, 0x5d, 0x79, 0x8b, 0xed, 0xa3,
+	0x5c, 0xda, 0x68, 0xca, 0x86, 0x7e, 0xe7, 0x29, 0x75, 0xed, 0xa9, 0xdb, 0x2e, 0x2f, 0x8e, 0xe4,
+	0x1b, 0xf6, 0x98, 0xc8, 0xf0, 0x15, 0x90, 0xe0, 0x52, 0x41, 0x2d, 0xb8, 0x06, 0x25, 0x26, 0x03,
+	0x0f, 0x0f, 0x89, 0x4c, 0x06, 0x24, 0x96, 0xdd, 0xe0, 0x33, 0x28, 0xf1, 0x71, 0x70, 0x3f, 0x18,
+	0x5e, 0x15, 0x4f, 0xe9, 0x97, 0x2e, 0x37, 0x16, 0x35, 0xb6, 0xc4, 0xb1, 0xaa, 0x1a, 0x84, 0x75,
+	0xf7, 0x8e, 0x78, 0xc9, 0x46, 0x9f, 0xb0, 0xce, 0xc1, 0xc1, 0x37, 0xd3, 0x85, 0x5f, 0x9c, 0x30,
+	0xd1, 0x5b, 0xf6, 0x44, 0xc1, 0x8e, 0x97, 0xa8, 0xcb, 0xd6, 0x5a, 0xa1, 0x1d, 0x6f, 0xfd, 0x90,
+	0xfc, 0xef, 0xde, 0x2b, 0xc6, 0x0a, 0x76, 0x8b, 0xff, 0xc3, 0x7f, 0x22, 0xc5, 0x7f, 0x02, 0x76,
+	0xb3, 0x40, 0x5d, 0xc9, 0x3a, 0x7a, 0xc7, 0xae, 0x57, 0xe8, 0x3c, 0x1d, 0xce, 0xa6, 0x49, 0x5f,
+	0xbf, 0xc9, 0x79, 0xb9, 0x45, 0x27, 0x45, 0xef, 0xd9, 0xc0, 0x01, 0x6d, 0x7d, 0x47, 0xe1, 0xec,
+	0x55, 0xbf, 0x7c, 0xd1, 0x71, 0xe1, 0xb5, 0xe8, 0x07, 0x1b, 0x37, 0x58, 0xf3, 0x35, 0x38, 0xd8,
+	0x7f, 0x35, 0x27, 0x27, 0x8c, 0x2f, 0x33, 0x9c, 0xbd, 0xee, 0x5f, 0x77, 0xa7, 0x86, 0x62, 0xd4,
+	0x5c, 0x46, 0x59, 0xfe, 0x3d, 0xab, 0x31, 0xe9, 0x9a, 0x54, 0xb2, 0x55, 0x09, 0xda, 0x3a, 0x3d,
+	0x3c, 0x20, 0xa5, 0x52, 0x57, 0x16, 0x52, 0x7f, 0x54, 0x69, 0x8d, 0x69, 0xdf, 0xf5, 0xad, 0x6e,
+	0x3c, 0x32, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x24, 0xcc, 0xc7, 0xb7, 0xa0, 0x02, 0x00, 0x00,
 }
diff --git a/go/test_platform/skylab_local_state/load.pb.go b/go/test_platform/skylab_local_state/load.pb.go
index a00ab76..544aeda 100644
--- a/go/test_platform/skylab_local_state/load.pb.go
+++ b/go/test_platform/skylab_local_state/load.pb.go
@@ -6,7 +6,6 @@
 import (
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
-	skylab_test_runner "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_test_runner"
 	math "math"
 )
 
@@ -23,8 +22,7 @@
 
 // LoadRequest defines the input of `skylab_local_state load`.
 type LoadRequest struct {
-	Config     *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
-	ResultsDir string  `protobuf:"bytes,2,opt,name=results_dir,json=resultsDir,proto3" json:"results_dir,omitempty"` // Deprecated: Do not use.
+	Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
 	// DUT hostname.
 	DutName string `protobuf:"bytes,3,opt,name=dut_name,json=dutName,proto3" json:"dut_name,omitempty"`
 	// Swarming run ID. Used in the results directory name.
@@ -70,14 +68,6 @@
 	return nil
 }
 
-// Deprecated: Do not use.
-func (m *LoadRequest) GetResultsDir() string {
-	if m != nil {
-		return m.ResultsDir
-	}
-	return ""
-}
-
 func (m *LoadRequest) GetDutName() string {
 	if m != nil {
 		return m.DutName
@@ -112,16 +102,10 @@
 	// "cros-version": "reef-release/R77-12345.0.0".
 	ProvisionableLabels map[string]string `protobuf:"bytes,1,rep,name=provisionable_labels,json=provisionableLabels,proto3" json:"provisionable_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 	// The path to the newly created directory containing the host info file.
-	ResultsDir string `protobuf:"bytes,2,opt,name=results_dir,json=resultsDir,proto3" json:"results_dir,omitempty"`
-	// Paths to future results archives.
-	// These paths depend on the path of the local results directory, so they
-	// become well-defined the moment the local directory is created.
-	// `skylab_local_state load` does not perform the offload to the locations,
-	// the offload happens asynchronously after the task finishes.
-	AsyncResults         *skylab_test_runner.AsyncResults `protobuf:"bytes,3,opt,name=async_results,json=asyncResults,proto3" json:"async_results,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
-	XXX_unrecognized     []byte                           `json:"-"`
-	XXX_sizecache        int32                            `json:"-"`
+	ResultsDir           string   `protobuf:"bytes,2,opt,name=results_dir,json=resultsDir,proto3" json:"results_dir,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *LoadResponse) Reset()         { *m = LoadResponse{} }
@@ -163,13 +147,6 @@
 	return ""
 }
 
-func (m *LoadResponse) GetAsyncResults() *skylab_test_runner.AsyncResults {
-	if m != nil {
-		return m.AsyncResults
-	}
-	return nil
-}
-
 func init() {
 	proto.RegisterType((*LoadRequest)(nil), "test_platform.skylab_local_state.LoadRequest")
 	proto.RegisterType((*LoadResponse)(nil), "test_platform.skylab_local_state.LoadResponse")
@@ -181,31 +158,29 @@
 }
 
 var fileDescriptor_8da18a4489bdf85e = []byte{
-	// 411 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xdd, 0x6a, 0x14, 0x31,
-	0x18, 0x65, 0x76, 0xdd, 0xa9, 0xcd, 0x54, 0x90, 0x58, 0x31, 0xf6, 0xc6, 0xa5, 0xde, 0x2c, 0x88,
-	0x09, 0xac, 0x37, 0xe2, 0x95, 0xd6, 0x3f, 0x56, 0x16, 0x91, 0x78, 0xe7, 0x4d, 0xc8, 0x4e, 0xb2,
-	0x6b, 0x68, 0x26, 0xdf, 0x98, 0x9f, 0xc2, 0xfa, 0x84, 0x3e, 0x81, 0xcf, 0x23, 0x93, 0x59, 0x61,
-	0x4a, 0x5b, 0xe6, 0x6e, 0xce, 0xc9, 0x39, 0x67, 0x4e, 0xbe, 0x7c, 0xe8, 0x45, 0xd4, 0x21, 0x8a,
-	0xd6, 0xca, 0xb8, 0x05, 0xdf, 0xb0, 0x70, 0xb9, 0xb7, 0x72, 0x23, 0x2c, 0xd4, 0xd2, 0x8a, 0x10,
-	0x65, 0xd4, 0xcc, 0x82, 0x54, 0xb4, 0xf5, 0x10, 0x01, 0xcf, 0xaf, 0x89, 0xe9, 0x4d, 0xf1, 0xd9,
-	0xcb, 0xd1, 0xb8, 0x1a, 0x9a, 0x06, 0x5c, 0x1f, 0x78, 0x87, 0x3c, 0x93, 0x3e, 0x39, 0xa7, 0x3d,
-	0xf3, 0x3a, 0x24, 0x1b, 0x7b, 0xf9, 0xf9, 0xdf, 0x02, 0x55, 0x6b, 0x90, 0x8a, 0xeb, 0x5f, 0x49,
-	0x87, 0x88, 0xdf, 0xa2, 0xb2, 0x06, 0xb7, 0x35, 0x3b, 0x52, 0xcc, 0x8b, 0x45, 0xb5, 0x5c, 0xd0,
-	0xb1, 0x82, 0xf4, 0x7d, 0xd6, 0xf3, 0x83, 0x0f, 0x3f, 0x47, 0x55, 0xff, 0x87, 0x20, 0x94, 0xf1,
-	0x64, 0x32, 0x2f, 0x16, 0xc7, 0x17, 0x13, 0x52, 0x70, 0x74, 0xa0, 0x3f, 0x18, 0x8f, 0x9f, 0xa2,
-	0xfb, 0x2a, 0x45, 0xe1, 0x64, 0xa3, 0xc9, 0xb4, 0x53, 0xf0, 0x23, 0x95, 0xe2, 0x57, 0xd9, 0x68,
-	0xfc, 0x18, 0x95, 0x3e, 0x39, 0x61, 0x14, 0xb9, 0x97, 0x0f, 0x66, 0x3e, 0xb9, 0x95, 0xea, 0xe8,
-	0xce, 0x61, 0x14, 0x99, 0xf5, 0xb4, 0x4a, 0x71, 0xa5, 0xf0, 0x13, 0x74, 0x94, 0x0b, 0x1a, 0x45,
-	0xca, 0xcc, 0x97, 0x1d, 0x5c, 0xa9, 0xf3, 0x3f, 0x13, 0x74, 0xd2, 0x5f, 0x2c, 0xb4, 0xe0, 0x82,
-	0xc6, 0xbf, 0xd1, 0x69, 0xeb, 0xe1, 0xca, 0x04, 0x03, 0x4e, 0x6e, 0xac, 0x16, 0x56, 0x6e, 0xb4,
-	0x0d, 0xa4, 0x98, 0x4f, 0x17, 0xd5, 0xf2, 0xf3, 0xf8, 0x3d, 0x87, 0x69, 0xf4, 0xdb, 0x30, 0x6a,
-	0x9d, 0x93, 0x3e, 0xba, 0xe8, 0xf7, 0xfc, 0x51, 0x7b, 0xf3, 0x04, 0x3f, 0xbb, 0x65, 0x26, 0xd7,
-	0xe6, 0xf1, 0x1d, 0x3d, 0x90, 0x61, 0xef, 0x6a, 0x71, 0xe0, 0xf2, 0x50, 0xaa, 0x25, 0xbd, 0xbd,
-	0xd5, 0xe0, 0x35, 0xe9, 0xbb, 0xce, 0xc6, 0x7b, 0x17, 0x3f, 0x91, 0x03, 0x74, 0xf6, 0x09, 0x91,
-	0xbb, 0x6a, 0xe2, 0x87, 0x68, 0x7a, 0xa9, 0xf7, 0xf9, 0x91, 0x8f, 0x79, 0xf7, 0x89, 0x4f, 0xd1,
-	0xec, 0x4a, 0xda, 0xa4, 0x0f, 0xed, 0x7a, 0xf0, 0x66, 0xf2, 0xba, 0xb8, 0x58, 0xff, 0xf8, 0xb2,
-	0x03, 0x5a, 0xff, 0xf4, 0xd0, 0x98, 0xd4, 0x50, 0xf0, 0x3b, 0xf6, 0x1f, 0x40, 0x60, 0xc6, 0x6d,
-	0xbd, 0x64, 0x79, 0x9b, 0xd8, 0x0e, 0xd8, 0xd8, 0xb6, 0x6e, 0xca, 0x2c, 0x7d, 0xf5, 0x2f, 0x00,
-	0x00, 0xff, 0xff, 0x05, 0x70, 0x80, 0x5e, 0x27, 0x03, 0x00, 0x00,
+	// 381 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xcd, 0x8a, 0xdb, 0x30,
+	0x10, 0xc7, 0x71, 0x9c, 0x78, 0xb3, 0x4a, 0x0b, 0x41, 0xdd, 0x52, 0x75, 0x2f, 0x35, 0x7b, 0x32,
+	0x94, 0xda, 0xb0, 0xbd, 0x94, 0x9e, 0x4a, 0x3f, 0x49, 0x08, 0xa5, 0xf8, 0xd8, 0x8b, 0x90, 0x2d,
+	0xc5, 0x15, 0x2b, 0x6b, 0x5c, 0x7d, 0x2c, 0xb8, 0x4f, 0xd0, 0x07, 0xeb, 0x83, 0x15, 0xcb, 0x2e,
+	0xa4, 0x84, 0xc5, 0x37, 0xcd, 0x7f, 0xfe, 0xf3, 0x9b, 0x19, 0x49, 0xe8, 0xa5, 0x13, 0xd6, 0xd1,
+	0x4e, 0x31, 0x77, 0x04, 0xd3, 0x16, 0xf6, 0xae, 0x57, 0xac, 0xa2, 0x0a, 0x6a, 0xa6, 0xa8, 0x75,
+	0xcc, 0x89, 0x42, 0x01, 0xe3, 0x79, 0x67, 0xc0, 0x01, 0x4e, 0xff, 0x33, 0xe7, 0xe7, 0xe6, 0xeb,
+	0x57, 0xb3, 0xb8, 0x1a, 0xda, 0x16, 0xf4, 0x08, 0xbc, 0xf9, 0x13, 0xa1, 0xcd, 0x01, 0x18, 0x2f,
+	0xc5, 0x4f, 0x2f, 0xac, 0xc3, 0xef, 0x50, 0x52, 0x83, 0x3e, 0xca, 0x86, 0x44, 0x69, 0x94, 0x6d,
+	0x6e, 0xb3, 0x7c, 0xae, 0x63, 0xfe, 0x21, 0xf8, 0xcb, 0xa9, 0x0e, 0x3f, 0x47, 0x6b, 0xee, 0x1d,
+	0xd5, 0xac, 0x15, 0x24, 0x4e, 0xa3, 0xec, 0xb2, 0xbc, 0xe0, 0xde, 0x7d, 0x65, 0xad, 0xc0, 0x4f,
+	0x51, 0x62, 0xbc, 0xa6, 0x92, 0x93, 0x65, 0x48, 0xac, 0x8c, 0xd7, 0x3b, 0x3e, 0xc8, 0x43, 0x85,
+	0xe4, 0x64, 0x35, 0xca, 0xdc, 0xbb, 0x1d, 0xc7, 0xcf, 0xd0, 0x45, 0xe8, 0x2d, 0x39, 0x49, 0x82,
+	0x9e, 0x0c, 0xe1, 0x8e, 0xef, 0x97, 0xeb, 0xc5, 0x36, 0x2e, 0x37, 0x46, 0x58, 0xaf, 0x9c, 0xa5,
+	0x5c, 0x9a, 0x9b, 0xdf, 0x0b, 0xf4, 0x68, 0x5c, 0xc3, 0x76, 0xa0, 0xad, 0xc0, 0xbf, 0xd0, 0x55,
+	0x67, 0xe0, 0x5e, 0x5a, 0x09, 0x9a, 0x55, 0x4a, 0x50, 0xc5, 0x2a, 0xa1, 0x2c, 0x89, 0xd2, 0x38,
+	0xdb, 0xdc, 0x7e, 0x99, 0xdf, 0xea, 0x94, 0x96, 0x7f, 0x3b, 0x45, 0x1d, 0x02, 0xe9, 0x93, 0x76,
+	0xa6, 0x2f, 0x9f, 0x74, 0xe7, 0x19, 0xfc, 0x02, 0x9d, 0xce, 0x46, 0x16, 0x61, 0x78, 0x34, 0x49,
+	0x1f, 0xa5, 0xb9, 0xfe, 0x8c, 0xc8, 0x43, 0x44, 0xbc, 0x45, 0xf1, 0x9d, 0xe8, 0xc3, 0xed, 0x5f,
+	0x96, 0xc3, 0x11, 0x5f, 0xa1, 0xd5, 0x3d, 0x53, 0x5e, 0x4c, 0xa0, 0x31, 0x78, 0xbb, 0x78, 0x13,
+	0xed, 0x97, 0xeb, 0x78, 0xbb, 0x2c, 0x1f, 0x33, 0xdb, 0xeb, 0x9a, 0x4e, 0xfc, 0xf7, 0x87, 0xef,
+	0xfb, 0x06, 0xf2, 0xfa, 0x87, 0x81, 0x56, 0xfa, 0x36, 0x07, 0xd3, 0x14, 0xff, 0x02, 0xb0, 0x85,
+	0xd4, 0x47, 0xc3, 0x8a, 0xf0, 0xf6, 0x45, 0x03, 0xc5, 0xdc, 0x67, 0xa9, 0x92, 0x60, 0x7d, 0xfd,
+	0x37, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x1a, 0x74, 0xe1, 0xa6, 0x02, 0x00, 0x00,
 }
diff --git a/go/test_platform/skylab_test_runner/config.pb.go b/go/test_platform/skylab_test_runner/config.pb.go
index b13d99f..435c996 100644
--- a/go/test_platform/skylab_test_runner/config.pb.go
+++ b/go/test_platform/skylab_test_runner/config.pb.go
@@ -163,9 +163,6 @@
 	// Autotest directory inside the drone container,
 	// e.g. "/usr/local/autotest".
 	AutotestDir string `protobuf:"bytes,1,opt,name=autotest_dir,json=autotestDir,proto3" json:"autotest_dir,omitempty"`
-	// Subdirectory, as relative path from the autotest results directory,
-	// to use for synchronous offloads
-	SynchOffloadSubdir string `protobuf:"bytes,2,opt,name=synch_offload_subdir,json=synchOffloadSubdir,proto3" json:"synch_offload_subdir,omitempty"`
 	// The name of the base lxc image used for Server Side Packaging (SSP).
 	//
 	// autoserv fetches the base image from a hard-coded path on Google
@@ -212,13 +209,6 @@
 	return ""
 }
 
-func (m *Config_Harness) GetSynchOffloadSubdir() string {
-	if m != nil {
-		return m.SynchOffloadSubdir
-	}
-	return ""
-}
-
 func (m *Config_Harness) GetSspBaseImageName() string {
 	if m != nil {
 		return m.SspBaseImageName
@@ -236,10 +226,6 @@
 // Output defines parameters around how the task will deliver output to
 // the callers, e.g. Google Storage bucket.
 type Config_Output struct {
-	// A Google Storage path to upload a specified subset of log-data
-	// synchronously.
-	// This synchronous upload mechanism is obviated by log_data_gs_dir.
-	GsRootDir string `protobuf:"bytes,1,opt,name=gs_root_dir,json=gsRootDir,proto3" json:"gs_root_dir,omitempty"`
 	// A Google Storage path prefix to upload all log-data to synchronously.
 	// Reflected in the test_platform.skylab_test_runner.Result.log_data
 	// returned by the task.
@@ -274,13 +260,6 @@
 
 var xxx_messageInfo_Config_Output proto.InternalMessageInfo
 
-func (m *Config_Output) GetGsRootDir() string {
-	if m != nil {
-		return m.GsRootDir
-	}
-	return ""
-}
-
 func (m *Config_Output) GetLogDataGsRoot() string {
 	if m != nil {
 		return m.LogDataGsRoot
@@ -349,40 +328,40 @@
 }
 
 var fileDescriptor_b2c5f9be4f684081 = []byte{
-	// 557 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x41, 0x4f, 0x14, 0x31,
-	0x14, 0xc7, 0xb3, 0xac, 0x2c, 0xa1, 0x80, 0x59, 0xeb, 0xaa, 0x93, 0x3d, 0x18, 0xd4, 0x18, 0x49,
-	0x94, 0x19, 0xa2, 0xc6, 0x78, 0xf2, 0x80, 0x44, 0x84, 0x6c, 0x04, 0x67, 0xc3, 0xc5, 0x68, 0x9a,
-	0x76, 0xa6, 0x33, 0x3b, 0x38, 0xd3, 0xd7, 0xf4, 0xb5, 0x10, 0xbe, 0x82, 0xdf, 0xcb, 0x6f, 0xe5,
-	0xc1, 0x6c, 0x3b, 0xb3, 0x0a, 0x1e, 0xc0, 0x63, 0xdf, 0xff, 0xff, 0xff, 0xf5, 0xbd, 0x7d, 0xdd,
-	0x21, 0xdb, 0x56, 0xa2, 0x65, 0xba, 0xe6, 0xb6, 0x00, 0xd3, 0x24, 0xf8, 0xfd, 0xa2, 0xe6, 0x82,
-	0xf9, 0xa2, 0x71, 0x4a, 0x49, 0x93, 0x64, 0xa0, 0x8a, 0xaa, 0x8c, 0xb5, 0x01, 0x0b, 0x74, 0xf3,
-	0x92, 0x3d, 0xfe, 0xd7, 0x3e, 0x7e, 0x7a, 0x19, 0xa8, 0x67, 0x80, 0x7a, 0x06, 0xc6, 0x61, 0x92,
-	0x41, 0xd3, 0x80, 0x0a, 0xa0, 0xc7, 0xbf, 0x06, 0x64, 0xf0, 0xde, 0x93, 0xe9, 0x3b, 0xd2, 0xaf,
-	0xb9, 0x88, 0x7a, 0x9b, 0xbd, 0xad, 0xb5, 0x97, 0x2f, 0xe2, 0xeb, 0x6e, 0x88, 0x43, 0x2c, 0x9e,
-	0x70, 0x91, 0xce, 0x83, 0xf4, 0x90, 0xac, 0xcc, 0xb8, 0x51, 0x12, 0x31, 0x5a, 0xf2, 0x8c, 0x9d,
-	0x1b, 0x33, 0x3e, 0x86, 0x5c, 0xda, 0x01, 0xe8, 0x3e, 0x19, 0x80, 0xb3, 0xda, 0xd9, 0xa8, 0xef,
-	0x51, 0xc9, 0x8d, 0x51, 0x47, 0x3e, 0x96, 0xb6, 0x71, 0xfa, 0x8d, 0x50, 0x23, 0xd1, 0xd5, 0x96,
-	0x15, 0x35, 0x9c, 0x33, 0xed, 0x04, 0x3a, 0x11, 0xdd, 0xfa, 0x4f, 0xe8, 0xb1, 0x13, 0x53, 0x27,
-	0xd2, 0x61, 0x40, 0x7d, 0xa8, 0xe1, 0xfc, 0xd8, 0x83, 0xe8, 0x57, 0x32, 0xaa, 0xa1, 0x64, 0x39,
-	0xb7, 0x9c, 0x39, 0x5d, 0x03, 0xcf, 0x19, 0x5a, 0xa9, 0xa3, 0x65, 0x7f, 0xc1, 0xf3, 0x2b, 0x17,
-	0xfc, 0x59, 0x42, 0x3c, 0x81, 0x72, 0x8f, 0x5b, 0x7e, 0xe2, 0x33, 0x53, 0x2b, 0x75, 0x7a, 0xa7,
-	0xbe, 0x5a, 0x1a, 0xff, 0xe8, 0x91, 0xfe, 0x84, 0x0b, 0xfa, 0x84, 0x6c, 0xf0, 0xbc, 0xa9, 0x14,
-	0x43, 0x69, 0xce, 0xaa, 0x4c, 0xfa, 0x1d, 0xad, 0xa6, 0xeb, 0xbe, 0x38, 0x0d, 0x35, 0xfa, 0x9a,
-	0xdc, 0xcf, 0x0c, 0x20, 0xab, 0xd4, 0x99, 0x54, 0x16, 0xcc, 0xc5, 0xc2, 0xbd, 0xe4, 0xdd, 0xa3,
-	0xb9, 0x7a, 0xd0, 0x89, 0x5d, 0x6a, 0x8b, 0x0c, 0x7d, 0xca, 0x15, 0xb8, 0xf0, 0xf7, 0xbd, 0xff,
-	0xf6, 0xbc, 0x7e, 0x52, 0x60, 0xeb, 0x1c, 0xff, 0xec, 0x91, 0x95, 0x76, 0x4f, 0xf4, 0x11, 0x59,
-	0xe7, 0xce, 0x82, 0x9f, 0x2e, 0xaf, 0x4c, 0xdb, 0xcf, 0x5a, 0x57, 0xdb, 0xab, 0x0c, 0xdd, 0x21,
-	0x23, 0xbc, 0x50, 0xd9, 0x8c, 0x41, 0x51, 0x84, 0xdf, 0xc5, 0x89, 0xb9, 0x35, 0x34, 0x43, 0xbd,
-	0x76, 0x14, 0xa4, 0xa9, 0x57, 0xe8, 0x36, 0xb9, 0x8b, 0xa8, 0x99, 0xe0, 0x28, 0x59, 0xd5, 0xf0,
-	0x52, 0x32, 0xc5, 0x9b, 0xae, 0x9b, 0x21, 0xa2, 0xde, 0xe5, 0x28, 0x0f, 0xe6, 0xc2, 0x27, 0xde,
-	0x48, 0xfa, 0x86, 0x3c, 0xd0, 0x46, 0x9e, 0x82, 0x60, 0xb9, 0xe4, 0x79, 0x5d, 0x29, 0xc9, 0x50,
-	0x66, 0xa0, 0x72, 0xf4, 0xeb, 0xed, 0xa7, 0xf7, 0x82, 0xbc, 0xd7, 0xaa, 0xd3, 0x20, 0x8e, 0x3f,
-	0x93, 0x41, 0x78, 0x23, 0xf4, 0x21, 0x59, 0x2b, 0x91, 0x19, 0x80, 0xbf, 0x87, 0x58, 0x2d, 0x31,
-	0x05, 0xf0, 0x23, 0x3c, 0x23, 0xc3, 0xc5, 0x72, 0x5b, 0x63, 0xdb, 0xfe, 0x46, 0xbb, 0xab, 0x7d,
-	0xef, 0x1d, 0xbf, 0x25, 0x83, 0xf0, 0x42, 0x68, 0x44, 0x56, 0xb4, 0x81, 0x53, 0x99, 0xd9, 0x16,
-	0xd7, 0x1d, 0xe9, 0x88, 0x2c, 0x5b, 0xd0, 0x55, 0xd6, 0x12, 0xc2, 0x61, 0x77, 0xf2, 0xe5, 0xb0,
-	0x84, 0x38, 0x9b, 0x19, 0x68, 0x2a, 0xd7, 0xc4, 0x60, 0xca, 0xa4, 0x3b, 0x00, 0x26, 0x95, 0x2a,
-	0x0c, 0x4f, 0xfc, 0x1f, 0x35, 0x29, 0x21, 0xb9, 0xee, 0x13, 0x21, 0x06, 0xde, 0xfa, 0xea, 0x77,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0x68, 0x24, 0x61, 0xd5, 0x4d, 0x04, 0x00, 0x00,
+	// 552 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xd1, 0x6e, 0xd3, 0x3e,
+	0x18, 0xc5, 0xd5, 0x76, 0xeb, 0xf6, 0xf7, 0xb6, 0xbf, 0x8a, 0x29, 0x10, 0xf5, 0x6a, 0x80, 0x10,
+	0x93, 0x60, 0x09, 0x02, 0x84, 0xb8, 0xe2, 0x62, 0x54, 0x8c, 0x55, 0x15, 0x4c, 0xa9, 0x76, 0x83,
+	0x40, 0x96, 0x9d, 0x38, 0xa9, 0x47, 0xe2, 0xcf, 0xf2, 0x67, 0x6f, 0xda, 0x2b, 0xf0, 0x32, 0x3c,
+	0x0f, 0x6f, 0x83, 0xea, 0x24, 0x43, 0x1b, 0x17, 0x1b, 0x97, 0xfe, 0xce, 0x39, 0x3f, 0xc7, 0x3e,
+	0x31, 0xd9, 0x77, 0x12, 0x1d, 0x33, 0x15, 0x77, 0x05, 0xd8, 0x3a, 0xc1, 0xef, 0x17, 0x15, 0x17,
+	0x2c, 0x0c, 0xad, 0xd7, 0x5a, 0xda, 0x24, 0x03, 0x5d, 0xa8, 0x32, 0x36, 0x16, 0x1c, 0xd0, 0xdd,
+	0x2b, 0xf6, 0xf8, 0x6f, 0xfb, 0xe4, 0xc9, 0x55, 0xa0, 0x59, 0x02, 0x9a, 0x25, 0x58, 0x8f, 0x49,
+	0x06, 0x75, 0x0d, 0xba, 0x01, 0x3d, 0xfa, 0x35, 0x24, 0xc3, 0xf7, 0x81, 0x4c, 0xdf, 0x91, 0x41,
+	0xc5, 0x45, 0xd4, 0xdb, 0xed, 0xed, 0x6d, 0xbd, 0x7c, 0x1e, 0xdf, 0xb4, 0x43, 0xdc, 0xc4, 0xe2,
+	0x39, 0x17, 0xe9, 0x2a, 0x48, 0x67, 0x64, 0x63, 0xc9, 0xad, 0x96, 0x88, 0x51, 0x3f, 0x30, 0x5e,
+	0xdc, 0x9a, 0xf1, 0xb1, 0xc9, 0xa5, 0x1d, 0x80, 0x1e, 0x92, 0x21, 0x78, 0x67, 0xbc, 0x8b, 0x06,
+	0x01, 0x95, 0xdc, 0x1a, 0xf5, 0x39, 0xc4, 0xd2, 0x36, 0x4e, 0xbf, 0x11, 0x6a, 0x25, 0xfa, 0xca,
+	0xb1, 0xa2, 0x82, 0x73, 0x66, 0xbc, 0x40, 0x2f, 0xa2, 0xb5, 0x7f, 0x84, 0x1e, 0x7b, 0xb1, 0xf0,
+	0x22, 0x1d, 0x35, 0xa8, 0x0f, 0x15, 0x9c, 0x1f, 0x07, 0x10, 0xfd, 0x4a, 0xc6, 0x15, 0x94, 0x2c,
+	0xe7, 0x8e, 0x33, 0x6f, 0x2a, 0xe0, 0x39, 0x43, 0x27, 0x4d, 0xb4, 0x1e, 0x36, 0x78, 0x76, 0x6d,
+	0x83, 0x3f, 0x25, 0xc4, 0x73, 0x28, 0xa7, 0xdc, 0xf1, 0x93, 0x90, 0x59, 0x38, 0x69, 0xd2, 0x3b,
+	0xd5, 0xf5, 0xd1, 0xe4, 0x47, 0x8f, 0x0c, 0xe6, 0x5c, 0xd0, 0xc7, 0x64, 0x87, 0xe7, 0xb5, 0xd2,
+	0x0c, 0xa5, 0x3d, 0x53, 0x99, 0x0c, 0x1d, 0xfd, 0x97, 0x6e, 0x87, 0xe1, 0xa2, 0x99, 0xd1, 0xd7,
+	0xe4, 0x7e, 0x66, 0x01, 0x99, 0xd2, 0x67, 0x52, 0x3b, 0xb0, 0x17, 0x97, 0xee, 0x7e, 0x70, 0x8f,
+	0x57, 0xea, 0x51, 0x27, 0x76, 0xa9, 0x3d, 0x32, 0x0a, 0x29, 0x5f, 0xe0, 0xa5, 0x7f, 0x10, 0xfc,
+	0xff, 0xaf, 0xe6, 0x27, 0x05, 0xb6, 0xce, 0xc9, 0xcf, 0x1e, 0xd9, 0x68, 0x7b, 0xa2, 0x0f, 0xc9,
+	0x36, 0xf7, 0x0e, 0xc2, 0xe9, 0x72, 0x65, 0xdb, 0xef, 0xd9, 0xea, 0x66, 0x53, 0x65, 0xe9, 0x3e,
+	0xb9, 0x8b, 0x68, 0x98, 0xe0, 0x28, 0x99, 0xaa, 0x79, 0x29, 0x99, 0xe6, 0x75, 0xc7, 0x1e, 0x21,
+	0x9a, 0x03, 0x8e, 0xf2, 0x68, 0x25, 0x7c, 0xe2, 0xb5, 0xa4, 0x6f, 0xc8, 0x03, 0x63, 0xe5, 0x29,
+	0x08, 0x96, 0x4b, 0x9e, 0x57, 0x4a, 0x4b, 0x86, 0x32, 0x03, 0x9d, 0x63, 0x28, 0x6b, 0x90, 0xde,
+	0x6b, 0xe4, 0x69, 0xab, 0x2e, 0x1a, 0x71, 0xb6, 0xb6, 0xd9, 0x1f, 0x0d, 0xd2, 0x31, 0x5e, 0xe8,
+	0x6c, 0xc9, 0xa0, 0x28, 0x9a, 0x0a, 0xbc, 0xc8, 0x95, 0x9d, 0x4c, 0xc9, 0xb0, 0xf9, 0x1b, 0xe8,
+	0x53, 0x32, 0xba, 0xac, 0xa9, 0x44, 0x66, 0x01, 0x5c, 0x7b, 0x2b, 0x3b, 0xed, 0xad, 0x1f, 0x62,
+	0x0a, 0xe0, 0x66, 0x6b, 0x9b, 0xbd, 0x51, 0x3f, 0xdd, 0x6a, 0x3d, 0xab, 0xb3, 0x4d, 0xde, 0x92,
+	0x61, 0x53, 0x3f, 0x8d, 0xc8, 0x86, 0xb1, 0x70, 0x2a, 0x33, 0xd7, 0x1e, 0xb8, 0x5b, 0xd2, 0x31,
+	0x59, 0x77, 0x60, 0x54, 0xd6, 0x42, 0x9b, 0xc5, 0xc1, 0xfc, 0xcb, 0xac, 0x84, 0x38, 0x5b, 0x5a,
+	0xa8, 0x95, 0xaf, 0x63, 0xb0, 0x65, 0xd2, 0x2d, 0x00, 0x13, 0xa5, 0x0b, 0xcb, 0x93, 0xf0, 0x0a,
+	0x93, 0x12, 0x92, 0x9b, 0xde, 0xbf, 0x18, 0x06, 0xeb, 0xab, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0x57, 0x60, 0x65, 0x37, 0x2a, 0x04, 0x00, 0x00,
 }
diff --git a/go/test_platform/skylab_test_runner/result.pb.go b/go/test_platform/skylab_test_runner/result.pb.go
index b10cca0..4ce4cfb 100644
--- a/go/test_platform/skylab_test_runner/result.pb.go
+++ b/go/test_platform/skylab_test_runner/result.pb.go
@@ -50,7 +50,7 @@
 }
 
 func (Result_Autotest_TestCase_Verdict) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 0, 0, 0}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 0, 0, 0}
 }
 
 // Verdict defines the final step status. Eventually may have different
@@ -80,58 +80,7 @@
 }
 
 func (Result_Prejob_Step_Verdict) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 1, 0, 0}
-}
-
-// AsyncResults contains references to locations where task results will
-// eventually be available.
-type AsyncResults struct {
-	// The URL at which a human will be able to view the task's logs.
-	LogsUrl string `protobuf:"bytes,1,opt,name=logs_url,json=logsUrl,proto3" json:"logs_url,omitempty"`
-	// The full google storage URL at which a task's full logs will be stored.
-	GsUrl                string   `protobuf:"bytes,2,opt,name=gs_url,json=gsUrl,proto3" json:"gs_url,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *AsyncResults) Reset()         { *m = AsyncResults{} }
-func (m *AsyncResults) String() string { return proto.CompactTextString(m) }
-func (*AsyncResults) ProtoMessage()    {}
-func (*AsyncResults) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{0}
-}
-
-func (m *AsyncResults) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AsyncResults.Unmarshal(m, b)
-}
-func (m *AsyncResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AsyncResults.Marshal(b, m, deterministic)
-}
-func (m *AsyncResults) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AsyncResults.Merge(m, src)
-}
-func (m *AsyncResults) XXX_Size() int {
-	return xxx_messageInfo_AsyncResults.Size(m)
-}
-func (m *AsyncResults) XXX_DiscardUnknown() {
-	xxx_messageInfo_AsyncResults.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AsyncResults proto.InternalMessageInfo
-
-func (m *AsyncResults) GetLogsUrl() string {
-	if m != nil {
-		return m.LogsUrl
-	}
-	return ""
-}
-
-func (m *AsyncResults) GetGsUrl() string {
-	if m != nil {
-		return m.GsUrl
-	}
-	return ""
+	return fileDescriptor_e702ec909b65d32c, []int{0, 1, 0, 0}
 }
 
 // Result defines the output format of skylab_test_runner.
@@ -141,11 +90,10 @@
 	//
 	// Types that are valid to be assigned to Harness:
 	//	*Result_AutotestResult
-	Harness      isResult_Harness    `protobuf_oneof:"harness"`
-	Prejob       *Result_Prejob      `protobuf:"bytes,2,opt,name=prejob,proto3" json:"prejob,omitempty"`
-	LogData      *common.TaskLogData `protobuf:"bytes,3,opt,name=log_data,json=logData,proto3" json:"log_data,omitempty"`
-	StateUpdate  *Result_StateUpdate `protobuf:"bytes,4,opt,name=state_update,json=stateUpdate,proto3" json:"state_update,omitempty"`
-	AsyncResults *AsyncResults       `protobuf:"bytes,5,opt,name=async_results,json=asyncResults,proto3" json:"async_results,omitempty"`
+	Harness     isResult_Harness    `protobuf_oneof:"harness"`
+	Prejob      *Result_Prejob      `protobuf:"bytes,2,opt,name=prejob,proto3" json:"prejob,omitempty"`
+	LogData     *common.TaskLogData `protobuf:"bytes,3,opt,name=log_data,json=logData,proto3" json:"log_data,omitempty"`
+	StateUpdate *Result_StateUpdate `protobuf:"bytes,4,opt,name=state_update,json=stateUpdate,proto3" json:"state_update,omitempty"`
 	// Set of test results. The string is a UUID used to identify each test, and
 	// comes from the client.
 	AutotestResults      map[string]*Result_Autotest `protobuf:"bytes,6,rep,name=autotest_results,json=autotestResults,proto3" json:"autotest_results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
@@ -158,7 +106,7 @@
 func (m *Result) String() string { return proto.CompactTextString(m) }
 func (*Result) ProtoMessage()    {}
 func (*Result) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1}
+	return fileDescriptor_e702ec909b65d32c, []int{0}
 }
 
 func (m *Result) XXX_Unmarshal(b []byte) error {
@@ -224,13 +172,6 @@
 	return nil
 }
 
-func (m *Result) GetAsyncResults() *AsyncResults {
-	if m != nil {
-		return m.AsyncResults
-	}
-	return nil
-}
-
 func (m *Result) GetAutotestResults() map[string]*Result_Autotest {
 	if m != nil {
 		return m.AutotestResults
@@ -262,7 +203,7 @@
 func (m *Result_Autotest) String() string { return proto.CompactTextString(m) }
 func (*Result_Autotest) ProtoMessage()    {}
 func (*Result_Autotest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 0}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 0}
 }
 
 func (m *Result_Autotest) XXX_Unmarshal(b []byte) error {
@@ -324,7 +265,7 @@
 func (m *Result_Autotest_TestCase) String() string { return proto.CompactTextString(m) }
 func (*Result_Autotest_TestCase) ProtoMessage()    {}
 func (*Result_Autotest_TestCase) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 0, 0}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 0, 0}
 }
 
 func (m *Result_Autotest_TestCase) XXX_Unmarshal(b []byte) error {
@@ -379,7 +320,7 @@
 func (m *Result_Prejob) String() string { return proto.CompactTextString(m) }
 func (*Result_Prejob) ProtoMessage()    {}
 func (*Result_Prejob) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 1}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 1}
 }
 
 func (m *Result_Prejob) XXX_Unmarshal(b []byte) error {
@@ -426,7 +367,7 @@
 func (m *Result_Prejob_Step) String() string { return proto.CompactTextString(m) }
 func (*Result_Prejob_Step) ProtoMessage()    {}
 func (*Result_Prejob_Step) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 1, 0}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 1, 0}
 }
 
 func (m *Result_Prejob_Step) XXX_Unmarshal(b []byte) error {
@@ -482,7 +423,7 @@
 func (m *Result_StateUpdate) String() string { return proto.CompactTextString(m) }
 func (*Result_StateUpdate) ProtoMessage()    {}
 func (*Result_StateUpdate) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e702ec909b65d32c, []int{1, 2}
+	return fileDescriptor_e702ec909b65d32c, []int{0, 2}
 }
 
 func (m *Result_StateUpdate) XXX_Unmarshal(b []byte) error {
@@ -513,7 +454,6 @@
 func init() {
 	proto.RegisterEnum("test_platform.skylab_test_runner.Result_Autotest_TestCase_Verdict", Result_Autotest_TestCase_Verdict_name, Result_Autotest_TestCase_Verdict_value)
 	proto.RegisterEnum("test_platform.skylab_test_runner.Result_Prejob_Step_Verdict", Result_Prejob_Step_Verdict_name, Result_Prejob_Step_Verdict_value)
-	proto.RegisterType((*AsyncResults)(nil), "test_platform.skylab_test_runner.AsyncResults")
 	proto.RegisterType((*Result)(nil), "test_platform.skylab_test_runner.Result")
 	proto.RegisterMapType((map[string]*Result_Autotest)(nil), "test_platform.skylab_test_runner.Result.AutotestResultsEntry")
 	proto.RegisterType((*Result_Autotest)(nil), "test_platform.skylab_test_runner.Result.Autotest")
@@ -528,48 +468,45 @@
 }
 
 var fileDescriptor_e702ec909b65d32c = []byte{
-	// 679 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xed, 0x4a, 0x1b, 0x4d,
-	0x14, 0xc7, 0xcd, 0x8b, 0x79, 0x39, 0xc9, 0xa3, 0x79, 0x06, 0x95, 0x74, 0x0b, 0xad, 0xf5, 0x93,
-	0x14, 0xba, 0x4b, 0x53, 0xa1, 0x45, 0x2c, 0x34, 0x9a, 0xf8, 0x52, 0xc4, 0xca, 0xc4, 0x58, 0x5a,
-	0x84, 0x65, 0x92, 0x8c, 0x49, 0x9a, 0xdd, 0x9d, 0x65, 0x66, 0x56, 0xc8, 0x5d, 0xf4, 0x9e, 0xfa,
-	0xb9, 0x1f, 0x7a, 0x23, 0xbd, 0x86, 0xb2, 0x67, 0x67, 0x69, 0xb4, 0x82, 0x46, 0xfc, 0x36, 0x73,
-	0x5e, 0x7e, 0x67, 0xe6, 0xfc, 0xe7, 0xec, 0xc2, 0x2b, 0xcd, 0x95, 0x76, 0x43, 0x8f, 0xe9, 0x4b,
-	0x21, 0x7d, 0x47, 0x4d, 0xa6, 0x1e, 0xeb, 0xb9, 0x68, 0x94, 0x51, 0x10, 0x70, 0xe9, 0x48, 0xae,
-	0x22, 0x4f, 0xdb, 0xa1, 0x14, 0x5a, 0x90, 0xf5, 0x6b, 0xe1, 0xf6, 0xbf, 0xe1, 0xd6, 0xf3, 0xeb,
-	0xc0, 0xbe, 0xf0, 0x7d, 0x11, 0x38, 0x9a, 0xa9, 0x49, 0x82, 0xd8, 0xf8, 0x00, 0xd5, 0xa6, 0x9a,
-	0x06, 0x7d, 0x8a, 0x5c, 0x45, 0x9e, 0x40, 0xc9, 0x13, 0x43, 0xe5, 0x46, 0xd2, 0xab, 0x67, 0xd6,
-	0x33, 0x9b, 0x65, 0x5a, 0x8c, 0xf7, 0x5d, 0xe9, 0x91, 0x55, 0x28, 0x18, 0x47, 0x16, 0x1d, 0x8b,
-	0x68, 0xde, 0xf8, 0x59, 0x81, 0x42, 0x92, 0x4d, 0x2e, 0x60, 0x99, 0x45, 0x5a, 0x24, 0x07, 0x40,
-	0x13, 0x32, 0x2a, 0x8d, 0xd7, 0xf6, 0x5d, 0x27, 0xb5, 0x13, 0x84, 0xdd, 0x34, 0xf9, 0x87, 0x0b,
-	0x74, 0x29, 0x65, 0x19, 0xfa, 0x01, 0x14, 0x42, 0xc9, 0xbf, 0x89, 0x1e, 0xd6, 0xaf, 0x34, 0x9c,
-	0x7b, 0x43, 0x4f, 0x31, 0x8d, 0x9a, 0x74, 0xb2, 0x83, 0x77, 0x74, 0x07, 0x4c, 0xb3, 0x7a, 0x0e,
-	0x51, 0x2f, 0x6e, 0xa0, 0x92, 0x3e, 0xd9, 0x67, 0x4c, 0x4d, 0x8e, 0xc5, 0xb0, 0xc5, 0x34, 0xc3,
-	0x36, 0xc4, 0x0b, 0xf2, 0x19, 0xaa, 0x4a, 0x33, 0xcd, 0xdd, 0x28, 0x1c, 0x30, 0xcd, 0xeb, 0x79,
-	0x24, 0x6c, 0xdd, 0xfb, 0x30, 0x9d, 0x38, 0xb9, 0x8b, 0xb9, 0xb4, 0xa2, 0xfe, 0x6e, 0x48, 0x07,
-	0xfe, 0x63, 0xb1, 0x14, 0xa6, 0x75, 0xaa, 0xbe, 0x88, 0x64, 0xfb, 0x6e, 0xf2, 0xac, 0x82, 0xb4,
-	0xca, 0x66, 0xf5, 0x1c, 0x41, 0xed, 0x86, 0x24, 0xaa, 0x5e, 0x58, 0xcf, 0x6d, 0x56, 0x1a, 0xef,
-	0xe7, 0xd6, 0xc4, 0x30, 0xdb, 0x81, 0x96, 0x53, 0xba, 0x7c, 0x5d, 0x1d, 0x65, 0xfd, 0xca, 0x41,
-	0x29, 0x8d, 0x24, 0x5f, 0x00, 0x10, 0xd4, 0x67, 0x8a, 0xab, 0x7a, 0x06, 0x0b, 0x6e, 0xcf, 0x5d,
-	0xd0, 0x3e, 0xe3, 0x4a, 0xef, 0x31, 0xc5, 0x69, 0x59, 0x9b, 0x95, 0x22, 0xcf, 0x00, 0xc6, 0x41,
-	0x5f, 0xf8, 0xa1, 0xc7, 0x35, 0xc7, 0xa7, 0x50, 0xa2, 0x33, 0x16, 0xf2, 0x16, 0xea, 0x71, 0x03,
-	0x46, 0x52, 0x04, 0x22, 0x52, 0x6e, 0xaa, 0x34, 0x3e, 0xdc, 0x1c, 0x3e, 0xdc, 0xd5, 0x19, 0xbf,
-	0x91, 0xb7, 0x2b, 0x3d, 0xeb, 0x7b, 0x16, 0x4a, 0x69, 0x41, 0x42, 0x20, 0x1f, 0x30, 0x9f, 0x9b,
-	0x19, 0xc0, 0x35, 0xb9, 0x80, 0xe2, 0x15, 0x97, 0x83, 0x71, 0x5f, 0x63, 0xd9, 0xa5, 0xc6, 0xee,
-	0xc3, 0x6f, 0x64, 0x9f, 0x27, 0x24, 0x9a, 0x22, 0xc9, 0x16, 0xac, 0x8d, 0x22, 0x9f, 0x05, 0xae,
-	0xe4, 0x6c, 0xc0, 0x7a, 0x1e, 0x77, 0x55, 0xe4, 0xfb, 0x4c, 0x4e, 0xcd, 0xa9, 0x57, 0xd0, 0x4b,
-	0x8d, 0xb3, 0x93, 0xf8, 0x36, 0x2e, 0xa0, 0x68, 0x48, 0x64, 0x15, 0xfe, 0x3f, 0x6f, 0xd3, 0xd6,
-	0xd1, 0xde, 0x99, 0xdb, 0x3d, 0x69, 0xb5, 0xf7, 0x8f, 0x4e, 0xda, 0xad, 0xda, 0x02, 0xa9, 0x41,
-	0x35, 0x35, 0x9f, 0x36, 0x3b, 0x9d, 0x5a, 0x66, 0xd6, 0xb2, 0xdf, 0x3c, 0x3a, 0xae, 0x65, 0xc9,
-	0x1a, 0x90, 0xd4, 0x72, 0xf2, 0xc9, 0x35, 0xcb, 0x5a, 0xce, 0xfa, 0x91, 0x85, 0x42, 0x32, 0x3c,
-	0xe4, 0x10, 0xf2, 0x4a, 0xf3, 0xd0, 0x68, 0xb9, 0x35, 0xe7, 0xec, 0xd9, 0x1d, 0xcd, 0x43, 0x8a,
-	0x04, 0xeb, 0x77, 0x06, 0xf2, 0xf1, 0xf6, 0xd6, 0x1e, 0x9f, 0xdf, 0xec, 0xf1, 0xce, 0x43, 0x2a,
-	0x3d, 0x56, 0x77, 0x5b, 0x8f, 0xd1, 0x5d, 0xeb, 0x25, 0x54, 0x66, 0x86, 0x9e, 0x3c, 0x85, 0xf2,
-	0x20, 0xd2, 0x2e, 0x8e, 0xbe, 0xb9, 0x7b, 0x69, 0x10, 0x69, 0x0c, 0xb1, 0x22, 0x58, 0xb9, 0x6d,
-	0xdc, 0x48, 0x0d, 0x72, 0x13, 0x3e, 0x35, 0xe1, 0xf1, 0x92, 0x1c, 0xc0, 0xe2, 0x15, 0xf3, 0x22,
-	0x6e, 0xbe, 0x86, 0xf3, 0x7f, 0x62, 0x69, 0x92, 0xbf, 0x9d, 0x7d, 0x97, 0xd9, 0x2d, 0x43, 0x71,
-	0xc4, 0x64, 0xc0, 0x95, 0xda, 0x3d, 0xfe, 0xfa, 0x71, 0x28, 0xec, 0x78, 0x3e, 0xfc, 0x71, 0xe4,
-	0xdb, 0x42, 0x0e, 0x9d, 0x74, 0x23, 0x94, 0x33, 0x0e, 0x2e, 0x25, 0x73, 0xf0, 0xdf, 0xe1, 0x0c,
-	0x85, 0x73, 0xd7, 0xff, 0xaa, 0x57, 0xc0, 0xd0, 0x37, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xbc,
-	0x2a, 0xde, 0x5c, 0xda, 0x06, 0x00, 0x00,
+	// 637 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xfd, 0x4a, 0x1b, 0x41,
+	0x10, 0xc0, 0xcd, 0x87, 0x97, 0xcb, 0xc4, 0xea, 0x75, 0x51, 0x39, 0xae, 0xd0, 0x5a, 0xff, 0x92,
+	0x42, 0xef, 0xa8, 0x15, 0x5a, 0xc4, 0xfe, 0xa1, 0x26, 0x7e, 0x21, 0x56, 0x36, 0x6a, 0x69, 0x11,
+	0x8e, 0x4d, 0x6e, 0x4d, 0xd2, 0xdc, 0xdd, 0x1e, 0xfb, 0x21, 0xe4, 0x21, 0x0a, 0x7d, 0xa7, 0x3e,
+	0x41, 0x5f, 0xa4, 0xcf, 0x50, 0xb2, 0xb7, 0x47, 0xa3, 0x15, 0x34, 0xe2, 0x7f, 0xb3, 0xf3, 0xf1,
+	0x9b, 0xdb, 0x99, 0x9d, 0x39, 0x78, 0x2b, 0xa9, 0x90, 0x61, 0x16, 0x13, 0x79, 0xc5, 0x78, 0x12,
+	0x88, 0xe1, 0x28, 0x26, 0x9d, 0x50, 0x2b, 0xb9, 0x4a, 0x53, 0xca, 0x03, 0x4e, 0x85, 0x8a, 0xa5,
+	0x9f, 0x71, 0x26, 0x19, 0x5a, 0xb9, 0xe1, 0xee, 0xff, 0xef, 0xee, 0xbd, 0xba, 0x09, 0xec, 0xb2,
+	0x24, 0x61, 0x69, 0x20, 0x89, 0x18, 0xe6, 0x88, 0xd5, 0x1f, 0x0d, 0xb0, 0xb0, 0x66, 0xa2, 0x4b,
+	0x58, 0x20, 0x4a, 0xb2, 0x3c, 0x5c, 0xab, 0xdc, 0xd2, 0x4a, 0x69, 0xad, 0xb1, 0xfe, 0xce, 0xbf,
+	0x2f, 0x8f, 0x9f, 0x23, 0xfc, 0x6d, 0x13, 0x7f, 0x30, 0x83, 0xe7, 0x0b, 0x96, 0xa1, 0xef, 0x83,
+	0x95, 0x71, 0xfa, 0x9d, 0x75, 0xdc, 0xb2, 0x86, 0x06, 0x0f, 0x86, 0x9e, 0xea, 0x30, 0x6c, 0xc2,
+	0xd1, 0x16, 0xd8, 0x31, 0xeb, 0x85, 0x11, 0x91, 0xc4, 0xad, 0x68, 0xd4, 0xeb, 0x5b, 0xa8, 0xfc,
+	0x96, 0xfe, 0x19, 0x11, 0xc3, 0x63, 0xd6, 0x6b, 0x12, 0x49, 0x70, 0x2d, 0xce, 0x05, 0xf4, 0x05,
+	0xe6, 0x84, 0x24, 0x92, 0x86, 0x2a, 0x8b, 0x88, 0xa4, 0x6e, 0x55, 0x13, 0x36, 0x1e, 0xfc, 0x31,
+	0xed, 0x71, 0xf0, 0xb9, 0x8e, 0xc5, 0x0d, 0xf1, 0xef, 0x80, 0xfa, 0xe0, 0xdc, 0xaa, 0x9e, 0x70,
+	0xad, 0x95, 0xca, 0x5a, 0x63, 0xfd, 0xd3, 0xd4, 0xe5, 0xcb, 0x8f, 0xa2, 0x95, 0x4a, 0x3e, 0xc2,
+	0x0b, 0x37, 0x0b, 0x29, 0xbc, 0xdf, 0x15, 0xb0, 0x0b, 0x4f, 0xf4, 0x15, 0x40, 0x83, 0xba, 0x44,
+	0x50, 0xe1, 0x96, 0x74, 0xc2, 0xcd, 0xa9, 0x13, 0xfa, 0x67, 0x54, 0xc8, 0x5d, 0x22, 0x28, 0xae,
+	0x4b, 0x23, 0x09, 0xf4, 0x12, 0x60, 0x90, 0x76, 0x59, 0x92, 0xc5, 0x54, 0x52, 0xdd, 0x35, 0x1b,
+	0x4f, 0x68, 0xd0, 0x07, 0x70, 0xc5, 0x28, 0xed, 0xf6, 0x39, 0x4b, 0x99, 0x12, 0x61, 0xd1, 0x94,
+	0x50, 0xf1, 0x58, 0x37, 0xa6, 0x8e, 0x97, 0x26, 0xec, 0xa6, 0x13, 0xe7, 0x3c, 0xf6, 0x7e, 0x96,
+	0xc1, 0x2e, 0x12, 0x22, 0x04, 0xd5, 0x94, 0x24, 0x54, 0x3f, 0xb5, 0x3a, 0xd6, 0x32, 0xba, 0x84,
+	0xda, 0x35, 0xe5, 0xd1, 0xa0, 0x2b, 0x75, 0xda, 0xf9, 0xf5, 0x9d, 0xc7, 0xdf, 0xc8, 0xbf, 0xc8,
+	0x49, 0xb8, 0x40, 0xa2, 0x0d, 0x58, 0xee, 0xab, 0x84, 0xa4, 0x21, 0xa7, 0x24, 0x22, 0x9d, 0x98,
+	0x86, 0x42, 0x25, 0x09, 0xe1, 0x23, 0xf3, 0xd5, 0x8b, 0xda, 0x8a, 0x8d, 0xb1, 0x9d, 0xdb, 0x56,
+	0x2f, 0xa1, 0x66, 0x48, 0x68, 0x09, 0x9e, 0x5f, 0xb4, 0x70, 0xf3, 0x70, 0xf7, 0x2c, 0x3c, 0x3f,
+	0x69, 0xb6, 0xf6, 0x0e, 0x4f, 0x5a, 0x4d, 0x67, 0x06, 0x39, 0x30, 0x57, 0xa8, 0x4f, 0xb7, 0xdb,
+	0x6d, 0xa7, 0x34, 0xa9, 0xd9, 0xdb, 0x3e, 0x3c, 0x76, 0xca, 0x68, 0x19, 0x50, 0xa1, 0x39, 0xf9,
+	0x1c, 0x1a, 0xd1, 0xa9, 0x78, 0xbf, 0xca, 0x60, 0xe5, 0xef, 0x1c, 0x1d, 0x40, 0x55, 0x48, 0x9a,
+	0x99, 0x5e, 0x6e, 0x4c, 0x39, 0x26, 0x7e, 0x5b, 0xd2, 0x0c, 0x6b, 0x82, 0xf7, 0xa7, 0x04, 0xd5,
+	0xf1, 0xf1, 0xce, 0x1a, 0x5f, 0xdc, 0xae, 0xf1, 0xd6, 0x63, 0x32, 0x3d, 0x55, 0x75, 0x9b, 0x4f,
+	0x51, 0x5d, 0xef, 0x0d, 0x34, 0x26, 0xe6, 0x13, 0xbd, 0x80, 0x7a, 0xa4, 0x64, 0xa8, 0xa7, 0xd4,
+	0xdc, 0xdd, 0x8e, 0x94, 0xd4, 0x2e, 0x9e, 0x82, 0xc5, 0xbb, 0xc6, 0x0d, 0x39, 0x50, 0x19, 0xd2,
+	0x91, 0x71, 0x1f, 0x8b, 0x68, 0x1f, 0x66, 0xaf, 0x49, 0xac, 0xa8, 0x59, 0x5c, 0xd3, 0x6f, 0x43,
+	0x9c, 0xc7, 0x6f, 0x96, 0x3f, 0x96, 0x76, 0xea, 0x50, 0xeb, 0x13, 0x9e, 0x52, 0x21, 0x8e, 0xaa,
+	0xf6, 0xac, 0x63, 0xe1, 0x67, 0x64, 0x3c, 0x24, 0xc5, 0xca, 0xd8, 0x39, 0xfe, 0x76, 0xd4, 0x63,
+	0xfe, 0x78, 0x68, 0x92, 0x81, 0x4a, 0x7c, 0xc6, 0x7b, 0x41, 0x71, 0x60, 0x22, 0x18, 0xa4, 0x57,
+	0x9c, 0x04, 0x7a, 0x73, 0x07, 0x3d, 0x16, 0xdc, 0xf7, 0xb7, 0xe8, 0x58, 0xda, 0xf5, 0xfd, 0xdf,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0x7d, 0xdc, 0x75, 0x79, 0x58, 0x06, 0x00, 0x00,
 }
diff --git a/src/test_platform/phosphorus/common.proto b/src/test_platform/phosphorus/common.proto
index e42b47d..e8ca8b3 100644
--- a/src/test_platform/phosphorus/common.proto
+++ b/src/test_platform/phosphorus/common.proto
@@ -17,10 +17,6 @@
 
 // TaskEnvironment defines task-specific parameters used by phosphorus.
 message TaskEnvironment {
-  // Path to the client offload directory relative to the results directory
-  //  Intended for log-data which is needed synchronously with high reliability
-  string synchronous_offload_dir = 1;
-
   // Absolute path to the results directory for a given run. Include results of
   //  both tests and non-test tasks like provision
   string results_dir = 2;
@@ -37,6 +33,9 @@
   //
   // See go/ctp-ssp for an overview of SSP.
   string ssp_base_image_name = 4;
+
+  reserved 1;
+  reserved "synchronous_offload_dir";
 }
 
 // Knobs specific to the step that uploads log-data to Google Storage.
diff --git a/src/test_platform/skylab_local_state/load.proto b/src/test_platform/skylab_local_state/load.proto
index 5aba9bb..a875d1b 100644
--- a/src/test_platform/skylab_local_state/load.proto
+++ b/src/test_platform/skylab_local_state/load.proto
@@ -9,14 +9,11 @@
 option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_local_state";
 
 import "test_platform/skylab_local_state/common.proto";
-import "test_platform/skylab_test_runner/result.proto";
 
 // LoadRequest defines the input of `skylab_local_state load`.
 message LoadRequest {
   Config config = 1;
 
-  string results_dir = 2 [deprecated=true];
-
   // DUT hostname.
   string dut_name = 3;
 
@@ -28,6 +25,9 @@
 
   // Test ID, used in the results directory name
   string test_id = 6;
+
+  reserved 2;
+  reserved "results_dir";
 }
 
 // LoadResponse defines the output of `skylab_local_state load`.
@@ -39,10 +39,6 @@
   // The path to the newly created directory containing the host info file.
   string results_dir = 2;
 
-  // Paths to future results archives.
-  // These paths depend on the path of the local results directory, so they
-  // become well-defined the moment the local directory is created.
-  // `skylab_local_state load` does not perform the offload to the locations,
-  // the offload happens asynchronously after the task finishes.
-  test_platform.skylab_test_runner.AsyncResults async_results = 3;
+  reserved 3;
+  reserved "async_results";
 }
diff --git a/src/test_platform/skylab_test_runner/config.proto b/src/test_platform/skylab_test_runner/config.proto
index 3b01512..0497c1a 100644
--- a/src/test_platform/skylab_test_runner/config.proto
+++ b/src/test_platform/skylab_test_runner/config.proto
@@ -32,10 +32,6 @@
     // e.g. "/usr/local/autotest".
     string autotest_dir = 1;
 
-    // Subdirectory, as relative path from the autotest results directory,
-    // to use for synchronous offloads
-    string synch_offload_subdir = 2;
-
     // The name of the base lxc image used for Server Side Packaging (SSP).
     //
     // autoserv fetches the base image from a hard-coded path on Google
@@ -46,20 +42,21 @@
 
     // The maximum duration for prejobs (e.g. provisioning).
     int64 prejob_deadline_seconds = 4;
+
+    reserved 2;
+    reserved "synch_offload_subdir";
   }
 
   // Output defines parameters around how the task will deliver output to
   // the callers, e.g. Google Storage bucket.
   message Output {
-    // A Google Storage path to upload a specified subset of log-data
-    // synchronously.
-    // This synchronous upload mechanism is obviated by log_data_gs_dir.
-    string gs_root_dir = 1;
-
     // A Google Storage path prefix to upload all log-data to synchronously.
     // Reflected in the test_platform.skylab_test_runner.Result.log_data
     // returned by the task.
     string log_data_gs_root = 2;
+
+    reserved 1;
+    reserved "gs_root_dir";
   }
 
   // PubSub defines the configuration parameters for PubSub topic.
diff --git a/src/test_platform/skylab_test_runner/result.proto b/src/test_platform/skylab_test_runner/result.proto
index ef7dba8..775a224 100644
--- a/src/test_platform/skylab_test_runner/result.proto
+++ b/src/test_platform/skylab_test_runner/result.proto
@@ -10,16 +10,6 @@
 
 option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_test_runner";
 
-// AsyncResults contains references to locations where task results will
-// eventually be available.
-message AsyncResults {
-  // The URL at which a human will be able to view the task's logs.
-  string logs_url = 1;
-
-  // The full google storage URL at which a task's full logs will be stored.
-  string gs_url = 2;
-}
-
 // Result defines the output format of skylab_test_runner.
 // It contains a summary of test results from a single Swarming task run.
 message Result {
@@ -104,10 +94,11 @@
 
   StateUpdate state_update = 4;
 
-  AsyncResults async_results = 5;
-
   // Set of test results. The string is a UUID used to identify each test, and
   // comes from the client.
   map<string, Autotest> autotest_results = 6;
+
+  reserved 5;
+  reserved "async_results";
 }