fabro/lib
Bryan Helmkamp a621fb72e1
Let the Petri engine start or resume a run over any store
`fabro_petri::engine` is now the one assembly the worker process and the
server share: `RunRequest` takes the run's store as `Arc<dyn RunStore>` and
an `Execution`, either `Start` with the admitted graphs or `Resume` from the
run's records through `host::resume_configured`, with the same interview
observer a start installs. A resume whose record has no root invocation is
refused with a named error instead of a panic in the host. The outcome is
mapped to a `Conclusion` (succeeded, or failed with Fabro's reason and a
message) so both callers record the same terminal event.

`admission::load_with` loads the admitted graphs through any blob read, so
a worker loads them through its client; `admission::load` over the server's
`BlobStore` delegates to it.

`HttpRunStore::for_worker` takes every lease for the worker's launch id,
whatever owner Petri minted for the run runtime, and the open logs the
owner. The module docs state the rule.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 21:20:22 -04:00
..
apps Merge branch 'petri-integration-http' into petri-integration 2026-09-17 20:37:03 -04:00
components Let the Petri engine start or resume a run over any store 2026-09-17 21:20:22 -04:00
foundation Merge branch 'petri-integration-http' into petri-integration 2026-09-17 20:37:03 -04:00
packages/fabro-api-client Add the Petri run store endpoints to the API 2026-09-17 20:12:20 -04:00