Skip to main content

Module fork

Module fork 

Source
Expand description

Type definitions for the fork feature.

Fork = a named, durable, isolated branch of the graph. Each fork is backed by one Lance branch per dataset (vertex, edge-delta, adjacency). These types are persisted to catalog/fork_registry.json and catalog/fork_schemas/{fork_id}.json. Their lifecycle is governed by 2PC state machines.

SchemaDelta is wired through Phase 1 with all instances empty — the merge infrastructure exists so Phase 2’s on-the-fly label creation has a populated path to land into.

Structs§

ForkId
Stable identifier for a fork. Display format is base32 ULID.
ForkInfo
Metadata for a single fork.
ForkRegistryFile
Top-level on-disk shape of catalog/fork_registry.json.
PropertyAddition
Adds a property to an existing label or edge type via the fork schema overlay. Phase 1 has no producer; Phase 2 fills this when tx.execute("CREATE (n:Person {phone: ...})") introduces a previously-unknown property on a fork.
SchemaDelta
Schema additions on top of primary, owned by a single fork.

Enums§

ForkStatus
Lifecycle status of a fork in the registry.
PropertyOwnerKind
Discriminator for PropertyAddition::owner_kind.