Answer plain user messages in channels via a channel-anchor wake

A human message in a channel woke agents only through @mentions, DM
counterparts, or prior thread participants - and the flat composer
always sends threadId=null, so typing in #general summoned nobody and
the room stayed silent.

- Track which agents each wake path summoned in one woken set (also
  prevents latent double-wakes between the paths)
- When a non-slash human message in a channel wakes nobody, wake the
  channel's most senior active agent member with an enabled provider
  (c_suite > director > lead > staff, then hire date); they can pull
  teammates in with @mentions
- Log when a channel has no runnable agent so silence is diagnosable
- Integration test: plain #general message wakes the CEO who replies;
  an explicit mention still wakes exactly one agent
This commit is contained in:
ZacharyZhang-NY committed 2026-07-08 20:58:17 -04:00
1 parent 349547a0de
commit 55c043f8b4
3 files changed
+161 -13

No files matched your search

@@ -30,6 +30,7 @@ export interface FileAttachmentRow {
export interface SpaceRow {
id: string;
org_id: string;
name: string;
visibility: string;
space_type: string;
}