aboutsummaryrefslogtreecommitdiff
path: root/languages/python
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-14 07:29:57 -0500
committerCraig Jennings <c@cjennings.net>2026-05-14 07:29:57 -0500
commit99252c04a5a0113947681dfb4276116d4aa69983 (patch)
treefbbbbdc64a92a02e3a9e36144dcece7cc9b7bd82 /languages/python
parent3abac9b797e31429b55cd08f5d102275c25b75a4 (diff)
downloadrulesets-99252c04a5a0113947681dfb4276116d4aa69983.tar.gz
rulesets-99252c04a5a0113947681dfb4276116d4aa69983.zip
feat(todo-cleanup): add --sync-child-priority mode for drifted children
When a parent task in todo.org gets reprioritized, its children frequently keep their original (lower) priority cookies, which then mismatches the parent's new importance. The new mode walks every heading with a priority cookie and bumps any direct child whose own cookie is lower (D ranks below A in org's default scheme). Down-only: parents are never bumped up to a child's priority. Priority-less parents and priority-less children are both left alone — sync does not invent priorities. Children opt out by carrying the :no-sync: literal tag, useful for Follow-up:/Spike: sub-tasks that are deliberately deprioritized. The tag match is literal regex against the heading line rather than going through org-get-tags, because org's default tag character class excludes hyphens — :no-sync: would not be parsed as a real tag in batch mode without a custom org-tag-re. org-map-entries visits headings in document order, so a multi-level chain [#A] → [#B] → [#D] collapses to the top priority in one pass: the middle bumps to [#A] before the walk reaches the leaf. wrap-it-up.org Step 3 now invokes --sync-child-priority after --archive-done. --check-child-priority is the report-only alias (--sync-child-priority --check) for previewing before applying. Default cadence is auto-apply, same as --archive-done.
Diffstat (limited to 'languages/python')
0 files changed, 0 insertions, 0 deletions