Serve
Everything downstream of a model that promotion policy allows:
| Page | Surface | What it covers |
|---|---|---|
| Slots & bundles | POST /slots, :activate | promotion bundles, activation, rollback, shadow mode |
| Batch scoring | POST /slots/{slot}/refreshes | bulk state refreshes as-of a cutoff |
| State reads | GET …/state, scores:batch, timelines | the read API and its freshness contract |
| Exports | POST /slots/{slot}/exports | Parquet/BigQuery/S3 snapshots of a slot's states (Snowflake: warehouse exports) |
| Audiences & lookalikes | POST /slots/{slot}/audiences, /similar | segment/predicate/lookalike member lists delivered on demand |
| Customer map | GET /customer-map, POST /customer-map:refresh | one map of every customer, its schedule, Update now, pin and history |
The serving model in one paragraph: a bundle (immutable,
promotion-approved, fingerprint-pinned) is activated onto a slot (a stable
name like prod). Quality-gate failures may be explicitly acknowledged under
project policy; integrity-gate failures cannot. A refresh or realtime
scoring writes one state row per entity (embedding + scores + freshness);
reads and exports serve those rows. Every scored response tells you exactly
which model produced it and which event it had seen last.