diff -ru README.md README.md
--- README.md	2023-03-31 18:48:09.129829348 +0000
+++ README.md	2023-03-31 23:24:12.421688030 +0000
@@ -10,7 +10,7 @@
 
 | Type | Component | Description |
 |------------|------------|------------|
-| Feature | [simclusters-ann](simclusters-ann/README.md) | Community detection and sparse embeddings into those communities. |
+| Feature | [SimClusters](src/scala/com/twitter/simclusters_v2/README.md) | Community detection and sparse embeddings into those communities. |
 |         | [TwHIN](https://github.com/twitter/the-algorithm-ml/blob/main/projects/twhin/README.md) | Dense knowledge graph embeddings for Users and Tweets. |
 |         | [trust-and-safety-models](trust_and_safety_models/README.md) | Models for detecting NSFW or abusive content. |
 |         | [real-graph](src/scala/com/twitter/interaction_graph/README.md) | Model to predict likelihood of a Twitter User interacting with another User. |
diff -ru follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/services/FollowRecommendationsServiceWarmupHandler.scala follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/services/FollowRecommendationsServiceWarmupHandler.scala
--- follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/services/FollowRecommendationsServiceWarmupHandler.scala	2023-03-31 18:48:09.163829715 +0000
+++ follow-recommendations-service/server/src/main/scala/com/twitter/follow_recommendations/services/FollowRecommendationsServiceWarmupHandler.scala	2023-03-31 23:24:12.451688368 +0000
@@ -24,10 +24,6 @@
     extends Handler
     with Logging {
 
-  /**
-   * this would need to be added to src/main/resources/client_whitelist.yml
-   * if we implement ClientId filtering in the future
-   */
   private val clientId = ClientId("thrift-warmup-client")
 
   override def handle(): Unit = {
@@ -48,7 +44,7 @@
       RecommendationRequest(
         clientContext = clientContext,
         displayLocation = displayLocation,
-        displayContext = Some(DisplayContext.Profile(Profile(12L))),
+        displayContext = None,
         maxResults = Some(3),
         fetchPromotedContent = Some(false),
         debugParams = Some(DebugParams(doNotLog = Some(true)))
diff -ru graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/controllers/ServerController.scala graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/controllers/ServerController.scala
--- graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/controllers/ServerController.scala	2023-03-31 18:48:09.165829689 +0000
+++ graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/controllers/ServerController.scala	2023-03-31 23:24:12.452688085 +0000
@@ -25,7 +25,7 @@
       .andThen(Service.mk(serverGetIntersectionHandler))
 
   val getIntersection: Service[GetIntersection.Args, GfsIntersectionResponse] = { args =>
-    // TODO(yqian): Disable updateCache after HTL switch to use PresetIntersection endpoint.
+    // TODO: Disable updateCache after HTL switch to use PresetIntersection endpoint.
     getIntersectionService(
       GetIntersectionRequest.fromGfsIntersectionRequest(args.request, cacheable = true))
   }
@@ -35,7 +35,7 @@
     GetPresetIntersection.Args,
     GfsIntersectionResponse
   ] = { args =>
-    // TODO(yqian): Refactor after HTL switch to PresetIntersection
+    // TODO: Refactor after HTL switch to PresetIntersection
     val cacheable = args.request.presetFeatureTypes == PresetFeatureTypes.HtlTwoHop
     getIntersectionService(
       GetIntersectionRequest.fromGfsPresetIntersectionRequest(args.request, cacheable))
diff -ru graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerGetIntersectionHandler.scala graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerGetIntersectionHandler.scala
--- graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerGetIntersectionHandler.scala	2023-03-31 18:48:09.165829689 +0000
+++ graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerGetIntersectionHandler.scala	2023-03-31 23:24:12.452688085 +0000
@@ -28,7 +28,7 @@
 
   import ServerGetIntersectionHandler._
 
-  // TODO(yqian): Track all the stats based on PresetFeatureType and update the dashboard
+  // TODO: Track all the stats based on PresetFeatureType and update the dashboard
   private val stats: StatsReceiver = statsReceiver.scope("srv").scope("get_intersection")
   private val numCandidatesCount = stats.counter("total_num_candidates")
   private val numCandidatesStat = stats.stat("num_candidates")
diff -ru graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerWarmupHandler.scala graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerWarmupHandler.scala
--- graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerWarmupHandler.scala	2023-03-31 18:48:09.165829689 +0000
+++ graph-feature-service/src/main/scala/com/twitter/graph_feature_service/server/handlers/ServerWarmupHandler.scala	2023-03-31 23:24:12.452688085 +0000
@@ -1,13 +1,17 @@
 package com.twitter.graph_feature_service.server.handlers
 
 import com.twitter.finatra.thrift.routing.ThriftWarmup
-import com.twitter.graph_feature_service.thriftscala.EdgeType.{FavoritedBy, FollowedBy, Following}
+import com.twitter.graph_feature_service.thriftscala.EdgeType.FavoritedBy
+import com.twitter.graph_feature_service.thriftscala.EdgeType.FollowedBy
+import com.twitter.graph_feature_service.thriftscala.EdgeType.Following
 import com.twitter.graph_feature_service.thriftscala.Server.GetIntersection
-import com.twitter.graph_feature_service.thriftscala.{FeatureType, GfsIntersectionRequest}
+import com.twitter.graph_feature_service.thriftscala.FeatureType
+import com.twitter.graph_feature_service.thriftscala.GfsIntersectionRequest
 import com.twitter.inject.utils.Handler
 import com.twitter.scrooge.Request
 import com.twitter.util.logging.Logger
-import javax.inject.{Inject, Singleton}
+import javax.inject.Inject
+import javax.inject.Singleton
 import scala.util.Random
 
 @Singleton
@@ -15,14 +19,8 @@
 
   val logger: Logger = Logger("WarmupHandler")
 
-  private val testingAccounts: Array[Long] = {
-    Seq(
-      12L, //jack
-      21447363L, // KATY PERRY
-      42562446L, // Stephen Curry
-      813286L // Barack Obama
-    ).toArray
-  }
+  // TODO: Add the testing accounts to warm-up the service.
+  private val testingAccounts: Array[Long] = Seq.empty.toArray
 
   private def getRandomRequest: GfsIntersectionRequest = {
     GfsIntersectionRequest(
diff -ru graph-feature-service/src/main/scala/com/twitter/graph_feature_service/util/IntersectionValueCalculator.scala graph-feature-service/src/main/scala/com/twitter/graph_feature_service/util/IntersectionValueCalculator.scala
--- graph-feature-service/src/main/scala/com/twitter/graph_feature_service/util/IntersectionValueCalculator.scala	2023-03-31 18:48:09.165829689 +0000
+++ graph-feature-service/src/main/scala/com/twitter/graph_feature_service/util/IntersectionValueCalculator.scala	2023-03-31 23:24:12.457688542 +0000
@@ -108,7 +108,7 @@
   }
 
   /**
-   * TODO(yaow): for now it only computes intersection size. Will add more feature types (e.g., dot
+   * TODO: for now it only computes intersection size. Will add more feature types (e.g., dot
    * product, maximum value).
    *
    * NOTE that this function assumes both x and y are SORTED arrays.
diff -ru home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala
--- home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala	2023-03-31 18:48:09.167829704 +0000
+++ home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala	2023-03-31 23:24:12.459688516 +0000
@@ -220,30 +220,7 @@
       _.getOrElse(ConversationModule2DisplayedTweetsFeature, false)),
     ("conversation_module_has_gap", _.getOrElse(ConversationModuleHasGapFeature, false)),
     ("served_in_recap_tweet_candidate_module_injection", _ => false),
-    ("served_in_threaded_conversation_module", _ => false),
-    (
-      "author_is_elon",
-      candidate =>
-        candidate
-          .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))),
-    (
-      "author_is_power_user",
-      candidate =>
-        candidate
-          .getOrElse(AuthorIdFeature, None)
-          .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)),
-    (
-      "author_is_democrat",
-      candidate =>
-        candidate
-          .getOrElse(AuthorIdFeature, None)
-          .exists(candidate.getOrElse(DDGStatsDemocratsFeature, Set.empty[Long]).contains)),
-    (
-      "author_is_republican",
-      candidate =>
-        candidate
-          .getOrElse(AuthorIdFeature, None)
-          .exists(candidate.getOrElse(DDGStatsRepublicansFeature, Set.empty[Long]).contains)),
+    ("served_in_threaded_conversation_module", _ => false)
   )
 
   val PredicateMap = CandidatePredicates.toMap
diff -ru home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator/RequestQueryFeatureHydrator.scala home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator/RequestQueryFeatureHydrator.scala
--- home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator/RequestQueryFeatureHydrator.scala	2023-03-31 18:48:09.168940950 +0000
+++ home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator/RequestQueryFeatureHydrator.scala	2023-03-31 23:24:12.461688380 +0000
@@ -1,12 +1,10 @@
 package com.twitter.home_mixer.functional_component.feature_hydrator
 
-import com.twitter.config.yaml.YamlMap
 import com.twitter.finagle.tracing.Annotation.BinaryAnnotation
 import com.twitter.finagle.tracing.ForwardAnnotation
 import com.twitter.home_mixer.model.HomeFeatures._
 import com.twitter.home_mixer.model.request.DeviceContext.RequestContext
 import com.twitter.home_mixer.model.request.HasDeviceContext
-import com.twitter.home_mixer.param.HomeMixerInjectionNames.DDGStatsAuthors
 import com.twitter.joinkey.context.RequestJoinKeyContext
 import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor
 import com.twitter.product_mixer.core.feature.Feature
@@ -24,22 +22,16 @@
 import com.twitter.stitch.Stitch
 import java.util.UUID
 import javax.inject.Inject
-import javax.inject.Named
 import javax.inject.Singleton
 
 @Singleton
 class RequestQueryFeatureHydrator[
   Query <: PipelineQuery with HasPipelineCursor[UrtOrderedCursor] with HasDeviceContext] @Inject() (
-  @Named(DDGStatsAuthors) ddgStatsAuthors: YamlMap)
-    extends QueryFeatureHydrator[Query] {
+) extends QueryFeatureHydrator[Query] {
 
   override val features: Set[Feature[_, _]] = Set(
     AccountAgeFeature,
     ClientIdFeature,
-    DDGStatsDemocratsFeature,
-    DDGStatsRepublicansFeature,
-    DDGStatsElonFeature,
-    DDGStatsVitsFeature,
     DeviceLanguageFeature,
     GetInitialFeature,
     GetMiddleFeature,
@@ -59,10 +51,6 @@
   override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("Request")
 
   private val DarkRequestAnnotation = "clnt/has_dark_request"
-  private val Democrats = "democrats"
-  private val Republicans = "republicans"
-  private val Elon = "elon"
-  private val Vits = "vits"
 
   // Convert Language code to ISO 639-3 format
   private def getLanguageISOFormatByCode(languageCode: String): String =
@@ -83,16 +71,6 @@
     val featureMap = FeatureMapBuilder()
       .add(AccountAgeFeature, query.getOptionalUserId.flatMap(SnowflakeId.timeFromIdOpt))
       .add(ClientIdFeature, query.clientContext.appId)
-      /**
-       * These author ID lists are used purely for metrics collection. We track how often we are
-       * serving Tweets from these authors and how often their tweets are being impressed by users.
-       * This helps us validate in our A/B experimentation platform that we do not ship changes
-       * that negatively impacts one group over others.
-       */
-      .add(DDGStatsDemocratsFeature, ddgStatsAuthors.longSeq(Democrats).toSet)
-      .add(DDGStatsRepublicansFeature, ddgStatsAuthors.longSeq(Republicans).toSet)
-      .add(DDGStatsVitsFeature, ddgStatsAuthors.longSeq(Vits).toSet)
-      .add(DDGStatsElonFeature, ddgStatsAuthors.longValue(Elon))
       .add(DeviceLanguageFeature, query.getLanguageCode.map(getLanguageISOFormatByCode))
       .add(
         GetInitialFeature,
diff -ru home-mixer/server/src/main/scala/com/twitter/home_mixer/model/HomeFeatures.scala home-mixer/server/src/main/scala/com/twitter/home_mixer/model/HomeFeatures.scala
--- home-mixer/server/src/main/scala/com/twitter/home_mixer/model/HomeFeatures.scala	2023-03-31 18:48:09.174829724 +0000
+++ home-mixer/server/src/main/scala/com/twitter/home_mixer/model/HomeFeatures.scala	2023-03-31 23:24:12.465688339 +0000
@@ -176,10 +176,6 @@
     override def personalDataTypes: Set[pd.PersonalDataType] = Set(pd.PersonalDataType.ClientType)
   }
   object CachedScoredTweetsFeature extends Feature[PipelineQuery, Seq[hmt.CachedScoredTweet]]
-  object DDGStatsElonFeature extends Feature[PipelineQuery, Long]
-  object DDGStatsVitsFeature extends Feature[PipelineQuery, Set[Long]]
-  object DDGStatsDemocratsFeature extends Feature[PipelineQuery, Set[Long]]
-  object DDGStatsRepublicansFeature extends Feature[PipelineQuery, Set[Long]]
   object DeviceLanguageFeature extends Feature[PipelineQuery, Option[String]]
   object DismissInfoFeature
       extends FeatureWithDefaultOnFailure[PipelineQuery, Map[st.SuggestType, Option[DismissInfo]]] {
diff -ru home-mixer/server/src/main/scala/com/twitter/home_mixer/module/HomeMixerResourcesModule.scala home-mixer/server/src/main/scala/com/twitter/home_mixer/module/HomeMixerResourcesModule.scala
--- home-mixer/server/src/main/scala/com/twitter/home_mixer/module/HomeMixerResourcesModule.scala	2023-03-31 18:48:09.174829724 +0000
+++ home-mixer/server/src/main/scala/com/twitter/home_mixer/module/HomeMixerResourcesModule.scala	2023-03-31 23:24:12.465688339 +0000
@@ -1,18 +1,5 @@
 package com.twitter.home_mixer.module
 
-import com.google.inject.Provides
-import com.twitter.config.yaml.YamlMap
-import com.twitter.home_mixer.param.HomeMixerInjectionNames.DDGStatsAuthors
 import com.twitter.inject.TwitterModule
-import javax.inject.Named
-import javax.inject.Singleton
 
-object HomeMixerResourcesModule extends TwitterModule {
-
-  private val AuthorsFile = "/config/authors.yml"
-
-  @Provides
-  @Singleton
-  @Named(DDGStatsAuthors)
-  def providesDDGStatsAuthors(): YamlMap = YamlMap.load(AuthorsFile)
-}
+object HomeMixerResourcesModule extends TwitterModule {}
diff -ru home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala
--- home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala	2023-03-31 18:48:09.175829662 +0000
+++ home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala	2023-03-31 23:24:12.466687866 +0000
@@ -4,7 +4,6 @@
   final val AuthorFeatureRepository = "AuthorFeatureRepository"
   final val CandidateFeaturesScribeEventPublisher = "CandidateFeaturesScribeEventPublisher"
   final val CommonFeaturesScribeEventPublisher = "CommonFeaturesScribeEventPublisher"
-  final val DDGStatsAuthors = "DDGStatsAuthors"
   final val EarlybirdRepository = "EarlybirdRepository"
   final val EngagementsReceivedByAuthorCache = "EngagementsReceivedByAuthorCache"
   final val GraphTwoHopRepository = "GraphTwoHopRepository"
diff -ru navi/navi/proto/tensorflow/core/framework/full_type.proto navi/navi/proto/tensorflow/core/framework/full_type.proto
--- navi/navi/proto/tensorflow/core/framework/full_type.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/full_type.proto	2023-03-31 23:24:12.471688443 +0000
@@ -122,7 +122,7 @@
   //   TFT_TENSOR[TFT_INT32, TFT_UNKNOWN]
   //     is a Tensor of int32 element type and unknown shape.
   //
-  // TODO(mdan): Define TFT_SHAPE and add more examples.
+  // TODO: Define TFT_SHAPE and add more examples.
   TFT_TENSOR = 1000;
 
   // Array (or tensorflow::TensorList in the variant type registry).
@@ -178,7 +178,7 @@
   // object (for now).
 
   // The bool element type.
-  // TODO(mdan): Quantized types, legacy representations (e.g. ref)
+  // TODO
   TFT_BOOL = 200;
   // Integer element types.
   TFT_UINT8 = 201;
@@ -195,7 +195,7 @@
   TFT_DOUBLE = 211;
   TFT_BFLOAT16 = 215;
   // Complex element types.
-  // TODO(mdan): Represent as TFT_COMPLEX[TFT_DOUBLE] instead?
+  // TODO: Represent as TFT_COMPLEX[TFT_DOUBLE] instead?
   TFT_COMPLEX64 = 212;
   TFT_COMPLEX128 = 213;
   // The string element type.
@@ -240,7 +240,7 @@
   // ownership is in the true sense: "the op argument representing the lock is
   // available".
   // Mutex locks are the dynamic counterpart of control dependencies.
-  // TODO(mdan): Properly document this thing.
+  // TODO: Properly document this thing.
   //
   // Parametrization: TFT_MUTEX_LOCK[].
   TFT_MUTEX_LOCK = 10202;
@@ -271,6 +271,6 @@
   oneof attr {
     string s = 3;
     int64 i = 4;
-    // TODO(mdan): list/tensor, map? Need to reconcile with TFT_RECORD, etc.
+    // TODO: list/tensor, map? Need to reconcile with TFT_RECORD, etc.
   }
 }
diff -ru navi/navi/proto/tensorflow/core/framework/function.proto navi/navi/proto/tensorflow/core/framework/function.proto
--- navi/navi/proto/tensorflow/core/framework/function.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/function.proto	2023-03-31 23:24:12.471688443 +0000
@@ -23,7 +23,7 @@
 // with a value. When a GraphDef has a call to a function, it must
 // have binding for every attr defined in the signature.
 //
-// TODO(zhifengc):
+// TODO:
 //   * device spec, etc.
 message FunctionDef {
   // The definition of the function's name, arguments, return values,
diff -ru navi/navi/proto/tensorflow/core/framework/node_def.proto navi/navi/proto/tensorflow/core/framework/node_def.proto
--- navi/navi/proto/tensorflow/core/framework/node_def.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/node_def.proto	2023-03-31 23:24:12.471688443 +0000
@@ -61,7 +61,7 @@
   // one of the names from the corresponding OpDef's attr field).
   // The values must have a type matching the corresponding OpDef
   // attr's type field.
-  // TODO(josh11b): Add some examples here showing best practices.
+  // TODO: Add some examples here showing best practices.
   map<string, AttrValue> attr = 5;
 
   message ExperimentalDebugInfo {
diff -ru navi/navi/proto/tensorflow/core/framework/op_def.proto navi/navi/proto/tensorflow/core/framework/op_def.proto
--- navi/navi/proto/tensorflow/core/framework/op_def.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/op_def.proto	2023-03-31 23:24:12.471688443 +0000
@@ -96,7 +96,7 @@
     // Human-readable description.
     string description = 4;
 
-    // TODO(josh11b): bool is_optional?
+    // TODO: bool is_optional?
 
     // --- Constraints ---
     // These constraints are only in effect if specified.  Default is no
@@ -139,7 +139,7 @@
   // taking input from multiple devices with a tree of aggregate ops
   // that aggregate locally within each device (and possibly within
   // groups of nearby devices) before communicating.
-  // TODO(josh11b): Implement that optimization.
+  // TODO: Implement that optimization.
   bool is_aggregate = 16;  // for things like add
 
   // Other optimizations go here, like
diff -ru navi/navi/proto/tensorflow/core/framework/step_stats.proto navi/navi/proto/tensorflow/core/framework/step_stats.proto
--- navi/navi/proto/tensorflow/core/framework/step_stats.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/step_stats.proto	2023-03-31 23:24:12.471688443 +0000
@@ -53,7 +53,7 @@
 
 // Time/size stats recorded for a single execution of a graph node.
 message NodeExecStats {
-  // TODO(tucker): Use some more compact form of node identity than
+  // TODO: Use some more compact form of node identity than
   // the full string name.  Either all processes should agree on a
   // global id (cost_id?) for each node, or we should use a hash of
   // the name.
diff -ru navi/navi/proto/tensorflow/core/framework/tensor.proto navi/navi/proto/tensorflow/core/framework/tensor.proto
--- navi/navi/proto/tensorflow/core/framework/tensor.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/framework/tensor.proto	2023-03-31 23:24:12.471688443 +0000
@@ -16,7 +16,7 @@
 message TensorProto {
   DataType dtype = 1;
 
-  // Shape of the tensor.  TODO(touts): sort out the 0-rank issues.
+  // Shape of the tensor.  TODO: sort out the 0-rank issues.
   TensorShapeProto tensor_shape = 2;
 
   // Only one of the representations below is set, one of "tensor_contents" and
diff -ru navi/navi/proto/tensorflow/core/protobuf/config.proto navi/navi/proto/tensorflow/core/protobuf/config.proto
--- navi/navi/proto/tensorflow/core/protobuf/config.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/config.proto	2023-03-31 23:24:12.472688230 +0000
@@ -532,7 +532,7 @@
 
     // We removed the flag client_handles_error_formatting. Marking the tag
     // number as reserved.
-    // TODO(shikharagarwal): Should we just remove this tag so that it can be
+    // TODO: Should we just remove this tag so that it can be
     // used in future for other purpose?
     reserved 2;
 
@@ -576,7 +576,7 @@
     // - If isolate_session_state is true, session states are isolated.
     // - If isolate_session_state is false, session states are shared.
     //
-    // TODO(b/129330037): Add a single API that consistently treats
+    // TODO: Add a single API that consistently treats
     // isolate_session_state and ClusterSpec propagation.
     bool share_session_state_in_clusterspec_propagation = 8;
 
@@ -704,7 +704,7 @@
 
 // Options for a single Run() call.
 message RunOptions {
-  // TODO(pbar) Turn this into a TraceOptions proto which allows
+  // TODO Turn this into a TraceOptions proto which allows
   // tracing to be controlled in a more orthogonal manner?
   enum TraceLevel {
     NO_TRACE = 0;
@@ -781,7 +781,7 @@
   repeated GraphDef partition_graphs = 3;
 
   message FunctionGraphs {
-    // TODO(nareshmodi): Include some sort of function/cache-key identifier?
+    // TODO: Include some sort of function/cache-key identifier?
     repeated GraphDef partition_graphs = 1;
 
     GraphDef pre_optimization_graph = 2;
diff -ru navi/navi/proto/tensorflow/core/protobuf/coordination_service.proto navi/navi/proto/tensorflow/core/protobuf/coordination_service.proto
--- navi/navi/proto/tensorflow/core/protobuf/coordination_service.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/coordination_service.proto	2023-03-31 23:24:12.472688230 +0000
@@ -194,7 +194,7 @@
 
   // Report error to the task. RPC sets the receiving instance of coordination
   // service agent to error state permanently.
-  // TODO(b/195990880): Consider splitting this into a different RPC service.
+  // TODO: Consider splitting this into a different RPC service.
   rpc ReportErrorToAgent(ReportErrorToAgentRequest)
       returns (ReportErrorToAgentResponse);
 
diff -ru navi/navi/proto/tensorflow/core/protobuf/debug.proto navi/navi/proto/tensorflow/core/protobuf/debug.proto
--- navi/navi/proto/tensorflow/core/protobuf/debug.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/debug.proto	2023-03-31 23:24:12.472688230 +0000
@@ -46,7 +46,7 @@
   // are to be debugged, the callers of Session::Run() must use distinct
   // debug_urls to make sure that the streamed or dumped events do not overlap
   // among the invocations.
-  // TODO(cais): More visible documentation of this in g3docs.
+  // TODO: More visible documentation of this in g3docs.
   repeated string debug_urls = 4;
 
   // Do not error out if debug op creation fails (e.g., due to dtype
diff -ru navi/navi/proto/tensorflow/core/protobuf/debug_event.proto navi/navi/proto/tensorflow/core/protobuf/debug_event.proto
--- navi/navi/proto/tensorflow/core/protobuf/debug_event.proto	2023-03-31 18:48:09.181089686 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/debug_event.proto	2023-03-31 23:24:12.472688230 +0000
@@ -12,7 +12,7 @@
 option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto";
 
 // Available modes for extracting debugging information from a Tensor.
-// TODO(cais): Document the detailed column names and semantics in a separate
+// TODO: Document the detailed column names and semantics in a separate
 // markdown file once the implementation settles.
 enum TensorDebugMode {
   UNSPECIFIED = 0;
@@ -223,7 +223,7 @@
   // A debugger-generated ID for the device. Guaranteed to be unique within
   // the scope of the debugged TensorFlow program, including single-host and
   // multi-host settings.
-  // TODO(cais): Test the uniqueness guarantee in multi-host settings.
+  // TODO: Test the uniqueness guarantee in multi-host settings.
   int32 device_id = 2;
 }
 
@@ -264,7 +264,7 @@
   // field with the DebuggedDevice messages.
   repeated int32 output_tensor_device_ids = 9;
 
-  // TODO(cais): When backporting to V1 Session.run() support, add more fields
+  // TODO support, add more fields
   // such as fetches and feeds.
 }
 
diff -ru navi/navi/proto/tensorflow/core/protobuf/distributed_runtime_payloads.proto navi/navi/proto/tensorflow/core/protobuf/distributed_runtime_payloads.proto
--- navi/navi/proto/tensorflow/core/protobuf/distributed_runtime_payloads.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/distributed_runtime_payloads.proto	2023-03-31 23:24:12.472688230 +0000
@@ -7,7 +7,7 @@
 
 // Used to serialize and transmit tensorflow::Status payloads through
 // grpc::Status `error_details` since grpc::Status lacks payload API.
-// TODO(b/204231601): Use GRPC API once supported.
+// TODO: Use GRPC API once supported.
 message GrpcPayloadContainer {
   map<string, bytes> payloads = 1;
 }
diff -ru navi/navi/proto/tensorflow/core/protobuf/eager_service.proto navi/navi/proto/tensorflow/core/protobuf/eager_service.proto
--- navi/navi/proto/tensorflow/core/protobuf/eager_service.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/eager_service.proto	2023-03-31 23:24:12.472688230 +0000
@@ -172,7 +172,7 @@
 }
 
 message WaitQueueDoneResponse {
-  // TODO(nareshmodi): Consider adding NodeExecStats here to be able to
+  // TODO: Consider adding NodeExecStats here to be able to
   // propagate some stats.
 }
 
diff -ru navi/navi/proto/tensorflow/core/protobuf/master.proto navi/navi/proto/tensorflow/core/protobuf/master.proto
--- navi/navi/proto/tensorflow/core/protobuf/master.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/master.proto	2023-03-31 23:24:12.472688230 +0000
@@ -94,7 +94,7 @@
 }
 
 message ExtendSessionResponse {
-  // TODO(mrry): Return something about the operation?
+  // TODO: Return something about the operation?
 
   // The new version number for the extended graph, to be used in the next call
   // to ExtendSession.
diff -ru navi/navi/proto/tensorflow/core/protobuf/saved_object_graph.proto navi/navi/proto/tensorflow/core/protobuf/saved_object_graph.proto
--- navi/navi/proto/tensorflow/core/protobuf/saved_object_graph.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/saved_object_graph.proto	2023-03-31 23:24:12.472688230 +0000
@@ -176,7 +176,7 @@
   // allows the ConcreteFunction to be called with nest structure inputs. This
   // field may not be populated. If this field is absent, the concrete function
   // can only be called with flat inputs.
-  // TODO(b/169361281): support calling saved ConcreteFunction with structured
+  // TODO: support calling saved ConcreteFunction with structured
   // inputs in C++ SavedModel API.
   FunctionSpec function_spec = 4;
 }
diff -ru navi/navi/proto/tensorflow/core/protobuf/tensor_bundle.proto navi/navi/proto/tensorflow/core/protobuf/tensor_bundle.proto
--- navi/navi/proto/tensorflow/core/protobuf/tensor_bundle.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/tensor_bundle.proto	2023-03-31 23:24:12.473688508 +0000
@@ -17,7 +17,7 @@
 
 // Special header that is associated with a bundle.
 //
-// TODO(zongheng,zhifengc): maybe in the future, we can add information about
+// TODO: maybe in the future, we can add information about
 // which binary produced this checkpoint, timestamp, etc. Sometime, these can be
 // valuable debugging information. And if needed, these can be used as defensive
 // information ensuring reader (binary version) of the checkpoint and the writer
diff -ru navi/navi/proto/tensorflow/core/protobuf/worker.proto navi/navi/proto/tensorflow/core/protobuf/worker.proto
--- navi/navi/proto/tensorflow/core/protobuf/worker.proto	2023-03-31 18:48:09.182829422 +0000
+++ navi/navi/proto/tensorflow/core/protobuf/worker.proto	2023-03-31 23:24:12.473688508 +0000
@@ -188,7 +188,7 @@
 }
 
 message DeregisterGraphResponse {
-  // TODO(mrry): Optionally add summary stats for the graph.
+  // TODO: Optionally add summary stats for the graph.
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -294,7 +294,7 @@
 
   // If the request asked for execution stats, the cost graph, or the partition
   // graphs, these are returned here.
-  // TODO(suharshs): Package these in a RunMetadata instead.
+  // TODO: Package these in a RunMetadata instead.
   StepStats step_stats = 2;
   CostGraphDef cost_graph = 3;
   repeated GraphDef partition_graph = 4;
diff -ru navi/navi/proto/tensorflow_serving/apis/logging.proto navi/navi/proto/tensorflow_serving/apis/logging.proto
--- navi/navi/proto/tensorflow_serving/apis/logging.proto	2023-03-31 18:48:09.183829710 +0000
+++ navi/navi/proto/tensorflow_serving/apis/logging.proto	2023-03-31 23:24:12.473688508 +0000
@@ -13,5 +13,5 @@
   SamplingConfig sampling_config = 2;
   // List of tags used to load the relevant MetaGraphDef from SavedModel.
   repeated string saved_model_tags = 3;
-  // TODO(b/33279154): Add more metadata as mentioned in the bug.
+  // TODO: Add more metadata as mentioned in the bug.
 }
diff -ru navi/navi/proto/tensorflow_serving/config/file_system_storage_path_source.proto navi/navi/proto/tensorflow_serving/config/file_system_storage_path_source.proto
--- navi/navi/proto/tensorflow_serving/config/file_system_storage_path_source.proto	2023-03-31 18:48:09.184297288 +0000
+++ navi/navi/proto/tensorflow_serving/config/file_system_storage_path_source.proto	2023-03-31 23:24:12.473688508 +0000
@@ -58,7 +58,7 @@
 
   // A single servable name/base_path pair to monitor.
   // DEPRECATED: Use 'servables' instead.
-  // TODO(b/30898016): Stop using these fields, and ultimately remove them here.
+  // TODO: Stop using these fields, and ultimately remove them here.
   string servable_name = 1 [deprecated = true];
   string base_path = 2 [deprecated = true];
 
@@ -76,7 +76,7 @@
   // check for a version to appear later.)
   // DEPRECATED: Use 'servable_versions_always_present' instead, which includes
   // this behavior.
-  // TODO(b/30898016): Remove 2019-10-31 or later.
+  // TODO: Remove 2019-10-31 or later.
   bool fail_if_zero_versions_at_startup = 4 [deprecated = true];
 
   // If true, the servable is always expected to exist on the underlying
diff -ru navi/navi/proto/tensorflow_serving/config/model_server_config.proto navi/navi/proto/tensorflow_serving/config/model_server_config.proto
--- navi/navi/proto/tensorflow_serving/config/model_server_config.proto	2023-03-31 18:48:09.184297288 +0000
+++ navi/navi/proto/tensorflow_serving/config/model_server_config.proto	2023-03-31 23:24:12.473688508 +0000
@@ -9,7 +9,7 @@
 option cc_enable_arenas = true;
 
 // The type of model.
-// TODO(b/31336131): DEPRECATED.
+// TODO: DEPRECATED.
 enum ModelType {
   MODEL_TYPE_UNSPECIFIED = 0 [deprecated = true];
   TENSORFLOW = 1 [deprecated = true];
@@ -31,7 +31,7 @@
   string base_path = 2;
 
   // Type of model.
-  // TODO(b/31336131): DEPRECATED. Please use 'model_platform' instead.
+  // TODO: DEPRECATED. Please use 'model_platform' instead.
   ModelType model_type = 3 [deprecated = true];
 
   // Type of model (e.g. "tensorflow").
diff -ru product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/suggestion/QuerySuggestionCandidate.scala product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/suggestion/QuerySuggestionCandidate.scala
--- product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/suggestion/QuerySuggestionCandidate.scala	2023-03-31 18:48:09.196829504 +0000
+++ product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/suggestion/QuerySuggestionCandidate.scala	2023-03-31 23:24:12.482688263 +0000
@@ -231,7 +231,7 @@
 /**
  * Canonical TweetAnnotationQueryCandidate model. Always prefer this version over all other variants.
  *
- * TODO(jhara) Remove score from the candidate and use a Feature instead
+ * TODO Remove score from the candidate and use a Feature instead
  */
 final class TweetAnnotationQueryCandidate private (
   override val id: String,
diff -ru src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala
--- src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala	2023-03-31 18:48:09.270242899 +0000
+++ src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala	2023-03-31 23:24:12.556688569 +0000
@@ -8,7 +8,6 @@
  * The helper class encodes and decodes tweet ids with tweetypie's card information
  * when querying recos salsa library. Inside salsa library, all tweet ids are
  * encoded with card information for the purpose of inline filtering.
- * TODO (wenqih) change TweetIDMask to a mask interface for future extension
  */
 class BipartiteGraphHelper(graph: BipartiteGraph) {
   private val tweetIDMask = new TweetIDMask
