{
  "repo": "tidbcloud/escalation-base",
  "binary": "olympus-backend",
  "binary_path": "olympus-HA/backend/main.go",
  "notes": [
    "Fresh codex rescan replaced the old aggregate ScheduleAPI/ValidateAPI/LoginAPI summary with handler-level coverage from Gin registration code."
  ],
  "dependencies": {
    "OlympusLifecycle.LoadConfigAndFlags": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "READ CONFIG",
              "paths": [
                "olympus-HA/backend/etc or configured mode-specific Viper sources"
              ],
              "conditions": [
                "Always"
              ],
              "implementation": "config_init.SetUpConfig(*mode)"
            }
          ]
        }
      },
      "services": []
    },
    "OlympusLifecycle.StartHTTPServer": {
      "infrastructure": {
        "network": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "LISTEN",
              "address": "viper.GetString(\"port\")",
              "conditions": [
                "Always"
              ],
              "implementation": "http.Server.ListenAndServe"
            }
          ]
        }
      },
      "services": []
    },
    "OlympusScheduleHTTP.ShiftView": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.MayUpdateNextRound, db.GetCurrentOverview, db.GetShiftList",
          "operation_type": "mysql",
          "conditions": [
            "Always"
          ],
          "implementation": "scheduler.shiftviewHandler"
        }
      ]
    },
    "OlympusScheduleHTTP.CategoryById": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.GetCategoryShiftList, db.GetRobin, db.GetAvailableRolesInCategory, db.GetTeams",
          "operation_type": "mysql",
          "conditions": [
            "category id parses successfully"
          ],
          "implementation": "scheduler.categoryHandler"
        }
      ]
    },
    "OlympusScheduleHTTP.Delete": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.DeleteOnePerson",
          "operation_type": "mysql",
          "conditions": [
            "category_id and engineer_id parse successfully"
          ],
          "implementation": "scheduler.deleteHandler"
        }
      ]
    },
    "OlympusScheduleHTTP.Change": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.ChangeManually",
          "operation_type": "mysql",
          "conditions": [
            "category_id, engineer_id, old_id, and week_id parse successfully"
          ],
          "implementation": "scheduler.changeHandler"
        }
      ]
    },
    "OlympusScheduleHTTP.Add": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.AddOnePerson",
          "operation_type": "mysql",
          "conditions": [
            "category_id and team_id parse successfully"
          ],
          "implementation": "scheduler.addHandler"
        }
      ]
    },
    "OlympusScheduleHTTP.Current": {
      "infrastructure": {},
      "services": [
        {
          "name": "olympus-mysql",
          "target_interface": "db.GetCurrentWeekSchedule",
          "operation_type": "mysql",
          "conditions": [
            "Always"
          ],
          "implementation": "scheduler.currentHandler"
        }
      ]
    },
    "OlympusValidateHTTP.Validate": {
      "infrastructure": {},
      "services": [
        {
          "name": "authing",
          "target_interface": "GET /api/v2/oidc/validate_token",
          "operation_type": "http_get",
          "conditions": [
            "Always"
          ],
          "implementation": "validate.validateHandler"
        },
        {
          "name": "olympus-mysql",
          "target_interface": "db.GetAuth, db.GetCategoriesByEmail",
          "operation_type": "mysql",
          "conditions": [
            "Authing validate_token succeeded",
            "validateEmail(email) == true"
          ],
          "implementation": "validate.validateHandler"
        }
      ]
    },
    "OlympusLoginHTTP.LoginCallback": {
      "infrastructure": {},
      "services": [
        {
          "name": "authing",
          "target_interface": "POST /oidc/token",
          "operation_type": "http_post",
          "conditions": [
            "Always"
          ],
          "implementation": "login.loginHandler"
        }
      ]
    }
  }
}
