CogOS provides the bridge. The cogent decides what to build.
Web Gateway Lambda
Routes HTTP → file store or channels
web Capability
publish(), unpublish(), respond(), list()
io:web:* Channels
Request/response message plumbing
CDK Infrastructure
Lambda, Function URL, DNS, IAM
Published files
HTML/JS/CSS in web/* file store prefix
Handler process
Daemon subscribed to io:web:request
Route logic
Process decides what /api/* paths do
Frontend behavior
JS knows which endpoints are fast/slow
| Concept | Discord | Web |
|---|---|---|
| IO Bridge | Discord Bridge (Fargate) | Web Gateway Lambda |
| Inbound Channel | io:discord:dm | io:web:request |
| Capability | discord.send_message() | web.respond() |
| Dispatch | append → delivery → ingress → executor | append → delivery → ingress → executor |
| Handler | discord cog handler coglet | web cog handler coglet |
Web Gateway Lambda — Python 3.12, 512 MB, 60s timeout, Function URL, VPC (Postgres access)
Cloudflare DNS — point subdomain at Function URL (Access policy already exists)
io:web:request channel — created in image boot, like io:discord:* channels
Everything else unchanged: ALB, dashboard, executor, scheduler, polis infra