Rollover Daily Todos - rollover Task Statuses?

I’m a heavy user of decorated tasks, so I’ve used a lot of task status characters spread across task in daily notes to mark. Here is a simple example of all the ones directly related to doable tasks, and some tasks to illustrate how I use decorated tasks as place markers when I’ve done some stuff.

## A constructed daily notes example
 - [ ] Undone
 - [/] Halfway / Started
 - [\] Nearly done
 - [x] Done ✅ 2023-11-18
 - [>] Migrated
 - [<] Scheduled
 - [-] Deleted/irrelevant

The list above uses all the variants for actual tasks in my current setup. They closely mimic the bullet journaling setup. I've added the `\\` to make a note of tasks nearly finished, but not entirely. And I use the **migrated** status to move tasks ahead from previous month to current month. If I decide _not to keep working_ on that task I either delete or **schedules** it away into another note outside of my daily notes as a noteworthy task

- [p] I love using decorated task to make points
- [c] Didn't like the new thingy

Then I continue my daily note with other bits and pieces...

- [g] Went for a walk around the lake
- [y] Saw some YouTube videos

After breakfast I took a long walk enjoying the nature around the lake next to my house. The weather was nice, but it was a bit cold. When I came back home I sat down and saw too many YouTube videoes.

Using the minimal theme, and some custom CSS, this displays as:

And then I’ve got a file named “Running tasks” which I’ve pinned to my right side panel, and it has code similar to the following:


## Open BuJo tasks
```dataview
TASK
WHERE file = this.file
  AND contains(list(" ", "/", "\\"), status)
```

## Not open BuJo tasks
```dataview
TASK
WHERE file = this.file
  AND contains(list("x", ">", "<", "-"), status)
```

## Other tasks
## Other tasks
```dataview
TASK
WHERE file = this.file
  AND !contains(list(" ", "/", "\\", "x", ">", "<", "-"), status)
FLATTEN link(file.link, string(file.day)) + ": " + text as visual
SORT status
```

The file = this.file is to be replaced with something limiting the query to your daily notes. As it stands you can put all of the markup in one file, and get a output similar to:

Using a setup like this the side panel will show me tasks in their various states, and sum up other tasks related to status. And some of them include the originating daily note link, as seen in the Other tasks section. I find this setup to work nicely, as it is easy to get the overview of current tasks and handle them. If I need to change the status of a task I just click the task text and it opens that daily note, and to complete it I just hit the circle.

The other decorated tasks also helps me to at a glance see what I’ve used my time to in the current period (which in my case usually is a month, since I’m not too good at jotting down everything, but focus on larger stuff).

Some notes on matching time period

In my actual setup I’ve also have criteria like: contains(file.tags, this.period) where I’ve set the property period to the current time period. I’m contemplating on making this automatic though, so that most queries show current period, but one query focuses on open tasks from last period which needs proper care and maintenance.

Then I would add criteria like dateformat(file.day, "yyyy-MM") = dateformat(date(today), "yyyy-MM") and similar to limit the tasks to current period.