Nodus Labs

Agent-to-agent economies for infrastructure

Demand for compute is going non-human. When the buyer is a process holding a delegated budget, and the seller is a process deciding when to take capacity back, the questions worth asking change. We model them.

Model Model output, not a measurement. Reserve prices and reclaim hazards are assumed; see provenance.

Why agents change the question

Nodus is the infrastructure execution layer for AI workloads. Labs is where we test the assumptions underneath it, including the ones that turn out to be wrong.

A human operator watches a job, notices when it is going badly, and intervenes. An agent does not. It submits work, holds a budget it was given, and spends against that budget without anyone checking. On the other side, capacity is reclaimed by policy rather than by a person. Two pieces of software now decide, between them, what gets built and what gets abandoned.

That makes two questions concrete that were previously academic. What unit should the two of them trade in? And how should the one holding the budget actually behave? The first is a question about the contract between agents. The second is about the conduct of a single one. We have a finding on each.

A note on what this is not. We do not operate a market, and nothing here describes a product. Customers submit workload requirements and outcomes; finishing them is our job. These pages study how infrastructure gets allocated in general. We are the author, not the exchange.

Findings

  1. 01 The contract between agents The unit-mismatch spread Capacity is sold by the occupied hour. What a buyer needs is delivered work. The gap decides who carries reclaim risk, and it is worth $4.62 of the buyer's money at our baseline hazard.
  2. 02 The conduct of an agent Checkpointing against a ceiling An agent with a hard budget should not schedule like one minimising expected cost. The standard rule is right at exactly one budget, and wrong in a knowable direction everywhere else. Worth up to 51 pts of completion probability.

Finding 01 · the contract between agents

The unit-mismatch spread

Every reclaim moves cost on the buyer's side of the trade and nothing on the seller's. So we built the counterfactual.

Occupancy

How capacity is sold today

Seller quotes
per occupied hour
Seller's ask
its reserve price
Buyer pays for
every hour occupied
Reclaim costs the seller
nothing
Who stops the bleeding
the buyer, when its budget runs out

Completion

The instrument under study

Seller quotes
per hour of delivered work
Seller's ask
reserve × expected hours ÷ P(deliver)
Buyer pays for
delivered work only
Reclaim costs the seller
the hours it wastes, and the contract
Who stops the bleeding
the seller, when the contract stops covering its cost
The two regimes over the same agents and the same capacity, at the model's baseline hazard. 2,000 execution draws per cleared trade, paired across regimes so a given job meets the same luck in both.
Measure Occupancy Completion
Clearing price, accelerator capacity $2.9054 / occupied hour $3.1078 / delivered hour
Clearing price, non-accelerator capacity $0.2981 / occupied hour $0.3702 / delivered hour
Delivery rate 84.6% 85.4%
Spend per delivered job $13.23 $10.80
Buyer spend on work never delivered $4.62 $0.00
Occupied hours producing nothing delivered 18.9% 17.9%
Seller net, after opportunity cost $47.92 $35.29

What the algebra settled

The simulation is noisy in places, so we proved the parts that do not depend on a fixture. Two results came out clean, and they changed our reading of our own numbers.

The seller's loss is exact. Holding the allocation and the stopping rule fixed, switching the unit transfers precisely B(1 − q) / 2 from seller to buyer, and total surplus does not move at all. Redenominating a contract, by itself, creates nothing. It decides who holds the risk.

The delivery improvement is universal, and it comes from somewhere else. Under occupancy pricing the buyer decides when to give up while facing a marginal cost of p, the marked-up price rather than the resource's true cost r. So it quits while continuing is still worth doing. Move the option to the seller and the continuation ceiling is always weakly larger, by an argument that reduces to (B − rH)² ≥ 0.

The efficiency does not come from paying for outcomes. It comes from who is allowed to stop.

That has a sharp practical reading for anyone designing an agent-to-agent contract. A contract that pays on delivery but leaves the abandonment decision with the buyer captures the whole transfer and none of the gain.

And the uncomfortable part

Sellers are worse off under completion pricing at every hazard level we tested, by up to −$12.41. That answers the question that should have been asked first. If the unit is wrong, why has nobody changed it? Because the side that sets the terms is the side that gains from the current ones, and no argument for completion-denominated capacity is complete without saying who moves first.

Finding 02 · the conduct of an agent

Checkpointing against a ceiling

Give an agent a budget it may not exceed, and the textbook scheduling rule stops being the right one.

