ambient-compute + research-compute · V1 · 2026-08-18

Two machines, different chips, eleven stages to run. The submission never names a machine.

You write down what a piece of work needs. Every machine has already written down what it offers. Something matches the two, runs it, checks the answer, and writes down what happened. Below is one real job going through that.

One study, eleven independent stages, submitted with no machine named. Every tile is a stage and the row is the machine that took it, from the run's own launch log.
01

One job, end to end

The whole system

Six steps. Under each is the real thing at that step, from a run that happened, and the one rule that step exists to enforce.

Narration

01 Asking, and splitting

You write down what the work needs: how many cpus, how much memory, which capability it depends on. You do not write down where it goes. A submission that names a machine is how a fleet quietly becomes one computer again. The study is a map over one axis of coordinates, eleven values of stage, and each value becomes an independent job with no ordering against any other.

02 Eligible, then placed

Fourteen hard questions are asked of every machine before anything is ranked at all: can it be admitted, is there headroom, is it reachable, does it carry the capability, the cpus, the memory. Ranking happens afterwards, among whatever is left. Whatever survived takes the work, and nobody chose which. The split beside this sentence is what was free at the time, not a policy and not a preference.

03 Checked, and written down

Two questions, asked separately. Whether the declared space was covered exactly once, which belongs to the scheduler. And whether each answer is right, which belongs to the science. A job exiting zero is a statement about execution and never about the result. Everything that happened goes under a content id you can ask about later. Resuming re-reads the outputs from disk and re-verifies them rather than trusting a stored status, so accepted work is never recomputed.

02

Step 3, watched deciding

The filter, re-run

The hard filter, run again against each machine's committed declarations, in the two states this fleet has been in. One declaration changes and the whole study moves.

What the ledger recorded

    03

    What has run on it

    The evidence

    Each kind of work here has a real map id behind it, and each is qualified by execution, never by a machine declaring it could.

    The eleven stage names are not this system's. They are the step names of a separate, unpublished research study on jet sensing: spec and family are spectral and estimator-family passes, tri and resid the held-out and residual ones, and so on. The point is that eleven opaque steps were placed on two machines by their declared requirements and then checked, and that neither the placing nor the checking needs to know what any of them computes. A scheduler that had to know would be the wrong scheduler.

    workwherewhat was proven
    The two machines, field by field
    field

    04

    Two questions, asked separately

    What verified means

    A job succeeding means it exited zero and every declared output was collected and hashed. That is a statement about execution and it is never treated as a statement about the science. The first check asks whether the declared space was covered exactly once, and belongs to the scheduler. The second asks whether each answer is right, and belongs to the science project.

    The second check does not compare files. It walks each stage’s output structure and compares it value by value, and a leaf is one of those values: a single number or string at the end of a path, the smallest thing two runs can disagree about. A stage with 1,402 leaves is a stage whose answer is 1,402 comparable quantities, and bit-exact counts how many of them came back identical to the last bit. Naming the disagreement that precisely is what lets a stage be accepted while one leaf is excluded by name, rather than a whole file being waved through under a loosened tolerance.

    stageverdictleaves bit-exactworst deviation

    residdiag reads CONCLUSION because three of its recorded values are a stochastic training trajectory that diverges between the two microarchitectures. Those three are excluded by name in the manifest, so the five leaves the table counts for this stage are what is left after the exclusion, and one of those five still differs. They are excluded rather than absorbed by loosening a tolerance: a bound wide enough to swallow a different optimisation path would also swallow a real error, and a reader could not tell which had happened. What the stage concludes is bit-identical.

    05

    If you already know a computing centre

    The fastest way in

    The operator model is deliberately the one used at every computing centre, so the habits transfer in both directions.

    hereconventional HPC

    Where the analogy stops is the more useful half. None of the following exists here, and none of it is missing by accident:

      One distinction inside that list matters more than the rest. What works is many independent tasks spread across machines. A single tightly coupled solver using several machines' cores at once is a different problem needing MPI, an interconnect and a multi-node allocation, and it should not be built until a real workload requires it.

      What generalises

      Nothing above is a fact about a particular number of machines. Feasibility before preference, unknown staying unknown, and a decision that arrives with its own reasoning attached are properties of the layer.

      The system is deliberately small and deliberately finished. A feature here needs a trigger, not a precedent: every deferred item is published with the condition that would justify it, and "real systems have this" is not one of them.