What a stranger gets: the same gateway serving Google Chat — one Chat app, N agents in a room through in-handle routing.
Acceptance
- Cloud Pub/Sub pull intake (egress-only, no inbound port); events acknowledged within the subscription deadline; events older than 10 minutes dropped with a counter.
- One handle:
@a4h <handle> <text> routes in-handle — one Chat app per Cloud project is a platform fact. The public claim stays "N agents per room", never "N bot handles per room".
- Progressive updates via
messages.patch under the 1 write/s per-space budget (shared across every Chat app in the space) — pacing owned by this adapter.
- Cards degrade to text; the bottom rung is plain text and always works.
- Live-verified against the maintainer's Workspace (TODO items 2 and 8). Pre-decided fallback if the console work stalls: fixture-verified behind a quickstart banner.
Depends
TODO items 2 (Workspace tier answer) and 8 (Cloud project console setup). Starts after S6.
Non-goals
Dialogs (impossible on the Pub/Sub path) · Marketplace publishing.
What a stranger gets: the same gateway serving Google Chat — one Chat app, N agents in a room through in-handle routing.
Acceptance
@a4h <handle> <text>routes in-handle — one Chat app per Cloud project is a platform fact. The public claim stays "N agents per room", never "N bot handles per room".messages.patchunder the 1 write/s per-space budget (shared across every Chat app in the space) — pacing owned by this adapter.Depends
TODO items 2 (Workspace tier answer) and 8 (Cloud project console setup). Starts after S6.
Non-goals
Dialogs (impossible on the Pub/Sub path) · Marketplace publishing.