Add PostgreSQL DurableStore substrate for WP-03

Introduce remora-durable with pool/migrations, a RemoraApiMutation-shaped
ledger, claim-fenced outbox projection, CAS helpers, and keyset cursors,
plus a kind Job acceptance suite against the hermetic fixture.
This commit is contained in:
ms2k 2026-07-16 03:56:44 +09:00
commit 957d170150

View file

@ -0,0 +1,29 @@
//! PostgreSQL DurableStore substrate.
//!
//! Provides the pool, migration runner, transaction helpers, generic mutation
//! ledger refining `RemoraApiMutation`, durable outbox claim/projection, and
//! integrity-protected keyset cursor primitives. Feature packages own their
//! domain schema additions.
mod cas;
mod cursor;
mod error;
mod ledger;
mod migrate;
mod outbox;
mod pool;
mod tx;
pub use cas::{cas_set_text, cas_set_text_pool};
pub use cursor::{CursorCodec, KeysetCursor, KeysetPosition, first_page_cursor, next_page_cursor};
pub use error::DurableError;
pub use ledger::{
MutationDisposition, MutationOutcome, MutationStatus, execute_mutation, execute_mutation_in_tx,
};
pub use migrate::{migrate, migrator};
pub use outbox::{
OutboxClaim, OutboxClaimFilter, OutboxMessage, claim_batch, claim_batch_in_tx, enqueue,
enqueue_after, mark_projected, mark_projected_pool, release_with_error, unprojected_count,
};
pub use pool::{PoolConfig, connect};
pub use tx::{BoxFuture, PgTx, advisory_xact_lock, set_lock_timeout, with_transaction};