3709fae5e1d6c3581db051025e88dbd97e7dbaf4
CF Workers cannot fetch() other workers on the same .workers.dev zone.
This caused all /run/{name} routes to return Cloudflare's HTML 404
instead of proxying to the sub-worker.
Fix: replace inline fetch() proxy with a redirect-based approach:
- Default (browser/curl): 302 redirect to sub-worker URL
- Accept: application/json: return JSON with {url, capability, cold_start}
LRU bookkeeping (page-in, access count) still happens in Sigil before
the redirect, so cold capabilities are warmed up transparently.
New backend method: resolveInvoke() — same LRU/page-in logic as invoke()
but returns route info instead of executing the subrequest.
Fixes: https://sigil.shazhou.workers.dev/run/* returning CF 404
Reported-by: 小墨 🖊️
Sigil 🔮
Capability registry for Uncaged — LRU-managed Cloudflare Workers with abstract backend.
What is Sigil?
Sigil is the capability virtualization layer for Uncaged. It lets AI Agents deploy, invoke, and manage serverless capabilities (Cloudflare Workers) through a unified gateway, with LRU eviction to stay within platform quotas.
Architecture
- One dispatch Worker (
sigil.shazhou.workers.dev) as the unified entry point - KV-backed LRU for scheduling capabilities within CF Worker quota (~400 slots)
- Abstract backend interface:
WorkerPool($5/mo) orPlatform($25/mo, Workers for Platforms) - Agent isolation via naming convention (
{agent}--{capability}) + per-agent tokens
Docs
License
MIT
Built by 小橘 🍊 (NEKO Team) | Part of the oc-forge ecosystem
Description
Languages
TypeScript
100%