aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-02 23:07:48 -0500
committerCraig Jennings <c@cjennings.net>2026-06-02 23:07:48 -0500
commitfe3bd8fb20094ed4ebfea499fad6f551bc1e1800 (patch)
tree94dd1814b7e6e85c8d625127604baa5cbb293be4 /todo.org
parentac693a6b7fa7abe88f7778f8e793d5ddfd32f24e (diff)
downloadrulesets-fe3bd8fb20094ed4ebfea499fad6f551bc1e1800.tar.gz
rulesets-fe3bd8fb20094ed4ebfea499fad6f551bc1e1800.zip
chore(ai): archive session record
Promoted the flush workflow into rulesets as a /flush skill plus a canonicalized SessionStart(clear) hook, then ran the four open :solo: tasks: start-work Justify and Approach gate additions, a task-review chain on task-audit, and lint-org follow-ups reconcile-on-write.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org58
1 files changed, 27 insertions, 31 deletions
diff --git a/todo.org b/todo.org
index 0c2daf3..248c900 100644
--- a/todo.org
+++ b/todo.org
@@ -34,37 +34,6 @@ Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest
* Rulesets Open Work
-** DONE [#C] task-review pass at end of task-audit :chore:solo:
-CLOSED: [2026-06-02 Tue]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-02
-:END:
-Have the =task-audit= workflow chain a =task-review= pass as its final phase, so a freshly-audited list also gets the lighter staleness/honesty sweep without a second invocation. The legend already notes the division of labor — task-audit assigns and refreshes tags, task-review keeps them honest in passing — so running task-review at the tail of task-audit closes the loop in one pass. Edit =claude-templates/.ai/workflows/task-audit.org= (and the synced mirror) to add the final phase; check whether =open-tasks.org= already invokes task-review so the chaining stays consistent.
-
-** DONE [#C] lint-followups drift — reconcile-on-write + audit dead-link reaping :feature:solo:
-CLOSED: [2026-06-02 Tue]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-02
-:END:
-From an .emacs.d handoff (2026-06-02): running task-audit against a large todo.org proved several =.ai/lint-followups.org= entries stale (four dead-link flags pointed at docs that now exist; three near-duplicate dated lint runs had piled up). Two fixes, scoped separately.
-
-1. =lint-org= workflow/script (the real fix): reconcile-on-write. Before appending a run, drop entries whose finding no longer reproduces (dead link now resolves, flagged block/timestamp now clean) and dedupe against the prior run instead of re-logging. Key entries by content/finding rather than line number, so they survive edits to the target file (line numbers go stale immediately).
-2. =task-audit.org= (small, narrow): in the Phase C link-hygiene step, when fixing/verifying a =file:= link, also reap any matching dead-link entry in the project's lint-followups file so the two artifacts don't drift. Scope explicitly to dead-link entries — do NOT pull general lint cleanup into the audit; that mixes two concerns and slows the audit.
-
-** DONE [#C] start-work Justify gate: explicit "reasons not to do this" item :feature:quick:solo:
-CLOSED: [2026-06-02 Tue]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-02
-:END:
-From a work handoff (2026-06-02, surfaced running /start-work on a clean low-risk refactor). The Phase 2 Justify gate has "Downsides" and "Alternatives considered" but no forced devil's-advocate verdict on "should we even do this?" Add a "top reasons not to do this" item: surface the top three objections if any exist; when none rise to a real objection, state one line instead of manufacturing three (e.g. "Nothing material argues against this; no reason to defer or drop it"). Building the case against the work before committing is cheapest exactly at this gate, which is its purpose. Edit the start-work skill's Justify-gate phase.
-
-** DONE [#C] start-work Approach gate: spec-needed check :feature:quick:solo:
-CLOSED: [2026-06-02 Tue]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-02
-:END:
-From Craig (2026-06-02). The Approach phase should consider whether the work needs a spec when one doesn't already exist. For a big task, this isn't a silent skip — the pre-confirmation summary must explicitly report why a spec isn't needed, so the decision is visible and challengeable at the gate rather than assumed. Small tasks can pass without comment. Edit the start-work skill's Approach-gate phase to add the spec-needed consideration and the big-task report-why-not requirement.
-
** TODO [#B] Cross-project pattern catalog :spec:thinking:
:PROPERTIES:
:LAST_REVIEWED: 2026-06-02
@@ -2501,3 +2470,30 @@ If GV registration is still pending when this task runs, block here and surface
*** Why this matters
=page-signal= is the fast path (a hook, a script, a make recipe can call it without an MCP round-trip). The MCP server is the smart path. When Claude wants to send and then *react to the reply*, the CLI can't do that — only the MCP server can. The two complement each other; this task adds the second half.
+** DONE [#C] task-review pass at end of task-audit :chore:solo:
+CLOSED: [2026-06-02 Tue]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-02
+:END:
+Have the =task-audit= workflow chain a =task-review= pass as its final phase, so a freshly-audited list also gets the lighter staleness/honesty sweep without a second invocation. The legend already notes the division of labor — task-audit assigns and refreshes tags, task-review keeps them honest in passing — so running task-review at the tail of task-audit closes the loop in one pass. Edit =claude-templates/.ai/workflows/task-audit.org= (and the synced mirror) to add the final phase; check whether =open-tasks.org= already invokes task-review so the chaining stays consistent.
+** DONE [#C] lint-followups drift — reconcile-on-write + audit dead-link reaping :feature:solo:
+CLOSED: [2026-06-02 Tue]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-02
+:END:
+From an .emacs.d handoff (2026-06-02): running task-audit against a large todo.org proved several =.ai/lint-followups.org= entries stale (four dead-link flags pointed at docs that now exist; three near-duplicate dated lint runs had piled up). Two fixes, scoped separately.
+
+1. =lint-org= workflow/script (the real fix): reconcile-on-write. Before appending a run, drop entries whose finding no longer reproduces (dead link now resolves, flagged block/timestamp now clean) and dedupe against the prior run instead of re-logging. Key entries by content/finding rather than line number, so they survive edits to the target file (line numbers go stale immediately).
+2. =task-audit.org= (small, narrow): in the Phase C link-hygiene step, when fixing/verifying a =file:= link, also reap any matching dead-link entry in the project's lint-followups file so the two artifacts don't drift. Scope explicitly to dead-link entries — do NOT pull general lint cleanup into the audit; that mixes two concerns and slows the audit.
+** DONE [#C] start-work Justify gate: explicit "reasons not to do this" item :feature:quick:solo:
+CLOSED: [2026-06-02 Tue]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-02
+:END:
+From a work handoff (2026-06-02, surfaced running /start-work on a clean low-risk refactor). The Phase 2 Justify gate has "Downsides" and "Alternatives considered" but no forced devil's-advocate verdict on "should we even do this?" Add a "top reasons not to do this" item: surface the top three objections if any exist; when none rise to a real objection, state one line instead of manufacturing three (e.g. "Nothing material argues against this; no reason to defer or drop it"). Building the case against the work before committing is cheapest exactly at this gate, which is its purpose. Edit the start-work skill's Justify-gate phase.
+** DONE [#C] start-work Approach gate: spec-needed check :feature:quick:solo:
+CLOSED: [2026-06-02 Tue]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-02
+:END:
+From Craig (2026-06-02). The Approach phase should consider whether the work needs a spec when one doesn't already exist. For a big task, this isn't a silent skip — the pre-confirmation summary must explicitly report why a spec isn't needed, so the decision is visible and challengeable at the gate rather than assumed. Small tasks can pass without comment. Edit the start-work skill's Approach-gate phase to add the spec-needed consideration and the big-task report-why-not requirement.