fabro/docs
Bryan Helmkamp 0820252bcf
Add the Petri run store endpoints to the API
The worker shape of the integration plan (F1.3) needs a run's worker to
reach the run's Petri records over the server's API. This adds the
contract: six worker-scoped endpoints under `/api/v1/runs/{id}/petri/`
(open, release, list and append records of one log, write and read a
blob), their request and response schemas, and the generated Rust and
TypeScript clients.

A store error needs more than a code: `petri_run_leased` names the
holding owner and `petri_record_conflict` names the refused position.
`ErrorResponseEntry` gains an optional `meta` object for such
code-specific members, `ApiError` can carry it, and the client's
`ApiFailure` parses it beside the code so a caller can act on it.

Records travel as `{seq, recorded_at, record}`, the store's own unit,
with `seq` and `recorded_at` as `uint64`. The log path segment is the
log id's text (`coordinator`, `resources`, `execution <n>`), which the
generated client percent-encodes. The blob write reuses
`WriteBlobResponse`, since Petri's digest is Fabro's blob hash.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 20:12:20 -04:00
..
brainstorms Remove nonfunctional run agent permissions setting 2026-07-29 10:23:00 -04:00
ideation docs 2026-04-09 17:24:30 -04:00
internal Delete fabro's own pricing: lithos-llm prices every response once 2026-09-14 14:46:44 -06:00
plans Reuse PermissionLevel and fix stale run spec snapshots 2026-08-01 10:09:44 -04:00
public Add the Petri run store endpoints to the API 2026-09-17 20:12:20 -04:00
superpowers Reuse PermissionLevel and fix stale run spec snapshots 2026-08-01 10:09:44 -04:00