{
  "repo": "cluster-service-ng",
  "full_name": "tidbcloud/cluster-service-ng",
  "status": "approved",
  "scan_started_at": "2026-03-25T11:11:00+08:00",
  "scan_completed_at": "2026-03-25T11:20:00+08:00",
  "review_completed_at": "2026-03-25T11:33:00+08:00",
  "expected_binaries": [
    {"name": "autoscale_mock", "path": "cmd/autoscale_mock/main.go", "status": "skipped", "role": "worker", "skip_reason": "no_external_interface"},
    {"name": "cluster_ng_server", "path": "cmd/cluster_ng_server/main.go", "status": "completed", "role": "primary_service"},
    {"name": "autoscale_stub", "path": "cmd/autoscale_stub/main.go", "status": "completed", "role": "primary_service"},
    {"name": "executor", "path": "cmd/executor/main.go", "status": "completed", "role": "primary_service"}
  ],
  "scanned_binaries": [
    {"name": "cluster_ng_server", "output_file": "cmd-cluster_ng_server"},
    {"name": "autoscale_stub", "output_file": "cmd-autoscale_stub"},
    {"name": "executor", "output_file": "cmd-executor"}
  ],
  "skipped_binaries": [
    {"name": "autoscale_mock", "skip_reason": "cli_only"}
  ],
  "review_status": "approved",
  "review_participants": ["opencode", "kimi", "codex"],
  "review_cycles": 1,
  "files_generated": [
    "interfaces/cmd-cluster_ng_server.json",
    "interfaces/cmd-autoscale_stub.json",
    "interfaces/cmd-executor.json",
    "service-mapping/cmd-cluster_ng_server.json",
    "service-mapping/cmd-autoscale_stub.json",
    "service-mapping/cmd-executor.json"
  ],
  "codex_rescan_at": "2026-03-30T22:20:50+08:00",
  "codex_rescan_verdict": "stale_fixed",
  "codex_rescan_note": "Verified cmd/cluster_ng_server, cmd/autoscale_stub, and cmd/executor against current source. Refreshed autoscale_stub service-mapping to capture current DXF HTTPS metrics calls, config-driven O11y/Auth0 usage, and direct HPA updates; cluster_ng_server and executor outputs stayed source-consistent. A follow-up outward-expansion review for tidb-management-service root-call-graph work then tightened TiDBClusterService.ListTiDBGroups and TiDBClusterService.GetTiDBGroup into explicit local cluster/tidbgroup MySQL reads plus workflow-state overlays, confirming that these nextgen cluster-detail nodes currently terminate inside cluster-service-ng rather than fanning out into another repo. A later meta-validation pass also corrected cmd/autoscale_mock from cli_only to a skipped worker: it runs the autoscale executor sync loop continuously but still exposes no repo-level external API surface."
}
