From 0d87c80b3377e47b1ba56dc38e1f7162fd0ef9d7 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 24 Jun 2026 06:36:51 -0400 Subject: chore(todo): adopt the :blocked: tag and close both task-workflow tasks Registers :blocked: in the rulesets priority scheme, tags wrap-teardown :blocked: with a :BLOCKED_BY: emacsd property as the live example (it's genuinely stalled on the .emacs.d companion), and closes the two now-implemented tasks: the cross-project dependency surfacing and the task-audit consolidation phase. Claude-Session: https://claude.ai/code/session_017PtX1nt1rtYVATuzmzBS4f --- todo.org | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'todo.org') diff --git a/todo.org b/todo.org index d71476f..36510eb 100644 --- a/todo.org +++ b/todo.org @@ -30,14 +30,19 @@ Optional *effort and autonomy tags* — orthogonal to type, both can apply on th - =: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. +Optional *dependency tag*: + +- =:blocked:= — the task can't advance until another project delivers; a =:BLOCKED_BY: : = property names the blocker. =open-tasks.org= pulls =:blocked:= tasks out of the cascade and surfaces them on their own. Distinct from =VERIFY= (which waits on Craig). See =todo-format.md=. + Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest in passing. * Rulesets Open Work -** DOING [#B] wrap-it-up teardown + "wrap it up and shutdown" :feature: +** DOING [#B] wrap-it-up teardown + "wrap it up and shutdown" :feature:blocked: :PROPERTIES: :CREATED: [2026-06-23 Tue] :LAST_REVIEWED: 2026-06-24 +:BLOCKED_BY: emacsd: ai-term companion (cj/ai-term-quit, -live-count, -shutdown-countdown) + manual validation :END: Two additions to =wrap-it-up.org=, designed by Craig (home, 2026-06-23). Item 1: bare "wrap it up" also tears down the session — kill the =aiv-= tmux session (takes =claude= with it), kill the vterm buffer, restore geometry. Teardown is the default; "wrap it up with summary" wraps without teardown (keeps the buffer readable). Must fire from a Stop/SessionEnd hook via a sentinel file, decoupled and last, so the valediction flushes before the session dies, and strictly after commit+push is verified. Item 2: "wrap it up and shutdown" → wrap, then a hard blocking gate (abort unless this is the only live =aiv-*= session), then an abort-able 10→1 countdown, then =sudo shutdown now=. Countdown can't run through the Bash tool (stdout buffers — prints all ten at once); needs a detached tty writer or an Emacs =run-at-time= timer. Companion: =cj/ai-term-quit= (and optional =cj/ai-term-live-count=) must live in =.emacs.d/modules/ai-term.el= — route there via inbox-send when building so both sides land together. Open decisions for Craig first: qualifier wording ("with summary" vs "and summarize"), countdown home (tty script vs Emacs timer), session-count mechanism (=tmux ls= / =pgrep claude= / helper). Shared-asset, review-gated. Proposal: [[file:docs/design/2026-06-23-wrap-teardown-shutdown-proposal.org][proposal]]. From home 2026-06-23. @@ -78,17 +83,23 @@ What we're verifying: no sentinel is dropped before commit + push succeeds. - Trigger a teardown wrap in a state where the push would fail (e.g. temporarily point the remote somewhere unreachable). Expected: the wrap surfaces the push failure and stops; no =/tmp/ai-wrap-*-= sentinel is created, so no teardown fires. -** TODO [#C] Surface cross-project dependencies first in what's-next :feature:spec: +** DONE [#C] Surface cross-project dependencies first in what's-next :feature:spec: +CLOSED: [2026-06-24 Wed] :PROPERTIES: :CREATED: [2026-06-24 Wed] :END: -Tasks that depend on another project can sit for ages when the dependency is low-priority or needs its own spec process — e.g. wrap-teardown depends on =.emacs.d= for the =ai-term= companion. Craig's proposal (roam 2026-06-24): (1) an org-tag marking a task as blocked-by / depends-on another project (pick a short tag name); (2) several ways to bind dependencies into the what's-next (=open-tasks.org=) decision tree so blocked-by-dependency tasks surface first; (3) review the what's-next workflow as a whole, since many projects use it. Spec-shaped — design the tag + the surfacing approaches before building. +Tasks that depend on another project can sit for ages when the dependency is low-priority or needs its own spec process — e.g. wrap-teardown depends on =.emacs.d= for the =ai-term= companion. Craig's proposal (roam 2026-06-24): (1) an org-tag marking a task as blocked-by / depends-on another project (pick a short tag name); (2) several ways to bind dependencies into the what's-next (=open-tasks.org=) decision tree so blocked-by-dependency tasks surface first; (3) review the what's-next workflow as a whole, since many projects use it. -** TODO [#C] Task-audit: consolidate adjacent / related tasks :feature: +Built 2026-06-24 (tag name =:blocked:=, Craig's pick): the =:blocked:= tag + =:BLOCKED_BY: : = property convention in =todo-format.md=, and =open-tasks.org= Next Mode now excludes =:blocked:= tasks from the cascade and surfaces them in a dedicated "Blocked on other projects" section with an =inbox-send= nudge offer. Applied live to the wrap-teardown task above. Commits feat(tasks) cross-project-dependency. + +** DONE [#C] Task-audit: consolidate adjacent / related tasks :feature: +CLOSED: [2026-06-24 Wed] :PROPERTIES: :CREATED: [2026-06-24 Wed] :END: -The task-audit workflow should also consider combining related tasks when they're adjacent, so a spread-out effort reads as one whole. Craig's example (roam 2026-06-24): the agent-agnostic / agent-source work could collapse into one item, or at least a parent task with the related ones as children. Add a "consolidate related tasks" consideration to =task-audit.org= (a Phase C step or a new phase): detect adjacency, propose a merge or a parent-with-children grouping, apply on Craig's confirm. +The task-audit workflow should also consider combining related tasks when they're adjacent, so a spread-out effort reads as one whole. Craig's example (roam 2026-06-24): the agent-agnostic / agent-source work could collapse into one item, or at least a parent task with the related ones as children. + +Built 2026-06-24: =task-audit.org= Phase C.5 reads the open-task set, spots semantic clusters by judgment, and proposes per cluster either a merge (same-work members fold into one) or a parent-with-children grouping (related-but-distinct), applied only on Craig's confirm — broader than Phase C's exact-duplicate fold. Commit feat(task-audit) consolidate. ** TODO [#B] Anki deck name from #+TITLE :bug:quick:solo: :PROPERTIES: -- cgit v1.2.3