Skip to content

bide v0.5.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 04:15
· 173 commits to main since this release

Tighter guarantees for multi-process deployments.

v0.5.0 extends bide's durability and audit guarantees to more of the ways a real deployment runs: several nodes sharing one journal or one governed event log, handoffs between them, and streamed runs.

  • At-most-once across overlapping drivers. When two nodes briefly drive the same run, as can happen around a lease handoff, a non-idempotent step is claimed exclusively before it runs, so it still fires at most once. Leasing remains the efficiency mechanism; the claim is the safety one.
  • Governed state shared live across processes. Governors sharing an event log now fold in each other's events as they act, not only on restart, and every governed action records its position in the log, so an auditor can check each recorded state digest by replaying the log through that position.
  • Strict per-entity order on Postgres. The Postgres event log keeps each entity's events in a fixed order under concurrent writers.
  • Hedged streaming. With backup models configured, a streaming caller receives exactly the response the run records.
  • Faithful in-memory store. MemStore returns independent copies in the same form the SQLite and Postgres stores do.

API changes in govern:

  • EventLog.Append returns the event's position, and Events takes a starting position. govern/eventlogtest checks any implementation against the contract.
  • Applier.Apply returns Applied{State, Position}, and FederatedApplier.Apply returns FedApplied. Log-backed governors gain Sync(ctx).
  • The Postgres event log uses a new governed_events table. Redis event-log streams should be written only through the adapter.

Install:

go get github.com/bide-ai/bide@v0.5.0

Docs: https://bide-ai.com