Work on capacity that can be reclaimed has to be checkpointed, and how often is the oldest question in the area. The classical answer minimises expected time to finish. That is the right target for a batch system trying to get through as much work as possible.

It is the wrong target for a delegated agent. An agent with a hard budget is indifferent between finishing far under the ceiling and finishing just under it. What it wants is the largest probability of landing underneath, and that objective is sensitive to variance where the classical one is not.

Baseline regime. The classical interval is 0.81 h against a mean completion time of 13.5 h. Ratios are stated against that interval, and the crossing sits where the ceiling crosses the mean.
Ceiling Best interval Stance Gain
0.80× 5.11× gamble +9.1 pts
0.88× 1.69× gamble +5.3 pts
0.94× 1.34× gamble +2.0 pts
1.00× 1.00× classical +0.0 pts
1.06× 0.89× insure +0.5 pts
1.15× 0.75× insure +2.2 pts
1.30× 0.59× insure +1.2 pts

The rule is simple enough to act on. Compare the ceiling to the expected cost of finishing. Above it, checkpoint more often than the textbook says. Below it, checkpoint less. The classical interval is correct at exactly one budget, the one equal to its own mean, and the direction of the error everywhere else follows from that single comparison with no extra estimation.

The size is worth noticing. In the regime where checkpoints are expensive relative to the work, the ceiling-aware interval is worth 51 pts of completion probability at a 0.80× ceiling. That is not a rounding difference. It is most of the achievable outcome.

This one is not ours We derived it, then went looking for prior art and found it. The real-time systems literature calls this objective Level of Confidence and has been maximising it over checkpoint count since at least 2011. We are publishing it anyway, for two reasons. It is directly relevant to agent-held budgets, which is a newer setting than the one it was developed for. And almost nobody implements it, including us. A fifteen-year-old method that production systems do not use is worth pointing at.

What we intend to do about it. Our cadence policy reads interrupt rate, checkpoint size, and runtime, holding lost work to a fixed share of mean time between reclaims. The cost ceiling sits at that call site unread. Adding it is a small change to one function.

We have not made it, and not out of modesty about the result. The gain above is measured against a hazard we set rather than observed, so we would be tuning against an invented number and shipping the confidence that comes with a table. The change lands when live wholesale routes give us a measured rate. Until then the fixed share is wrong in a direction we can name, which is the better default.

Notes

Longer write-ups, including the parts that did not work.

What is assumed

A number is worthless without the assumptions that produced it. These are ours.

  • Reserve prices. assumed: synthetic opportunity costs spanning a plausible range, not observed supplier economics.
  • Reclaim rates. assumed: synthetic per-hour reclaim rates spanning a plausible range, scaled by hazard_mult.
  • Clearing. uniform-price sealed-bid double auction, cleared at the midpoint of the marginal bid and ask, then assigned to the lowest-asking unit that fits.
  • after a reclaim the job recovers onto the same unit rather than re-clearing the market; this understates the cost of the occupancy regime, so it biases against the model's own prediction.
  • each side prices against the segment's typical counterparty, because neither can see its match before it exists.
  • the market clears once per population rather than continuously; freed capacity is not re-offered.
  • reclaim is memoryless, so a unit's hazard does not depend on how long the job has been running.
  • Finding 02 sweeps 3 parameter regimes, with hazards and write costs set rather than measured. Its empirical content is internal: it evaluates a scheduling rule by simulating scheduling rules, which needs no supplier data to mean something.

Demand agents are real workload submissions profiled through the shipped profiler, and the population spans accelerator and non-accelerator capacity and durable and ephemeral work. A finding drawn only from long checkpointable training would overstate itself, since that is the case where preserving progress pays off most. Supply agents are anonymous by construction. Neither page is a measurement.

Where this touches the product

Both findings describe one asymmetry from two sides. Reclaim costs the buyer and not the seller, and an agent spending a delegated budget has nobody watching it find that out. Nodus sits on the buyer's side: route for expected cost to completion, reserve recovery money before reserving a machine, treat progress as something that must survive the instance that produced it.

Neither result is a product claim. We do not sell completion-denominated capacity, and Finding 01 says that instrument moves risk rather than creating value. What both tell us is where to spend effort: on who is allowed to stop, and on how little is thrown away when they do.

  • Field note 003 is the routing objective these models are arguing with.
  • Field note 006 is the cadence and manifest machinery Finding 02 is about.
  • The docs are how you submit a workload against it.