{
  "repo": "tikv/auto-tikv",
  "binary": "pipeline",
  "binary_path": "pipeline.py",
  "dependencies": {
    "PipelineLifecycle.RunOptimizationLoop": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "WRITE DATASET SNAPSHOTS",
              "trigger": "Persist dataset pickle snapshots between optimization rounds",
              "conditions": [
                "Always"
              ],
              "implementation": "pipeline.py writes intermediate dataset pickle files"
            }
          ]
        },
        "external_tools": {
          "conditions": [
            "When workload and knob tuning steps execute"
          ],
          "operations": [
            {
              "operation": "CALL tikv-ctl",
              "trigger": "Inspect or manipulate TiKV state during tuning rounds",
              "conditions": [
                "tikv control step executes"
              ],
              "implementation": "pipeline.py invokes tikv-ctl"
            },
            {
              "operation": "CALL go-ycsb",
              "trigger": "Run benchmark workloads for evaluation",
              "conditions": [
                "workload benchmark step executes"
              ],
              "implementation": "pipeline.py invokes go-ycsb"
            }
          ]
        }
      },
      "services": []
    }
  }
}
