fix(proxy-agents): replace fictional dispatch contract with live-verified routes - #101
Conversation
…fied routes
The three proxy agent definitions documented `POST agent.chitty.cc/api/{name}`
with a body `{"operation","registry","payload"}`. Both halves were wrong: the
path 404s, and that body shape exists nowhere in the worker sources. The
contracts below were extracted from `chittyentity/workers/chittyagent-*/src/`
and confirmed against the live services.
notion (`agent.chitty.cc/notion`):
POST /query {registry|database_id, filter?, sorts?, page_size?}
POST /execute {action, registry|database_id, ...}
GET /registries -> 10 registries
`action: "create"` passes a triage gate that can return `{"deferred": true}`
with a `hint` instead of writing. That is a normal response, not an error,
and was previously undocumented.
chatgpt (`agent.chitty.cc/chatgpt`):
Per-concern routes only (/api/v1/status, /openapi.json, /actions, /plugins,
/troubleshoot, /mcp). There is no dispatch route. Its /mcp serves design
guidance, not the streamable-HTTP transport.
cloudflare (`agent.chitty.cc/cloudflare`):
Capabilities corrected to exactly workers, kv, r2, dns, domains. The prior
doc also claimed Pages, D1, WAF, Durable Objects, Queues and Workers AI —
none of which the worker serves.
Each definition gains a "Known state (verified 2026-09-04)" section recording
live probe results, including two credential faults that belong to ChittyConnect
rather than to these definitions: notion's Notion token returns 401 "API token
is invalid", and cloudflare returns 403 "Missing CHITTY_AUTH_SERVICE_TOKEN"
with two of three CF accounts rejecting their keys.
Only `canonical/agents/*` was hand-edited; the nine projected files under
plugins/ were regenerated by `chittyagent-dispatch` (dispatch.sh sync, exit 0).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EHmrsgQKRudx2XFpjmZhks
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (15)
📝 WalkthroughWalkthroughThe pull request synchronizes three agent definitions across canonical documents, plugin documents, Codex skills, and OpenClaw manifests. It replaces legacy dispatch endpoints with deployed worker routes and refreshes dispatch-state commit pins. ChangesAgent proxy contract updates
Estimated code review effort: 3 (Moderate) | ~20 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What was wrong
All three ChittyOS proxy agent definitions (
notion,chatgpt,cloudflare) documented a dispatch call that does not exist:Both halves are fiction. The path 404s, and that request body appears nowhere in any worker source. Anything following these definitions — a Claude Code subagent, a Codex skill, an OpenClaw agent — was making a call that could never succeed.
What the real contracts are
Extracted from
chittyentity/workers/chittyagent-*/src/and confirmed live.notion —
https://agent.chitty.cc/notionPOST /query→{registry|database_id, filter?, sorts?, page_size?}(default page_size 100)POST /execute→{action, registry|database_id, ...}GET /registries→ 10 registriesaction: "create"passes a triage gate. IfcreateTriage.action !== 'create_page'the worker returns{"deferred": true, operation, target, triage, hint}instead of writing. This is a normal response, not an error — previously undocumented, and the most likely source of silent "why didn't my page get created" confusion.chatgpt —
https://agent.chitty.cc/chatgpt/health,/api/v1/status,/openapi.json,/mcp,/actions,/plugins,/troubleshoot/mcpserves design guidance, not the streamable-HTTP transport.cloudflare —
https://agent.chitty.cc/cloudflare/workers/list,/kv/list,/r2/*,/dns/zones,/domains/list,/sync/domains,/cf-api,/mcpworkers, kv, r2, dns, domains. The prior doc also claimed Pages, D1, WAF, Durable Objects, Queues and Workers AI — none served by this worker.Validation evidence
Contracts confirmed by probing the live services and reading their validation errors back:
POST /notion/query {}400 "Missing required field: registry or database_id"POST /notion/execute {}400 "Missing required field: action"GET /notion/registries200, 10 registriesGET /chatgpt/health200 {"status":"ok","checks":{"mcp":"ok"}}, v1.0.0GET /cloudflare/403 "Missing CHITTY_AUTH_SERVICE_TOKEN in env"Known faults recorded, not fixed here
Each definition now carries a
Known state (verified 2026-09-04)section. Two are credential faults owned by ChittyConnect, not by a definition file, and are deliberately left for/chico:401 "API token is invalid". Service is up; every registry read fails.CHITTY_AUTH_SERVICE_TOKEN; accountsdigitaldossierandfurnishedcondosreturn"Unknown X-Auth-Key or X-Auth-Email". Onlychittycorpis reachable.Also worth knowing
cloudflare.chitty.ccreturns 522 whileagent.chitty.cc/cloudflare/healthreturns 200 — same worker. The{name}.chitty.cchostname thatAGENT_CONVENTIONS.mdmandates is unimplemented for most of the fleet; the live path form is named nowhere in the convention. That is a separate finding and not addressed here.Provenance
Only
canonical/agents/*was hand-edited. The nine files underplugins/were regenerated bychittyagent-dispatch(dispatch.sh sync, exit 0, no errors) percanonical/README.md— projections are never hand-forked.🤖 Generated with Claude Code
https://claude.ai/code/session_01EHmrsgQKRudx2XFpjmZhks
Summary by CodeRabbit
Documentation
Breaking Changes