Repro from any non-Cloudflare client:
$ curl -sI https://ethicsengine.org/api/v1/scores
HTTP/2 500
server: cloudflare
cf-ray: 9f78da554a456b84-ORD
content-type: text/plain; charset=UTF-8
content-length: 16
error code: 1101
Cloudflare error 1101 = Worker threw a JavaScript exception. So the Worker fronting ethicsengine.org is failing before reaching the backend.
The same path works fine on the non-proxied sibling (direct to Caddy → ciris-node:8000 FastAPI):
$ curl -sI https://api.ethicsengine.org/api/v1/scores
HTTP/2 200
content-type: application/json
access-control-allow-origin: *
[normal response]
So the FastAPI app is healthy. The bug is in the Cloudflare Worker (or its config) sitting in front of ethicsengine.org.
What we see
| Domain |
/api/v1/scores |
/health |
Server |
ethicsengine.org |
500 |
404 |
cloudflare (Worker) |
admin.ethicsengine.org |
n/a |
n/a |
cloudflare (Worker) |
api.ethicsengine.org |
200 |
404 |
direct → Caddy |
node.ciris-services-1.ai |
200 |
404 |
direct → Caddy |
(The 404s on /health are a separate problem on our side — CIRISNode exposes /api/v1/health, not /health. We've fixed that at the proxy with an edge rewrite; not a CIRISNode bug.)
What we'd like
- Confirm the Worker fronting
ethicsengine.org is meant to exist (vs. accidental orange-cloud DNS that should be turned off)
- If yes — fix or replace the Worker code so it stops throwing 1101 on
/api/v1/*
- Decide whether
ethicsengine.org/health is supposed to be a thing (the Worker is currently 404'ing it). If yes, route it. If no, we'll stop probing it on our side.
- Same questions apply to
node.ciris.ai (also Cloudflare-proxied)
Why this matters
ethicsengine.org is the public benchmarks-and-scores brand. Visible 500s on /api/v1/scores to anyone hitting the public API directly. The break is recent enough that nobody flagged it manually.
Cross-refs
Repro from any non-Cloudflare client:
Cloudflare error 1101 = Worker threw a JavaScript exception. So the Worker fronting
ethicsengine.orgis failing before reaching the backend.The same path works fine on the non-proxied sibling (direct to Caddy →
ciris-node:8000FastAPI):So the FastAPI app is healthy. The bug is in the Cloudflare Worker (or its config) sitting in front of
ethicsengine.org.What we see
/api/v1/scores/healthethicsengine.orgadmin.ethicsengine.orgapi.ethicsengine.orgnode.ciris-services-1.ai(The
404s on/healthare a separate problem on our side — CIRISNode exposes/api/v1/health, not/health. We've fixed that at the proxy with an edge rewrite; not a CIRISNode bug.)What we'd like
ethicsengine.orgis meant to exist (vs. accidental orange-cloud DNS that should be turned off)/api/v1/*ethicsengine.org/healthis supposed to be a thing (the Worker is currently 404'ing it). If yes, route it. If no, we'll stop probing it on our side.node.ciris.ai(also Cloudflare-proxied)Why this matters
ethicsengine.orgis the public benchmarks-and-scores brand. Visible 500s on/api/v1/scoresto anyone hitting the public API directly. The break is recent enough that nobody flagged it manually.Cross-refs