Scheduling Deep Dive
This is a code-aligned walkthrough of the today pipeline.
Core Phases
- Select the best day template based on status alignment.
- Expand the template tree, apply variants, and resolve start/end constraints.
- Compute importance (subtractive model with weighted factors).
- Re-queue missed items for
today reschedulewith an importance boost. - Inject status-triggered items.
- Run capacity check and conflict resolution.
- Fill work windows with flexible items.
- Insert buffers, then save the schedule.
Conflict Resolution Loop
- Shift the less important item after the more important one.
- Trim down to a 5-minute minimum.
- Cut items if enabled and not essential/anchored.
Work Windows vs. Time Blocks
- Time Blocks are fixed activities scheduled at specific times.
- Work Windows are dynamic containers that pull matching items into gaps.
Key Files
Modules/Scheduler.pyandModules/Today.py(core logic).User/Settings/Scheduling_Priorities.yml(importance weights).User/Settings/Buffer_Settings.yml(buffer rules).
