1. Native health (provider → C-Node)
Stamps 4–10 on the wire. Lambda invents only unreachable and unreported.
A consumer node, before it opens a session, has to decide which bids are actually there: ping the provider, read models[], apply health policy, then escrow MOR. active.mor.org does that walk on a timer for the whole network, so the hosted API, NodeNeo, and humans are not rediscovering the catalog on every request.
See Session lifecycle and nodedocs.
Live files: all_models.json · active_models.json · gateway_models.json
Step 1 is a chain gate, not a health string. Steps 2–10 are mutually exclusive stamps. The working set pours into two bowls of the same bid IDs: ACTIVE keeps every native name as listed; GATEWAY consolidates those bits — GLM 5.2 / glm-5.2 / glm-5-2 become one ID plus aliases[]. Click the image to enlarge.
Status HTML and sparklines. Never a working catalog. Expired / deleted never even enter ALL.
ACTIVE is the pile of native names. GATEWAY is the same bids with those names fused for the hosted API — not a second health filter. Skipped is grey telemetry; policy still decides whether to open it.
This is the same walk a C-Node does before SESSION_HEALTH_POLICY and escrow. The lambda publishes it ~every five minutes so a gateway, NodeNeo, or a human is not rediscovering the network per request. Files are live on active.mor.org. The next cut of this funnel stamps every ALL bid 2–10 without collapsing failures to unknown, and keeps Active as skipped / degraded / healthy.
| Reader | Should use | Job |
|---|---|---|
| Status HTML / sparklines | ALL + history | Show failures too. In-Active highlight on 8–10. Grey skipped. |
| C-Node / NodeNeo working set | ACTIVE | Bids you might open. Policy can still refuse skipped or degraded. |
| Hosted Inference API | GATEWAY (or ACTIVE) | Same bids, collapsed names. Fuse / allowlist / refuse-at-open stay in the API. |
| /network | on-chain + Reported | Lifetime stats joined to this sweep. Do not coalesce that column to unknown. |
Morpheus does not run the inference. Independent providers do; the Diamond on Base coordinates the marketplace. Opening a session is still on-chain escrow — see Session. Live counts and bid prices live on active.mor.org, not here.
The funnel above is the map. These diagrams are dense — click any of them to enlarge, zoom, or go fullscreen. Street-level view: native checker, files the lambda emits, then how the hosted API consumes Gateway.
Stamps 4–10 on the wire. Lambda invents only unreachable and unreported.
RAW → ALL (1–7) → ACTIVE (8–10) → GATEWAY (names). Status HTML reads ALL, not a dump of active_*.
Point ACTIVE_MODELS_URL at gateway_* or active_*. Same record shape. Cost fuse and allowlist stay in the API.