From a266250c1e24c9b2f6f246206c1b726dbb84c4bf Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 30 Jun 2026 12:51:31 -0400 Subject: chore: prune dangling bin symlinks, point paging at signal-mcp The install bin loop linked every script under claude-templates/bin but never pruned orphans, so a deleted script left a dangling ~/.local/bin symlink. page-signal hit exactly this: the wrapper was removed 2026-06-12 but its symlink stayed, resolving to a dead target on the daily drivers. I added a prune step that drops symlinks pointing into claude-templates/bin whose target is gone, so any removed script self-cleans on the next install. I also added a protocols section naming the two paging channels: notify --persist at the machine, and the signal-mcp send_message_to_user tool when away from it. The pager account was never deregistered (only the page-signal script went away), so the live path is the MCP tool, and the section retires the script for good. --- .ai/protocols.org | 9 +++++++++ Makefile | 9 +++++++++ claude-templates/.ai/protocols.org | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/.ai/protocols.org b/.ai/protocols.org index 46bea50..ed07c0e 100644 --- a/.ai/protocols.org +++ b/.ai/protocols.org @@ -406,6 +406,15 @@ Full usage: =notify --help= or see =~/.local/bin/notify= - =atq= - list all scheduled alarms - =atrm [number]= - remove an alarm by its queue number +** Paging Craig — desktop vs. away from the machine + +"Page me" has two channels; pick by where Craig is. + +- *At his laptop/desktop* — desktop =notify ... --persist= (above). It reaches him on the machine and stays up until dismissed. +- *Away from his laptop/desktop* — page his phone over Signal via the *signal-mcp* tool =send_message_to_user=, addressed to Craig's account UUID =b1b5601e-6126-47f8-afaa-0a59f5188fde= (his primary number reads as unregistered in Signal's directory — never page a phone number). The message goes out from the dedicated pager account (+15045173983) and fires a normal mobile push. This is the live cross-device path, verified working 2026-06-30. + +Do *not* use the old =page-signal= shell script — it was removed from the rulesets canonical 2026-06-12 and its =~/.local/bin/page-signal= symlink no longer exists. The signal-mcp tool is the only supported Signal path; =notify --persist= is the only supported desktop path. + * Session Protocols ** CRITICAL: Git Commit Requirements diff --git a/Makefile b/Makefile index ca73612..a6e636f 100644 --- a/Makefile +++ b/Makefile @@ -255,6 +255,15 @@ install: ## Symlink skills, rules, config, hooks, and bin scripts into place echo " link $$name → $(LOCAL_BIN)/$$name"; \ fi \ done + @for link in "$(LOCAL_BIN)"/*; do \ + [ -L "$$link" ] || continue; \ + target=$$(readlink "$$link"); \ + case "$$target" in "$(CURDIR)/claude-templates/bin/"*) ;; *) continue ;; esac; \ + if [ ! -e "$$target" ]; then \ + rm "$$link"; \ + echo " prune $$(basename "$$link") (dangling → $$target)"; \ + fi \ + done @echo "" @echo "done" diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org index 46bea50..ed07c0e 100644 --- a/claude-templates/.ai/protocols.org +++ b/claude-templates/.ai/protocols.org @@ -406,6 +406,15 @@ Full usage: =notify --help= or see =~/.local/bin/notify= - =atq= - list all scheduled alarms - =atrm [number]= - remove an alarm by its queue number +** Paging Craig — desktop vs. away from the machine + +"Page me" has two channels; pick by where Craig is. + +- *At his laptop/desktop* — desktop =notify ... --persist= (above). It reaches him on the machine and stays up until dismissed. +- *Away from his laptop/desktop* — page his phone over Signal via the *signal-mcp* tool =send_message_to_user=, addressed to Craig's account UUID =b1b5601e-6126-47f8-afaa-0a59f5188fde= (his primary number reads as unregistered in Signal's directory — never page a phone number). The message goes out from the dedicated pager account (+15045173983) and fires a normal mobile push. This is the live cross-device path, verified working 2026-06-30. + +Do *not* use the old =page-signal= shell script — it was removed from the rulesets canonical 2026-06-12 and its =~/.local/bin/page-signal= symlink no longer exists. The signal-mcp tool is the only supported Signal path; =notify --persist= is the only supported desktop path. + * Session Protocols ** CRITICAL: Git Commit Requirements -- cgit v1.2.3