diff options
Diffstat (limited to 'claude-templates/bin')
| -rwxr-xr-x | claude-templates/bin/agent-page | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/claude-templates/bin/agent-page b/claude-templates/bin/agent-page index 11a5264..8e9b23c 100755 --- a/claude-templates/bin/agent-page +++ b/claude-templates/bin/agent-page @@ -3,19 +3,24 @@ # # Usage: agent-page <message...> # -# The pager identity (+15045173983) is registered in velox's signal-cli, so -# velox sends directly and every other machine ssh-relays the send over the -# tailnet. The recipient is Craig's Signal account UUID — his phone number -# reads as unregistered in Signal's directory, so never page the number. -# Verified end to end 2026-07-13 (phone push confirmed). +# The pager identity (+15045173983) is registered in velox's signal-cli, and +# any daily driver linked as a device of that account (ratio, 2026-07-20) can +# send directly too. So the dispatch is: if the pager account is registered in +# the local signal-cli, send directly; otherwise ssh-relay the send to velox +# over the tailnet. A direct send from a linked device still lands when velox +# is down — the reason ratio was linked. The recipient is Craig's Signal +# account UUID — his phone number reads as unregistered in Signal's directory, +# so never page the number. Verified end to end 2026-07-13 (velox) and +# 2026-07-20 (ratio, direct). # # This is the AWAY channel. At his desk, use the desktop channel instead: # notify info "Title" "Message" --persist # See protocols.org "Paging Craig" for choosing between them. # -# Known caveats (tracked on the rulesets Signal-pager task): velox must be -# up and reachable on the tailnet, and the signal-cli account wants a -# periodic `receive` (staleness warnings appear otherwise). +# Known caveats (tracked on the rulesets Signal-pager task, full runbook in +# rulesets docs/design/): a relay from a non-linked machine needs velox up on +# the tailnet, and each device holding the account wants a periodic `receive` +# (staleness warnings appear otherwise) — the signal-receive timer handles that. # # Source: ~/code/rulesets/claude-templates/bin/agent-page # Install: make -C ~/code/rulesets install @@ -31,7 +36,9 @@ fi msg="$*" -if [ "$(uname -n)" = "velox" ]; then +# The pager account is local if this machine's signal-cli holds it — the +# registered primary (velox) or any linked device. Those send directly. +if signal-cli listAccounts 2>/dev/null | grep -q "$PAGER_ACCOUNT"; then signal-cli -a "$PAGER_ACCOUNT" send -m "$msg" "$CRAIG_UUID" rc=$? else |
