krz/orgstar

A native macOS editor for org-mode files. editor org-mode swift

docs/plans/2026-10-05-habits.md

778058aafc7ddacee4a613b1da87c60aa0c8e113
orgstar/docs/plans/2026-10-05-habits.md rendered · source · history · blame · raw

17 lines · 1192 bytes

Habits Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: org-habit consistency graphs in the agenda.

Architecture: Habit ports org-habit-parse-todo, org-habit-get-urgency, org-habit-get-faces and org-habit-build-graph with org-habit's defaults (21 days before, 7 after, org-log-states-order-reversed t). AgendaSource reads it for entries with STYLE: habit. Agenda.list applies org-habit's rules: habits only on today's agenda and not when done, always with their time, no leader, habit urgency, sorted after other entries (habit-down). The agenda view draws the graph as colored day cells with * for done days and ! for today.

Tech Stack: Swift 6.2 tools, Swift Testing, Emacs 31.1 / Org 9.8.7 oracle.

Spec: docs/design.md, "Phase 6".


  • Habit; graph and parse oracle; agenda oracle with org-habit loaded (frozenClock also covers time-subtract/time-add with nil).
  • Agenda rows draw the graph.
  • Commit "Habit graphs".