Hub channel adapters
Status: implementation contract decided by Henry on 2026-08-04
Personas use the transport-neutral human_* capability surface. The hub owns channel credentials and implements that surface through adapters; Teams is adapter number one, not a special persona runtime dependency.
Every adapter declares support for send, reply, ack, reaction, card, file, typing, and status. send, reply, ack, and status are the required delivery baseline. Missing optional behavior is never silently dropped:
| Missing capability | Result |
|---|---|
| reaction or file | loud refusal |
| card | loud refusal unless the caller supplied an explicit text fallback |
| typing | reported no-op degradation |
A persona/lane binding records the exact persona_address, channel_type, adapter_id, and the adapter lane. Switching Teams to Telegram, Slack, or email replaces that binding; the persona stamp's tool names and runtime do not change. Binding and adapter channel types must match before any operation is admitted. The hub also compares that address to the calling persona's stamped path identity on every operation; a syntactically valid binding for another scope or project is still refused.