{
  "repo": "tidbcloud/devtier-store-service",
  "binary": "ipip",
  "binary_path": "ipip/main.go",
  "notes": [
    "Fresh codex rescan added the startup file-loading path and kept the single request handler separate. The handler does not call remote services; it only queries the local IP database loaded at startup."
  ],
  "dependencies": {
    "IPIPLifecycle.InitIPDB": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "READ",
              "paths": [
                "ipip_cn_updated.ipdb"
              ],
              "conditions": [
                "Always"
              ],
              "implementation": "ipip.initIPDB -> ipdb.NewCity"
            },
            {
              "operation": "RELOAD",
              "paths": [
                "ipip_cn_updated.ipdb"
              ],
              "conditions": [
                "After initial open succeeds"
              ],
              "implementation": "ipip.initIPDB -> db.Reload"
            }
          ]
        }
      },
      "services": []
    },
    "IPIPLifecycle.StartHTTPServer": {
      "infrastructure": {
        "network": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "LISTEN",
              "address": "default Gin address :8080",
              "conditions": [
                "Always"
              ],
              "implementation": "gin.Engine.Run"
            }
          ]
        }
      },
      "services": []
    },
    "IPIPHTTP.LookupIP": {
      "infrastructure": {},
      "services": []
    }
  }
}
