{
  "runtime": "3.12.14",
  "negative_edge_no_cycle": {
    "edges": [
      [
        "A",
        "B",
        4
      ],
      [
        "A",
        "C",
        5
      ],
      [
        "B",
        "C",
        -2
      ],
      [
        "C",
        "D",
        3
      ],
      [
        "B",
        "D",
        10
      ]
    ],
    "result": {
      "reachable_negative_cycle": false,
      "finite_distance_vector_valid": true,
      "distances": {
        "A": 0,
        "B": 4,
        "C": 2,
        "D": 5,
        "U": null
      },
      "paths": {
        "A": [
          "A"
        ],
        "B": [
          "A",
          "B"
        ],
        "C": [
          "A",
          "B",
          "C"
        ],
        "D": [
          "A",
          "B",
          "C",
          "D"
        ],
        "U": null
      },
      "passes": [
        {
          "pass": 1,
          "distances": {
            "A": 0,
            "B": 4,
            "C": 2,
            "D": 5,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 2,
          "distances": {
            "A": 0,
            "B": 4,
            "C": 2,
            "D": 5,
            "U": null
          },
          "changed": false
        }
      ]
    },
    "simple_paths_oracle": {
      "A": 0,
      "B": 4,
      "C": 2,
      "D": 5,
      "U": null
    }
  },
  "reachable_negative_cycle": {
    "edges": [
      [
        "A",
        "B",
        4
      ],
      [
        "B",
        "C",
        -3
      ],
      [
        "C",
        "B",
        1
      ],
      [
        "C",
        "D",
        2
      ]
    ],
    "result": {
      "reachable_negative_cycle": true,
      "finite_distance_vector_valid": false,
      "distances": null,
      "cycle": [
        "C",
        "B",
        "C"
      ],
      "cycle_weight": -2,
      "passes": [
        {
          "pass": 1,
          "distances": {
            "A": 0,
            "B": 2,
            "C": 1,
            "D": 3,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 2,
          "distances": {
            "A": 0,
            "B": 0,
            "C": -1,
            "D": 1,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 3,
          "distances": {
            "A": 0,
            "B": -2,
            "C": -3,
            "D": -1,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 4,
          "distances": {
            "A": 0,
            "B": -4,
            "C": -5,
            "D": -3,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 5,
          "distances": {
            "A": 0,
            "B": -6,
            "C": -7,
            "D": -5,
            "U": null
          },
          "changed": true
        }
      ]
    },
    "reachable_cycle_start_simple_path": [
      "A",
      "B",
      "C"
    ],
    "reachable_cycle_start_simple_path_cost": 1,
    "cost_after_zero_to_three_cycle_repetitions": [
      1,
      -1,
      -3,
      -5
    ]
  },
  "unreachable_negative_cycle": {
    "edges": [
      [
        "A",
        "B",
        4
      ],
      [
        "C",
        "D",
        -3
      ],
      [
        "D",
        "C",
        1
      ]
    ],
    "result": {
      "reachable_negative_cycle": false,
      "finite_distance_vector_valid": true,
      "distances": {
        "A": 0,
        "B": 4,
        "C": null,
        "D": null,
        "U": null
      },
      "paths": {
        "A": [
          "A"
        ],
        "B": [
          "A",
          "B"
        ],
        "C": null,
        "D": null,
        "U": null
      },
      "passes": [
        {
          "pass": 1,
          "distances": {
            "A": 0,
            "B": 4,
            "C": null,
            "D": null,
            "U": null
          },
          "changed": true
        },
        {
          "pass": 2,
          "distances": {
            "A": 0,
            "B": 4,
            "C": null,
            "D": null,
            "U": null
          },
          "changed": false
        }
      ]
    }
  },
  "scope": "Only fixed small directed integer fixtures, V-1 relaxation sweeps plus extra detection round; reachable-cycle result refuses all final finite distances. Not discounted MDP, Java/NetworkX execution or production routing."
}
