JobCache perspectives — hosts, packages and deployment
JobCache is one product with an observer-private App zone and a shared Core zone. App API, MCP, UI, status, ops, QA and wiki are peer perspectives; “Core” is a concern boundary, not a third product or public perspective.
Status: App UI, API and MCP are live Cloudflare Workers. App state is in the
separate EU jobcache-app D1; UI and MCP reach App through private Worker
service bindings. Core runs at a protected Alwaysdata origin with a scoped
Crate runtime principal. OpenTofu owns all three public domains, D1 and the Core
site.
| Perspective | Package | Host | Runtime state | Access |
|---|---|---|---|---|
| App API | @cv/jobcache-api |
api.jobcache.corbet.ch |
live Cloudflare Worker + five-minute erasure trigger | public reads + opaque session capabilities |
| App MCP | @cv/jobcache-mcp |
mcp.jobcache.corbet.ch |
live Cloudflare Worker, service-bound to App | public thin peer; no Core bearer |
| App UI | @cv/jobcache-ui |
jobcache.corbet.ch |
live Cloudflare Worker, service-bound to App | public |
| Core facade | @cv/jobcache-interface |
richc.alwaysdata.net/core |
protected Alwaysdata Node 24 program | protected Core operations plus compatibility reads |
| wiki | @cv/jobcache-wiki |
wiki.jobcache.corbet.ch |
Cloudflare Worker | public |
| ops · ui/api/mcp | @cv/jobcache-ops-{ui,api,mcp} |
{,api.,mcp.}ops.jobcache.corbet.ch |
Cloudflare Workers | operator-private |
| qa · ui/api/mcp | @cv/jobcache-qa-{ui,api,mcp} |
{,api.,mcp.}qa.jobcache.corbet.ch |
Cloudflare Workers | QA-private |
| status · ui/api/mcp | @cv/jobcache-status-{ui,api,mcp} |
{,api.,mcp.}status.jobcache.corbet.ch |
Cloudflare Workers | public projection |
jobcache/ingest/ is compute, not a web perspective. It has no App hostname and does not own
session identity.
Deployment invariants
jobcache/api/alone ownssession_id, its inverse observer map and App D1 state.jobcache/mcp/calls only App API routes and never holds a Core or App-control bearer.jobcache/interface/is the Core corpus facade. Legacy Crate-backed App session routes have been removed and return 404.- Core receives only strict public lookup input, purpose-scoped pseudonyms or proven thresholded anonymous aggregates; it never receives a JobCache session capability.
- App UI uses the same API and shared family shell. Core compatibility reads are not the place to add new session features.
The exact privacy and runtime split is defined by JobCache Architecture.