Expand description
The public facade for OxideBatch.
OxideBatch models a batch job as a named definition launched with typed
parameters. Identifying parameters select a logical JobInstance, while
each launch or restart receives a distinct JobExecutionId.
use oxide_batch::{
JobInstanceKey, JobName, JobParameter, JobParameters, ParameterName,
ParameterRole, ParameterValue,
};
let mut parameters = JobParameters::new();
parameters.insert(
ParameterName::new("business_date")?,
JobParameter::new(
ParameterValue::string("2026-07-29")?,
ParameterRole::Identifying,
),
)?;
let key = JobInstanceKey::new(JobName::new("daily_import")?, ¶meters);
assert_eq!(key.identifying_parameter_count(), 1);Parameter values are sensitive by default. Their Debug
representations expose the value kind, but not the underlying value.
Repository operations run inside an explicit RepositoryUnitOfWork.
Time and identifiers are injected into the reference
InMemoryJobRepository, so tests do not depend on wall-clock time or
process-global identifier state. A unit of work publishes changes only
after RepositoryUnitOfWork::commit succeeds; dropping it rolls back its
staged metadata.
JobLauncher runs one-step TaskletJob definitions on an
application-owned executor. Tasklets borrow their call-scoped
TaskletContext, receive cooperative StopToken state, and persist
completed, failed, panicked, or stopped outcomes through the repository.
Synchronous bodies use BlockingTaskletAdapter with an explicit nonzero
concurrency bound.
JobExecutionListener and StepExecutionListener callbacks nest around
tasklet work with deterministic ordering. LifecycleEvent values are
emitted after corresponding metadata commits through a non-authoritative
LifecycleEventSink. Their structured fields exclude parameters,
contexts, records, credentials, and arbitrary user error payloads.
M2 chunk definitions use ChunkStep, ChunkJob, ItemReader,
ItemProcessor, ItemWriter, and ChunkCompletion. The
JobLauncher::launch_chunk path reuses job/step lifecycle metadata while
ChunkTransaction isolates adapter-owned commit and rollback. End of
input, filtering, cooperative stopping, failures, unknown commit, and
post-commit acknowledgement remain distinct typed outcomes. An enlisted
writer borrows BusinessTransaction for only its call; no database-driver
type crosses the facade.
M3 adds runtime-neutral fault-tolerance values. FaultPolicy combines a
FaultClassifier over stable FaultPhase and FailureCategory
inputs with a bounded RetryLimit, RetryStateLimit, SkipLimit,
and a deterministic BackoffPolicy. FaultPolicy::decide is a pure
function of the policy, a framework-owned FaultDescriptor, and
FaultEvidence, so a restart reproduces the same decision. Waiting uses
an injected BackoffSleeper rather than wall-clock time, and
RollbackDisposition::CommitSafeSkip still records a skip instead of
silently dropping an item.
ItemListenerSet owns the M3 ReadListener, ProcessListener,
WriteListener, RetryListener, and SkipListener families. Before
callbacks run in registration order and stop at the first failure; the
matching completion callbacks run only the entered listeners in reverse
order and aggregate every failure. A panic is classified exactly like a
returned ListenerError, and no callback receives an error payload.
ChunkStep::with_fault_runtime installs a FaultRuntime and makes that
policy executable. A retryable fault rolls the chunk attempt back, reserves
its ordinal through a bounded FaultStateStore, runs the retry scope,
waits the injected backoff, and replays the chunk from inputs it already
read, so a stateful reader never rewinds. An accepted skip is provisional
until the commit that records it, and a commit-safe skip additionally
requires ChunkDeliveryMode::AtomicSameResource and an enlisted
transaction. ChunkExecutionReport returns per-phase
RetryCounts and SkipCounts, rollback and no-rollback counts, and
redacted ItemListenerFailure values.
Checkpoint and ExecutionContext retain bounded versioned JSON through
application-owned VersionedStateCodec implementations. Codec signatures
exchange JSON object bytes, keeping serializer types out of the public
contract. Their Debug output never includes payloads.
A codec declares its current schema version and the StateSchemaUpgrade
edges it can apply. Decoding an older recorded version walks one bounded,
deterministic chain of those edges and only then calls
VersionedStateCodec::decode, so a codec parses exactly one shape. A
recorded version newer than the codec, or one with no declared path to the
current version, fails closed rather than being truncated, defaulted, or
reinterpreted.
DefinitionManifest reads canonical definition bytes back without
guessing. A newer format, a non-canonical encoding, a floating-point value,
an out-of-bound graph, or a digest that does not match the supplied bytes
fails closed.
use oxide_batch::{
ComponentRevision, DefinitionIdentity, DefinitionManifest, DefinitionRevision, JobName,
StepName,
};
let identity = DefinitionIdentity::tasklet(
&JobName::new("daily_import")?,
&StepName::new("import")?,
DefinitionRevision::new("2026-07-31")?,
&ComponentRevision::new("tasklet-v1")?,
)?;
let manifest = DefinitionManifest::read_verified(
identity.canonical_manifest(),
identity.manifest_digest(),
)?;
assert_eq!(manifest.format(), 1);
assert_eq!(manifest.node_count(), None);A multi-step definition is declared as a FlowGraph of FlowNode
values joined by exit-pattern FlowTransition edges and compiled into an
immutable CompiledExecutionPlan that owns the canonical manifest and
fingerprint:
use oxide_batch::{
ComponentRevision, DefinitionRevision, ExitPattern, FlowGraph, FlowNode, FlowTarget,
FlowTransition, JobName, NodeId, StepComponents, StepNode, StepName, TerminalKind,
};
let load = NodeId::new("load")?;
let report = NodeId::new("report")?;
let plan = FlowGraph::new(load.clone())
.with_node(FlowNode::step(StepNode::new(
load.clone(),
StepName::new("load")?,
StepComponents::Tasklet(ComponentRevision::new("load-v1")?),
)))
.with_node(FlowNode::step(StepNode::new(
report.clone(),
StepName::new("report")?,
StepComponents::Tasklet(ComponentRevision::new("report-v1")?),
)))
.with_sequence(load, FlowTarget::Node(report.clone()))?
.with_sequence(report, FlowTarget::Terminal(TerminalKind::Complete))?
.compile(&JobName::new("daily_import")?, DefinitionRevision::new("v1")?)?;
assert_eq!(plan.manifest_format(), 2);
assert_eq!(plan.node_count(), 2);ExitPattern selects one of those transitions from the bounded
ExitCode a step reports, never from a BatchStatus:
use oxide_batch::{ExitCode, ExitPattern};
let failed = ExitPattern::new("FAILED")?;
let any = ExitPattern::new("*")?;
assert!(failed.matches(&ExitCode::new("FAILED")?));
assert!(!failed.matches(&ExitCode::new("COMPLETED")?));
assert!(any.matches(&ExitCode::new("COMPLETED")?));
assert!(failed.specificity() > any.specificity());FaultPolicy::decide is a pure function of the policy, a
framework-owned FaultDescriptor, and FaultEvidence:
use std::time::Duration;
use oxide_batch::{
BackoffPolicy, ChunkDeliveryMode, ClassifierRevision, FailureCategory, FailureId,
FailureSummary, FaultAction, FaultClassifier, FaultDecision, FaultDescriptor,
FaultEvidence, FaultPhase, FaultPolicy, FaultRule, RetryLimit, RetryOrdinal,
RetryStateLimit, SkipCounts, SkipLimit,
};
let classifier = FaultClassifier::new(
ClassifierRevision::new("import_v1")?,
[FaultRule::new(
FaultPhase::Write,
FailureCategory::Timeout,
FaultAction::retry(),
)?],
)?;
let policy = FaultPolicy::new(
classifier,
RetryLimit::new(3)?,
RetryStateLimit::new(64)?,
SkipLimit::NONE,
BackoffPolicy::exponential(Duration::from_millis(50), 2, Duration::from_secs(5))?,
)?;
let fault = FaultDescriptor::new(
FaultPhase::Write,
FailureSummary::new(FailureCategory::Timeout, FailureId::new(1)?),
RetryOrdinal::INITIAL,
SkipCounts::ZERO,
true,
ChunkDeliveryMode::AtomicSameResource,
);
assert_eq!(
policy.decide(&fault, FaultEvidence::NONE),
FaultDecision::Retry {
ordinal: RetryOrdinal::new(1)?,
delay: Duration::from_millis(50),
}
);Run the complete in-memory example from the workspace root:
cargo run -p oxide-batch --example first_jobThe application supplies the async executor; public tasklet and repository
contracts use BoxFuture rather than executor- or database-driver types.
Structs§
- Actor
Ref - Deployment-supplied opaque reference to the authorized caller.
- Backoff
Policy - A deterministic, jitter-free backoff schedule.
- Before
Callback Outcome - The outcome of one registration-order before-callback pass.
- Blocking
Tasklet Adapter - Isolates synchronous tasklet work behind a bounded Tokio blocking pool.
- Blocking
Tasklet Context - Owned execution data supplied to an isolated blocking tasklet.
- Business
Statement - A parameterized business write borrowed for one transaction call.
- Business
Value - A stable bound-value type for enlisted business statements.
- Business
Write Result - Successful effect from one enlisted business statement.
- CaCertificate
- A bounded, value-redacted PEM certificate-authority bundle.
- Checkpoint
- A bounded, versioned reader position committed with a chunk.
- Chunk
Commit Receipt - Evidence returned after one chunk transaction is known to have committed.
- Chunk
Completion Context - Read-only evidence passed after the chunk transaction commits.
- Chunk
Completion Error - chunk completion callback failed
- Chunk
Component Revisions - Component revisions for a one-step chunk definition.
- Chunk
Count - A checked non-negative item or transaction count.
- Chunk
Counts - Validated item counts within one open chunk.
- Chunk
Execution Report - In-memory execution evidence returned by a chunk step.
- Chunk
Fault Progress - The fault-tolerance progress one chunk commit makes authoritative.
- Chunk
Job - A validated single-step chunk job definition.
- Chunk
Launch Report - Combined repository lifecycle and chunk-orchestration result.
- Chunk
Listener Context - Read-only state supplied at a chunk-listener boundary.
- Chunk
Listener Error - A value-redacted chunk-listener failure.
- Chunk
Listener Failure - One redacted chunk-listener failure in callback execution order.
- Chunk
Progress - Mutable, invariant-preserving progress for one bounded chunk.
- Chunk
Restart Contract - Restart-state schemas and delivery mode for a chunk definition.
- Chunk
Size - A nonzero item limit for one chunk.
- Chunk
Step - A validated one-step chunk definition.
- Chunk
Transaction Context - Repository execution identity for one launched chunk transaction.
- Classifier
Revision - An application-owned revision token for one bounded fault classifier.
- Compiled
Execution Plan - A validated, immutable execution plan.
- Component
Revision - An application-owned revision token for one opaque executable component.
- Cursor
- An opaque keyset continuation token.
- Decider
Error - A value-redacted decider failure.
- Decider
Revision - An application-owned revision token for one deterministic decider.
- Decision
Input - Immutable, sensitivity-aware input supplied to one decider invocation.
- Decision
Input Version - The version of the durable input contract one decider reads.
- Decision
Node - One deterministic decision node of a compiled plan.
- Decision
Step Input - Durable preceding-step data supplied to a decider.
- Definition
Descriptor - A redacted description of the definition bound to one execution.
- Definition
Identity - Canonical restart-relevant identity persisted with every execution.
- Definition
Manifest - A validated, read-only view of one canonical definition manifest.
- Definition
Revision - An application-owned audit label for one restart-relevant definition.
- Definition
Upgrade - One explicit, directed definition compatibility edge.
- Definition
Upgrade Key - An application-owned key for one directed definition compatibility edge.
- Diagnostic
Field - A reviewed key/value field suitable for structured logs or spans.
- Drop
Report Window - A validated throttling window for exporter-drop reporting.
- Execution
Attempt - A nonzero, instance-scoped execution-attempt ordinal.
- Execution
Context - Bounded, versioned application restart state committed with a chunk.
- Execution
Control - The owning runtime’s bounded observation of one durable execution control.
- Execution
Correlation - Stable, bounded identifiers shared by job and step diagnostics.
- Execution
Counts - Durable item and transaction counters for an execution.
- Execution
Metadata - Validated lifecycle, outcome, timestamps, counters, and failure metadata.
- Execution
Timestamps - Validated creation, start, and end instants for an execution attempt.
- Execution
Version - A database-agnostic optimistic-lock version for an execution record.
- Exit
Code - A validated flow- and operator-facing exit code.
- Exit
Pattern - A bounded exit-outcome pattern used to select one transition.
- Exit
Status - A flow- and operator-facing result kept separate from
BatchStatus. - Export
Error - A value-redacted exporter failure.
- Export
Flush Report - Flush result that never changes batch correctness.
- Export
Queue Bound - A validated finite exporter queue bound.
- Failure
Id - An opaque identifier used to correlate a redacted failure.
- Failure
Summary - A value-redacted failure summary suitable for execution inspection.
- Fault
Action - The action a classifier rule declares for one phase and category.
- Fault
Classifier - A bounded, order-independent classifier over phases and categories.
- Fault
Descriptor - The complete framework-owned classification input for one fault.
- Fault
Evidence - Framework evidence about one failed unit of work.
- Fault
Policy - The validated retry, backoff, skip, and rollback policy for one step.
- Fault
Progress - The committed fault-tolerance totals one step attempt inherits.
- Fault
Rule - One ordered classifier rule for an exact phase and category.
- Fault
Runtime - The validated fault-tolerance capability installed on a chunk step.
- Fault
State Entry - One unresolved retry key retained in durable fault state.
- Fault
State Envelope - The bounded, checksummed fault state of one durable step execution.
- Flow
Decision - One append-only, repository-authoritative selected transition.
- Flow
Decision Id - Opaque durable identifier of one selected transition.
- Flow
Decision Request - A validated transition awaiting repository allocation and commit.
- Flow
Decision Sequence - Positive, execution-local ordering of selected transitions.
- Flow
Event - A value-redacted flow observation emitted only after its named decision.
- Flow
Graph - An immutable declaration of the M3 flow subset.
- FlowJob
- An executable binding for one compiled format-2 or bounded split flow.
- Flow
Launch Report - Final durable observations from one flow attempt.
- Flow
Launcher - Async-first launcher for durable sequential, conditional, and bounded split flows.
- Flow
Step State - Latest durable attempt for one logical step, used to reconstruct restart.
- Flow
Transition - One declared transition edge.
- InMemory
Explorer - The bounded keyset read port of
InMemoryJobRepository. - InMemory
Fault State - A bounded, process-local
FaultStateStore. - InMemory
JobRepository - Deterministic, process-local reference implementation of
JobRepository. - Incident
Buffer Configuration Error - Invalid finite incident-buffer configuration.
- Incident
Event Buffer - A process-local, finite incident event buffer.
- Inherited
Step Progress - Committed step progress one chunk-step attempt inherits.
- Item
Listener Context - Read-only execution data supplied at an item, retry, or skip callback.
- Item
Listener Failure - One value-redacted item, retry, or skip listener failure.
- Item
Listener Set - A bounded, ordered registration of the M3 item listener families.
- JobExecution
- One launch or restart attempt for a
JobInstance. - JobExecution
Id - An opaque identifier for one job launch or restart attempt.
- JobExecution
Projection - A redacted job execution projection.
- JobExplorer
- The portable bounded inspection service.
- JobInstance
- One logical occurrence of a named job and its identifying parameters.
- JobInstance
Id - An opaque identifier for one logical job instance.
- JobInstance
Key - The canonical identity key for a logical job instance.
- JobInstance
Projection - A redacted logical job instance projection.
- JobLauncher
- Async-first launcher for one-step tasklet jobs.
- JobName
- A validated logical job-definition name.
- JobOperator
- The portable guarded operator application service.
- JobParameter
- One typed job parameter and its identity role.
- JobParameters
- A deterministically ordered set of typed job parameters.
- Join
Node - The structural join owned by one M4 split.
- Launch
Report - Final persisted execution snapshots returned by
JobLauncher. - Lifecycle
Event - A structured lifecycle event containing only reviewed, bounded fields.
- Lifecycle
Transition - A requested framework lifecycle transition and its deterministic timestamp.
- Listener
Context - Borrowed execution data supplied to job and step listeners.
- Listener
Error - A value-redacted listener failure.
- Listener
Failure - One value-redacted listener failure retained by a launch report.
- MaxClock
Skew - A bounded repository/local wall-clock skew tolerance.
- Metric
Cardinality Guard - Enforces the per-family label-cardinality and name-allowlist budgets.
- Metric
Configuration Error - Invalid metric name-labelling configuration.
- Metric
Dimensions - A complete set of typed dimensions accepted by the metric catalog.
- Metric
Label - A bounded, framework-owned metric label.
- Metric
Observation - A metric observation after allowlist and cardinality enforcement.
- Monotonic
Instant - A runtime-neutral reading of one monotonic clock.
- NodeId
- A stable logical identifier for one flow-graph node.
- Operation
Id - Caller-supplied idempotency key for one mutating action.
- Operator
Outcome - The result of one guarded operator call.
- Operator
Record - One append-only operator audit and idempotency record.
- Operator
Record Draft - The bounded audit row an adapter appends.
- Operator
Request - One validated mutating operator request.
- Operator
Request Id - An opaque identifier for one append-only operator request record.
- Owner
Token - A per-process 16-byte execution-owner token.
- Page
- One bounded page and its continuation token.
- Page
Request - One bounded page request.
- Page
Size - A validated page size in
1..=500. - Parameter
Descriptor - A redacted description of one job parameter.
- Parameter
Name - A validated job-parameter name.
- Parameter
Value - A bounded typed job-parameter value.
- Partition
Aggregate - The deterministic result of aggregating one complete durable partition plan.
- Partition
Budget - The finite worker and connection budget for one M4 partition manager.
- Partition
Count - A finite durable partition count for one M4 partitioned step.
- Partition
Key - A stable byte-compared key within one partitioned step execution.
- Partition
Plan Entry - One validated entry in a partition plan before durable identity assignment.
- Partition
Plan Factory - Launch-scoped deterministic constructor for one complete partition plan.
- Partition
Plan Request - Deterministic inputs supplied once when a partition plan does not yet exist.
- Partition
Result - A validated terminal result published by one assigned partition worker.
- Partition
Tasklet Factory - Per-child constructor that creates an independently owned tasklet step.
- Partition
Worker Input - Owned, bounded input supplied to one partition worker factory.
- Partitioned
Step Node - A bounded local partition manager and its ordinary worker-step definition.
- Pattern
Specificity - The computed specificity of one exit pattern.
- Postgres
Chunk State Error - Value-redacted failure while preparing
PostgreSQLchunk state. - Postgres
Chunk Transaction Manager PostgreSQLsame-resource chunk transaction manager.- Postgres
Config - Facade-owned
PostgreSQLpool, TLS, and timeout configuration. - Postgres
Durable Step State - Durable progress loaded for one PostgreSQL-backed step execution.
- Postgres
Explorer - The bounded keyset read port of
PostgresJobRepository. - Postgres
Fault State - Durable
PostgreSQLretry-reservation state for one step execution. - Postgres
JobRepository - Durable
PostgreSQLimplementation ofJobRepository. - Postgres
Migrator - Applies the immutable
OxideBatchPostgreSQLmigration set. - Process
Context - Borrowed call state for a processor.
- Processor
Error - item processor failed
- Purge
Batch Bound - A validated purge batch bound in
1..=1000. - Purge
Candidate - One purge candidate and the version observed while planning.
- Purge
Counts - Per-table row counts of one purge plan or applied batch.
- Purge
Plan - One bounded, digest-guarded purge plan.
- Purge
Plan Request - One bounded purge planning request.
- Purge
Survey - The bounded candidate survey one adapter produces while planning.
- Query
Window - The bounded keyset window one adapter statement must honour.
- Read
Context - Borrowed call state for a reader.
- Reader
Error - item reader failed
- Reason
Code - Bounded closed-set machine reason code.
- Recovery
Decision - One append-only recovery audit record.
- Recovery
Decision Id - An opaque identifier for one append-only recovery decision.
- Recovery
Evidence - Canonical evidence retained by one recovery proposal.
- Recovery
Markers - Closed boolean recovery markers retained as one bounded bit set.
- Recovery
Proposal - A validated, evidence-bound recovery proposal.
- Recovery
Proposer - Produces evidence-bound proposals without mutating repository state.
- Recovery
Request - Bounded, value-redacted request for one audited recovery decision.
- Recovery
Result - Result of atomically appending an audit decision and changing execution state.
- Recovery
Snapshot - One adapter-owned recovery snapshot gathered with repository server time.
- Recovery
Step Evidence - Redacted evidence for the latest durable step execution.
- Repository
Descriptor - The versioned capability descriptor a durable adapter publishes.
- Request
Digest - A framework-computed SHA-256 digest of one canonical request.
- Retention
Action Id - An opaque identifier for one append-only retention audit record.
- Retention
Hold - One active retention hold on a logical instance.
- Retention
Record - One append-only retention audit record.
- Retention
Record Draft - The bounded retention audit row an adapter appends.
- Retention
Report - The result of one audited retention call.
- Retention
Service - The portable retention service.
- Retry
Counts - Durable retry attempts, kept distinct per phase.
- Retry
Key - An opaque framework digest identifying one retryable unit of work.
- Retry
Limit - The maximum number of re-invocations after the initial component call.
- Retry
Ordinal - The zero-based invocation ordinal for one retry key.
- Retry
Reservation - One durable retry reservation for a single key.
- Retry
State Limit - The maximum number of unresolved retry keys retained for one step.
- Sequential
IdGenerator - A thread-safe nonzero identifier sequence suitable for local execution.
- Shutdown
Coordinator - Owns the Tokio adapter task set for one application runtime.
- Shutdown
Deadline - The total correctness budget for intake stop through durable persistence.
- Shutdown
Hook Error - A value-redacted failure returned by an application shutdown hook.
- Shutdown
Report - Complete ordered shutdown report.
- Shutdown
Signal - An application-owned process-shutdown signal.
- Skip
Counts - Durable committed skip counts, kept distinct per phase.
- Skip
Limit - The maximum aggregate committed skips for one step in one job instance.
- Split
Branch - One declared linear branch of an M4 split.
- Split
Budget - The finite concurrency and connection budget for one M4 split.
- Split
Node - A bounded M4 split whose branches converge at exactly one join node.
- Stale
Threshold - A bounded stale-execution threshold.
- Start
Controls - Restart-relevant start controls for one logical step.
- Start
Limit - The maximum number of step executions one logical step may start.
- State
Envelope Descriptor - A redacted description of one durable state envelope.
- State
Limits - Resource bounds checked before application payload decoding.
- State
Schema Id - A validated application-owned durable-state schema identifier.
- State
Schema Upgrade - One directed application-schema upgrade a codec declares.
- State
Schema Version - A nonzero application schema version.
- Step
Definition Upgrade - One source-to-target durable step mapping for a compatible restart.
- Step
Execution - One attempt to execute a named step within a job execution.
- Step
Execution Id - An opaque identifier for one step attempt.
- Step
Execution Projection - A redacted step execution projection.
- Step
Name - A validated logical step-definition name.
- Step
Node - One executable node of a compiled plan.
- Step
Partition - A durable partition plan row and its latest result snapshot.
- Step
Partition Id - An opaque identifier for one durable step partition.
- Step
Partition Projection - A redacted durable partition projection.
- Stop
Poll Interval - The maximum interval between durable operator-stop observations.
- Stop
Source - The owner used by application code or an operator adapter to request stop.
- Stop
Token - A cloneable cooperative stop token passed to user work.
- System
Clock - An explicitly injected wall-clock implementation.
- System
Monotonic Clock - An application-owned system monotonic clock.
- Task
Join Deadline - The bounded budget for joining every owned child task.
- Tasklet
Context - Borrowed execution data supplied to an asynchronous tasklet.
- Tasklet
Error - A value-redacted typed user-component failure.
- Tasklet
Job - A validated single-step job definition.
- Tasklet
Step - A validated one-step tasklet definition.
- Tasklet
Step Factory - A launch-scoped factory for one tasklet inside a bounded split branch.
- Telemetry
Exporter - Drains one queue from an application-owned task.
- Telemetry
Flush Deadline - The separate, non-correctness telemetry flush budget.
- Telemetry
Queue - Cloneable producer for one bounded exporter queue.
- Telemetry
Record - One versioned event containing only reviewed safe fields.
- Terminal
Status Set - A non-empty set of terminal statuses a purge may target.
- Unjoined
Phase - One phase and the number of unjoined tasks observed there.
- Write
Context - Borrowed call state for a writer.
- Writer
Error - item writer failed
Enums§
- Authorization
Class - The separately authorizable class of a service call.
- Backoff
Kind - The deterministic backoff family selected by a definition.
- Backoff
Outcome - The result of one cancellable backoff wait.
- Batch
Status - The framework lifecycle status of a job or step execution.
- Business
Transaction Error - Stable, value-redacted enlisted-transaction failure.
- Business
Value Kind - Stable discriminator for a bound business value.
- Chunk
Attempt Outcome - The result visible to an after-chunk listener.
- Chunk
Completion Outcome - Post-commit acknowledgement from a chunk-completion component.
- Chunk
Delivery Mode - Declared delivery boundary included in a chunk definition fingerprint.
- Chunk
Error - Stable chunk-size and count failure.
- Chunk
Execution Outcome - Final result of deterministic chunk orchestration.
- Chunk
Failure - Stable phase classification for a failed chunk step.
- Chunk
Listener Failure Kind - Whether a chunk listener returned an error or panicked.
- Chunk
Listener Phase - The listener callback phase.
- Chunk
Transaction Error - Stable, payload-redacted chunk-transaction failure.
- Cursor
Error - A rejected continuation token.
- Cursor
Key - The immutable ordering key of the last row returned by a page.
- Definition
Error - Failure to construct a bounded restart definition.
- Definition
Token Kind - Definition token category used by validation diagnostics.
- Domain
Error - A stable, value-redacted domain validation failure.
- Drain
Result - Result of joining the structured task tree.
- Durable
State Kind - The durable state category being encoded or decoded.
- Enqueue
Result - Result of one non-blocking enqueue attempt.
- Event
Component - The framework component associated with an event.
- Event
Severity - Stable severity for a lifecycle event.
- Event
Timing - Stable timing of an event relative to the decision it observes.
- Explorer
Error - A stable inspection failure independent of a database or async runtime.
- Explorer
Query - The closed set of paginated explorer queries.
- Exporter
Configuration Error - Invalid bounded exporter configuration.
- Failure
Category - A stable framework category for a redacted failure.
- Fault
Decision - The authoritative policy outcome for one fault.
- Fault
Phase - The framework phase that produced a fault.
- Fault
Policy Error - A value-redacted fault-policy validation or arithmetic failure.
- Fault
State Error - A value-redacted fault-state reservation failure.
- Fault
State Format Error - A value-redacted durable fault-state format failure.
- Flow
Event Kind - Stable, post-commit observations for the bounded flow runtime.
- Flow
Execution Outcome - Why a durable flow attempt ended.
- Flow
Failure - Stable, value-redacted flow failure classification.
- Flow
JobError - An executable component assembly that does not match its compiled plan.
- Flow
Node - One node of a declared flow graph.
- Flow
Runtime Error - A flow operation that could not produce a trustworthy final report.
- Flow
Selection Error - A compiled plan that cannot route one observed exit outcome.
- Flow
Target - The destination one transition selects.
- Flow
Transition Kind - Why one transition was selected.
- IdGeneration
Error - Failure from an injected identifier source.
- Identifier
Kind - The kind of opaque numeric identifier.
- InFlight
Policy - The accepted shutdown behavior for an already-open chunk.
- Item
Listener Error - Failure to register a bounded listener family.
- Item
Listener Phase - The callback boundary where an item, retry, or skip listener failed.
- JobInstance
Selection - The result of selecting the canonical instance for an identifying key.
- Launch
Error - A launch failure that prevented a final execution report.
- Lifecycle
Error - A typed lifecycle-policy or optimistic-concurrency failure.
- Lifecycle
Event Kind - Stable M1 lifecycle event names.
- Listener
Failure Kind - Stable classification of a listener boundary failure.
- Listener
Phase - The listener callback boundary where a failure occurred.
- Local
Failure Policy - The sibling behavior selected after one local child fails.
- Manifest
Error - A canonical definition manifest that cannot be interpreted.
- Metric
Family - A stable metric family and its complete allowed label set.
- Metric
Unit - Stable measurement unit of one metric family.
- Name
Kind - The kind of validated domain name.
- Operator
Action - A mutating action a deployment authorizes and the core guards.
- Operator
Error - A typed operator-service failure that is not a guard rejection.
- Operator
Outcome Class - The durable class of one recorded operator request.
- Operator
Rejection - The typed reason one guard rejected an operator action.
- Owner
Observation - The durable owner-token observation relative to the inspecting process.
- Parameter
Role - Whether a job parameter participates in job-instance identity.
- Parameter
Value Kind - The stable type discriminator for a
ParameterValue. - Partition
Aggregation Error - A deterministic partition plan could not be aggregated safely.
- Partition
Factory Error - Redacted rejection from an application partitioner.
- Partition
Value Error - Invalid public partition input.
- Plan
Error - A flow graph that cannot be compiled into an executable plan.
- Postgres
Config Error - Invalid facade-owned
PostgreSQLconfiguration. - Process
Outcome - One item-processor call outcome.
- Read
Outcome - One item-reader call outcome.
- Recovery
Directive - The disposition of one recovery decision together with the evidence that disposition requires.
- Recovery
Disposition - Explicit operator disposition for an orphaned or ambiguous execution.
- Recovery
Error - A typed recovery-proposal failure.
- Recovery
Field - Recovery request field category.
- Recovery
Request Error - Invalid bounded recovery request.
- Repository
Capability - A separately negotiated durable repository capability.
- Repository
Error - A stable repository failure independent of a database or async runtime.
- Request
Field - A bounded request-envelope field category.
- Request
Field Error - An invalid bounded request-envelope field.
- Retention
Action - One audited retention action.
- Retention
Error - A typed retention failure.
- Retention
Outcome - The durable class of one recorded retention action.
- Retry
Outcome - The result visible to a retry-completion callback.
- Rollback
Disposition - How a failed unit of work is separated from committed work.
- Shutdown
Error - A shutdown intake or configuration error.
- Shutdown
Hook Status - Status of one correctness or resource-close hook.
- Shutdown
Request - Classification of one shutdown request.
- Shutdown
Task Phase - The bounded phase occupied by one owned child.
- State
Codec Error - Stable, payload-redacted failures returned by an application codec.
- State
Error - Stable, value-redacted durable-state validation failure.
- Step
Components - The executable kind and restart-relevant declaration of one step node.
- Stop
Timing - Classifies when a cooperative stop was observed.
- Tasklet
Execution Outcome - The stable execution result captured by a launch.
- Tasklet
Failure - Classifies a tasklet failure without exposing an error or panic payload.
- Tasklet
Outcome - The user-controlled result of one tasklet invocation.
- Telemetry
Event Kind - One stable event in telemetry schema version 1.
- Telemetry
Flush Status - Status of the non-authoritative telemetry flush.
- Telemetry
Span Kind - One stable span in the telemetry schema version 1 hierarchy.
- Telemetry
Span Status - Stable adapter-neutral span outcome classes.
- Terminal
Kind - A node that ends the job without starting further work.
- TlsMode
- Transport security for a
PostgreSQLrepository connection. - Write
Outcome - One item-writer call outcome.
Constants§
- DEFAULT_
DROP_ REPORT_ WINDOW - Default throttling window for drop notifications.
- DEFAULT_
EXPORT_ QUEUE_ RECORDS - Default bounded exporter queue length.
- DEFAULT_
MAX_ CLOCK_ SKEW - Default repository/local clock-skew bound.
- DEFAULT_
PAGE_ SIZE - Page size used when a caller does not choose one.
- DEFAULT_
PURGE_ AGE - Minimum age used when a caller does not choose one.
- DEFAULT_
RETAINED_ EVENTS_ PER_ EXECUTION - Default retained events returned for one incident execution.
- DEFAULT_
RETAINED_ EVENT_ CAPACITY - Default total retained events across executions.
- DEFAULT_
SHUTDOWN_ DEADLINE - The default process drain deadline.
- DEFAULT_
STALE_ THRESHOLD - Default stale-execution threshold.
- DEFAULT_
TELEMETRY_ FLUSH_ DEADLINE - The default telemetry flush deadline.
- MAX_
ACTOR_ REF_ BYTES - Maximum accepted UTF-8 bytes of an opaque actor reference.
- MAX_
BRANCH_ STEPS - The maximum number of linear steps in one split branch.
- MAX_
CLOCK_ SKEW - Maximum accepted repository/local clock-skew bound.
- MAX_
CURSOR_ BYTES - Maximum size of one opaque cursor token.
- MAX_
DROP_ REPORT_ WINDOW - Maximum throttling window for drop notifications.
- MAX_
EXPORT_ QUEUE_ RECORDS - Maximum bounded exporter queue length.
- MAX_
METRIC_ NAME_ ALLOWLIST - Maximum explicitly allowed job and step names.
- MAX_
NODES - The maximum number of nodes one plan may contain.
- MAX_
OPERATION_ ID_ BYTES - Maximum accepted UTF-8 bytes of a caller-supplied idempotency key.
- MAX_
OUTGOING_ TRANSITIONS - The maximum number of transitions leaving one node.
- MAX_
PAGE_ SIZE - Maximum rows one page may contain.
- MAX_
PARTITIONS - The maximum number of durable local partitions in one partitioned step.
- MAX_
PARTITION_ CONTEXT_ BYTES - Maximum serialized byte length of one durable partition context.
- MAX_
PARTITION_ KEY_ BYTES - Maximum UTF-8 byte length of one durable partition key.
- MAX_
PARTITION_ WORKERS - The maximum number of concurrent local partition workers.
- MAX_
PATTERN_ BYTES - The maximum length of one exit pattern in UTF-8 bytes.
- MAX_
PURGE_ BATCH - Maximum executions one purge batch may target.
- MAX_
REASON_ CODE_ BYTES - Maximum accepted UTF-8 bytes of a closed-set reason code.
- MAX_
RESPONSE_ BYTES - Maximum estimated encoded size of one page.
- MAX_
RETAINED_ EVENTS_ PER_ EXECUTION - Maximum retained events returned for one incident execution.
- MAX_
SHUTDOWN_ DEADLINE - The upper bound for process drain and task-join deadlines.
- MAX_
SPLIT_ BRANCHES - The maximum number of branches in one M4 split.
- MAX_
STALE_ THRESHOLD - Maximum accepted stale-execution threshold.
- MAX_
TELEMETRY_ FLUSH_ DEADLINE - The upper bound for telemetry flush deadlines.
- MAX_
TRANSITIONS - The maximum number of transitions one plan may contain.
- METRIC_
CARDINALITY_ BUDGET - Maximum distinct label combinations retained by one metric family.
- MIN_
CLOCK_ SKEW - Minimum accepted repository/local clock-skew bound.
- MIN_
DROP_ REPORT_ WINDOW - Minimum throttling window for drop notifications.
- MIN_
EXPORT_ QUEUE_ RECORDS - Minimum bounded exporter queue length.
- MIN_
PURGE_ AGE - Smallest accepted minimum age of a purge candidate.
- MIN_
SHUTDOWN_ DEADLINE - The lower bound for process drain and task-join deadlines.
- MIN_
STALE_ THRESHOLD - Minimum accepted stale-execution threshold.
- MIN_
TELEMETRY_ FLUSH_ DEADLINE - The lower bound for telemetry flush deadlines.
- MIN_
UNRESOLVED_ AGE - Smallest age bound accepted by the unresolved-execution query.
- OTHER_
LABEL_ VALUE - Reserved value used for values outside an allowlist or cardinality budget.
- TELEMETRY_
EVENT_ CATALOG - The complete telemetry schema version 1 event catalog.
- TELEMETRY_
SCHEMA_ VERSION - The stable M4 telemetry schema version.
- TELEMETRY_
SPAN_ CATALOG - The complete telemetry schema version 1 span catalog.
- VERSION
- The version of the
OxideBatchfacade crate.
Traits§
- Backoff
Sleeper - An injected monotonic, cancellable delay source.
- Blocking
Tasklet - A synchronous tasklet isolated by
BlockingTaskletAdapter. - Business
Transaction - OxideBatch-owned port for the currently enlisted business transaction.
- Chunk
Completion - An asynchronous observer called only after a durable chunk commit.
- Chunk
Listener - Observes a chunk attempt around its transaction body.
- Chunk
Transaction - One adapter-owned transaction for a bounded chunk attempt.
- Chunk
Transaction Manager - Begins isolated adapter-owned chunk transactions.
- Clock
- Supplies instants to repository and runtime operations.
- Explorer
Repository - A bounded read port one metadata adapter implements.
- Fault
State Store - Durable, bounded retry-reservation state for one step execution.
- Flow
Event Sink - A non-authoritative observer of committed flow decisions.
- IdGenerator
- Supplies facade-owned opaque identifiers.
- Item
Processor - A dynamically dispatchable asynchronous item transformer.
- Item
Reader - A stateful asynchronous item source.
- Item
Writer - A dynamically dispatchable asynchronous batch writer.
- JobExecution
Decider - A deterministic, side-effect-free M3 flow decider.
- JobExecution
Listener - A dynamically dispatched job lifecycle listener.
- JobRepository
- Starts isolated repository units of work.
- Lifecycle
Event Sink - Receives committed lifecycle observations.
- Monotonic
Clock - Supplies monotonic readings for bounded recovery observations.
- Postgres
Chunk State Provider - Produces checkpoint and context state at a
PostgreSQLchunk commit boundary. - Process
Listener - Observes processor invocations for one item.
- Read
Listener - Observes reader invocations for one item.
- Recovery
Repository - Adapter port for one bounded, server-time recovery observation.
- Repository
Unit OfWork - Transaction-scoped metadata operations required by the executable kernel.
- Retry
Listener - Observes the retry scope around one failed invocation.
- Skip
Listener - Confirms one accepted skip immediately before the accepting commit.
- Step
Execution Listener - A dynamically dispatched step lifecycle listener.
- Tasklet
- A dynamically dispatched, single-invocation asynchronous step body.
- Telemetry
Event Sink - Receives versioned observational events.
- Telemetry
Export Sink - Adapter-owned asynchronous export boundary.
- Versioned
State Codec - Serializer-neutral application codec for one durable-state schema.
- Write
Listener - Observes writer invocations for one output batch.
Functions§
- aggregate_
step_ partitions - Aggregates a complete partition plan independently of input or completion order.
Type Aliases§
- BoxFuture
- An owned, dynamically dispatched future used by public asynchronous ports.