{
  "repo": "account",
  "full_name": "tidbcloud/account",
  "status": "scan_complete",
  "scan_started_at": "2026-03-25T15:30:00+08:00",
  "scan_completed_at": "2026-03-27T19:51:04+08:00",
  "expected_binaries": [
    {
      "name": "central",
      "path": "central/cmd/central/main.go",
      "status": "completed",
      "role": "primary_service"
    },
    {
      "name": "acl",
      "path": "central/cmd/acl/main.go",
      "status": "completed",
      "role": "primary_service"
    },
    {
      "name": "openapi",
      "path": "central/cmd/openapi/main.go",
      "status": "completed",
      "role": "primary_service"
    },
    {
      "name": "provider",
      "path": "central/cmd/provider/main.go",
      "status": "completed",
      "role": "primary_service"
    },
    {
      "name": "worker",
      "path": "central/cmd/worker/main.go",
      "status": "completed",
      "role": "worker"
    },
    {
      "name": "migrate",
      "path": "central/cmd/migrate/main.go",
      "status": "skipped",
      "role": "admin_cli",
      "skip_reason": "migration_tool"
    },
    {
      "name": "server",
      "path": "admin/cmd/server/main.go",
      "status": "completed",
      "role": "primary_service"
    }
  ],
  "scanned_binaries": [
    {
      "name": "central",
      "output_file": "central-cmd-central"
    },
    {
      "name": "acl",
      "output_file": "central-cmd-acl"
    },
    {
      "name": "openapi",
      "output_file": "central-cmd-openapi"
    },
    {
      "name": "provider",
      "output_file": "central-cmd-provider"
    },
    {
      "name": "worker",
      "output_file": "central-cmd-worker"
    },
    {
      "name": "server",
      "output_file": "admin-cmd-server"
    }
  ],
  "skipped_binaries": [
    {
      "name": "migrate",
      "skip_reason": "migration_tool"
    }
  ],
  "files_generated": [
    "interfaces/central-cmd-central.json",
    "interfaces/central-cmd-acl.json",
    "interfaces/central-cmd-openapi.json",
    "interfaces/central-cmd-provider.json",
    "interfaces/central-cmd-worker.json",
    "interfaces/admin-cmd-server.json",
    "service-mapping/central-cmd-central.json",
    "service-mapping/central-cmd-acl.json",
    "service-mapping/central-cmd-openapi.json",
    "service-mapping/central-cmd-provider.json",
    "service-mapping/central-cmd-worker.json",
    "service-mapping/admin-cmd-server.json"
  ],
  "review_status": "pending_review",
  "review_participants": [
    "codex"
  ],
  "review_cycles": 0,
  "scan_progress": "5/5",
  "codex_rescan_at": "2026-03-30T22:20:50+08:00",
  "codex_rescan_verdict": "approved",
  "codex_rescan_note": "Fresh codex rescan invalidated the old approved result and rebuilt all six binaries against runtime truth. admin/cmd/server is now restored as a real Gin primary service and rebuilt to 79/79 non-empty method mappings. central-cmd-openapi now includes the secondary OpenAPI gRPC plus grpc-gateway runtime started by StartOpenApiGrpcGateway, with coverage closed at 66/66; the only intentional empty entries are the pure-constant gRPC ListApiKeyRoles method and the inline /healthz route. central-cmd-provider remains at 74/74 method coverage with 71 non-empty mappings; the only empty entries are the three intentional short-circuit stubs CheckIdentityAndPermission, CreateClusterUser, and GetClusterUser. central-cmd-central has been rebuilt from 38 legacy keys to a canonical 105/105 method-level mapping surface with 103 non-empty entries, including wrapper/controller delegation chains for verification email, invitation accept/create flows, project/user RBAC mutations, feature-flag lookups, MSP lookups, marketplace binding, SQL-user queries, and org-SSO enablement; the only intentional empty entries there are GetClientIP and the inline /healthz route. All interface-to-mapping key gaps are now zero across admin, central, openapi, provider, worker, and acl outputs. A follow-up outward-expansion review then tightened the hot roots used by tidb-management-service root-call-graph traversal: AccountAPIService.GetProjectByID and GetOrgByID are now explicitly grounded on DAO-backed MySQL leaves, GetOrgByID's optional billing lookup is corrected to the real HTTP GET /tenants/{tenantID}/plans call, and Add/DeleteClusterRelations are now documented as concrete resource-relation plus role-binding mutations. The repo is scan-complete for codex, but overall review remains pending because there is not yet source-backed triple-consensus approval evidence.",
  "review_completed_at": null
}
