diff --git a/docs/plans/integration-readiness-matrix.md b/docs/plans/integration-readiness-matrix.md index a7f7b37c8..7dd357153 100644 --- a/docs/plans/integration-readiness-matrix.md +++ b/docs/plans/integration-readiness-matrix.md @@ -47,7 +47,7 @@ The matrix below is the definition of "ready". A row is ready when every cell is | row | code exists | known state | |---|---|---| -| Telegram | yes | Walked live 2026-09-27 on `7ccc6ac2` with a real account (below). **C1 red**: the page shows the code grouped with spaces while the bot reads only the first word, so typing the command as displayed fails (TASK-153). C1 is also limited by design: binding is private-chat-only with one chat per pod, so one Telegram account links one pod (TASK-154, for Wren to scope). C10 green: both refusals are named, and since #1878 a dead chat is a named failure. Inbound and sender identity (C5) were shown on a simulated chat on `0e142135` | +| Telegram | yes | Walked live 2026-09-27 on `7ccc6ac2` with a real account (below). **C1 red**: the page shows the code grouped with spaces while the bot reads only the first word, so typing the command as displayed fails (TASK-153). C1 for more than one pod is not walked. On the installable connector one private chat binds one Commonly user, and pods sit behind it as gates: outbound relays from every pod whose gate is on, inbound goes to the one active pod the owner selects (TASK-154, ruled by Wren). The walk hit a legacy row from before connectors were installable. Multi-pod routing gaps are TASK-156. C10 green: both refusals are named, and since #1878 a dead chat is a named failure. Inbound and sender identity (C5) were shown on a simulated chat on `0e142135` | | Slack | yes | Walked live 2026-09-26/27 on `7ccc6ac2` with a real workspace (below). **C1, C3 and C5 green**: connect through consent, callback and confirm; a hosted agent's reply relays to Slack; a Slack mention reaches the agent and its answer comes back. C5 inbound was green only after two Slack app settings were fixed during the walk. Red for customers until the app was publicly distributed, which is now done. A second authorize on a connected row is refused with 409 `slack_already_authorized` (measured through the API); the refusal copy on the page (#1890, Row C) is still unwalked in the UI. Before #1875 (09-04 to 09-25), every new install was refused at Authorize | | Discord | partly | **red** in C0: not offered on the Connectors page (#1826, held for Sam's read of the renders). **red** in C1: not connectable (TASK-104). Two different fixes | | GroupMe | yes | **red**: TASK-101 | @@ -108,7 +108,7 @@ Walked by the Connectors session with Sam's real Telegram account, 2026-09-27 00 | cell | result | |---|---| | C1 | red: the page displays the code grouped with spaces, and the bot reads only the first word after `/commonly-enable`, so typing the command exactly as shown fails. Reproduced live; TASK-153 | -| C1 limit | binding is private-chat-only, with one chat per pod, so one Telegram account can link one pod. Sam's account is held by the Rewire Live Demo binding, so the test pod could not bind. TASK-154, a scope call for Wren | +| C1, more than one pod | not walked. The walk hit a legacy row on the same chat: Sam's Aug-27 Rewire Live Demo binding, from before connectors were installable (#1527), so the test pod could not bind. The chat claim is unconditional (`webhooks/telegram.ts:135-148`): one private chat holds one active Telegram row, because everything typed there is authored as its owner. On the installable, user-scoped row that one chat still reaches N pods. Outbound relays from every pod whose gate is on (`config.gates..enabled`, `services/installable/eventHandlers.ts:59`). Inbound goes to the single active pod (`podId`), which the owner moves with the same owner-only PATCH that writes the gates (`routes/integrations.ts`). The switches are the connector's "Pods that reach this channel" list; that surface is ADR-025 D17 (ruled), and D8 is still Proposed. Wren ruled the scope on TASK-154. Pod tags on lines and quote-reply routing across pods are TASK-156 | | C10 | green: both refusals seen in the walk are named to the person | | UI | TASK-155: the Telegram Add button, and the pod picker defaulting to an agent room |