diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-09 14:15:48 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-09 14:15:48 -0500 |
| commit | 75ab07df65351f9c96738cd7efe5edacc523ac80 (patch) | |
| tree | c43fb89ddcbec9dc6f207ec04e6187d867f521bb /.ai/workflows/triage-intake.org | |
| parent | 627f521a2e1cc6830dc26a97251772084b708db4 (diff) | |
| download | rulesets-75ab07df65351f9c96738cd7efe5edacc523ac80.tar.gz rulesets-75ab07df65351f9c96738cd7efe5edacc523ac80.zip | |
feat(triage-intake): add Telegram source plugin
I added a Telegram source plugin so the triage-intake sweep covers Telegram alongside Signal, cmail, Gmail, calendar, and PRs. Telegram is personal messaging, so it's a general plugin that syncs to every project.
Unlike signal-cli, Telegram has no headless CLI here, so the plugin drives telega.el inside the running Emacs daemon over emacsclient. It records whether telega was already live and shuts it down only if the scan started it, leaving an active session alone. Two sharp edges are documented in the plugin: the tdlib server can SIGSEGV on the initial sync, where docker mode is the fix, and the scan reads the cached telega--chats hash so a dead server still reports unread state instead of going blank.
I also added Telegram to the engine's general-plugin list.
Diffstat (limited to '.ai/workflows/triage-intake.org')
| -rw-r--r-- | .ai/workflows/triage-intake.org | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/.ai/workflows/triage-intake.org b/.ai/workflows/triage-intake.org index e4d433d..265b883 100644 --- a/.ai/workflows/triage-intake.org +++ b/.ai/workflows/triage-intake.org @@ -48,7 +48,7 @@ The engine has no sources baked in. It discovers them by globbing *two* director ls .ai/workflows/triage-intake.*.org .ai/project-workflows/triage-intake.*.org 2>/dev/null #+end_src -- =.ai/workflows/triage-intake.*.org= — *general* source plugins, template-synced (personal Gmail, personal calendar, cmail/Proton, Signal, personal GitHub PRs). +- =.ai/workflows/triage-intake.*.org= — *general* source plugins, template-synced (personal Gmail, personal calendar, cmail/Proton, Signal, Telegram, personal GitHub PRs). - =.ai/project-workflows/triage-intake.*.org= — *PROJECT-SPECIFIC* source plugins, never synced, owned by this project (e.g. a work project's Linear, work Gmail, work Slack, enterprise-GitHub PRs). ⚠ *THE #1 FAILURE MODE — read this twice.* Globbing only =.ai/workflows/= and silently missing every project plugin. If you skip =.ai/project-workflows/=, the sweep runs with *half its sources* and Craig never learns what it dropped — the omission is invisible, because a missing source looks identical to a quiet source in the output. There is no error, no empty block, no warning. The sweep just lies by omission. *Glob both directories. Always.* |
