diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-26 02:01:08 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-26 02:01:08 -0500 |
| commit | 15cca70d2b8badd3314b87d4cd00cb21bf5ef113 (patch) | |
| tree | 282ba0201019496f5d3f94e5ff65c3383008bf98 | |
| parent | f9c72c817290bb5433e593b2a8d1cfaa25431d20 (diff) | |
| download | rulesets-15cca70d2b8badd3314b87d4cd00cb21bf5ef113.tar.gz rulesets-15cca70d2b8badd3314b87d4cd00cb21bf5ef113.zip | |
feat(notify): default page notifications to --persist
I default page notifications to --persist so a page that fires while I'm away from the desk waits for me instead of auto-dismissing after a few seconds.
page-me and status-check already persisted every page. I added --persist to the rest: the alarm, reminder, and meeting-alert examples in protocols.org, the long-running-process completion ping, and the cross-agent-watch message notification. I documented --persist as the default for any page meant to get attention, with a low-value informational ping as the only exception.
| -rw-r--r-- | .ai/protocols.org | 14 | ||||
| -rwxr-xr-x | .ai/scripts/cross-agent-comms/cross-agent-watch | 2 | ||||
| -rw-r--r-- | .ai/scripts/cross-agent-comms/cross-agent-watch.md | 4 | ||||
| -rw-r--r-- | claude-templates/.ai/protocols.org | 14 | ||||
| -rwxr-xr-x | claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch | 2 | ||||
| -rw-r--r-- | claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md | 4 |
6 files changed, 24 insertions, 16 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org index 57ebf87..e4e1310 100644 --- a/.ai/protocols.org +++ b/.ai/protocols.org @@ -301,16 +301,18 @@ Use Craig's =notify= script with the =at= daemon for persistent reminders. **IMPORTANT:** Always check the current date and time (=date=) before setting alarms to ensure accurate calculations. +**Default to =--persist= for any page meant to get Craig's attention** (alarms, reminders, meeting alerts). A transient notification auto-dismisses after a few seconds, so a page that fires while Craig is away from his desk is missed entirely. =--persist= keeps it on screen until he dismisses it. Drop the flag only for a genuinely low-value informational ping. + *** Setting an alarm #+begin_src bash -echo 'notify alarm "Title" "Message"' | at 10:55am +echo 'notify alarm "Title" "Message" --persist' | at 10:55am #+end_src *** Examples #+begin_example -echo 'notify alarm "Standup" "Daily standup in 5 minutes"' | at 10:55am -echo 'notify alarm "BP Reading" "Time to take BP"' | at 2:00pm -echo 'notify alert "Meeting" "Ryan call starting"' | at 11:25am +echo 'notify alarm "Standup" "Daily standup in 5 minutes" --persist' | at 10:55am +echo 'notify alarm "BP Reading" "Time to take BP" --persist' | at 2:00pm +echo 'notify alert "Meeting" "Ryan call starting" --persist' | at 11:25am #+end_example *** Notify types available @@ -415,9 +417,9 @@ When monitoring a long-running process (rsync, large downloads, builds, VM tests ***At Completion:*** 1. Send notification via notify script: #+begin_src bash - notify success "Task Complete" "Description of what finished" + notify success "Task Complete" "Description of what finished" --persist #+end_src - Use =fail= type instead of =success= if the task failed. + Use =fail= type instead of =success= if the task failed. Keep =--persist=. The completion ping exists to reach Craig when he's away from the screen, so it must wait for him rather than auto-dismiss. 2. Provide summary of success or failure #+begin_example diff --git a/.ai/scripts/cross-agent-comms/cross-agent-watch b/.ai/scripts/cross-agent-comms/cross-agent-watch index 3978f49..f50ba26 100755 --- a/.ai/scripts/cross-agent-comms/cross-agent-watch +++ b/.ai/scripts/cross-agent-comms/cross-agent-watch @@ -101,6 +101,6 @@ inotifywait -m -e create,moved_to --format '%w%f' "${EXISTING[@]}" 2>/dev/null \ [[ $QUIET -eq 0 ]] && echo "[$iso] $proj: $filename" if [[ $NO_NOTIFY -eq 0 ]]; then - notify info "Cross-agent message" "${proj}: ${filename}" 2>/dev/null || true + notify info "Cross-agent message" "${proj}: ${filename}" --persist 2>/dev/null || true fi done diff --git a/.ai/scripts/cross-agent-comms/cross-agent-watch.md b/.ai/scripts/cross-agent-comms/cross-agent-watch.md index dd8afc1..04e8005 100644 --- a/.ai/scripts/cross-agent-comms/cross-agent-watch.md +++ b/.ai/scripts/cross-agent-comms/cross-agent-watch.md @@ -34,7 +34,9 @@ No args required. Defaults: 2. Runs `inotifywait -m -e create,moved_to --format '%w%f'` against each watched directory. 3. For each event, calls - `notify info "Cross-agent message" "<project>: <filename>"`. + `notify info "Cross-agent message" "<project>: <filename>" --persist`. The + `--persist` flag keeps the page on screen until dismissed, so an inbound + message that arrives while Craig is away from the desk isn't missed. 4. Appends an event line to the log: `<ISO-8601-timestamp>\t<project>\t<filename>`. diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org index 57ebf87..e4e1310 100644 --- a/claude-templates/.ai/protocols.org +++ b/claude-templates/.ai/protocols.org @@ -301,16 +301,18 @@ Use Craig's =notify= script with the =at= daemon for persistent reminders. **IMPORTANT:** Always check the current date and time (=date=) before setting alarms to ensure accurate calculations. +**Default to =--persist= for any page meant to get Craig's attention** (alarms, reminders, meeting alerts). A transient notification auto-dismisses after a few seconds, so a page that fires while Craig is away from his desk is missed entirely. =--persist= keeps it on screen until he dismisses it. Drop the flag only for a genuinely low-value informational ping. + *** Setting an alarm #+begin_src bash -echo 'notify alarm "Title" "Message"' | at 10:55am +echo 'notify alarm "Title" "Message" --persist' | at 10:55am #+end_src *** Examples #+begin_example -echo 'notify alarm "Standup" "Daily standup in 5 minutes"' | at 10:55am -echo 'notify alarm "BP Reading" "Time to take BP"' | at 2:00pm -echo 'notify alert "Meeting" "Ryan call starting"' | at 11:25am +echo 'notify alarm "Standup" "Daily standup in 5 minutes" --persist' | at 10:55am +echo 'notify alarm "BP Reading" "Time to take BP" --persist' | at 2:00pm +echo 'notify alert "Meeting" "Ryan call starting" --persist' | at 11:25am #+end_example *** Notify types available @@ -415,9 +417,9 @@ When monitoring a long-running process (rsync, large downloads, builds, VM tests ***At Completion:*** 1. Send notification via notify script: #+begin_src bash - notify success "Task Complete" "Description of what finished" + notify success "Task Complete" "Description of what finished" --persist #+end_src - Use =fail= type instead of =success= if the task failed. + Use =fail= type instead of =success= if the task failed. Keep =--persist=. The completion ping exists to reach Craig when he's away from the screen, so it must wait for him rather than auto-dismiss. 2. Provide summary of success or failure #+begin_example diff --git a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch index 3978f49..f50ba26 100755 --- a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch +++ b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch @@ -101,6 +101,6 @@ inotifywait -m -e create,moved_to --format '%w%f' "${EXISTING[@]}" 2>/dev/null \ [[ $QUIET -eq 0 ]] && echo "[$iso] $proj: $filename" if [[ $NO_NOTIFY -eq 0 ]]; then - notify info "Cross-agent message" "${proj}: ${filename}" 2>/dev/null || true + notify info "Cross-agent message" "${proj}: ${filename}" --persist 2>/dev/null || true fi done diff --git a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md index dd8afc1..04e8005 100644 --- a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md +++ b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md @@ -34,7 +34,9 @@ No args required. Defaults: 2. Runs `inotifywait -m -e create,moved_to --format '%w%f'` against each watched directory. 3. For each event, calls - `notify info "Cross-agent message" "<project>: <filename>"`. + `notify info "Cross-agent message" "<project>: <filename>" --persist`. The + `--persist` flag keeps the page on screen until dismissed, so an inbound + message that arrives while Craig is away from the desk isn't missed. 4. Appends an event line to the log: `<ISO-8601-timestamp>\t<project>\t<filename>`. |
