fabro/lib
Bryan Helmkamp abbc7ca11d
Add platform records and the Petri projection tables
A Petri run's own Fabro facts (its lifecycle before and after the
engine, a checkpoint commit, a pull request, a notification, a pairing)
are platform records in a table beside Petri's records, one typed enum
of kinds tagged on the wire, each keyed to a Petri stage where it
belongs to one and carrying the operation identity of the effect it
records. The run summary store derives the lifecycle kinds from the
legacy run events a Petri run still appends, in the event's
transaction, and calls a hook after the commit so the run's projector
can wake up.

Two more tables serve the projection that follows: the per-run
projection document with its committed positions, and the ordered
stream of everything the view consumed. The run summary store reads the
Petri projection back for the API and writes the narrowed runs row from
it without touching the legacy concurrency guard.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 21:46:21 -04:00
..
apps Run a Petri run in the worker process over the HTTP store 2026-09-17 21:20:22 -04:00
components Add platform records and the Petri projection tables 2026-09-17 21:46:21 -04:00
foundation Add platform records and the Petri projection tables 2026-09-17 21:46:21 -04:00
packages/fabro-api-client Add the Petri run store endpoints to the API 2026-09-17 20:12:20 -04:00