From 4f650f79fb3c426fb4795bb12741b481d8270005 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 28 May 2026 08:08:05 -0500 Subject: docs(todo): add priority and tag scheme Adds an explicit [#A]-[#D] legend at the top of todo.org defining what each priority level means in practice. Type and effort tag conventions live alongside, since task-audit enforces both. [#A] now requires a SCHEDULED or DEADLINE date. A task that can't be dated isn't really [#A]. It belongs at [#B]. Tags split two ways. Type tags (:feature:, :chore:, :spec:, :bug:) are mandatory. Effort and autonomy tags (:quick:, :solo:) are optional and orthogonal. Both can apply to the same task. Seeds a Workflow State section in notes.org for the :LAST_AUDIT: marker that open-tasks.org Next Mode reads to decide whether to offer a task-audit run. The marker starts unset. The first task-audit run populates it. --- .ai/notes.org | 8 ++++++++ todo.org | 27 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/.ai/notes.org b/.ai/notes.org index 0c75bb1..3228009 100644 --- a/.ai/notes.org +++ b/.ai/notes.org @@ -73,3 +73,11 @@ When Craig says "remind me" about something: Format: - =[YYYY-MM-DD]= Description of what to remind Craig about + +* Workflow State + +Markers maintained by workflows to record when they last ran. Read by other workflows that gate their behavior on freshness. + +:LAST_AUDIT: (unset — first =task-audit= run will populate) + +Format: one =:MARKER: YYYY-MM-DD= line per workflow. Workflows overwrite their own marker on completion. diff --git a/todo.org b/todo.org index 1642b1c..12bdd25 100644 --- a/todo.org +++ b/todo.org @@ -5,6 +5,33 @@ Tracking TODOs for the rulesets repo that span more than one commit. Project-scoped (not the global =~/sync/org/roam/inbox.org= list). +* Priority and Tag Scheme + +** Priority + +- =[#A]= *Urgent risk or current workflow blocker.* Credential exposure, data loss, destructive behavior, startup breakage, failing tests that block work, or a feature/refactor that unblocks a core daily workflow. =[#A]= requires a =SCHEDULED:= or =DEADLINE:= date — if it can't be dated, it isn't really =[#A]=. +- =[#B]= *Important planned work.* Concrete bugs, high-leverage architecture cleanup, brittle load-order or test gaps, dependency failures, or feature work with clear design and expected near-term use. +- =[#C]= *Useful but optional.* Low-risk cleanup, ergonomics, smoke tests, investigations with limited current impact, or feature work that would improve the setup but isn't yet a committed workflow. +- =[#D]= *Someday or watchlist.* Speculative features, tiny polish, upstream tracking, optimizations without current pain, deferred ideas that shouldn't compete with active maintenance. + +The scheme is importance-driven with optional urgency lift. Priority signals "does this matter and when," not "how big" — effort lives in the tags. + +** Tags + +Every task carries one *type tag* from this set: + +- =:feature:= — adds new capability. +- =:chore:= — meta or housekeeping (tooling, sync, version bump, mechanical cleanup). +- =:spec:= — design document, brainstorm output, or research-backed proposal that precedes implementation. +- =:bug:= — fix to incorrect behavior. + +Optional *effort and autonomy tags* — orthogonal to type, both can apply on the same task: + +- =:quick:= — likely to take ≤30 minutes from start through verification. +- =:solo:= — Claude can complete the work end to end, including verification, without input from Craig. + +Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest in passing. + * Rulesets Open Work ** TODO [#C] Check that memories are sync'd across machines via git -- cgit v1.2.3