Gateway Donor Map
Gateway Donor Map
Section titled “Gateway Donor Map”PicoClaw is useful to Gormes as a donor repo for Go channel-edge work, not as the architecture to copy wholesale. Hermes/Gormes still owns the kernel, session model, agent behavior, and the Operative System AI product direction.
Provenance
Section titled “Provenance”- Donor inspected for this section: external sibling repo
<picoclaw donor repo>. - Donor commit pinned for this research:
6421f146a99df1bebcd4b1ca8de2a289dfca3622. - Upstream donor repo:
https://github.com/sipeed/picoclaw. - Any
pkg/...ordocs/...path listed on this page is relative to that donor root, not relative to the Gormes repo.
What This Section Is For
Section titled “What This Section Is For”- Turn PicoClaw’s finished Go adapters into concrete porting notes for Gormes Phase 2 channel work
- Separate transport-edge reuse from PicoClaw-specific runtime coupling
- Point contributors at the files worth mining first before they open a spec or
internal/<channel>/port PR
How To Use This Section
Section titled “How To Use This Section”- Read Shared Adapter Patterns first.
- Cross-check the channel with the current gateway core-system doc and the Phase 2 gateway ledger.
- Lift transport-edge ideas only. Rebuild them inside Gormes’s kernel/session boundaries.
Decision Labels
Section titled “Decision Labels”copy candidate— donor control flow is close enough to port after reshaping it around Gormes interfaces.adapt pattern only— donor code proves useful transport mechanics, but product behavior and runtime boundaries must be rebuilt.not worth reusing— donor coverage is too thin or too coupled to justify porting work.
Verified Shared Donor Files
Section titled “Verified Shared Donor Files”These PicoClaw files are the highest-leverage shared references across more than one adapter:
picoclaw/pkg/channels/base.gofor allow-lists, group-trigger handling, max-message-length policy, and reasoning-channel plumbingpicoclaw/pkg/channels/manager.gofor placeholder-edit, typing-stop, reaction-undo, and per-channel rate-limit orchestrationpicoclaw/pkg/channels/split.gofor outbound chunking that preserves fenced code blockspicoclaw/pkg/channels/dynamic_mux.goandpicoclaw/pkg/channels/webhook.gofor webhook-family fan-in patternspicoclaw/pkg/channels/media.goandpicoclaw/pkg/channels/voice_capabilities.gofor optional capability boundaries
Channel Triage
Section titled “Channel Triage”| Channel | Recommendation | Donor Surface | Dossier |
|---|---|---|---|
| Telegram | adapt pattern only | pkg/channels/telegram/ | Telegram |
| Discord | copy candidate | pkg/channels/discord/ | Discord |
| Slack | copy candidate | pkg/channels/slack/ | Slack |
adapt pattern only | pkg/channels/whatsapp/, pkg/channels/whatsapp_native/ | ||
| Matrix | adapt pattern only | pkg/channels/matrix/ | Matrix |
| IRC | adapt pattern only | pkg/channels/irc/ | IRC |
| LINE | adapt pattern only | pkg/channels/line/ | LINE |
| OneBot | adapt pattern only | pkg/channels/onebot/ | OneBot |
copy candidate | pkg/channels/qq/ | ||
| WeCom | copy candidate | pkg/channels/wecom/ | WeCom |
| WeiXin | adapt pattern only | pkg/channels/weixin/ | WeiXin |
| Feishu | adapt pattern only | pkg/channels/feishu/ | Feishu |
| DingTalk | adapt pattern only | pkg/channels/dingtalk/ | DingTalk |
| VK | not worth reusing | pkg/channels/vk/ | VK |
| Webhook | adapt pattern only | pkg/channels/webhook.go | Webhook |
Current Gormes Anchors
Section titled “Current Gormes Anchors”- Configure: Telegram for the shipped baseline
- Gateway for the architecture Gormes keeps authoritative
- Phase 2 Gateway for the roadmap order and shipped/planned status
- Subsystem Inventory for the current port ledger
Reading Order
Section titled “Reading Order”This section is already split into shared patterns plus per-channel dossiers. Start with the shared page, read the triage row for the channel, then open only the dossier you are about to turn into a spec or progress row.