Shared catalog photograph · not a session

What a C-Node would walk — published once

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.

Your C-Node · per session

Still the thing that opens

  • Pings providers and reads self-report when you ask it to route.
  • SESSION_HEALTH_POLICY decides whether skipped / missing reports are attempted.
  • Opening a session escrows MOR. It does not spend it. Unused returns on close.
  • There is no recover RPC. Close is the recovery path.

See Session lifecycle and nodedocs.

active.mor.org · ~every 5 minutes

The shared photograph

  • Sweeps registered providers, fetches open bids, stamps each bid honestly.
  • Publishes three views of the same sweep: ALL, ACTIVE, GATEWAY.
  • Does not open sessions, hold MOR, or run inference. Independent providers still do that.
  • Lets a gateway skip knocking on ghosts. Lets a human see why a bid is not in the working catalog.

Live files: all_models.json · active_models.json · gateway_models.json

The funnel

RAW → ALL → ACTIVE → GATEWAY

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.

Stay on ALL (ops)
2 unreachable 3 unreported 4 no_model_configured 5 no_bid 6 tee_unverified 7 unhealthy

Status HTML and sparklines. Never a working catalog. Expired / deleted never even enter ALL.

Working set — two views
8 skipped 9 degraded 10 healthy

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.

Who reads which layer
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.

What this is not

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.

Three close-ups

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.

1. Native health (provider → C-Node)

Stamps 4–10 on the wire. Lambda invents only unreachable and unreported.

2. Files on active.mor.org

RAW → ALL (1–7) → ACTIVE (8–10) → GATEWAY (names). Status HTML reads ALL, not a dump of active_*.

3. Hosted API (api.mor.org)

Point ACTIVE_MODELS_URL at gateway_* or active_*. Same record shape. Cost fuse and allowlist stay in the API.

Scroll to pan · Esc closes