diff --git a/magefiles/gen.go b/magefiles/gen.go
index 3176b02..1f00f15 100644
--- a/magefiles/gen.go
+++ b/magefiles/gen.go
@@ -24,7 +24,7 @@ func (g Gen) All() error {
 const (
 	ProtoPath     = "proto/authzed/api"
 	BufRepository = "buf.build/authzed/api"
-	BufTag        = "8a6892e674e78add466b64606dc3ccf5a75f8a97"
+	BufTag        = "4042ec8f7b7e9b2c29d54bf9cc227604fe555a44"
 )
 
 // Proto runs proto codegen
diff --git a/proto/apidocs.swagger.json b/proto/apidocs.swagger.json
index aa58e50..ecbca67 100644
--- a/proto/apidocs.swagger.json
+++ b/proto/apidocs.swagger.json
@@ -3024,12 +3024,18 @@
     }
   },
   "securityDefinitions": {
-    "ApiKeyAuth": {
+    "bearer": {
       "type": "apiKey",
+      "description": "SpiceDB preshared-key, prefixed by Bearer: Bearer \u003cpreshared-key\u003e",
       "name": "Authorization",
       "in": "header"
     }
   },
+  "security": [
+    {
+      "bearer": []
+    }
+  ],
   "externalDocs": {
     "description": "More about the Authzed API.",
     "url": "https://docs.authzed.com/reference/api"
diff --git a/proto/authzed/api/materialize/v0/watchpermissions.pb.go b/proto/authzed/api/materialize/v0/watchpermissions.pb.go
index 3df942e..af9f127 100644
--- a/proto/authzed/api/materialize/v0/watchpermissions.pb.go
+++ b/proto/authzed/api/materialize/v0/watchpermissions.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/materialize/v0/watchpermissions.proto
 
@@ -88,11 +88,9 @@ type WatchPermissionsRequest struct {
 
 func (x *WatchPermissionsRequest) Reset() {
 	*x = WatchPermissionsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchPermissionsRequest) String() string {
@@ -103,7 +101,7 @@ func (*WatchPermissionsRequest) ProtoMessage() {}
 
 func (x *WatchPermissionsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -149,11 +147,9 @@ type WatchedPermission struct {
 
 func (x *WatchedPermission) Reset() {
 	*x = WatchedPermission{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchedPermission) String() string {
@@ -164,7 +160,7 @@ func (*WatchedPermission) ProtoMessage() {}
 
 func (x *WatchedPermission) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -221,11 +217,9 @@ type WatchPermissionsResponse struct {
 
 func (x *WatchPermissionsResponse) Reset() {
 	*x = WatchPermissionsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchPermissionsResponse) String() string {
@@ -236,7 +230,7 @@ func (*WatchPermissionsResponse) ProtoMessage() {}
 
 func (x *WatchPermissionsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -317,11 +311,9 @@ type PermissionChange struct {
 
 func (x *PermissionChange) Reset() {
 	*x = PermissionChange{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *PermissionChange) String() string {
@@ -332,7 +324,7 @@ func (*PermissionChange) ProtoMessage() {}
 
 func (x *PermissionChange) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -524,56 +516,6 @@ func file_authzed_api_materialize_v0_watchpermissions_proto_init() {
 	if File_authzed_api_materialize_v0_watchpermissions_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchPermissionsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchedPermission); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchPermissionsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*PermissionChange); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_materialize_v0_watchpermissions_proto_msgTypes[2].OneofWrappers = []any{
 		(*WatchPermissionsResponse_Change)(nil),
 		(*WatchPermissionsResponse_CompletedRevision)(nil),
diff --git a/proto/authzed/api/materialize/v0/watchpermissions_vtproto.pb.go b/proto/authzed/api/materialize/v0/watchpermissions_vtproto.pb.go
index 2cc3529..57a58a7 100644
--- a/proto/authzed/api/materialize/v0/watchpermissions_vtproto.pb.go
+++ b/proto/authzed/api/materialize/v0/watchpermissions_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/materialize/v0/watchpermissions.proto
 
 package v0
@@ -537,6 +537,10 @@ func (m *WatchPermissionsResponse_Change) MarshalToSizedBufferVT(dAtA []byte) (i
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0xa
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0xa
 	}
 	return len(dAtA) - i, nil
 }
@@ -568,6 +572,10 @@ func (m *WatchPermissionsResponse_CompletedRevision) MarshalToSizedBufferVT(dAtA
 		}
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -756,6 +764,8 @@ func (m *WatchPermissionsResponse_Change) SizeVT() (n int) {
 	if m.Change != nil {
 		l = m.Change.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -774,6 +784,8 @@ func (m *WatchPermissionsResponse_CompletedRevision) SizeVT() (n int) {
 			l = proto.Size(m.CompletedRevision)
 		}
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/materialize/v0/watchpermissionsets.pb.go b/proto/authzed/api/materialize/v0/watchpermissionsets.pb.go
index 072f3dd..74c991e 100644
--- a/proto/authzed/api/materialize/v0/watchpermissionsets.pb.go
+++ b/proto/authzed/api/materialize/v0/watchpermissionsets.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/materialize/v0/watchpermissionsets.proto
 
@@ -82,11 +82,9 @@ type WatchPermissionSetsRequest struct {
 
 func (x *WatchPermissionSetsRequest) Reset() {
 	*x = WatchPermissionSetsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchPermissionSetsRequest) String() string {
@@ -97,7 +95,7 @@ func (*WatchPermissionSetsRequest) ProtoMessage() {}
 
 func (x *WatchPermissionSetsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -135,11 +133,9 @@ type WatchPermissionSetsResponse struct {
 
 func (x *WatchPermissionSetsResponse) Reset() {
 	*x = WatchPermissionSetsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchPermissionSetsResponse) String() string {
@@ -150,7 +146,7 @@ func (*WatchPermissionSetsResponse) ProtoMessage() {}
 
 func (x *WatchPermissionSetsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -264,11 +260,9 @@ type Cursor struct {
 
 func (x *Cursor) Reset() {
 	*x = Cursor{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *Cursor) String() string {
@@ -279,7 +273,7 @@ func (*Cursor) ProtoMessage() {}
 
 func (x *Cursor) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -348,11 +342,9 @@ type LookupPermissionSetsRequest struct {
 
 func (x *LookupPermissionSetsRequest) Reset() {
 	*x = LookupPermissionSetsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupPermissionSetsRequest) String() string {
@@ -363,7 +355,7 @@ func (*LookupPermissionSetsRequest) ProtoMessage() {}
 
 func (x *LookupPermissionSetsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -418,11 +410,9 @@ type LookupPermissionSetsResponse struct {
 
 func (x *LookupPermissionSetsResponse) Reset() {
 	*x = LookupPermissionSetsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupPermissionSetsResponse) String() string {
@@ -433,7 +423,7 @@ func (*LookupPermissionSetsResponse) ProtoMessage() {}
 
 func (x *LookupPermissionSetsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -482,11 +472,9 @@ type PermissionSetChange struct {
 
 func (x *PermissionSetChange) Reset() {
 	*x = PermissionSetChange{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *PermissionSetChange) String() string {
@@ -497,7 +485,7 @@ func (*PermissionSetChange) ProtoMessage() {}
 
 func (x *PermissionSetChange) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -587,11 +575,9 @@ type SetReference struct {
 
 func (x *SetReference) Reset() {
 	*x = SetReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *SetReference) String() string {
@@ -602,7 +588,7 @@ func (*SetReference) ProtoMessage() {}
 
 func (x *SetReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -653,11 +639,9 @@ type MemberReference struct {
 
 func (x *MemberReference) Reset() {
 	*x = MemberReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *MemberReference) String() string {
@@ -668,7 +652,7 @@ func (*MemberReference) ProtoMessage() {}
 
 func (x *MemberReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -718,11 +702,9 @@ type LookupPermissionSetsRequired struct {
 
 func (x *LookupPermissionSetsRequired) Reset() {
 	*x = LookupPermissionSetsRequired{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupPermissionSetsRequired) String() string {
@@ -733,7 +715,7 @@ func (*LookupPermissionSetsRequired) ProtoMessage() {}
 
 func (x *LookupPermissionSetsRequired) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -769,11 +751,9 @@ type BreakingSchemaChange struct {
 
 func (x *BreakingSchemaChange) Reset() {
 	*x = BreakingSchemaChange{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[9]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BreakingSchemaChange) String() string {
@@ -784,7 +764,7 @@ func (*BreakingSchemaChange) ProtoMessage() {}
 
 func (x *BreakingSchemaChange) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[9]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1040,128 +1020,6 @@ func file_authzed_api_materialize_v0_watchpermissionsets_proto_init() {
 	if File_authzed_api_materialize_v0_watchpermissionsets_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchPermissionSetsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchPermissionSetsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*Cursor); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupPermissionSetsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[4].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupPermissionSetsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[5].Exporter = func(v any, i int) any {
-			switch v := v.(*PermissionSetChange); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[6].Exporter = func(v any, i int) any {
-			switch v := v.(*SetReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[7].Exporter = func(v any, i int) any {
-			switch v := v.(*MemberReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[8].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupPermissionSetsRequired); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[9].Exporter = func(v any, i int) any {
-			switch v := v.(*BreakingSchemaChange); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_materialize_v0_watchpermissionsets_proto_msgTypes[1].OneofWrappers = []any{
 		(*WatchPermissionSetsResponse_Change)(nil),
 		(*WatchPermissionSetsResponse_CompletedRevision)(nil),
diff --git a/proto/authzed/api/materialize/v0/watchpermissionsets_vtproto.pb.go b/proto/authzed/api/materialize/v0/watchpermissionsets_vtproto.pb.go
index 0b49970..25c965e 100644
--- a/proto/authzed/api/materialize/v0/watchpermissionsets_vtproto.pb.go
+++ b/proto/authzed/api/materialize/v0/watchpermissionsets_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/materialize/v0/watchpermissionsets.proto
 
 package v0
@@ -849,6 +849,10 @@ func (m *WatchPermissionSetsResponse_Change) MarshalToSizedBufferVT(dAtA []byte)
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0xa
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0xa
 	}
 	return len(dAtA) - i, nil
 }
@@ -880,6 +884,10 @@ func (m *WatchPermissionSetsResponse_CompletedRevision) MarshalToSizedBufferVT(d
 		}
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -899,6 +907,10 @@ func (m *WatchPermissionSetsResponse_LookupPermissionSetsRequired) MarshalToSize
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x1a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1a
 	}
 	return len(dAtA) - i, nil
 }
@@ -918,6 +930,10 @@ func (m *WatchPermissionSetsResponse_BreakingSchemaChange) MarshalToSizedBufferV
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x22
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x22
 	}
 	return len(dAtA) - i, nil
 }
@@ -1221,6 +1237,10 @@ func (m *PermissionSetChange_ChildSet) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x22
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x22
 	}
 	return len(dAtA) - i, nil
 }
@@ -1240,6 +1260,10 @@ func (m *PermissionSetChange_ChildMember) MarshalToSizedBufferVT(dAtA []byte) (i
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x2a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x2a
 	}
 	return len(dAtA) - i, nil
 }
@@ -1503,6 +1527,8 @@ func (m *WatchPermissionSetsResponse_Change) SizeVT() (n int) {
 	if m.Change != nil {
 		l = m.Change.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1521,6 +1547,8 @@ func (m *WatchPermissionSetsResponse_CompletedRevision) SizeVT() (n int) {
 			l = proto.Size(m.CompletedRevision)
 		}
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1533,6 +1561,8 @@ func (m *WatchPermissionSetsResponse_LookupPermissionSetsRequired) SizeVT() (n i
 	if m.LookupPermissionSetsRequired != nil {
 		l = m.LookupPermissionSetsRequired.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1545,6 +1575,8 @@ func (m *WatchPermissionSetsResponse_BreakingSchemaChange) SizeVT() (n int) {
 	if m.BreakingSchemaChange != nil {
 		l = m.BreakingSchemaChange.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1665,6 +1697,8 @@ func (m *PermissionSetChange_ChildSet) SizeVT() (n int) {
 	if m.ChildSet != nil {
 		l = m.ChildSet.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1677,6 +1711,8 @@ func (m *PermissionSetChange_ChildMember) SizeVT() (n int) {
 	if m.ChildMember != nil {
 		l = m.ChildMember.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/materialize/zz_generated.version.go b/proto/authzed/api/materialize/zz_generated.version.go
index 36a12bf..9fd3ec1 100644
--- a/proto/authzed/api/materialize/zz_generated.version.go
+++ b/proto/authzed/api/materialize/zz_generated.version.go
@@ -2,5 +2,5 @@ package materialize
 
 const (
 	BufRepository = "buf.build/authzed/api"
-	BufTag        = "8a6892e674e78add466b64606dc3ccf5a75f8a97"
+	BufTag        = "4042ec8f7b7e9b2c29d54bf9cc227604fe555a44"
 )
diff --git a/proto/authzed/api/v0/core.pb.go b/proto/authzed/api/v0/core.pb.go
index 19ae727..a641c28 100644
--- a/proto/authzed/api/v0/core.pb.go
+++ b/proto/authzed/api/v0/core.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v0/core.proto
 
@@ -43,11 +43,9 @@ type RelationTuple struct {
 
 func (x *RelationTuple) Reset() {
 	*x = RelationTuple{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_core_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_core_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *RelationTuple) String() string {
@@ -58,7 +56,7 @@ func (*RelationTuple) ProtoMessage() {}
 
 func (x *RelationTuple) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_core_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -99,11 +97,9 @@ type ObjectAndRelation struct {
 
 func (x *ObjectAndRelation) Reset() {
 	*x = ObjectAndRelation{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_core_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_core_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ObjectAndRelation) String() string {
@@ -114,7 +110,7 @@ func (*ObjectAndRelation) ProtoMessage() {}
 
 func (x *ObjectAndRelation) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_core_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -161,11 +157,9 @@ type RelationReference struct {
 
 func (x *RelationReference) Reset() {
 	*x = RelationReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_core_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_core_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *RelationReference) String() string {
@@ -176,7 +170,7 @@ func (*RelationReference) ProtoMessage() {}
 
 func (x *RelationReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_core_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -218,11 +212,9 @@ type User struct {
 
 func (x *User) Reset() {
 	*x = User{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_core_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_core_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *User) String() string {
@@ -233,7 +225,7 @@ func (*User) ProtoMessage() {}
 
 func (x *User) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_core_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -369,56 +361,6 @@ func file_authzed_api_v0_core_proto_init() {
 	if File_authzed_api_v0_core_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v0_core_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*RelationTuple); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_core_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*ObjectAndRelation); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_core_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*RelationReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_core_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*User); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_v0_core_proto_msgTypes[3].OneofWrappers = []any{
 		(*User_Userset)(nil),
 	}
diff --git a/proto/authzed/api/v0/core_vtproto.pb.go b/proto/authzed/api/v0/core_vtproto.pb.go
index fe7e027..12ef25e 100644
--- a/proto/authzed/api/v0/core_vtproto.pb.go
+++ b/proto/authzed/api/v0/core_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v0/core.proto
 
 package v0
@@ -434,6 +434,10 @@ func (m *User_Userset) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -517,6 +521,8 @@ func (m *User_Userset) SizeVT() (n int) {
 	if m.Userset != nil {
 		l = m.Userset.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/v0/developer.pb.go b/proto/authzed/api/v0/developer.pb.go
index 02040e4..2d29492 100644
--- a/proto/authzed/api/v0/developer.pb.go
+++ b/proto/authzed/api/v0/developer.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v0/developer.proto
 
@@ -210,11 +210,9 @@ type FormatSchemaRequest struct {
 
 func (x *FormatSchemaRequest) Reset() {
 	*x = FormatSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *FormatSchemaRequest) String() string {
@@ -225,7 +223,7 @@ func (*FormatSchemaRequest) ProtoMessage() {}
 
 func (x *FormatSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -258,11 +256,9 @@ type FormatSchemaResponse struct {
 
 func (x *FormatSchemaResponse) Reset() {
 	*x = FormatSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *FormatSchemaResponse) String() string {
@@ -273,7 +269,7 @@ func (*FormatSchemaResponse) ProtoMessage() {}
 
 func (x *FormatSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -312,11 +308,9 @@ type UpgradeSchemaRequest struct {
 
 func (x *UpgradeSchemaRequest) Reset() {
 	*x = UpgradeSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *UpgradeSchemaRequest) String() string {
@@ -327,7 +321,7 @@ func (*UpgradeSchemaRequest) ProtoMessage() {}
 
 func (x *UpgradeSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -360,11 +354,9 @@ type UpgradeSchemaResponse struct {
 
 func (x *UpgradeSchemaResponse) Reset() {
 	*x = UpgradeSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *UpgradeSchemaResponse) String() string {
@@ -375,7 +367,7 @@ func (*UpgradeSchemaResponse) ProtoMessage() {}
 
 func (x *UpgradeSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -417,11 +409,9 @@ type ShareRequest struct {
 
 func (x *ShareRequest) Reset() {
 	*x = ShareRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ShareRequest) String() string {
@@ -432,7 +422,7 @@ func (*ShareRequest) ProtoMessage() {}
 
 func (x *ShareRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -485,11 +475,9 @@ type ShareResponse struct {
 
 func (x *ShareResponse) Reset() {
 	*x = ShareResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ShareResponse) String() string {
@@ -500,7 +488,7 @@ func (*ShareResponse) ProtoMessage() {}
 
 func (x *ShareResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -532,11 +520,9 @@ type LookupShareRequest struct {
 
 func (x *LookupShareRequest) Reset() {
 	*x = LookupShareRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupShareRequest) String() string {
@@ -547,7 +533,7 @@ func (*LookupShareRequest) ProtoMessage() {}
 
 func (x *LookupShareRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -583,11 +569,9 @@ type LookupShareResponse struct {
 
 func (x *LookupShareResponse) Reset() {
 	*x = LookupShareResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupShareResponse) String() string {
@@ -598,7 +582,7 @@ func (*LookupShareResponse) ProtoMessage() {}
 
 func (x *LookupShareResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -659,11 +643,9 @@ type RequestContext struct {
 
 func (x *RequestContext) Reset() {
 	*x = RequestContext{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *RequestContext) String() string {
@@ -674,7 +656,7 @@ func (*RequestContext) ProtoMessage() {}
 
 func (x *RequestContext) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -714,11 +696,9 @@ type EditCheckRequest struct {
 
 func (x *EditCheckRequest) Reset() {
 	*x = EditCheckRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[9]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *EditCheckRequest) String() string {
@@ -729,7 +709,7 @@ func (*EditCheckRequest) ProtoMessage() {}
 
 func (x *EditCheckRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[9]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -770,11 +750,9 @@ type EditCheckResult struct {
 
 func (x *EditCheckResult) Reset() {
 	*x = EditCheckResult{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[10]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *EditCheckResult) String() string {
@@ -785,7 +763,7 @@ func (*EditCheckResult) ProtoMessage() {}
 
 func (x *EditCheckResult) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[10]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -832,11 +810,9 @@ type EditCheckResponse struct {
 
 func (x *EditCheckResponse) Reset() {
 	*x = EditCheckResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[11]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *EditCheckResponse) String() string {
@@ -847,7 +823,7 @@ func (*EditCheckResponse) ProtoMessage() {}
 
 func (x *EditCheckResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[11]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -889,11 +865,9 @@ type ValidateRequest struct {
 
 func (x *ValidateRequest) Reset() {
 	*x = ValidateRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[12]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ValidateRequest) String() string {
@@ -904,7 +878,7 @@ func (*ValidateRequest) ProtoMessage() {}
 
 func (x *ValidateRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[12]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -959,11 +933,9 @@ type ValidateResponse struct {
 
 func (x *ValidateResponse) Reset() {
 	*x = ValidateResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[13]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ValidateResponse) String() string {
@@ -974,7 +946,7 @@ func (*ValidateResponse) ProtoMessage() {}
 
 func (x *ValidateResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[13]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1028,11 +1000,9 @@ type DeveloperError struct {
 
 func (x *DeveloperError) Reset() {
 	*x = DeveloperError{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v0_developer_proto_msgTypes[14]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v0_developer_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *DeveloperError) String() string {
@@ -1043,7 +1013,7 @@ func (*DeveloperError) ProtoMessage() {}
 
 func (x *DeveloperError) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v0_developer_proto_msgTypes[14]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1399,188 +1369,6 @@ func file_authzed_api_v0_developer_proto_init() {
 		return
 	}
 	file_authzed_api_v0_core_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v0_developer_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*FormatSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*FormatSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*UpgradeSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*UpgradeSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[4].Exporter = func(v any, i int) any {
-			switch v := v.(*ShareRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[5].Exporter = func(v any, i int) any {
-			switch v := v.(*ShareResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[6].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupShareRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[7].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupShareResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[8].Exporter = func(v any, i int) any {
-			switch v := v.(*RequestContext); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[9].Exporter = func(v any, i int) any {
-			switch v := v.(*EditCheckRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[10].Exporter = func(v any, i int) any {
-			switch v := v.(*EditCheckResult); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[11].Exporter = func(v any, i int) any {
-			switch v := v.(*EditCheckResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[12].Exporter = func(v any, i int) any {
-			switch v := v.(*ValidateRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[13].Exporter = func(v any, i int) any {
-			switch v := v.(*ValidateResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v0_developer_proto_msgTypes[14].Exporter = func(v any, i int) any {
-			switch v := v.(*DeveloperError); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/proto/authzed/api/v0/developer_vtproto.pb.go b/proto/authzed/api/v0/developer_vtproto.pb.go
index 1416cef..0073f3d 100644
--- a/proto/authzed/api/v0/developer_vtproto.pb.go
+++ b/proto/authzed/api/v0/developer_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v0/developer.proto
 
 package v0
diff --git a/proto/authzed/api/v0/zz_generated.version.go b/proto/authzed/api/v0/zz_generated.version.go
index da97478..84eeac8 100644
--- a/proto/authzed/api/v0/zz_generated.version.go
+++ b/proto/authzed/api/v0/zz_generated.version.go
@@ -2,5 +2,5 @@ package v0
 
 const (
 	BufRepository = "buf.build/authzed/api"
-	BufTag        = "8a6892e674e78add466b64606dc3ccf5a75f8a97"
+	BufTag        = "4042ec8f7b7e9b2c29d54bf9cc227604fe555a44"
 )
diff --git a/proto/authzed/api/v1/core.pb.go b/proto/authzed/api/v1/core.pb.go
index 2561cdb..5f928ca 100644
--- a/proto/authzed/api/v1/core.pb.go
+++ b/proto/authzed/api/v1/core.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/core.proto
 
@@ -146,11 +146,9 @@ type Relationship struct {
 
 func (x *Relationship) Reset() {
 	*x = Relationship{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *Relationship) String() string {
@@ -161,7 +159,7 @@ func (*Relationship) ProtoMessage() {}
 
 func (x *Relationship) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -220,11 +218,9 @@ type ContextualizedCaveat struct {
 
 func (x *ContextualizedCaveat) Reset() {
 	*x = ContextualizedCaveat{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ContextualizedCaveat) String() string {
@@ -235,7 +231,7 @@ func (*ContextualizedCaveat) ProtoMessage() {}
 
 func (x *ContextualizedCaveat) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -278,11 +274,9 @@ type SubjectReference struct {
 
 func (x *SubjectReference) Reset() {
 	*x = SubjectReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *SubjectReference) String() string {
@@ -293,7 +287,7 @@ func (*SubjectReference) ProtoMessage() {}
 
 func (x *SubjectReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -334,11 +328,9 @@ type ObjectReference struct {
 
 func (x *ObjectReference) Reset() {
 	*x = ObjectReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ObjectReference) String() string {
@@ -349,7 +341,7 @@ func (*ObjectReference) ProtoMessage() {}
 
 func (x *ObjectReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -392,11 +384,9 @@ type ZedToken struct {
 
 func (x *ZedToken) Reset() {
 	*x = ZedToken{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ZedToken) String() string {
@@ -407,7 +397,7 @@ func (*ZedToken) ProtoMessage() {}
 
 func (x *ZedToken) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -441,11 +431,9 @@ type Cursor struct {
 
 func (x *Cursor) Reset() {
 	*x = Cursor{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *Cursor) String() string {
@@ -456,7 +444,7 @@ func (*Cursor) ProtoMessage() {}
 
 func (x *Cursor) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -500,11 +488,9 @@ type RelationshipUpdate struct {
 
 func (x *RelationshipUpdate) Reset() {
 	*x = RelationshipUpdate{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *RelationshipUpdate) String() string {
@@ -515,7 +501,7 @@ func (*RelationshipUpdate) ProtoMessage() {}
 
 func (x *RelationshipUpdate) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -562,11 +548,9 @@ type PermissionRelationshipTree struct {
 
 func (x *PermissionRelationshipTree) Reset() {
 	*x = PermissionRelationshipTree{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *PermissionRelationshipTree) String() string {
@@ -577,7 +561,7 @@ func (*PermissionRelationshipTree) ProtoMessage() {}
 
 func (x *PermissionRelationshipTree) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -664,11 +648,9 @@ type AlgebraicSubjectSet struct {
 
 func (x *AlgebraicSubjectSet) Reset() {
 	*x = AlgebraicSubjectSet{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *AlgebraicSubjectSet) String() string {
@@ -679,7 +661,7 @@ func (*AlgebraicSubjectSet) ProtoMessage() {}
 
 func (x *AlgebraicSubjectSet) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -719,11 +701,9 @@ type DirectSubjectSet struct {
 
 func (x *DirectSubjectSet) Reset() {
 	*x = DirectSubjectSet{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[9]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *DirectSubjectSet) String() string {
@@ -734,7 +714,7 @@ func (*DirectSubjectSet) ProtoMessage() {}
 
 func (x *DirectSubjectSet) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[9]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -770,11 +750,9 @@ type PartialCaveatInfo struct {
 
 func (x *PartialCaveatInfo) Reset() {
 	*x = PartialCaveatInfo{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_core_proto_msgTypes[10]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_core_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *PartialCaveatInfo) String() string {
@@ -785,7 +763,7 @@ func (*PartialCaveatInfo) ProtoMessage() {}
 
 func (x *PartialCaveatInfo) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_core_proto_msgTypes[10]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1006,140 +984,6 @@ func file_authzed_api_v1_core_proto_init() {
 	if File_authzed_api_v1_core_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_core_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*Relationship); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*ContextualizedCaveat); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*SubjectReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*ObjectReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[4].Exporter = func(v any, i int) any {
-			switch v := v.(*ZedToken); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[5].Exporter = func(v any, i int) any {
-			switch v := v.(*Cursor); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[6].Exporter = func(v any, i int) any {
-			switch v := v.(*RelationshipUpdate); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[7].Exporter = func(v any, i int) any {
-			switch v := v.(*PermissionRelationshipTree); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[8].Exporter = func(v any, i int) any {
-			switch v := v.(*AlgebraicSubjectSet); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[9].Exporter = func(v any, i int) any {
-			switch v := v.(*DirectSubjectSet); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_core_proto_msgTypes[10].Exporter = func(v any, i int) any {
-			switch v := v.(*PartialCaveatInfo); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_v1_core_proto_msgTypes[7].OneofWrappers = []any{
 		(*PermissionRelationshipTree_Intermediate)(nil),
 		(*PermissionRelationshipTree_Leaf)(nil),
diff --git a/proto/authzed/api/v1/core_vtproto.pb.go b/proto/authzed/api/v1/core_vtproto.pb.go
index 8505478..33ec15d 100644
--- a/proto/authzed/api/v1/core_vtproto.pb.go
+++ b/proto/authzed/api/v1/core_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/core.proto
 
 package v1
@@ -1008,6 +1008,10 @@ func (m *PermissionRelationshipTree_Intermediate) MarshalToSizedBufferVT(dAtA []
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0xa
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0xa
 	}
 	return len(dAtA) - i, nil
 }
@@ -1027,6 +1031,10 @@ func (m *PermissionRelationshipTree_Leaf) MarshalToSizedBufferVT(dAtA []byte) (i
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -1322,6 +1330,8 @@ func (m *PermissionRelationshipTree_Intermediate) SizeVT() (n int) {
 	if m.Intermediate != nil {
 		l = m.Intermediate.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -1334,6 +1344,8 @@ func (m *PermissionRelationshipTree_Leaf) SizeVT() (n int) {
 	if m.Leaf != nil {
 		l = m.Leaf.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/v1/debug.pb.go b/proto/authzed/api/v1/debug.pb.go
index fc04084..fce0669 100644
--- a/proto/authzed/api/v1/debug.pb.go
+++ b/proto/authzed/api/v1/debug.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/debug.proto
 
@@ -198,11 +198,9 @@ type DebugInformation struct {
 
 func (x *DebugInformation) Reset() {
 	*x = DebugInformation{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_debug_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_debug_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *DebugInformation) String() string {
@@ -213,7 +211,7 @@ func (*DebugInformation) ProtoMessage() {}
 
 func (x *DebugInformation) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_debug_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -275,11 +273,9 @@ type CheckDebugTrace struct {
 
 func (x *CheckDebugTrace) Reset() {
 	*x = CheckDebugTrace{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_debug_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_debug_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckDebugTrace) String() string {
@@ -290,7 +286,7 @@ func (*CheckDebugTrace) ProtoMessage() {}
 
 func (x *CheckDebugTrace) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_debug_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -414,11 +410,9 @@ type CaveatEvalInfo struct {
 
 func (x *CaveatEvalInfo) Reset() {
 	*x = CaveatEvalInfo{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_debug_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_debug_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CaveatEvalInfo) String() string {
@@ -429,7 +423,7 @@ func (*CaveatEvalInfo) ProtoMessage() {}
 
 func (x *CaveatEvalInfo) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_debug_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -489,11 +483,9 @@ type CheckDebugTrace_SubProblems struct {
 
 func (x *CheckDebugTrace_SubProblems) Reset() {
 	*x = CheckDebugTrace_SubProblems{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_debug_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_debug_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckDebugTrace_SubProblems) String() string {
@@ -504,7 +496,7 @@ func (*CheckDebugTrace_SubProblems) ProtoMessage() {}
 
 func (x *CheckDebugTrace_SubProblems) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_debug_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -696,56 +688,6 @@ func file_authzed_api_v1_debug_proto_init() {
 		return
 	}
 	file_authzed_api_v1_core_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_debug_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*DebugInformation); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_debug_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckDebugTrace); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_debug_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*CaveatEvalInfo); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_debug_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckDebugTrace_SubProblems); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_v1_debug_proto_msgTypes[1].OneofWrappers = []any{
 		(*CheckDebugTrace_WasCachedResult)(nil),
 		(*CheckDebugTrace_SubProblems_)(nil),
diff --git a/proto/authzed/api/v1/debug_vtproto.pb.go b/proto/authzed/api/v1/debug_vtproto.pb.go
index 6a270d0..6c7e050 100644
--- a/proto/authzed/api/v1/debug_vtproto.pb.go
+++ b/proto/authzed/api/v1/debug_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/debug.proto
 
 package v1
@@ -535,6 +535,10 @@ func (m *CheckDebugTrace_SubProblems_) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x3a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x3a
 	}
 	return len(dAtA) - i, nil
 }
@@ -701,6 +705,8 @@ func (m *CheckDebugTrace_SubProblems_) SizeVT() (n int) {
 	if m.SubProblems != nil {
 		l = m.SubProblems.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/v1/error_reason.pb.go b/proto/authzed/api/v1/error_reason.pb.go
index 1b3f523..f6536a8 100644
--- a/proto/authzed/api/v1/error_reason.pb.go
+++ b/proto/authzed/api/v1/error_reason.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/error_reason.proto
 
diff --git a/proto/authzed/api/v1/experimental_service.pb.go b/proto/authzed/api/v1/experimental_service.pb.go
index 08f05d2..913e270 100644
--- a/proto/authzed/api/v1/experimental_service.pb.go
+++ b/proto/authzed/api/v1/experimental_service.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/experimental_service.proto
 
@@ -38,11 +38,9 @@ type ExperimentalRegisterRelationshipCounterRequest struct {
 
 func (x *ExperimentalRegisterRelationshipCounterRequest) Reset() {
 	*x = ExperimentalRegisterRelationshipCounterRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalRegisterRelationshipCounterRequest) String() string {
@@ -53,7 +51,7 @@ func (*ExperimentalRegisterRelationshipCounterRequest) ProtoMessage() {}
 
 func (x *ExperimentalRegisterRelationshipCounterRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -90,11 +88,9 @@ type ExperimentalRegisterRelationshipCounterResponse struct {
 
 func (x *ExperimentalRegisterRelationshipCounterResponse) Reset() {
 	*x = ExperimentalRegisterRelationshipCounterResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalRegisterRelationshipCounterResponse) String() string {
@@ -105,7 +101,7 @@ func (*ExperimentalRegisterRelationshipCounterResponse) ProtoMessage() {}
 
 func (x *ExperimentalRegisterRelationshipCounterResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -131,11 +127,9 @@ type ExperimentalCountRelationshipsRequest struct {
 
 func (x *ExperimentalCountRelationshipsRequest) Reset() {
 	*x = ExperimentalCountRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalCountRelationshipsRequest) String() string {
@@ -146,7 +140,7 @@ func (*ExperimentalCountRelationshipsRequest) ProtoMessage() {}
 
 func (x *ExperimentalCountRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -182,11 +176,9 @@ type ExperimentalCountRelationshipsResponse struct {
 
 func (x *ExperimentalCountRelationshipsResponse) Reset() {
 	*x = ExperimentalCountRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalCountRelationshipsResponse) String() string {
@@ -197,7 +189,7 @@ func (*ExperimentalCountRelationshipsResponse) ProtoMessage() {}
 
 func (x *ExperimentalCountRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -266,11 +258,9 @@ type ReadCounterValue struct {
 
 func (x *ReadCounterValue) Reset() {
 	*x = ReadCounterValue{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadCounterValue) String() string {
@@ -281,7 +271,7 @@ func (*ReadCounterValue) ProtoMessage() {}
 
 func (x *ReadCounterValue) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -321,11 +311,9 @@ type ExperimentalUnregisterRelationshipCounterRequest struct {
 
 func (x *ExperimentalUnregisterRelationshipCounterRequest) Reset() {
 	*x = ExperimentalUnregisterRelationshipCounterRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalUnregisterRelationshipCounterRequest) String() string {
@@ -336,7 +324,7 @@ func (*ExperimentalUnregisterRelationshipCounterRequest) ProtoMessage() {}
 
 func (x *ExperimentalUnregisterRelationshipCounterRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -366,11 +354,9 @@ type ExperimentalUnregisterRelationshipCounterResponse struct {
 
 func (x *ExperimentalUnregisterRelationshipCounterResponse) Reset() {
 	*x = ExperimentalUnregisterRelationshipCounterResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalUnregisterRelationshipCounterResponse) String() string {
@@ -381,7 +367,7 @@ func (*ExperimentalUnregisterRelationshipCounterResponse) ProtoMessage() {}
 
 func (x *ExperimentalUnregisterRelationshipCounterResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -409,11 +395,9 @@ type BulkCheckPermissionRequest struct {
 
 func (x *BulkCheckPermissionRequest) Reset() {
 	*x = BulkCheckPermissionRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkCheckPermissionRequest) String() string {
@@ -424,7 +408,7 @@ func (*BulkCheckPermissionRequest) ProtoMessage() {}
 
 func (x *BulkCheckPermissionRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -467,11 +451,9 @@ type BulkCheckPermissionRequestItem struct {
 
 func (x *BulkCheckPermissionRequestItem) Reset() {
 	*x = BulkCheckPermissionRequestItem{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkCheckPermissionRequestItem) String() string {
@@ -482,7 +464,7 @@ func (*BulkCheckPermissionRequestItem) ProtoMessage() {}
 
 func (x *BulkCheckPermissionRequestItem) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -536,11 +518,9 @@ type BulkCheckPermissionResponse struct {
 
 func (x *BulkCheckPermissionResponse) Reset() {
 	*x = BulkCheckPermissionResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[9]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkCheckPermissionResponse) String() string {
@@ -551,7 +531,7 @@ func (*BulkCheckPermissionResponse) ProtoMessage() {}
 
 func (x *BulkCheckPermissionResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[9]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -595,11 +575,9 @@ type BulkCheckPermissionPair struct {
 
 func (x *BulkCheckPermissionPair) Reset() {
 	*x = BulkCheckPermissionPair{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[10]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkCheckPermissionPair) String() string {
@@ -610,7 +588,7 @@ func (*BulkCheckPermissionPair) ProtoMessage() {}
 
 func (x *BulkCheckPermissionPair) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[10]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -680,11 +658,9 @@ type BulkCheckPermissionResponseItem struct {
 
 func (x *BulkCheckPermissionResponseItem) Reset() {
 	*x = BulkCheckPermissionResponseItem{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[11]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkCheckPermissionResponseItem) String() string {
@@ -695,7 +671,7 @@ func (*BulkCheckPermissionResponseItem) ProtoMessage() {}
 
 func (x *BulkCheckPermissionResponseItem) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[11]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -740,11 +716,9 @@ type BulkImportRelationshipsRequest struct {
 
 func (x *BulkImportRelationshipsRequest) Reset() {
 	*x = BulkImportRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[12]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkImportRelationshipsRequest) String() string {
@@ -755,7 +729,7 @@ func (*BulkImportRelationshipsRequest) ProtoMessage() {}
 
 func (x *BulkImportRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[12]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -789,11 +763,9 @@ type BulkImportRelationshipsResponse struct {
 
 func (x *BulkImportRelationshipsResponse) Reset() {
 	*x = BulkImportRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[13]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkImportRelationshipsResponse) String() string {
@@ -804,7 +776,7 @@ func (*BulkImportRelationshipsResponse) ProtoMessage() {}
 
 func (x *BulkImportRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[13]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -850,11 +822,9 @@ type BulkExportRelationshipsRequest struct {
 
 func (x *BulkExportRelationshipsRequest) Reset() {
 	*x = BulkExportRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[14]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkExportRelationshipsRequest) String() string {
@@ -865,7 +835,7 @@ func (*BulkExportRelationshipsRequest) ProtoMessage() {}
 
 func (x *BulkExportRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[14]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -923,11 +893,9 @@ type BulkExportRelationshipsResponse struct {
 
 func (x *BulkExportRelationshipsResponse) Reset() {
 	*x = BulkExportRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[15]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *BulkExportRelationshipsResponse) String() string {
@@ -938,7 +906,7 @@ func (*BulkExportRelationshipsResponse) ProtoMessage() {}
 
 func (x *BulkExportRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[15]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -980,11 +948,9 @@ type ExperimentalReflectSchemaRequest struct {
 
 func (x *ExperimentalReflectSchemaRequest) Reset() {
 	*x = ExperimentalReflectSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[16]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalReflectSchemaRequest) String() string {
@@ -995,7 +961,7 @@ func (*ExperimentalReflectSchemaRequest) ProtoMessage() {}
 
 func (x *ExperimentalReflectSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[16]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1039,11 +1005,9 @@ type ExperimentalReflectSchemaResponse struct {
 
 func (x *ExperimentalReflectSchemaResponse) Reset() {
 	*x = ExperimentalReflectSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[17]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalReflectSchemaResponse) String() string {
@@ -1054,7 +1018,7 @@ func (*ExperimentalReflectSchemaResponse) ProtoMessage() {}
 
 func (x *ExperimentalReflectSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[17]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1108,11 +1072,9 @@ type ExpSchemaFilter struct {
 
 func (x *ExpSchemaFilter) Reset() {
 	*x = ExpSchemaFilter{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[18]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpSchemaFilter) String() string {
@@ -1123,7 +1085,7 @@ func (*ExpSchemaFilter) ProtoMessage() {}
 
 func (x *ExpSchemaFilter) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[18]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1182,11 +1144,9 @@ type ExpDefinition struct {
 
 func (x *ExpDefinition) Reset() {
 	*x = ExpDefinition{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[19]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpDefinition) String() string {
@@ -1197,7 +1157,7 @@ func (*ExpDefinition) ProtoMessage() {}
 
 func (x *ExpDefinition) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[19]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1256,11 +1216,9 @@ type ExpCaveat struct {
 
 func (x *ExpCaveat) Reset() {
 	*x = ExpCaveat{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[20]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpCaveat) String() string {
@@ -1271,7 +1229,7 @@ func (*ExpCaveat) ProtoMessage() {}
 
 func (x *ExpCaveat) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[20]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1329,11 +1287,9 @@ type ExpCaveatParameter struct {
 
 func (x *ExpCaveatParameter) Reset() {
 	*x = ExpCaveatParameter{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[21]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[21]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpCaveatParameter) String() string {
@@ -1344,7 +1300,7 @@ func (*ExpCaveatParameter) ProtoMessage() {}
 
 func (x *ExpCaveatParameter) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[21]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1394,11 +1350,9 @@ type ExpRelation struct {
 
 func (x *ExpRelation) Reset() {
 	*x = ExpRelation{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[22]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[22]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpRelation) String() string {
@@ -1409,7 +1363,7 @@ func (*ExpRelation) ProtoMessage() {}
 
 func (x *ExpRelation) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[22]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1472,11 +1426,9 @@ type ExpTypeReference struct {
 
 func (x *ExpTypeReference) Reset() {
 	*x = ExpTypeReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[23]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[23]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpTypeReference) String() string {
@@ -1487,7 +1439,7 @@ func (*ExpTypeReference) ProtoMessage() {}
 
 func (x *ExpTypeReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[23]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1584,11 +1536,9 @@ type ExpPermission struct {
 
 func (x *ExpPermission) Reset() {
 	*x = ExpPermission{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[24]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[24]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpPermission) String() string {
@@ -1599,7 +1549,7 @@ func (*ExpPermission) ProtoMessage() {}
 
 func (x *ExpPermission) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[24]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1651,11 +1601,9 @@ type ExperimentalComputablePermissionsRequest struct {
 
 func (x *ExperimentalComputablePermissionsRequest) Reset() {
 	*x = ExperimentalComputablePermissionsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[25]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[25]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalComputablePermissionsRequest) String() string {
@@ -1666,7 +1614,7 @@ func (*ExperimentalComputablePermissionsRequest) ProtoMessage() {}
 
 func (x *ExperimentalComputablePermissionsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[25]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1722,11 +1670,9 @@ type ExpRelationReference struct {
 
 func (x *ExpRelationReference) Reset() {
 	*x = ExpRelationReference{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[26]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[26]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpRelationReference) String() string {
@@ -1737,7 +1683,7 @@ func (*ExpRelationReference) ProtoMessage() {}
 
 func (x *ExpRelationReference) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[26]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1785,11 +1731,9 @@ type ExperimentalComputablePermissionsResponse struct {
 
 func (x *ExperimentalComputablePermissionsResponse) Reset() {
 	*x = ExperimentalComputablePermissionsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[27]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[27]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalComputablePermissionsResponse) String() string {
@@ -1800,7 +1744,7 @@ func (*ExperimentalComputablePermissionsResponse) ProtoMessage() {}
 
 func (x *ExperimentalComputablePermissionsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[27]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1841,11 +1785,9 @@ type ExperimentalDependentRelationsRequest struct {
 
 func (x *ExperimentalDependentRelationsRequest) Reset() {
 	*x = ExperimentalDependentRelationsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[28]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[28]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalDependentRelationsRequest) String() string {
@@ -1856,7 +1798,7 @@ func (*ExperimentalDependentRelationsRequest) ProtoMessage() {}
 
 func (x *ExperimentalDependentRelationsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[28]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1904,11 +1846,9 @@ type ExperimentalDependentRelationsResponse struct {
 
 func (x *ExperimentalDependentRelationsResponse) Reset() {
 	*x = ExperimentalDependentRelationsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[29]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[29]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalDependentRelationsResponse) String() string {
@@ -1919,7 +1859,7 @@ func (*ExperimentalDependentRelationsResponse) ProtoMessage() {}
 
 func (x *ExperimentalDependentRelationsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[29]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1959,11 +1899,9 @@ type ExperimentalDiffSchemaRequest struct {
 
 func (x *ExperimentalDiffSchemaRequest) Reset() {
 	*x = ExperimentalDiffSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[30]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[30]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalDiffSchemaRequest) String() string {
@@ -1974,7 +1912,7 @@ func (*ExperimentalDiffSchemaRequest) ProtoMessage() {}
 
 func (x *ExperimentalDiffSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[30]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2015,11 +1953,9 @@ type ExperimentalDiffSchemaResponse struct {
 
 func (x *ExperimentalDiffSchemaResponse) Reset() {
 	*x = ExperimentalDiffSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[31]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[31]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExperimentalDiffSchemaResponse) String() string {
@@ -2030,7 +1966,7 @@ func (*ExperimentalDiffSchemaResponse) ProtoMessage() {}
 
 func (x *ExperimentalDiffSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[31]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2070,11 +2006,9 @@ type ExpRelationSubjectTypeChange struct {
 
 func (x *ExpRelationSubjectTypeChange) Reset() {
 	*x = ExpRelationSubjectTypeChange{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[32]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[32]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpRelationSubjectTypeChange) String() string {
@@ -2085,7 +2019,7 @@ func (*ExpRelationSubjectTypeChange) ProtoMessage() {}
 
 func (x *ExpRelationSubjectTypeChange) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[32]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2125,11 +2059,9 @@ type ExpCaveatParameterTypeChange struct {
 
 func (x *ExpCaveatParameterTypeChange) Reset() {
 	*x = ExpCaveatParameterTypeChange{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[33]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[33]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpCaveatParameterTypeChange) String() string {
@@ -2140,7 +2072,7 @@ func (*ExpCaveatParameterTypeChange) ProtoMessage() {}
 
 func (x *ExpCaveatParameterTypeChange) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[33]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2201,11 +2133,9 @@ type ExpSchemaDiff struct {
 
 func (x *ExpSchemaDiff) Reset() {
 	*x = ExpSchemaDiff{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[34]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[34]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpSchemaDiff) String() string {
@@ -2216,7 +2146,7 @@ func (*ExpSchemaDiff) ProtoMessage() {}
 
 func (x *ExpSchemaDiff) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[34]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -3270,428 +3200,6 @@ func file_authzed_api_v1_experimental_service_proto_init() {
 	}
 	file_authzed_api_v1_core_proto_init()
 	file_authzed_api_v1_permission_service_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_experimental_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalRegisterRelationshipCounterRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalRegisterRelationshipCounterResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalCountRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalCountRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadCounterValue); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalUnregisterRelationshipCounterRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalUnregisterRelationshipCounterResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkCheckPermissionRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkCheckPermissionRequestItem); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkCheckPermissionResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkCheckPermissionPair); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkCheckPermissionResponseItem); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[12].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkImportRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[13].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkImportRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[14].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkExportRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[15].Exporter = func(v any, i int) any {
-			switch v := v.(*BulkExportRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[16].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalReflectSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[17].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalReflectSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[18].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpSchemaFilter); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[19].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpDefinition); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[20].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpCaveat); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[21].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpCaveatParameter); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[22].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpRelation); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[23].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpTypeReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[24].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpPermission); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[25].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalComputablePermissionsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[26].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpRelationReference); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[27].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalComputablePermissionsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[28].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalDependentRelationsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[29].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalDependentRelationsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[30].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalDiffSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[31].Exporter = func(v any, i int) any {
-			switch v := v.(*ExperimentalDiffSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[32].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpRelationSubjectTypeChange); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[33].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpCaveatParameterTypeChange); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_experimental_service_proto_msgTypes[34].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpSchemaDiff); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_v1_experimental_service_proto_msgTypes[3].OneofWrappers = []any{
 		(*ExperimentalCountRelationshipsResponse_CounterStillCalculating)(nil),
 		(*ExperimentalCountRelationshipsResponse_ReadCounterValue)(nil),
diff --git a/proto/authzed/api/v1/experimental_service_vtproto.pb.go b/proto/authzed/api/v1/experimental_service_vtproto.pb.go
index efc68da..8074ed9 100644
--- a/proto/authzed/api/v1/experimental_service_vtproto.pb.go
+++ b/proto/authzed/api/v1/experimental_service_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/experimental_service.proto
 
 package v1
@@ -2852,6 +2852,10 @@ func (m *ExperimentalCountRelationshipsResponse_ReadCounterValue) MarshalToSized
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -3224,6 +3228,10 @@ func (m *BulkCheckPermissionPair_Item) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -3255,6 +3263,10 @@ func (m *BulkCheckPermissionPair_Error) MarshalToSizedBufferVT(dAtA []byte) (int
 		}
 		i--
 		dAtA[i] = 0x1a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4664,6 +4676,10 @@ func (m *ExpSchemaDiff_DefinitionAdded) MarshalToSizedBufferVT(dAtA []byte) (int
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0xa
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0xa
 	}
 	return len(dAtA) - i, nil
 }
@@ -4683,6 +4699,10 @@ func (m *ExpSchemaDiff_DefinitionRemoved) MarshalToSizedBufferVT(dAtA []byte) (i
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -4702,6 +4722,10 @@ func (m *ExpSchemaDiff_DefinitionDocCommentChanged) MarshalToSizedBufferVT(dAtA
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x1a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4721,6 +4745,10 @@ func (m *ExpSchemaDiff_RelationAdded) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x22
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x22
 	}
 	return len(dAtA) - i, nil
 }
@@ -4740,6 +4768,10 @@ func (m *ExpSchemaDiff_RelationRemoved) MarshalToSizedBufferVT(dAtA []byte) (int
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x2a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x2a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4759,6 +4791,10 @@ func (m *ExpSchemaDiff_RelationDocCommentChanged) MarshalToSizedBufferVT(dAtA []
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x32
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x32
 	}
 	return len(dAtA) - i, nil
 }
@@ -4778,6 +4814,10 @@ func (m *ExpSchemaDiff_RelationSubjectTypeAdded) MarshalToSizedBufferVT(dAtA []b
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x3a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x3a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4797,6 +4837,10 @@ func (m *ExpSchemaDiff_RelationSubjectTypeRemoved) MarshalToSizedBufferVT(dAtA [
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x42
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x42
 	}
 	return len(dAtA) - i, nil
 }
@@ -4816,6 +4860,10 @@ func (m *ExpSchemaDiff_PermissionAdded) MarshalToSizedBufferVT(dAtA []byte) (int
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x4a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x4a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4835,6 +4883,10 @@ func (m *ExpSchemaDiff_PermissionRemoved) MarshalToSizedBufferVT(dAtA []byte) (i
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x52
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x52
 	}
 	return len(dAtA) - i, nil
 }
@@ -4854,6 +4906,10 @@ func (m *ExpSchemaDiff_PermissionDocCommentChanged) MarshalToSizedBufferVT(dAtA
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x5a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x5a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4873,6 +4929,10 @@ func (m *ExpSchemaDiff_PermissionExprChanged) MarshalToSizedBufferVT(dAtA []byte
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x62
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x62
 	}
 	return len(dAtA) - i, nil
 }
@@ -4892,6 +4952,10 @@ func (m *ExpSchemaDiff_CaveatAdded) MarshalToSizedBufferVT(dAtA []byte) (int, er
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x6a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x6a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4911,6 +4975,10 @@ func (m *ExpSchemaDiff_CaveatRemoved) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x72
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x72
 	}
 	return len(dAtA) - i, nil
 }
@@ -4930,6 +4998,10 @@ func (m *ExpSchemaDiff_CaveatDocCommentChanged) MarshalToSizedBufferVT(dAtA []by
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x7a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x7a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4951,6 +5023,12 @@ func (m *ExpSchemaDiff_CaveatExprChanged) MarshalToSizedBufferVT(dAtA []byte) (i
 		dAtA[i] = 0x1
 		i--
 		dAtA[i] = 0x82
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1
+		i--
+		dAtA[i] = 0x82
 	}
 	return len(dAtA) - i, nil
 }
@@ -4972,6 +5050,12 @@ func (m *ExpSchemaDiff_CaveatParameterAdded) MarshalToSizedBufferVT(dAtA []byte)
 		dAtA[i] = 0x1
 		i--
 		dAtA[i] = 0x8a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1
+		i--
+		dAtA[i] = 0x8a
 	}
 	return len(dAtA) - i, nil
 }
@@ -4993,6 +5077,12 @@ func (m *ExpSchemaDiff_CaveatParameterRemoved) MarshalToSizedBufferVT(dAtA []byt
 		dAtA[i] = 0x1
 		i--
 		dAtA[i] = 0x92
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1
+		i--
+		dAtA[i] = 0x92
 	}
 	return len(dAtA) - i, nil
 }
@@ -5014,6 +5104,12 @@ func (m *ExpSchemaDiff_CaveatParameterTypeChanged) MarshalToSizedBufferVT(dAtA [
 		dAtA[i] = 0x1
 		i--
 		dAtA[i] = 0x9a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1
+		i--
+		dAtA[i] = 0x9a
 	}
 	return len(dAtA) - i, nil
 }
@@ -5090,6 +5186,8 @@ func (m *ExperimentalCountRelationshipsResponse_ReadCounterValue) SizeVT() (n in
 	if m.ReadCounterValue != nil {
 		l = m.ReadCounterValue.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5226,6 +5324,8 @@ func (m *BulkCheckPermissionPair_Item) SizeVT() (n int) {
 	if m.Item != nil {
 		l = m.Item.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5244,6 +5344,8 @@ func (m *BulkCheckPermissionPair_Error) SizeVT() (n int) {
 			l = proto.Size(m.Error)
 		}
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5794,6 +5896,8 @@ func (m *ExpSchemaDiff_DefinitionAdded) SizeVT() (n int) {
 	if m.DefinitionAdded != nil {
 		l = m.DefinitionAdded.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5806,6 +5910,8 @@ func (m *ExpSchemaDiff_DefinitionRemoved) SizeVT() (n int) {
 	if m.DefinitionRemoved != nil {
 		l = m.DefinitionRemoved.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5818,6 +5924,8 @@ func (m *ExpSchemaDiff_DefinitionDocCommentChanged) SizeVT() (n int) {
 	if m.DefinitionDocCommentChanged != nil {
 		l = m.DefinitionDocCommentChanged.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5830,6 +5938,8 @@ func (m *ExpSchemaDiff_RelationAdded) SizeVT() (n int) {
 	if m.RelationAdded != nil {
 		l = m.RelationAdded.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5842,6 +5952,8 @@ func (m *ExpSchemaDiff_RelationRemoved) SizeVT() (n int) {
 	if m.RelationRemoved != nil {
 		l = m.RelationRemoved.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5854,6 +5966,8 @@ func (m *ExpSchemaDiff_RelationDocCommentChanged) SizeVT() (n int) {
 	if m.RelationDocCommentChanged != nil {
 		l = m.RelationDocCommentChanged.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5866,6 +5980,8 @@ func (m *ExpSchemaDiff_RelationSubjectTypeAdded) SizeVT() (n int) {
 	if m.RelationSubjectTypeAdded != nil {
 		l = m.RelationSubjectTypeAdded.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5878,6 +5994,8 @@ func (m *ExpSchemaDiff_RelationSubjectTypeRemoved) SizeVT() (n int) {
 	if m.RelationSubjectTypeRemoved != nil {
 		l = m.RelationSubjectTypeRemoved.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5890,6 +6008,8 @@ func (m *ExpSchemaDiff_PermissionAdded) SizeVT() (n int) {
 	if m.PermissionAdded != nil {
 		l = m.PermissionAdded.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5902,6 +6022,8 @@ func (m *ExpSchemaDiff_PermissionRemoved) SizeVT() (n int) {
 	if m.PermissionRemoved != nil {
 		l = m.PermissionRemoved.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5914,6 +6036,8 @@ func (m *ExpSchemaDiff_PermissionDocCommentChanged) SizeVT() (n int) {
 	if m.PermissionDocCommentChanged != nil {
 		l = m.PermissionDocCommentChanged.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5926,6 +6050,8 @@ func (m *ExpSchemaDiff_PermissionExprChanged) SizeVT() (n int) {
 	if m.PermissionExprChanged != nil {
 		l = m.PermissionExprChanged.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5938,6 +6064,8 @@ func (m *ExpSchemaDiff_CaveatAdded) SizeVT() (n int) {
 	if m.CaveatAdded != nil {
 		l = m.CaveatAdded.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5950,6 +6078,8 @@ func (m *ExpSchemaDiff_CaveatRemoved) SizeVT() (n int) {
 	if m.CaveatRemoved != nil {
 		l = m.CaveatRemoved.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5962,6 +6092,8 @@ func (m *ExpSchemaDiff_CaveatDocCommentChanged) SizeVT() (n int) {
 	if m.CaveatDocCommentChanged != nil {
 		l = m.CaveatDocCommentChanged.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5974,6 +6106,8 @@ func (m *ExpSchemaDiff_CaveatExprChanged) SizeVT() (n int) {
 	if m.CaveatExprChanged != nil {
 		l = m.CaveatExprChanged.SizeVT()
 		n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5986,6 +6120,8 @@ func (m *ExpSchemaDiff_CaveatParameterAdded) SizeVT() (n int) {
 	if m.CaveatParameterAdded != nil {
 		l = m.CaveatParameterAdded.SizeVT()
 		n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -5998,6 +6134,8 @@ func (m *ExpSchemaDiff_CaveatParameterRemoved) SizeVT() (n int) {
 	if m.CaveatParameterRemoved != nil {
 		l = m.CaveatParameterRemoved.SizeVT()
 		n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -6010,6 +6148,8 @@ func (m *ExpSchemaDiff_CaveatParameterTypeChanged) SizeVT() (n int) {
 	if m.CaveatParameterTypeChanged != nil {
 		l = m.CaveatParameterTypeChanged.SizeVT()
 		n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/v1/openapi.pb.go b/proto/authzed/api/v1/openapi.pb.go
index 1773cfd..8e8ef98 100644
--- a/proto/authzed/api/v1/openapi.pb.go
+++ b/proto/authzed/api/v1/openapi.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/openapi.proto
 
@@ -28,8 +28,8 @@ var file_authzed_api_v1_openapi_proto_rawDesc = []byte{
 	0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x2e,
 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
 	0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
-	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x82,
-	0x03, 0x92, 0x41, 0xb4, 0x02, 0x12, 0x9c, 0x01, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x65,
+	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xcf,
+	0x03, 0x92, 0x41, 0x81, 0x03, 0x12, 0x9c, 0x01, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x65,
 	0x64, 0x22, 0x44, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2c, 0x20, 0x49, 0x6e,
 	0x63, 0x2e, 0x12, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68,
 	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61,
@@ -41,19 +41,24 @@ var file_authzed_api_v1_openapi_proto_rawDesc = []byte{
 	0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32,
 	0x03, 0x31, 0x2e, 0x30, 0x2a, 0x03, 0x01, 0x02, 0x04, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69,
 	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70,
-	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5a, 0x23, 0x0a,
-	0x21, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x13, 0x08,
-	0x02, 0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-	0x20, 0x02, 0x72, 0x45, 0x0a, 0x1b, 0x4d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74,
-	0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x20, 0x41, 0x50, 0x49,
-	0x2e, 0x12, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2e,
-	0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x66, 0x65,
-	0x72, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x61,
-	0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a,
-	0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
-	0x7a, 0x65, 0x64, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2d, 0x67, 0x6f, 0x2f, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69,
-	0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5a, 0x62, 0x0a,
+	0x60, 0x0a, 0x06, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x12, 0x56, 0x08, 0x02, 0x12, 0x41, 0x53,
+	0x70, 0x69, 0x63, 0x65, 0x44, 0x42, 0x20, 0x70, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64,
+	0x2d, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, 0x62,
+	0x79, 0x20, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x3a, 0x20, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72,
+	0x20, 0x3c, 0x70, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2d, 0x6b, 0x65, 0x79, 0x3e,
+	0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+	0x02, 0x62, 0x0c, 0x0a, 0x0a, 0x0a, 0x06, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x12, 0x00, 0x72,
+	0x45, 0x0a, 0x1b, 0x4d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68,
+	0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x12, 0x26,
+	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2e, 0x61, 0x75, 0x74,
+	0x68, 0x7a, 0x65, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
+	0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x75, 0x74, 0x68,
+	0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69,
+	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64,
+	0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
+	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var file_authzed_api_v1_openapi_proto_goTypes = []any{}
diff --git a/proto/authzed/api/v1/permission_service.pb.go b/proto/authzed/api/v1/permission_service.pb.go
index bc2da57..9823d03 100644
--- a/proto/authzed/api/v1/permission_service.pb.go
+++ b/proto/authzed/api/v1/permission_service.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/permission_service.proto
 
@@ -298,11 +298,9 @@ type Consistency struct {
 
 func (x *Consistency) Reset() {
 	*x = Consistency{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *Consistency) String() string {
@@ -313,7 +311,7 @@ func (*Consistency) ProtoMessage() {}
 
 func (x *Consistency) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -436,11 +434,9 @@ type RelationshipFilter struct {
 
 func (x *RelationshipFilter) Reset() {
 	*x = RelationshipFilter{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *RelationshipFilter) String() string {
@@ -451,7 +447,7 @@ func (*RelationshipFilter) ProtoMessage() {}
 
 func (x *RelationshipFilter) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -517,11 +513,9 @@ type SubjectFilter struct {
 
 func (x *SubjectFilter) Reset() {
 	*x = SubjectFilter{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *SubjectFilter) String() string {
@@ -532,7 +526,7 @@ func (*SubjectFilter) ProtoMessage() {}
 
 func (x *SubjectFilter) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -591,11 +585,9 @@ type ReadRelationshipsRequest struct {
 
 func (x *ReadRelationshipsRequest) Reset() {
 	*x = ReadRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadRelationshipsRequest) String() string {
@@ -606,7 +598,7 @@ func (*ReadRelationshipsRequest) ProtoMessage() {}
 
 func (x *ReadRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -668,11 +660,9 @@ type ReadRelationshipsResponse struct {
 
 func (x *ReadRelationshipsResponse) Reset() {
 	*x = ReadRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadRelationshipsResponse) String() string {
@@ -683,7 +673,7 @@ func (*ReadRelationshipsResponse) ProtoMessage() {}
 
 func (x *ReadRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -738,11 +728,9 @@ type Precondition struct {
 
 func (x *Precondition) Reset() {
 	*x = Precondition{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *Precondition) String() string {
@@ -753,7 +741,7 @@ func (*Precondition) ProtoMessage() {}
 
 func (x *Precondition) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -802,11 +790,9 @@ type WriteRelationshipsRequest struct {
 
 func (x *WriteRelationshipsRequest) Reset() {
 	*x = WriteRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteRelationshipsRequest) String() string {
@@ -817,7 +803,7 @@ func (*WriteRelationshipsRequest) ProtoMessage() {}
 
 func (x *WriteRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -863,11 +849,9 @@ type WriteRelationshipsResponse struct {
 
 func (x *WriteRelationshipsResponse) Reset() {
 	*x = WriteRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteRelationshipsResponse) String() string {
@@ -878,7 +862,7 @@ func (*WriteRelationshipsResponse) ProtoMessage() {}
 
 func (x *WriteRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -929,11 +913,9 @@ type DeleteRelationshipsRequest struct {
 
 func (x *DeleteRelationshipsRequest) Reset() {
 	*x = DeleteRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *DeleteRelationshipsRequest) String() string {
@@ -944,7 +926,7 @@ func (*DeleteRelationshipsRequest) ProtoMessage() {}
 
 func (x *DeleteRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1007,11 +989,9 @@ type DeleteRelationshipsResponse struct {
 
 func (x *DeleteRelationshipsResponse) Reset() {
 	*x = DeleteRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[9]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *DeleteRelationshipsResponse) String() string {
@@ -1022,7 +1002,7 @@ func (*DeleteRelationshipsResponse) ProtoMessage() {}
 
 func (x *DeleteRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[9]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1076,11 +1056,9 @@ type CheckPermissionRequest struct {
 
 func (x *CheckPermissionRequest) Reset() {
 	*x = CheckPermissionRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[10]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckPermissionRequest) String() string {
@@ -1091,7 +1069,7 @@ func (*CheckPermissionRequest) ProtoMessage() {}
 
 func (x *CheckPermissionRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[10]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1171,11 +1149,9 @@ type CheckPermissionResponse struct {
 
 func (x *CheckPermissionResponse) Reset() {
 	*x = CheckPermissionResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[11]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckPermissionResponse) String() string {
@@ -1186,7 +1162,7 @@ func (*CheckPermissionResponse) ProtoMessage() {}
 
 func (x *CheckPermissionResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[11]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1245,11 +1221,9 @@ type CheckBulkPermissionsRequest struct {
 
 func (x *CheckBulkPermissionsRequest) Reset() {
 	*x = CheckBulkPermissionsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[12]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckBulkPermissionsRequest) String() string {
@@ -1260,7 +1234,7 @@ func (*CheckBulkPermissionsRequest) ProtoMessage() {}
 
 func (x *CheckBulkPermissionsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[12]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1302,11 +1276,9 @@ type CheckBulkPermissionsRequestItem struct {
 
 func (x *CheckBulkPermissionsRequestItem) Reset() {
 	*x = CheckBulkPermissionsRequestItem{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[13]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckBulkPermissionsRequestItem) String() string {
@@ -1317,7 +1289,7 @@ func (*CheckBulkPermissionsRequestItem) ProtoMessage() {}
 
 func (x *CheckBulkPermissionsRequestItem) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[13]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1371,11 +1343,9 @@ type CheckBulkPermissionsResponse struct {
 
 func (x *CheckBulkPermissionsResponse) Reset() {
 	*x = CheckBulkPermissionsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[14]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckBulkPermissionsResponse) String() string {
@@ -1386,7 +1356,7 @@ func (*CheckBulkPermissionsResponse) ProtoMessage() {}
 
 func (x *CheckBulkPermissionsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[14]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1430,11 +1400,9 @@ type CheckBulkPermissionsPair struct {
 
 func (x *CheckBulkPermissionsPair) Reset() {
 	*x = CheckBulkPermissionsPair{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[15]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckBulkPermissionsPair) String() string {
@@ -1445,7 +1413,7 @@ func (*CheckBulkPermissionsPair) ProtoMessage() {}
 
 func (x *CheckBulkPermissionsPair) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[15]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1515,11 +1483,9 @@ type CheckBulkPermissionsResponseItem struct {
 
 func (x *CheckBulkPermissionsResponseItem) Reset() {
 	*x = CheckBulkPermissionsResponseItem{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[16]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *CheckBulkPermissionsResponseItem) String() string {
@@ -1530,7 +1496,7 @@ func (*CheckBulkPermissionsResponseItem) ProtoMessage() {}
 
 func (x *CheckBulkPermissionsResponseItem) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[16]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1581,11 +1547,9 @@ type ExpandPermissionTreeRequest struct {
 
 func (x *ExpandPermissionTreeRequest) Reset() {
 	*x = ExpandPermissionTreeRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[17]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpandPermissionTreeRequest) String() string {
@@ -1596,7 +1560,7 @@ func (*ExpandPermissionTreeRequest) ProtoMessage() {}
 
 func (x *ExpandPermissionTreeRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[17]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1646,11 +1610,9 @@ type ExpandPermissionTreeResponse struct {
 
 func (x *ExpandPermissionTreeResponse) Reset() {
 	*x = ExpandPermissionTreeResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[18]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExpandPermissionTreeResponse) String() string {
@@ -1661,7 +1623,7 @@ func (*ExpandPermissionTreeResponse) ProtoMessage() {}
 
 func (x *ExpandPermissionTreeResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[18]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1721,11 +1683,9 @@ type LookupResourcesRequest struct {
 
 func (x *LookupResourcesRequest) Reset() {
 	*x = LookupResourcesRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[19]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupResourcesRequest) String() string {
@@ -1736,7 +1696,7 @@ func (*LookupResourcesRequest) ProtoMessage() {}
 
 func (x *LookupResourcesRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[19]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1822,11 +1782,9 @@ type LookupResourcesResponse struct {
 
 func (x *LookupResourcesResponse) Reset() {
 	*x = LookupResourcesResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[20]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupResourcesResponse) String() string {
@@ -1837,7 +1795,7 @@ func (*LookupResourcesResponse) ProtoMessage() {}
 
 func (x *LookupResourcesResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[20]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -1942,11 +1900,9 @@ type LookupSubjectsRequest struct {
 
 func (x *LookupSubjectsRequest) Reset() {
 	*x = LookupSubjectsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[21]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[21]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupSubjectsRequest) String() string {
@@ -1957,7 +1913,7 @@ func (*LookupSubjectsRequest) ProtoMessage() {}
 
 func (x *LookupSubjectsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[21]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2079,11 +2035,9 @@ type LookupSubjectsResponse struct {
 
 func (x *LookupSubjectsResponse) Reset() {
 	*x = LookupSubjectsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[22]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[22]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *LookupSubjectsResponse) String() string {
@@ -2094,7 +2048,7 @@ func (*LookupSubjectsResponse) ProtoMessage() {}
 
 func (x *LookupSubjectsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[22]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2186,11 +2140,9 @@ type ResolvedSubject struct {
 
 func (x *ResolvedSubject) Reset() {
 	*x = ResolvedSubject{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[23]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[23]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ResolvedSubject) String() string {
@@ -2201,7 +2153,7 @@ func (*ResolvedSubject) ProtoMessage() {}
 
 func (x *ResolvedSubject) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[23]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2251,11 +2203,9 @@ type ImportBulkRelationshipsRequest struct {
 
 func (x *ImportBulkRelationshipsRequest) Reset() {
 	*x = ImportBulkRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[24]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[24]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ImportBulkRelationshipsRequest) String() string {
@@ -2266,7 +2216,7 @@ func (*ImportBulkRelationshipsRequest) ProtoMessage() {}
 
 func (x *ImportBulkRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[24]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2300,11 +2250,9 @@ type ImportBulkRelationshipsResponse struct {
 
 func (x *ImportBulkRelationshipsResponse) Reset() {
 	*x = ImportBulkRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[25]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[25]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ImportBulkRelationshipsResponse) String() string {
@@ -2315,7 +2263,7 @@ func (*ImportBulkRelationshipsResponse) ProtoMessage() {}
 
 func (x *ImportBulkRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[25]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2361,11 +2309,9 @@ type ExportBulkRelationshipsRequest struct {
 
 func (x *ExportBulkRelationshipsRequest) Reset() {
 	*x = ExportBulkRelationshipsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[26]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[26]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExportBulkRelationshipsRequest) String() string {
@@ -2376,7 +2322,7 @@ func (*ExportBulkRelationshipsRequest) ProtoMessage() {}
 
 func (x *ExportBulkRelationshipsRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[26]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2434,11 +2380,9 @@ type ExportBulkRelationshipsResponse struct {
 
 func (x *ExportBulkRelationshipsResponse) Reset() {
 	*x = ExportBulkRelationshipsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[27]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[27]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ExportBulkRelationshipsResponse) String() string {
@@ -2449,7 +2393,7 @@ func (*ExportBulkRelationshipsResponse) ProtoMessage() {}
 
 func (x *ExportBulkRelationshipsResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[27]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -2488,11 +2432,9 @@ type SubjectFilter_RelationFilter struct {
 
 func (x *SubjectFilter_RelationFilter) Reset() {
 	*x = SubjectFilter_RelationFilter{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_permission_service_proto_msgTypes[28]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[28]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *SubjectFilter_RelationFilter) String() string {
@@ -2503,7 +2445,7 @@ func (*SubjectFilter_RelationFilter) ProtoMessage() {}
 
 func (x *SubjectFilter_RelationFilter) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_permission_service_proto_msgTypes[28]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -3382,356 +3324,6 @@ func file_authzed_api_v1_permission_service_proto_init() {
 	}
 	file_authzed_api_v1_core_proto_init()
 	file_authzed_api_v1_debug_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_permission_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*Consistency); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*RelationshipFilter); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*SubjectFilter); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
-			switch v := v.(*Precondition); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
-			switch v := v.(*DeleteRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
-			switch v := v.(*DeleteRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckPermissionRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckPermissionResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[12].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckBulkPermissionsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[13].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckBulkPermissionsRequestItem); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[14].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckBulkPermissionsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[15].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckBulkPermissionsPair); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[16].Exporter = func(v any, i int) any {
-			switch v := v.(*CheckBulkPermissionsResponseItem); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[17].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpandPermissionTreeRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[18].Exporter = func(v any, i int) any {
-			switch v := v.(*ExpandPermissionTreeResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[19].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupResourcesRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[20].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupResourcesResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[21].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupSubjectsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[22].Exporter = func(v any, i int) any {
-			switch v := v.(*LookupSubjectsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[23].Exporter = func(v any, i int) any {
-			switch v := v.(*ResolvedSubject); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[24].Exporter = func(v any, i int) any {
-			switch v := v.(*ImportBulkRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[25].Exporter = func(v any, i int) any {
-			switch v := v.(*ImportBulkRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[26].Exporter = func(v any, i int) any {
-			switch v := v.(*ExportBulkRelationshipsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[27].Exporter = func(v any, i int) any {
-			switch v := v.(*ExportBulkRelationshipsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_permission_service_proto_msgTypes[28].Exporter = func(v any, i int) any {
-			switch v := v.(*SubjectFilter_RelationFilter); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	file_authzed_api_v1_permission_service_proto_msgTypes[0].OneofWrappers = []any{
 		(*Consistency_MinimizeLatency)(nil),
 		(*Consistency_AtLeastAsFresh)(nil),
diff --git a/proto/authzed/api/v1/permission_service_vtproto.pb.go b/proto/authzed/api/v1/permission_service_vtproto.pb.go
index cb0412a..92083c5 100644
--- a/proto/authzed/api/v1/permission_service_vtproto.pb.go
+++ b/proto/authzed/api/v1/permission_service_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/permission_service.proto
 
 package v1
@@ -1807,6 +1807,10 @@ func (m *Consistency_AtLeastAsFresh) MarshalToSizedBufferVT(dAtA []byte) (int, e
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -1826,6 +1830,10 @@ func (m *Consistency_AtExactSnapshot) MarshalToSizedBufferVT(dAtA []byte) (int,
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x1a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1a
 	}
 	return len(dAtA) - i, nil
 }
@@ -2837,6 +2845,10 @@ func (m *CheckBulkPermissionsPair_Item) MarshalToSizedBufferVT(dAtA []byte) (int
 		i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
 		i--
 		dAtA[i] = 0x12
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x12
 	}
 	return len(dAtA) - i, nil
 }
@@ -2868,6 +2880,10 @@ func (m *CheckBulkPermissionsPair_Error) MarshalToSizedBufferVT(dAtA []byte) (in
 		}
 		i--
 		dAtA[i] = 0x1a
+	} else {
+		i = protohelpers.EncodeVarint(dAtA, i, 0)
+		i--
+		dAtA[i] = 0x1a
 	}
 	return len(dAtA) - i, nil
 }
@@ -3701,6 +3717,8 @@ func (m *Consistency_AtLeastAsFresh) SizeVT() (n int) {
 	if m.AtLeastAsFresh != nil {
 		l = m.AtLeastAsFresh.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -3713,6 +3731,8 @@ func (m *Consistency_AtExactSnapshot) SizeVT() (n int) {
 	if m.AtExactSnapshot != nil {
 		l = m.AtExactSnapshot.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -4092,6 +4112,8 @@ func (m *CheckBulkPermissionsPair_Item) SizeVT() (n int) {
 	if m.Item != nil {
 		l = m.Item.SizeVT()
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
@@ -4110,6 +4132,8 @@ func (m *CheckBulkPermissionsPair_Error) SizeVT() (n int) {
 			l = proto.Size(m.Error)
 		}
 		n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+	} else {
+		n += 3
 	}
 	return n
 }
diff --git a/proto/authzed/api/v1/schema_service.pb.go b/proto/authzed/api/v1/schema_service.pb.go
index 2d18c8a..ccc262c 100644
--- a/proto/authzed/api/v1/schema_service.pb.go
+++ b/proto/authzed/api/v1/schema_service.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/schema_service.proto
 
@@ -31,11 +31,9 @@ type ReadSchemaRequest struct {
 
 func (x *ReadSchemaRequest) Reset() {
 	*x = ReadSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_schema_service_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadSchemaRequest) String() string {
@@ -46,7 +44,7 @@ func (*ReadSchemaRequest) ProtoMessage() {}
 
 func (x *ReadSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -76,11 +74,9 @@ type ReadSchemaResponse struct {
 
 func (x *ReadSchemaResponse) Reset() {
 	*x = ReadSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_schema_service_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadSchemaResponse) String() string {
@@ -91,7 +87,7 @@ func (*ReadSchemaResponse) ProtoMessage() {}
 
 func (x *ReadSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -134,11 +130,9 @@ type WriteSchemaRequest struct {
 
 func (x *WriteSchemaRequest) Reset() {
 	*x = WriteSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_schema_service_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteSchemaRequest) String() string {
@@ -149,7 +143,7 @@ func (*WriteSchemaRequest) ProtoMessage() {}
 
 func (x *WriteSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -184,11 +178,9 @@ type WriteSchemaResponse struct {
 
 func (x *WriteSchemaResponse) Reset() {
 	*x = WriteSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_schema_service_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteSchemaResponse) String() string {
@@ -199,7 +191,7 @@ func (*WriteSchemaResponse) ProtoMessage() {}
 
 func (x *WriteSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_schema_service_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -313,56 +305,6 @@ func file_authzed_api_v1_schema_service_proto_init() {
 		return
 	}
 	file_authzed_api_v1_core_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_schema_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_schema_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_schema_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_schema_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/proto/authzed/api/v1/schema_service_vtproto.pb.go b/proto/authzed/api/v1/schema_service_vtproto.pb.go
index 358cd53..ddfcc16 100644
--- a/proto/authzed/api/v1/schema_service_vtproto.pb.go
+++ b/proto/authzed/api/v1/schema_service_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/schema_service.proto
 
 package v1
diff --git a/proto/authzed/api/v1/watch_service.pb.go b/proto/authzed/api/v1/watch_service.pb.go
index ffce5e2..83031f9 100644
--- a/proto/authzed/api/v1/watch_service.pb.go
+++ b/proto/authzed/api/v1/watch_service.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1/watch_service.proto
 
@@ -53,11 +53,9 @@ type WatchRequest struct {
 
 func (x *WatchRequest) Reset() {
 	*x = WatchRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_watch_service_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_watch_service_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchRequest) String() string {
@@ -68,7 +66,7 @@ func (*WatchRequest) ProtoMessage() {}
 
 func (x *WatchRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_watch_service_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -128,11 +126,9 @@ type WatchResponse struct {
 
 func (x *WatchResponse) Reset() {
 	*x = WatchResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1_watch_service_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1_watch_service_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchResponse) String() string {
@@ -143,7 +139,7 @@ func (*WatchResponse) ProtoMessage() {}
 
 func (x *WatchResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1_watch_service_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -288,32 +284,6 @@ func file_authzed_api_v1_watch_service_proto_init() {
 	}
 	file_authzed_api_v1_core_proto_init()
 	file_authzed_api_v1_permission_service_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1_watch_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1_watch_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/proto/authzed/api/v1/watch_service_vtproto.pb.go b/proto/authzed/api/v1/watch_service_vtproto.pb.go
index 0214e25..b5b4219 100644
--- a/proto/authzed/api/v1/watch_service_vtproto.pb.go
+++ b/proto/authzed/api/v1/watch_service_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1/watch_service.proto
 
 package v1
diff --git a/proto/authzed/api/v1/zz_generated.version.go b/proto/authzed/api/v1/zz_generated.version.go
index 5fdc4eb..6104b94 100644
--- a/proto/authzed/api/v1/zz_generated.version.go
+++ b/proto/authzed/api/v1/zz_generated.version.go
@@ -2,5 +2,5 @@ package v1
 
 const (
 	BufRepository = "buf.build/authzed/api"
-	BufTag        = "8a6892e674e78add466b64606dc3ccf5a75f8a97"
+	BufTag        = "4042ec8f7b7e9b2c29d54bf9cc227604fe555a44"
 )
diff --git a/proto/authzed/api/v1alpha1/schema.pb.go b/proto/authzed/api/v1alpha1/schema.pb.go
index 6095e86..17df644 100644
--- a/proto/authzed/api/v1alpha1/schema.pb.go
+++ b/proto/authzed/api/v1alpha1/schema.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1alpha1/schema.proto
 
@@ -37,11 +37,9 @@ type ReadSchemaRequest struct {
 
 func (x *ReadSchemaRequest) Reset() {
 	*x = ReadSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadSchemaRequest) String() string {
@@ -52,7 +50,7 @@ func (*ReadSchemaRequest) ProtoMessage() {}
 
 func (x *ReadSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -89,11 +87,9 @@ type ReadSchemaResponse struct {
 
 func (x *ReadSchemaResponse) Reset() {
 	*x = ReadSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *ReadSchemaResponse) String() string {
@@ -104,7 +100,7 @@ func (*ReadSchemaResponse) ProtoMessage() {}
 
 func (x *ReadSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -151,11 +147,9 @@ type WriteSchemaRequest struct {
 
 func (x *WriteSchemaRequest) Reset() {
 	*x = WriteSchemaRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteSchemaRequest) String() string {
@@ -166,7 +160,7 @@ func (*WriteSchemaRequest) ProtoMessage() {}
 
 func (x *WriteSchemaRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -210,11 +204,9 @@ type WriteSchemaResponse struct {
 
 func (x *WriteSchemaResponse) Reset() {
 	*x = WriteSchemaResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WriteSchemaResponse) String() string {
@@ -225,7 +217,7 @@ func (*WriteSchemaResponse) ProtoMessage() {}
 
 func (x *WriteSchemaResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_schema_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -358,56 +350,6 @@ func file_authzed_api_v1alpha1_schema_proto_init() {
 	if File_authzed_api_v1alpha1_schema_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1alpha1_schema_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1alpha1_schema_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*ReadSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1alpha1_schema_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteSchemaRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1alpha1_schema_proto_msgTypes[3].Exporter = func(v any, i int) any {
-			switch v := v.(*WriteSchemaResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/proto/authzed/api/v1alpha1/schema_vtproto.pb.go b/proto/authzed/api/v1alpha1/schema_vtproto.pb.go
index c350282..c953ad5 100644
--- a/proto/authzed/api/v1alpha1/schema_vtproto.pb.go
+++ b/proto/authzed/api/v1alpha1/schema_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1alpha1/schema.proto
 
 package v1alpha1
diff --git a/proto/authzed/api/v1alpha1/watchresources_service.pb.go b/proto/authzed/api/v1alpha1/watchresources_service.pb.go
index 312e92b..4d32073 100644
--- a/proto/authzed/api/v1alpha1/watchresources_service.pb.go
+++ b/proto/authzed/api/v1alpha1/watchresources_service.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.34.2
+// 	protoc-gen-go v1.35.1
 // 	protoc        (unknown)
 // source: authzed/api/v1alpha1/watchresources_service.proto
 
@@ -98,11 +98,9 @@ type WatchResourcesRequest struct {
 
 func (x *WatchResourcesRequest) Reset() {
 	*x = WatchResourcesRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchResourcesRequest) String() string {
@@ -113,7 +111,7 @@ func (*WatchResourcesRequest) ProtoMessage() {}
 
 func (x *WatchResourcesRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -180,11 +178,9 @@ type PermissionUpdate struct {
 
 func (x *PermissionUpdate) Reset() {
 	*x = PermissionUpdate{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *PermissionUpdate) String() string {
@@ -195,7 +191,7 @@ func (*PermissionUpdate) ProtoMessage() {}
 
 func (x *PermissionUpdate) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -251,11 +247,9 @@ type WatchResourcesResponse struct {
 
 func (x *WatchResourcesResponse) Reset() {
 	*x = WatchResourcesResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
 }
 
 func (x *WatchResourcesResponse) String() string {
@@ -266,7 +260,7 @@ func (*WatchResourcesResponse) ProtoMessage() {}
 
 func (x *WatchResourcesResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
+	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
 			ms.StoreMessageInfo(mi)
@@ -431,44 +425,6 @@ func file_authzed_api_v1alpha1_watchresources_service_proto_init() {
 	if File_authzed_api_v1alpha1_watchresources_service_proto != nil {
 		return
 	}
-	if !protoimpl.UnsafeEnabled {
-		file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchResourcesRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
-			switch v := v.(*PermissionUpdate); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_authzed_api_v1alpha1_watchresources_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
-			switch v := v.(*WatchResourcesResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/proto/authzed/api/v1alpha1/watchresources_service_vtproto.pb.go b/proto/authzed/api/v1alpha1/watchresources_service_vtproto.pb.go
index ff1410a..d075e80 100644
--- a/proto/authzed/api/v1alpha1/watchresources_service_vtproto.pb.go
+++ b/proto/authzed/api/v1alpha1/watchresources_service_vtproto.pb.go
@@ -1,5 +1,5 @@
 // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.6.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
 // source: authzed/api/v1alpha1/watchresources_service.proto
 
 package v1alpha1
diff --git a/proto/authzed/api/v1alpha1/zz_generated.version.go b/proto/authzed/api/v1alpha1/zz_generated.version.go
index 06e926f..c1d7f58 100644
--- a/proto/authzed/api/v1alpha1/zz_generated.version.go
+++ b/proto/authzed/api/v1alpha1/zz_generated.version.go
@@ -2,5 +2,5 @@ package v1alpha1
 
 const (
 	BufRepository = "buf.build/authzed/api"
-	BufTag        = "8a6892e674e78add466b64606dc3ccf5a75f8a97"
+	BufTag        = "4042ec8f7b7e9b2c29d54bf9cc227604fe555a44"
 )