A compute broker that decides where to run your job —
on facts that are still true as of now.
▶ Watch the 3-minute demo · Source
You have four providers, because none of them can give you all the capacity you need. Every job starts with the same question, answered from four browser tabs and a vague memory of what spot cost last month.
Placement tools answer the cheap version. They don't know what the job needs, they can't tell a fresh fact from a stale one, and they have no memory of you — your quota, your interruption history, your rule about overnight runs.
ONE WINDOW FOR EVERYTHING — 30d, every kind of fact ceiling in use: 22GB → runpod / A10 24GB $3.09 11.1h @ $0.28/hr runpod is degraded right now — jobs failing at container start 22GB was measured on commit 7b2e044. This job needs 38GB. It dies at step 200.
ASOF — per-kind, pinned, overrides live, commit-scoped ceiling in use: 38GB → lambda / L40S 48GB $6.42 5.8h @ $1.10/hr alt modal / H100 80GB $8.73 2.2h dominated lambda / A100 80GB $8.82 4.2h Not saying, because I can't stand behind it: · vram_ceiling: 22GB commit 7b2e044 — void, not stale · price: $1.29/hr superseded; 3d old, 6h half-life · price ×2, capacity live outage on runpod · capacity: 4 avail pinned quota caps this account at 2 · price: $0.95 spot pinned policy: no spot over 4h ? spot interruption data is 41d old, past its 14d half-life. Tell me once and I'll pin it.
Every external observation is a dated fact with a half-life, not prompt context. Scrape a pricing table into a prompt and the model cannot tell a number from twenty minutes ago from one from last quarter. asof reads decayed state.
| kind | half-life | why |
|---|---|---|
| quota · credential · policy | pinned | wrong here is a hard failure |
| price | 6h | a day-old price is a guess |
| capacity | 12h | the most volatile signal there is |
| interruption_rate | 14d | spot behaviour shifts weekly |
| vram_ceiling · step_time | commit-scoped | not stale — void |
Cross-kind overrides catch what no half-life can: a live outage voids a provider's prices however fresh, and a pinned quota suppresses a capacity reading that exceeds it. Neither fact is stale. They never compete for the same slot.
And it reads state, not search. A relevance query over the same corpus returns six prices and no memory ceiling — the fact that decides the question shares no vocabulary with it. Decay can only re-rank what retrieval surfaced.
git clone https://github.com/abhijitbetigeri/highwater npm install && npm run demo
No API key, no database, no model call, no network. The recommendation is a pure function of resolved state, so none of the improvement comes from sampling.
| Neon | facts store, pgvector, decay in SQL at query time; branches as the what-if engine |
| Fly.io | the probe — a 60s run measuring real VRAM high-water |
| Exa | market sensor; results land as dated facts, never raw context |
| Mastra | runtime; observability as the proof surface |
| Executor | reads autonomous, writes gated; credentials out of model context |
| AgentMail | the broker's inbox — notify out, migrate back in |
| assistant-ui | chat surface and the half-life controls |
| Kernel | the consoles with no API: quota, billing, capacity |
Not a scheduler — it decides placement and hands off. Not a cost dashboard; the output is a decision. Not a multi-cloud abstraction — it doesn't make providers look alike, it exploits the fact that they don't. And nothing to offer anyone on committed capacity: if you've pre-paid, there's no spread to find.