We need to make sure every scenario that does not result in a feasible schedule (including error cases) is handled and a specific error message is returned.
Please implement logic to handle the scenarios defined in #36. It may be impossible to distinguish certain scenarios apart without significant changes to the algorithm implementation. In those cases, you should identify which scenarios cannot be differentiated and and come up with a new error message that is as specific as possible to use for all of them. Please document these cases and their new error messages so it is easy for the reviewer to correlate scenarios defined in #36 to the code.
Acceptance Criteria
[ ] Every unhappy path defined in is handled (and does not throw an uncaught exception) and returns None,
[ ] Wherever possible, the error messages match what is defined in #36
[ ] Scenarios that are impossible to distinguish from one another are documented with their new error message
Description
We need to make sure every scenario that does not result in a feasible schedule (including error cases) is handled and a specific error message is returned.
Please implement logic to handle the scenarios defined in #36. It may be impossible to distinguish certain scenarios apart without significant changes to the algorithm implementation. In those cases, you should identify which scenarios cannot be differentiated and and come up with a new error message that is as specific as possible to use for all of them. Please document these cases and their new error messages so it is easy for the reviewer to correlate scenarios defined in #36 to the code.
Acceptance Criteria