From de633f8697cee02fa8f11254dea147732857c60d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Mon, 24 Aug 2026 16:13:58 +0000 Subject: [PATCH] a plain message, in the owner's own words officer/core:test has fixed words and officer/core:commander prefixes a name, so there was no way to say one sentence to somebody without it arriving dressed as something else. this entry adds nothing around the producer's title and body. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- src/servers/notifications/catalogue.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/servers/notifications/catalogue.ts b/src/servers/notifications/catalogue.ts index 4dded5eb..905e3bc8 100644 --- a/src/servers/notifications/catalogue.ts +++ b/src/servers/notifications/catalogue.ts @@ -137,6 +137,24 @@ const CORE_ENTRIES: Record = { matters: it is the fallback when it doesn't, and it is what makes the thread group per commander rather than piling every commander into one stack. */ + /* + A message from the owner, in their own words. + + The plainest possible entry: both fields are the producer's and this adds nothing around them. It + exists because `officer/core:test` has fixed words and `officer/core:commander` prefixes a name, so + there was no way to say one sentence to somebody without it arriving dressed as something else. + + Same trade as every producer-text notification — the words go through Apple and Google. See + `sidecar/notify/types.ts`. This one is the case where that is most obviously the point: it is a + message TO a person, and a message they cannot read is not one. + */ + 'officer/core:message': { + title: '{title}', + body: '{body}', + target: 'mobile', + route: 'officer://', + thread: 'officer/core:message', + }, 'officer/core:commander': { // `{title}` is the commander's NAME and `{body}` its sentence — the commander supplies both and this // decides what they look like. It sends "Voice Memos", never "Commander: Voice Memos": the prefix is