【系统迭代】本文是我个人系统内待办模块的一次规则重写日志,只记录我怎么把五个字段重新分工、在哪里付出代价。它服务于我运行中的量化生活模型,不构成通用方法论。
1. 变更声明
版本号:v2026.10(2026-10-22)
这一版只做一件事:把 scheduled 和 due 从"同一个日期的两种写法",拆成两个不同的承诺。
改完之后,日记只回答"现在做什么",周报回答"下周排什么",月报回答"下月交什么"。三个问题不再共用一张清单。
2. 症状与旧证据
- 逾期里出现事件。 聚会、上门安装被写上截止日期,过了那天就变成"逾期",可它们没有"完成"这回事。
- 同一件事进两个清单。 今天要做、明天到期,「今日执行」和「未来」都认领。
- "等待中"和"已开始"同时成立。 填了开始日期,就同时出现在进行中和等待里。
审计全库 552 条未完成任务,证据比体感更难看:
- 355 条同时写了
scheduled和due,其中 200 条两个日期完全相同; - 3267 条三个日期全空,却因笔记文件名是日期,被插件推断成"当天排期";
- 只有 1 条真正用上
dependsOn。
3. 诊断
scheduled和due混用,是把两种承诺写进了一个字段。 前者是我给自己的,后者是外部给我的。- 视图用
OR拼接日期,必然互相污染。 只要一条任务的截止在过去、排期在未来,它就会同时出现在两个清单。 - 把
#Context当滤镜,等于允许重复。 场景不是一层叠加的视图,它应该和其它状态一样独占。
4. 设计方案
五个字段各回答一个问题:
| 字段 | 回答什么 | 谁决定 |
|---|---|---|
start |
最早何时允许开始 | 客观前置 |
scheduled |
我打算哪天动手 | 我 |
due |
最晚何时必须交付 | 外部 |
dependsOn |
卡在我的哪条任务上 | 我 |
#Topic/Waiting |
卡在谁身上 | 对方 |
在此基础上分成互斥的桶,从上往下短路,命中即停:
完成/取消隐藏 → 进行中 → due<今天 逾期 → due=今天 到期 → 外部等待 → 内部阻塞 → 场景可执行 → scheduled≤今天 今日执行 → 未来 → 有期限未排期(停用展示)→ 无日期池子。
三条随之生效的规则:
- 事件与日程写
scheduled,发生时刻就是日程。 - 被阻塞的任务留空
scheduled,解除后再排期。 #Context的可执行部分归情景,其余回到状态桶。
5. 效果



整页只回答一个问题:现在做什么。各区块彼此独立,任意一条任务只出现一次。
6. 结论
分类的终点是减少每天要做的决定。字段各司其职之后,打开日记不再需要判断"这条算不算今天"。
本次迭代基于 2026-10-22 时间切片。https://zhuanlan.zhihu.com/p/2003455300519364137 是 2026-02-07 迭代时发布的文章