biozen-edge

BP-inference pipeline at the Cloudflare edge. Same Rust source as iOS / Cloud Run, compiled to WASM and wrapped by worker-rs. See docs/runtime-size-budget.md §10 + §11.

endpoints

POST /predict
  content-type: application/octet-stream
  body: research.pb.zst (or .pb / .bzev — proto auto-detected, zstd auto-detected)
  → JSON { sbp, dbp, map, is_valid, heart_rate, mode: "full" }

POST /predict-features
  content-type: application/octet-stream
  body: NamedFeatureVector proto
  → JSON { sbp, dbp, map, is_valid, heart_rate, mode: "features" }
       (hybrid mode — feature extraction done client-side)

GET /health  → "ok"

example

curl -X POST <origin>/predict \
     -H 'content-type: application/octet-stream' \
     --data-binary @path/to/research.pb.zst