aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-23 23:06:46 -0400
committerCraig Jennings <c@cjennings.net>2026-06-23 23:06:46 -0400
commit24ca58d764dbcc2bad57a914a10e9e9b89a3f66e (patch)
treedc3ab8db840b1562db36cc048e44a391e31fa73f /todo.org
parent27da1f1d3290314d32455eac4e049118b00a7a13 (diff)
downloadrulesets-24ca58d764dbcc2bad57a914a10e9e9b89a3f66e.tar.gz
rulesets-24ca58d764dbcc2bad57a914a10e9e9b89a3f66e.zip
feat(inbox): consolidate three inbox workflows into one engine
I merged process-inbox, monitor-inbox, and inbox-zero into one inbox.org engine. A shared core (value gate, skeptical review, disposition ladder, reply discipline, capture-guard, priority-scheme check) holds the logic that used to be duplicated and cross-referenced across the three files. Each mode (process, monitor, roam) references the core by name instead of restating it. Every trigger phrase still works, now routing to a mode, so there's nothing to relearn. I added the interactive auto inbox zero mode: ask for an interval, run roam mode on /loop, acknowledge-only on an empty cycle, surface a find to a queue gated on a yes. The fully-unattended /schedule pass stays vNext, tracked separately. I repointed every live caller (INDEX, protocols, startup Phase C, wrap-up Step 3, triage-intake, broadcast) at inbox.org and its modes, then deleted the three old files. triage-intake and no-approvals stay separate by design. The value gate, dispositions, capture-guard, and reply discipline all behave as before. Built from the Ready spec. Workflow-integrity and sync-check pass on both the canonical and mirror trees, the stale-reference grep is clean, and the full suite is green. Claude-Session: https://claude.ai/code/session_017PtX1nt1rtYVATuzmzBS4f
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org10
1 files changed, 6 insertions, 4 deletions
diff --git a/todo.org b/todo.org
index c6ab9d9..e39e893 100644
--- a/todo.org
+++ b/todo.org
@@ -40,11 +40,12 @@ Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest
:END:
vNext from the inbox-consolidation spec. =auto inbox zero= (v1) is the interactive =/loop= recurring check that waits for Craig's yes before executing. A fully-unattended =/schedule= cron pass that fires while Craig is away needs its own contract before it can ship: read-only vs may-mutate =todo.org= / =~/org/roam/inbox.org=, how a find surfaces asynchronously when Craig isn't at the session, how dedup state persists across runs that don't share a session, and what session/auth context a cron run carries. Design it after v1 consolidation lands. From the inbox-consolidation spec-review (Codex finding 1). See [[file:docs/inbox-workflow-consolidation-spec.org][spec]].
-** TODO [#B] Consolidate inbox/triage workflows + scheduled inbox check :chore:
+** DONE [#B] Consolidate inbox/triage workflows + scheduled inbox check :chore:
+CLOSED: [2026-06-23 Tue]
:PROPERTIES:
:CREATED: [2026-06-23 Tue]
:END:
-Consolidate the four inbox-named workflows (=process-inbox=, =monitor-inbox=, =inbox-zero=, + nudges) into one =inbox.org= engine with process/monitor/roam modes; =triage-intake= and =no-approvals= stay separate. Plus a documented scheduled inbox check (=/schedule= / =/loop=) with keywords. Spec drafted, awaiting Craig's 4 decisions (engine shape A vs C, phrase preservation, triage-intake-separate, scheduled-check keywords): [[file:docs/inbox-workflow-consolidation-spec.org][spec]]. Then spec-review → spec-response → build. Sequenced before the agent-neutrality workflow sweep. From the roam inbox 2026-06-23.
+Built per the Ready spec: =process-inbox= + =monitor-inbox= + =inbox-zero= merged into one =inbox.org= engine (shared core + process/monitor/roam modes + the interactive =auto inbox zero= =/loop= mode); =triage-intake= and =no-approvals= stay separate. Callers repointed (INDEX, protocols, startup Phase C, wrap-up Step 3), old files deleted, stale-ref grep clean, workflow-integrity + sync-check + full suite green. The fully-unattended =/schedule= cron pass is vNext (see the =[#D]= task above). [[file:docs/inbox-workflow-consolidation-spec.org][spec]].
** TODO [#B] wrap-it-up teardown + "wrap it up and shutdown" :feature:
:PROPERTIES:
@@ -52,11 +53,12 @@ Consolidate the four inbox-named workflows (=process-inbox=, =monitor-inbox=, =i
: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-<proj>= 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.
-** TODO [#C] inbox-zero: delete empty roam entries on triage :feature:
+** DONE [#C] inbox-zero: delete empty roam entries on triage :feature:
+CLOSED: [2026-06-23 Tue]
:PROPERTIES:
:CREATED: [2026-06-23 Tue]
:END:
-=inbox-zero.org= should drop empty/blank entries from =~/org/roam/inbox.org= whenever it triages the file (a heading with no body and no actionable content is noise). Fold into Phase D's reconcile, after the capture-guard and pull, before/with the claimed-item removal. Shared-asset, review-gated. From the roam inbox 2026-06-23.
+Done in commit 3da2725 (empty-entry sweep folded into Phase D's reconcile, after capture-guard + pull, with the claimed-item removal) and carried into the consolidated =inbox.org= roam mode (Phase B =empty= bucket + Phase D sweep). From the roam inbox 2026-06-23.
** TODO [#C] Multiple agent-source improvements :spec:
:PROPERTIES: