{
  "repo": "tiup",
  "full_name": "pingcap/tiup",
  "status": "scan_complete",
  "scan_started_at": "2026-03-31T23:40:00+08:00",
  "scan_completed_at": "2026-03-31T23:40:00+08:00",
  "expected_binaries": [
    {
      "name": "tiup",
      "path": "main.go",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "server",
      "path": "server/main.go",
      "status": "completed",
      "role": "primary_service"
    },
    {
      "name": "cluster",
      "path": "components/cluster/main.go",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "dm",
      "path": "components/dm/main.go",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "playground",
      "path": "components/playground/main.go",
      "status": "completed",
      "role": "worker"
    },
    {
      "name": "playground-ng",
      "path": "components/playground-ng/main.go",
      "status": "completed",
      "role": "worker"
    },
    {
      "name": "client",
      "path": "components/client/main.go",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "ctl",
      "path": "components/ctl/main.go",
      "status": "completed",
      "role": "admin_cli"
    }
  ],
  "scanned_binaries": [
    {
      "name": "tiup",
      "output_file": "root-tiup"
    },
    {
      "name": "server",
      "output_file": "server-main"
    },
    {
      "name": "cluster",
      "output_file": "components-cluster-main"
    },
    {
      "name": "dm",
      "output_file": "components-dm-main"
    },
    {
      "name": "playground",
      "output_file": "components-playground-main"
    },
    {
      "name": "playground-ng",
      "output_file": "components-playground-ng-main"
    },
    {
      "name": "client",
      "output_file": "components-client-main"
    },
    {
      "name": "ctl",
      "output_file": "components-ctl-main"
    }
  ],
  "skipped_binaries": [],
  "files_generated": [
    "interfaces/root-tiup.json",
    "interfaces/server-main.json",
    "interfaces/components-cluster-main.json",
    "interfaces/components-dm-main.json",
    "interfaces/components-playground-main.json",
    "interfaces/components-playground-ng-main.json",
    "interfaces/components-client-main.json",
    "interfaces/components-ctl-main.json",
    "service-mapping/root-tiup.json",
    "service-mapping/server-main.json",
    "service-mapping/components-cluster-main.json",
    "service-mapping/components-dm-main.json",
    "service-mapping/components-playground-main.json",
    "service-mapping/components-playground-ng-main.json",
    "service-mapping/components-client-main.json",
    "service-mapping/components-ctl-main.json"
  ],
  "scan_progress": "8/8",
  "current_binary": null,
  "codex_scan_at": "2026-03-31T23:40:00+08:00",
  "codex_scan_verdict": "scan_complete",
  "codex_scan_note": "Manual meta validation showed tiup is not a single server binary. The repository contains the root tiup CLI, a mirror HTTP server, multiple admin CLIs, and two long-lived playground daemons with local command HTTP APIs."
}
