Based on my understanding of scheduled and due dates:
A task becomes due at due - rc.due. At that time it begins to be included in +DUE and to be displayed with color.due.
The earliest opportunity to work on a task can be scheduled later than due - rc.due. Doing this causes tasks to appear as "due" in reports and take on "due" urgency before any work on them can be done.
While these due-before-scheduled tasks can be hidden with wait, it's my opinion that preventing the condition would be a better solution.
Suggested change:
For any given task that is both due and scheduled, consider its rc.due to be min(rc.due, due - scheduled).
If rc.due is recalculated for a task, use the recalculated rc.due when determining task color and whether to include a task in a report.
If rc.due is recalculated for a task, use the recalculated rc.due when pro-rating urgency.due.coefficient for the task. Tasks with smaller windows of opportunity should increase in urgency faster.
Based on my understanding of
scheduledandduedates:A task becomes due at
due - rc.due. At that time it begins to be included in+DUEand to be displayed withcolor.due.The earliest opportunity to work on a task can be scheduled later than
due - rc.due. Doing this causes tasks to appear as "due" in reports and take on "due" urgency before any work on them can be done.While these due-before-scheduled tasks can be hidden with
wait, it's my opinion that preventing the condition would be a better solution.Suggested change:
For any given task that is both
dueandscheduled, consider itsrc.dueto bemin(rc.due, due - scheduled).If
rc.dueis recalculated for a task, use the recalculatedrc.duewhen determining task color and whether to include a task in a report.If
rc.dueis recalculated for a task, use the recalculatedrc.duewhen pro-ratingurgency.due.coefficientfor the task. Tasks with smaller windows of opportunity should increase in urgency faster.