However this is exactly the kind of task can benefit from having a due date, and perhaps several other dates also.
There are several dates that can decorate a task, each with its own meaning and effects. You can choose to use some, all or none of these, but like all Taskwarrior features, they are there in case your needs require it, but you do not pay a performance or friction penalty by not using them.
Now your task has an associated due date, to help you determine when you need to work on it. But what effect does this have on Taskwarrior? How can it be used to best advantage?
That is an example of a virtual tag, TODAY, which is not a real tag, but is something you can query, and is equivalent to the previous example. Additionally you can use DUE which filters tasks that have a due date in the next week, or WEEK for all tasks due this week, including YESTERDAY, TOMORROW, MONTH and YEAR.
There is also an overdue report that makes use of the OVERDUE virtual tag, to show you what is already late. If you run the calendar report, your due date will be highlighted on it.
What we see here is that Taskwarrior leverages the metadata to drive various features. Several reports will sort by due date, and as we see above, a task that has a due date now belongs on your schedule.
This means that you need to send Alice a birthday card, no later than 2016-11-08, and no earlier than 2016-11-04.
Tasks that have no scheduled date are considered always ready. Again, metadata drives the sophistication of your task list.
Here the task is given a wait date of 2016-11-01, via the useful shortcut 'november', which means the task will not appear on lists until November. At that time, it will reappear, but it will still not be ready until 2016-11-04.
There is a WAITING virtual tag to select these tasks, but note that you have to use the all report with it, otherwise you get conflicts with the other reports that specify a 'pending' status, because a waiting task is not pending.
This means that on 2016-11-10, the task self destructs, and is automatically deleted. This might be the right thing to do for a birthday card task, but is not suitable for a "Pay the rent" task. Beware!
This are evaluated only at task creation time, so if you change the due date, you also need to change the other dates. Note there is an UNTIL virtual tag to show you all tasks that are set to auto-expire.
There are other dates associated with a task, but these are more for internal use, and are less useful for you.
Each task has an entry date which records when it was created. Each completed or deleted task has an end date, which records when it was completed or deleted. An active, or started task has a start date, but only while it is in the active state. Finally, every task has a modification date, which records when it was last modified. This is used as a hint when tasks are being synced.
In addition, you may find you have a use case for a different kind of date for your task lists. For example, you may adhere to an agile development process, and a task may be assigned to a sprint, and that sprint may be identified by its end date. You can add arbitrary dates like this to Taskwarrior by defining a User Defined Attribute (UDA) and then storing that metadata with your tasks. In this case, Taskwarrior will do nothing with your UDA but store it, and let you use it in reports and filters.
The presence and values of date metadata in your tasks affects the urgency calculations. For example, if a task is blocked by a dependency, the urgency is reduced. Similarly tasks that are ready have an elevated urgency.