{
  "repo": "tikv/migration",
  "binary": "gc-worker",
  "binary_path": "gc-worker/cmd/main.go",
  "surface_kind": "worker_service",
  "type": "worker_service",
  "services": [
    {
      "name": "GCWorker",
      "package": "github.com/tikv/migration/gc-worker/cmd/main.go",
      "methods": [
        {
          "name": "main",
          "name_key": "Runtime GCWorker.main",
          "input": "worker flags and PD/etcd connectivity settings",
          "output": "long-running GC safepoint election and update worker"
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "gc-worker/cmd/main.go creates the server, starts it, waits on process signals, and exits only after cancellation.",
      "The binary is a long-running leader-election worker, not a one-shot CLI."
    ]
  }
}
