diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-29 20:05:37 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-29 20:05:37 -0500 |
| commit | 1a322a70a630afd2495a6c2e88e860464f153c5f (patch) | |
| tree | 094a53108f612aed51c02491b042f4f4c58e5e15 | |
| parent | 7e36d9d7a878ee592f7d21fa757ae9f6653446ca (diff) | |
| download | rulesets-1a322a70a630afd2495a6c2e88e860464f153c5f.tar.gz rulesets-1a322a70a630afd2495a6c2e88e860464f153c5f.zip | |
chore(session): pre-stage signal-mcp config + snapshot session-context
This commit is end-of-day housekeeping for the rulesets session that
ran 2026-05-28 through 2026-05-29.
mcp/servers.json gains the signal-mcp stdio entry pointing at the
locally-cloned rymurr/signal-mcp install at ~/.local/share/signal-mcp/.
The entry uses Craig's primary +15103169357 as --user-id, which will
need updating to the Google Voice number once that signal-cli
registration lands (TODO scheduled today). The configuration is
staged but not registered. The make install-mcp pipeline was
interrupted earlier by the GPG pinentry (Craig on vacation, away
from desk). Running make install-mcp at the desktop with the GPG
passphrase will complete the registration.
.ai/session-context.org captures the live session narrative covering
the no-approvals batch (6 :quick:solo: TODOs), the codex backlog
triage, the page-signal infra, the voice profile Phase 1 plus Phase
2, the SKILL.md / voice-profile.org structural split, and the inbox
processing pass. No wrap-up performed. The session-context stays
under that name pending the wrap-it-up workflow when Craig is back
at the desk.
The substantive work in this session shipped across many prior
commits, each with its own focused message.
| -rw-r--r-- | .ai/session-context.org | 126 | ||||
| -rw-r--r-- | mcp/servers.json | 10 |
2 files changed, 136 insertions, 0 deletions
diff --git a/.ai/session-context.org b/.ai/session-context.org new file mode 100644 index 0000000..3bcfba0 --- /dev/null +++ b/.ai/session-context.org @@ -0,0 +1,126 @@ +#+TITLE: Session Context +#+DATE: 2026-05-28 + +* Summary + +** Active Goal + +(in progress) + +** Decisions + +** Data Collected / Findings + +** Files Modified + +** Next Steps + +* Session Log + +** 2026-05-28 07:56 CDT — Startup + +Clean startup (no crash-recovery file). Phase A.0 rulesets pull = already up to date; project repo refresh silent. Phase A snapshot: no reminders, no pending decisions, task-review staleness 0, language bundle clean, cross-agent queue empty, no startup-extras. + +Inbox held 5 unprocessed arrivals from this morning (all 2026-05-28 0124–0303), plus 1 PROCESSED-prefixed file: + +1. .emacs.d 0124 — extend open-tasks.org Next Mode with a pre-step that evaluates whether task-audit is warranted (temporal threshold + state-signal scan); third leg of the recommendation-first / hybrid-output / auto-audit triple. +2. pearl 0138 — open-tasks.org should run =--archive-done= sweep as first step of Phase A so freshly-DONE tasks don't surface in "what's next." +3. pearl 0155 — Pattern catalog: 2 more worked examples (label-matches-behavior, default-most-common with friction-proportional-to-consequence). +4. pearl 0226 — spec-review.org Phase 6 should enumerate implementation tasks (drop-in for todo.org). +5. pearl 0303 — Pattern 6: collapse N orthogonal prompts into one enriched prompt (cross-product form of the same UX principle). + +** 2026-05-28 08:00 CDT — Inbox item 1 implemented + priority scheme adopted + +Craig picked option 2 ("implement now"), then directed task-audit and task-review next, then added a new requirement: task-audit should enforce priority + tag every task with one of {feature, chore, spec, bug} (mandatory type) plus optional {quick, solo} (effort/autonomy). Also asked for a priority scheme posted at the top of todo.org. + +Research subagent surveyed five projects' priority schemes (Emacs, Pearl, Finances, ArchSetup, rulesets itself). All converge on =[#A]/[#B]/[#C]/[#D]= importance-driven semantics. Emacs has the cleanest verbatim legend. Finances adds importance-vs-urgency split. ArchSetup requires =[#A]= to carry a date. + +Priority scheme adopted for rulesets (in todo.org): +- =[#A]=: urgent risk or current workflow blocker, requires SCHEDULED/DEADLINE date. +- =[#B]=: important planned work. +- =[#C]=: useful but optional. +- =[#D]=: someday or watchlist. +- Type tags (mandatory, one per task): =:feature:= / =:chore:= / =:spec:= / =:bug:=. +- Effort/autonomy tags (optional, orthogonal): =:quick:= (≤30 min) and =:solo:= (end-to-end without Craig's input). + +LAST_AUDIT marker storage = =notes.org='s new Workflow State section (read by open-tasks.org Phase A.1). + +Two commits + push (=ee7049a..1f6cd40=): +- =4f650f7= docs(todo): add priority and tag scheme +- =ee7049a= feat(workflows): audit-warranted pre-step + priority and tag enforcement + +Each ran =/review-code= (Approve) + =/voice personal= walked inline. + +** 2026-05-28 08:18 CDT — Task audit + inbox spillover + +Ran task-audit under the new workflow on all 16 open tasks. Phase C (autonomous): tagged 13 tasks with their type tag, bumped LAST_REVIEWED, refreshed #15's body for the accumulating pearl signal. Phase D adjudication (Craig picked option 1): #15 bumped =[#C]= → =[#B]=; filed a new =[#B] :feature:= TODO for the codex Phase 1 race-fix (AI_AGENT_ID + session-context.d/<id>.org) lifted from #16's broader spec. Pearl intake: moved 0155 + 0303 into docs/design/ as pattern-catalog notes referenced from #15; filed 0138 and 0226 as new =[#C]= TODOs. Phase E stamped =:LAST_AUDIT: 2026-05-28= in notes.org. + +Caught a staleness false-positive on #15 (the dated sub-entry I added moved the PROPERTIES drawer below a level-3 heading, hiding LAST_REVIEWED from the awk-based checker). Fixed by moving the drawer to standard org placement immediately after the level-2 heading. + +Two commits + push: +- =db7f827= chore(audit): task-audit pass + pearl intake from 2026-05-28 morning +- =4a7beec= fix(todo): move task #15 PROPERTIES drawer above sub-headings + +Staleness check after the fix: 0 stale tasks. Task-review not needed. + +** 2026-05-28 08:23 CDT — no-approvals.org promoted + pearl framing merged + +Pearl's mid-session inbox arrival (=0814=) delivered its independently-built no-approvals workflow and asked rulesets to compare. The two converged on the same contract. Pearl's version brought a more prominent "What's Suspended" / "What Stays On" split, wider trigger phrases, a mode-resets-on-topic-shift guard, an explicit destructive-action carve-out, and a subagent-review-gate callout. Craig picked option 1 (promote + merge). + +Wrote the merged file at =claude-templates/.ai/workflows/no-approvals.org=, mirrored to =.ai/workflows/=, added an INDEX entry under "Tools and meta", deleted the project-only =.ai/project-workflows/no-approvals.org=, deleted the inbox file. History section at the bottom of the workflow records the merge. + +One commit + push: +- =e8702d2= feat(workflows): promote no-approvals.org to template, merge pearl framing + +Inbox is now down to the PROCESSED-prefixed file from last session (open-tasks-hybrid-friction-cascade), which holds the integrated cascade+friction content. Not deleted — left for Craig's call. + +** 2026-05-28 — rulesets enhancement backlog and emacs ai-kb task read + +Codex created =inbox/enhancements.org= with 14 proposed rulesets improvements focused on agent efficiency, knowledge/effectiveness, token reduction, and user experience. Also searched =~/.emacs.d/todo.org= for agent/org-roam-related work and noted the primary open =Implement ai-kb= project (Step 2 org-roam ai-kb profile, edit-safety, browsing, keybinding, ERT-test children) plus a secondary =Org Workflow Related Tools= → =Org-roam node tools= child for exposing personal org-roam nodes/backlinks/dailies to agents as structured context. + +Wrote the org-roam shared human+agent KB brainstorm as an inbox item for the Emacs project and delivered it to =/home/cjennings/.emacs.d/inbox/2026-05-28-from-rulesets-org-roam-shared-agent-kb.org=. Staged the content briefly in rulesets' inbox for copying, then removed the local staging file so only the target project receives the item. + +** 2026-05-28 08:38 CDT — Codex backlog filed + inbox cleared + +Processed =inbox/enhancements.org=. Moved to =docs/design/2026-05-28-rulesets-enhancement-backlog.org= as the canonical reference. Filed a single =[#C] :spec:= TODO "Triage Codex enhancement backlog" to walk the 14 items and decide accept/fold/defer/reject for each — avoids exploding the open list into 14 speculative TODOs while preserving Codex's structure for triage. Two of the 14 already have homes: item #1 (runtime-neutral core) = #16; item #2 (per-agent live session files) = the Codex Phase 1 [#B] TODO filed earlier this session. The triage focuses on the remaining 12. + +Also cleared the last-session PROCESSED-prefixed inbox file (open-tasks-hybrid-friction-cascade) — the cascade+friction restructure it tracked landed in this morning's open-tasks.org edits, so the reference is no longer needed. + +One commit + push: +- =3db49d4= chore(intake): file codex enhancement backlog as docs/design + triage TODO + +Inbox empty. + +** 2026-05-28 08:50 CDT — Codex backlog triaged into actionable TODOs + +Craig asked which of the 14 items I'd actually endorse against my own standards. Walked them one by one. Net: 3 strong endorses, 5 selective/pilot, 6 rejects with rationale. + +Craig picked option 1 (rewrite the triage TODO into a concrete decomposition). Marked the triage TODO DONE, filed 5 new actionable TODOs, recorded full disposition table in the backlog doc under "Triage Dispositions" — accept/pilot/convention/reject with one-line rationale per item. + +New TODOs (all [#C]): +- =:chore:= .aiignore for agent inventory exclusions (item #8) +- =:feature:= Workflow test harness (item #10) +- =:feature:= Token-tier pilot on startup.org and triage-intake.org (item #5) +- =:feature:quick:solo:= Canonical/mirror drift detection (item #7, reframed — rejected wholesale dedupe) +- =:feature:quick:solo:= =make status= only (item #12, scope-limited) + +Items #11 (script normalization) and #13 (ADR layer) recorded as conventions/watch-and-wait, no TODO. Six items rejected with rationale in the backlog doc — broader runtime arc (#1), INDEX.org compression (#3), universal catalog.json (#4), install manifest JSON (#6), project-facts.org (#9), local model profiles (#14). + +One commit + push: +- =8dfbe5c= chore(intake): triage codex backlog into 5 actionable TODOs + dispositions + +** 2026-05-28 09:25 CDT — No-approvals batch: 6 :quick:solo: TODOs + +Craig invoked no-approvals mode for a batch of 6 :quick:solo: TODOs Craig had pre-triaged. Each commit ran /review-code (Approve) + /voice personal walked inline. + +Tasks shipped: +1. =beb646e= feat(open-tasks): archive-done sweep at start of Phase A — pearl item. +2. =9f84ea2= feat(sync-check): canonical/mirror drift detection + pre-commit hook — 8 bats tests green; hook installed via new =make install-githooks=. +3. =bdf755d= feat(status): add =make status= for compact health summary — six-line output composing audit/doctor/sync/todo/inbox/git. +4. (bundled into =5c0c7a6=) chore(claude-templates): delete vestigial Makefile — root Makefile already covers install + test. +5. =5c0c7a6= fix(sync-check): ignore generated python and elisp artifacts — pre-commit caught a false-positive on its first real-world run; added =__pycache__/=, =*.pyc=, =.pytest_cache=, =*.elc= excludes. Bundled Task 4's deletion accidentally because the =git rm= from earlier was still staged. +6. =814695e= feat(mcp): add uninstall + --check + README section — install.py grew --uninstall and --check modes via argparse; new =make uninstall-mcp= and =make check-mcp= targets; README.org gained an MCP section under "Two install modes". + +Six TODOs closed. No real questions hit during the batch. One mistake worth recording: the sync-check fix commit (=5c0c7a6=) accidentally bundled Task 4's Makefile deletion because a previously-staged =git rm= persisted across an intervening attempt. The commit message describes only the sync-check fix. Going forward, I should run =git status= and =git restore --staged= before each commit when intermediate staging may have accumulated. + +Mid-batch inbox arrival noted but not processed: =inbox/2026-05-28-0858-from-home-spec-naming-convention-apply-to-spec.org= — out of scope for the batch, queued for the next process-inbox pass. diff --git a/mcp/servers.json b/mcp/servers.json index f4a5b43..5554c04 100644 --- a/mcp/servers.json +++ b/mcp/servers.json @@ -59,5 +59,15 @@ "GOOGLE_EMAIL": "${GOOGLE_KEEP_EMAIL}", "GOOGLE_MASTER_TOKEN": "${GOOGLE_KEEP_MASTER_TOKEN}" } + }, + "signal-mcp": { + "type": "stdio", + "command": "/home/cjennings/.local/share/signal-mcp/.venv/bin/python", + "args": [ + "/home/cjennings/.local/share/signal-mcp/signal_mcp/main.py", + "--user-id", "+15103169357", + "--transport", "stdio" + ], + "env": {} } } |
