{
  "repo": "campaign",
  "full_name": "pingcap/campaign",
  "status": "scan_complete",
  "scan_started_at": "2026-03-31T18:30:00+08:00",
  "scan_completed_at": "2026-03-31T18:30:00+08:00",
  "review_status": "pending_review",
  "expected_binaries": [
    {
      "name": "gaday-webapi",
      "path": "gaday/webapi/index.js",
      "status": "completed",
      "role": "example"
    },
    {
      "name": "gaday-postmail",
      "path": "gaday/postmail/index.js",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "gaday-contributors",
      "path": "gaday/contributors/index.js",
      "status": "completed",
      "role": "admin_cli"
    },
    {
      "name": "gaday-invitation-letter",
      "path": "gaday/invitation-letter/generate.js",
      "status": "completed",
      "role": "admin_cli"
    }
  ],
  "scanned_binaries": [
    {"name": "gaday-webapi", "output_file": "gaday-webapi"},
    {"name": "gaday-postmail", "output_file": "gaday-postmail"},
    {"name": "gaday-contributors", "output_file": "gaday-contributors"},
    {"name": "gaday-invitation-letter", "output_file": "gaday-invitation-letter"}
  ],
  "skipped_binaries": [
    {
      "name": "gaday-webpage",
      "path": "gaday/webpage",
      "skip_reason": "static frontend source/build project with dev tooling rather than a repo-level backend or standalone deployable service binary"
    }
  ],
  "files_generated": [
    "interfaces/gaday-webapi.json",
    "interfaces/gaday-postmail.json",
    "interfaces/gaday-contributors.json",
    "interfaces/gaday-invitation-letter.json",
    "service-mapping/gaday-webapi.json",
    "service-mapping/gaday-postmail.json",
    "service-mapping/gaday-contributors.json",
    "service-mapping/gaday-invitation-letter.json"
  ],
  "scan_progress": "4/4",
  "current_binary": null,
  "codex_scan_at": "2026-03-31T18:30:00+08:00",
  "codex_scan_verdict": "scan_complete",
  "codex_scan_note": "Meta validation showed campaign was incorrectly marked as deployment-only. The real repo surface is the GADay activity project: webapi/index.js runs a json-server-based HTTP API for contributor data, while postmail/index.js, contributors/index.js, and invitation-letter/generate.js are operational Node CLIs for mail generation, contributor aggregation, and invitation-card rendering. The webpack webpage source remains intentionally skipped as a static frontend project rather than a backend binary."
}
