I saw something unexpected this morning. I have a task C with two predecessors A and B. Task A is complete, and task B is not. When I changed the dependencies for C for a delay of -1 (start Task C the day the predecessors A and B are done), the start date for Task C became the current date. I got a notification that Task C was ready to start, even though predecessor task B was not done.
A notification for a task shouldn't go out if it's start date is moved to today by a change in dependencies if a predecessor isn't done. In other words, regardless of the start date or a change in start date, if the dependencies that start a task aren't met, then the task should not be marked ready to start.