You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`worker/index.ts` — Cloudflare Worker stub deployed at `chronicle.chitty.cc`. Only mounts `/health`.
`server/index.ts` — Express server where the real application lives: hybrid timeline search, `requireServiceToken` middleware (just landed in PR feat(phase1): fail-closed requireServiceToken + parameterized SQL + 4 SOTA routes #44), the four Phase 1 routes (`GET /api/timeline/search/hybrid`, `POST /api/timeline/ask`, `GET /api/timeline/search/keyword`, `GET /api/timeline/search/semantic`), `semanticSearch()` with the parameterized SQL + vector(1536) schema fix, etc.
The Express server has no production deployment lane. Pre-PR #44 curl confirmed all four routes return 404 on `chronicle.chitty.cc`. So:
Code is tested (7/7 pass, real Express + live fetch, no mocks).
In all three cases the symptom is the same: PRs merge to main, code is correct, but the production lane is broken or absent, so the work is invisible to consumers until the deploy chain is sorted.
Resolution paths (operator/maintainer decision)
A. Expand the worker stub to mount the Express routes. Re-architect `worker/index.ts` to handle the four Phase 1 routes via the existing CF Worker runtime (Hyperdrive bound, vector ops via Workers AI / external embed service). Pro: keeps everything on the existing CF infrastructure. Con: rewrite + service-binding wiring.
B. Stand up a separate Express deployment (e.g. a Fly.io / Render / Cloud Run app) for `server/index.ts`. Wire `chronicle.chitty.cc` (or a subdomain) as the public face via DNS / CF Origin Rule. Pro: minimal code change. Con: new infra surface, separate auth/credential pipe.
C. Hybrid — worker fronts the Express server. Worker stub remains the public edge; proxies to the Express service over a private channel. Same trade-offs as B plus one extra hop.
Issue
chittychronicle has two execution surfaces:
The Express server has no production deployment lane. Pre-PR #44 curl confirmed all four routes return 404 on `chronicle.chitty.cc`. So:
Same drift class as
In all three cases the symptom is the same: PRs merge to main, code is correct, but the production lane is broken or absent, so the work is invisible to consumers until the deploy chain is sorted.
Resolution paths (operator/maintainer decision)
A. Expand the worker stub to mount the Express routes. Re-architect `worker/index.ts` to handle the four Phase 1 routes via the existing CF Worker runtime (Hyperdrive bound, vector ops via Workers AI / external embed service). Pro: keeps everything on the existing CF infrastructure. Con: rewrite + service-binding wiring.
B. Stand up a separate Express deployment (e.g. a Fly.io / Render / Cloud Run app) for `server/index.ts`. Wire `chronicle.chitty.cc` (or a subdomain) as the public face via DNS / CF Origin Rule. Pro: minimal code change. Con: new infra surface, separate auth/credential pipe.
C. Hybrid — worker fronts the Express server. Worker stub remains the public edge; proxies to the Express service over a private channel. Same trade-offs as B plus one extra hop.
What needs deciding before #44 can be useful
References