Compute
Workflow, profile, job, and result
Four words carry the whole model: workflow, profile, job, and result. This page defines each one, walks a small run from input to result, and shows what never belongs in a request.
The four words
Compute asks you to think about four things and nothing else.
Workflow is what Lithi does. It is a named, versioned unit of work that you pick per task.
Profile is your team's reusable defaults for how that work is done.
Job is the admitted current run. It is the only one of the four with a live state.
Result is the immutable bundle and receipt you keep afterwards.
Why the split matters
Each of the four changes on a different schedule. A workflow is chosen per task. A profile is agreed once and reused. A job lasts as long as the run. A result outlives all three.
Keeping them apart is what lets you change team defaults without rewriting every request. It is also what lets you audit a finished run without depending on the settings that produced it.
One small run, end to end
- Freeze the input. A snapshot records a
version_idand acontent_sha256, so the run is about exactly those bytes. - Name the workflow and version you want, for example
eval.semantic_grade.v1atcurrent-compatible. - Let your profile fill in the defaults: quality preset, where output goes, the deadline, the maximum price.
- Request a quote. It states the maximum charge, carries an expiry, and authorizes nothing.
- Approve separately. Admission then returns a job, which moves through
ADMITTEDandRUNNINGtoSUCCEEDED,PARTIAL, orFAILED. - Read the result.
result-manifest.jsonis written last and is the only marker of a complete bundle.
If facts move between the quote and admission, admission answers REPLAN_REQUIRED. Quote again rather than resubmitting the old one.
What never appears in a request
Nothing in a request describes where the work runs or how it is spread out. There is no placement field, and no way to ask for one.
You express urgency and cost instead. The deadline and maximum_price values inside limits are the whole of your control over how hard a job is pushed.
That is deliberate. It keeps your request portable across contract releases, because no field you submit depends on how the work happens to be arranged.
Limits worth knowing early
A quality preset states what was checked, never that an answer is correct. Standard covers schema and deterministic validation. Verified adds independent sample verification. High assurance raises the verification rate or the number of independent checks. Custom evaluation runs your own rubric or reference set.
The maximum item count for a workflow sits on its descriptor and is repeated on your quote. Do not code to a number you saw in an example.
Part files appearing in a bundle are not terminal success. Wait for the manifest.
Build the request
Once these four are clear, the request itself is small: the seven objects in a task spec.