Architecture change: DM-First (v2) replaces @mention-in-stream (v1) as primary agent interaction channel. See ADR-001-dm-topology and ADR-002-dm-routing. Key changes: - New DM-first Zulip adapter (adapter_dm.py) deployed on CT 112 - Registers empty narrow to receive ALL events - Demuxes DMs (type: 'private') vs stream events - Replies to DMs back in private thread, stream replies to #agent-hub - Uses blocking long-poll (dont_block=False) to eliminate rate limiting - Rewritten ARCHITECTURE.md, CONTEXT.md, PRD.md for v2 DM-First - New ADRs: ADR-001 (DM Topology), ADR-002 (DM Routing) - Archived old ADRs: 001, 002, 005 (topic-topology, mention-routing, mention-detection) - Updated ADRs: 003 (agent-naming), 004 (per-agent-bots), 006 (all-bots-model) - Updated PI extension (index.ts) with DM-aware patterns - Tanko agent confirmed responding in both DM and @all-bots in #agent-hub
This commit is contained in:
@@ -1,15 +1,12 @@
|
||||
# ADR 4: One Zulip Bot Per Agent
|
||||
# ADR 4: One Zulip Bot Per Agent (Unchanged)
|
||||
|
||||
**Date**: 2026-04-28
|
||||
**Date**: 2026-04-28 | **Status**: Still active — DM architecture needs per-agent bots even more
|
||||
|
||||
### Decision
|
||||
Each agent has its own dedicated Zulip bot user, co-located on the agent's CT. Each bot runs independently as a platform-native plugin.
|
||||
Each agent has its own dedicated Zulip bot user, co-located on the agent's CT.
|
||||
|
||||
### Context
|
||||
A single bot creates a single point of failure and requires message routing to the correct agent. Per-agent bots provide full isolation — if tanko's bot fails, mumuni's bot continues working. Co-location means zero A2A overhead for the local agent.
|
||||
|
||||
### Consequences
|
||||
- 6 Zulip bot users to create and manage
|
||||
### Consequences (Unchanged)
|
||||
- 6 Zulip bot users
|
||||
- 6 independent event streams (one per CT)
|
||||
- @all-bots requires each bot to know about `All Bots` user
|
||||
- Adding a new agent = create Zulip bot + deploy plugin to CT
|
||||
- @all-bots still requires each bot to know about `All Bots` user
|
||||
- DM isolation: only recipient bot sees the message (improvement over stream-based approach)
|
||||
|
||||
Reference in New Issue
Block a user