mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-15 01:55:13 +02:00
docs: split user and developer docs (#93)
This commit is contained in:
parent
e8d49559c4
commit
60eee78465
39 changed files with 499 additions and 445 deletions
|
|
@ -2,7 +2,7 @@
|
|||
//!
|
||||
//! This module implements the building blocks of the per-sidecar recovery
|
||||
//! sweep that closes the documented Phase B → Phase C residual (see
|
||||
//! `docs/runs.md` "Open-time recovery sweep"). The high-level shape:
|
||||
//! `docs/dev/runs.md` "Open-time recovery sweep"). The high-level shape:
|
||||
//!
|
||||
//! 1. Each writer that performs a multi-table commit writes a small JSON
|
||||
//! sidecar at `__recovery/{ulid}.json` BEFORE its per-table
|
||||
|
|
@ -274,8 +274,9 @@ pub(crate) enum TableClassification {
|
|||
///
|
||||
/// **All-or-nothing**: the writer that produced the sidecar intended an
|
||||
/// atomic publish across every table it listed. Rolling forward only some
|
||||
/// of them would publish a partial commit and violate `docs/invariants.md`
|
||||
/// §VI.23. The decision is based on the worst classification:
|
||||
/// of them would publish a partial commit and violate the manifest-atomic
|
||||
/// graph visibility invariant in `docs/dev/invariants.md`. The decision is
|
||||
/// based on the worst classification:
|
||||
///
|
||||
/// - Any `InvariantViolation` → `Abort` (operator action required).
|
||||
/// - Any `UnexpectedAtP1` / `UnexpectedMultistep` / `NoMovement` →
|
||||
|
|
@ -463,7 +464,7 @@ pub(crate) fn classify_table(
|
|||
|
||||
/// Compute the per-sidecar decision from a slice of table classifications.
|
||||
///
|
||||
/// All-or-nothing per `docs/invariants.md` §VI.23 — see [`SidecarDecision`].
|
||||
/// All-or-nothing per `docs/dev/invariants.md` -- see [`SidecarDecision`].
|
||||
pub(crate) fn decide(classifications: &[TableClassification]) -> SidecarDecision {
|
||||
use SidecarDecision::*;
|
||||
use TableClassification::*;
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@
|
|||
//! `SnapshotHandle` and `StagedHandle` wrap `lance::Dataset` and
|
||||
//! `StagedWrite` respectively. Their inner Lance types are
|
||||
//! `pub(crate)` — engine code outside `table_store` cannot reach
|
||||
//! through. This is the §III.9 alignment: `lance::Dataset` does not
|
||||
//! appear in trait signatures.
|
||||
//! through. This aligns with the storage-boundary invariant:
|
||||
//! `lance::Dataset` does not appear in trait signatures.
|
||||
//!
|
||||
//! ## Migration status (MR-793 PR #70)
|
||||
//!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue