{
  "authored_main": {
    "input_durations": {
      "A": 3,
      "B": 2,
      "C": 4,
      "D": 1,
      "E": 2
    },
    "input_edges": [
      [
        "A",
        "C"
      ],
      [
        "B",
        "C"
      ],
      [
        "C",
        "D"
      ],
      [
        "B",
        "E"
      ]
    ],
    "schedule": {
      "topological_order": [
        "A",
        "B",
        "C",
        "D",
        "E"
      ],
      "jobs": [
        {
          "job": "A",
          "duration": 3,
          "predecessors": [],
          "ES": 0,
          "EF": 3,
          "chosen_max_predecessor": null,
          "path": [
            "A"
          ]
        },
        {
          "job": "B",
          "duration": 2,
          "predecessors": [],
          "ES": 0,
          "EF": 2,
          "chosen_max_predecessor": null,
          "path": [
            "B"
          ]
        },
        {
          "job": "C",
          "duration": 4,
          "predecessors": [
            "A",
            "B"
          ],
          "ES": 3,
          "EF": 7,
          "chosen_max_predecessor": "A",
          "path": [
            "A",
            "C"
          ]
        },
        {
          "job": "D",
          "duration": 1,
          "predecessors": [
            "C"
          ],
          "ES": 7,
          "EF": 8,
          "chosen_max_predecessor": "C",
          "path": [
            "A",
            "C",
            "D"
          ]
        },
        {
          "job": "E",
          "duration": 2,
          "predecessors": [
            "B"
          ],
          "ES": 2,
          "EF": 4,
          "chosen_max_predecessor": "B",
          "path": [
            "B",
            "E"
          ]
        }
      ],
      "finish_by_job": {
        "A": 3,
        "B": 2,
        "C": 7,
        "D": 8,
        "E": 4
      },
      "project_finish": 8,
      "critical_path": [
        "A",
        "C",
        "D"
      ]
    },
    "alternative_topological_order": [
      "B",
      "E",
      "A",
      "C",
      "D"
    ],
    "all_paths_oracle": [
      {
        "path": [
          "A"
        ],
        "end": "A",
        "duration": 3
      },
      {
        "path": [
          "A",
          "C"
        ],
        "end": "C",
        "duration": 7
      },
      {
        "path": [
          "A",
          "C",
          "D"
        ],
        "end": "D",
        "duration": 8
      },
      {
        "path": [
          "B"
        ],
        "end": "B",
        "duration": 2
      },
      {
        "path": [
          "B",
          "C"
        ],
        "end": "C",
        "duration": 6
      },
      {
        "path": [
          "B",
          "C",
          "D"
        ],
        "end": "D",
        "duration": 7
      },
      {
        "path": [
          "B",
          "E"
        ],
        "end": "E",
        "duration": 4
      },
      {
        "path": [
          "C"
        ],
        "end": "C",
        "duration": 4
      },
      {
        "path": [
          "C",
          "D"
        ],
        "end": "D",
        "duration": 5
      },
      {
        "path": [
          "D"
        ],
        "end": "D",
        "duration": 1
      },
      {
        "path": [
          "E"
        ],
        "end": "E",
        "duration": 2
      }
    ]
  },
  "serial_single_resource_total": 12,
  "serial_total_is_not_unlimited_resource_finish": true,
  "ties_isolated_zero_duration_cases": [
    {
      "input_durations": {
        "A": 2,
        "B": 2,
        "C": 1
      },
      "input_edges": [
        [
          "A",
          "C"
        ],
        [
          "B",
          "C"
        ]
      ],
      "schedule": {
        "topological_order": [
          "A",
          "B",
          "C"
        ],
        "jobs": [
          {
            "job": "A",
            "duration": 2,
            "predecessors": [],
            "ES": 0,
            "EF": 2,
            "chosen_max_predecessor": null,
            "path": [
              "A"
            ]
          },
          {
            "job": "B",
            "duration": 2,
            "predecessors": [],
            "ES": 0,
            "EF": 2,
            "chosen_max_predecessor": null,
            "path": [
              "B"
            ]
          },
          {
            "job": "C",
            "duration": 1,
            "predecessors": [
              "A",
              "B"
            ],
            "ES": 2,
            "EF": 3,
            "chosen_max_predecessor": "A",
            "path": [
              "A",
              "C"
            ]
          }
        ],
        "finish_by_job": {
          "A": 2,
          "B": 2,
          "C": 3
        },
        "project_finish": 3,
        "critical_path": [
          "A",
          "C"
        ]
      },
      "alternative_topological_order": [
        "B",
        "A",
        "C"
      ],
      "all_paths_oracle": [
        {
          "path": [
            "A"
          ],
          "end": "A",
          "duration": 2
        },
        {
          "path": [
            "A",
            "C"
          ],
          "end": "C",
          "duration": 3
        },
        {
          "path": [
            "B"
          ],
          "end": "B",
          "duration": 2
        },
        {
          "path": [
            "B",
            "C"
          ],
          "end": "C",
          "duration": 3
        },
        {
          "path": [
            "C"
          ],
          "end": "C",
          "duration": 1
        }
      ]
    },
    {
      "input_durations": {
        "A": 1,
        "B": 3,
        "C": 10
      },
      "input_edges": [
        [
          "A",
          "B"
        ]
      ],
      "schedule": {
        "topological_order": [
          "A",
          "B",
          "C"
        ],
        "jobs": [
          {
            "job": "A",
            "duration": 1,
            "predecessors": [],
            "ES": 0,
            "EF": 1,
            "chosen_max_predecessor": null,
            "path": [
              "A"
            ]
          },
          {
            "job": "B",
            "duration": 3,
            "predecessors": [
              "A"
            ],
            "ES": 1,
            "EF": 4,
            "chosen_max_predecessor": "A",
            "path": [
              "A",
              "B"
            ]
          },
          {
            "job": "C",
            "duration": 10,
            "predecessors": [],
            "ES": 0,
            "EF": 10,
            "chosen_max_predecessor": null,
            "path": [
              "C"
            ]
          }
        ],
        "finish_by_job": {
          "A": 1,
          "B": 4,
          "C": 10
        },
        "project_finish": 10,
        "critical_path": [
          "C"
        ]
      },
      "alternative_topological_order": [
        "C",
        "A",
        "B"
      ],
      "all_paths_oracle": [
        {
          "path": [
            "A"
          ],
          "end": "A",
          "duration": 1
        },
        {
          "path": [
            "A",
            "B"
          ],
          "end": "B",
          "duration": 4
        },
        {
          "path": [
            "B"
          ],
          "end": "B",
          "duration": 3
        },
        {
          "path": [
            "C"
          ],
          "end": "C",
          "duration": 10
        }
      ]
    },
    {
      "input_durations": {
        "A": 0
      },
      "input_edges": [],
      "schedule": {
        "topological_order": [
          "A"
        ],
        "jobs": [
          {
            "job": "A",
            "duration": 0,
            "predecessors": [],
            "ES": 0,
            "EF": 0,
            "chosen_max_predecessor": null,
            "path": [
              "A"
            ]
          }
        ],
        "finish_by_job": {
          "A": 0
        },
        "project_finish": 0,
        "critical_path": [
          "A"
        ]
      },
      "alternative_topological_order": [
        "A"
      ],
      "all_paths_oracle": [
        {
          "path": [
            "A"
          ],
          "end": "A",
          "duration": 0
        }
      ]
    }
  ],
  "all64_forward_edge_DAG_oracles": 64,
  "invalid_cases_rejected": [
    "cycle",
    "negative",
    "bool",
    "unknown",
    "repeated_edge",
    "empty"
  ],
  "scope": "precedence-only unlimited resources, arbitrary authored time unit, no execution/queuing/latency/real schedule or capacity benchmark; critical path maximizes duration, not number of nodes"
}
