Namespace Foundation.Data.Doublets.Cli
Classes
- BranchInfo
Metadata describing one branch in the version-control DAG.
- InvalidLinkFormatException
Exception thrown when a link has an invalid format or structure.
- InvalidQueryPatternException
Exception thrown when a query pattern is invalid or cannot be processed.
- LinksFacadeDisposer
Releases every IDisposable links facade reachable from a decorator chain.
- LogRetentionPolicy
Retention policy for the transitions log:
- LogRetentionPolicy.Infinite keeps every transition forever.
- LogRetentionPolicy.Chunked archives the oldest
ChunkSizetransitions to a rolling file inArchiveDirectoryonce the live log reaches that size. - LogRetentionPolicy.Sized drops the oldest transitions once the live log
exceeds
MaxTransitions, but only after verifying every dropped transition has been applied (R7).
- QueryConstants
Constants used in query processing for pattern matching and link notation.
- TransactionsDecorator
Decorator that records every
Create/Update/Deleteas a reversible Transition in a sidecar doublets log store. Supports explicit transactions, sync/async commits, three log retention policies, and crash recovery. Optional — no behavioural change if not opted in (R8).
- UnexpectedLinkStructureException
Exception thrown when a link structure doesn't match expected patterns.
- VersionControlDecorator
Decorator that sits above TransactionsDecorator and adds time travel (Checkout(long)), branching (Branch(string, long?), SwitchBranch(string)), and tagging (Tag(string, long?)) over the transitions log. Optional — when not instantiated the underlying transactions decorator behaves identically.
Structs
- Transition
A reversible write captured by the transactions layer. Holds both Before and After link states so the operation can be undone (replay
After → Before) or replayed (Before → After).
Interfaces
- ITransaction
A live transaction handle. Disposal without commit rolls back automatically (R10).
- ITransactionsLinks
A links store with transactional semantics layered on top of the underlying INamedTypesLinks<TLinkAddress>.
- IVersionControlLinks
Public surface of a links store wrapped with the version-control decorator: same INamedTypesLinks<TLinkAddress> surface plus branch/tag/checkout operations.
Enums
- CommitMode
Sync flushes data-store side-effects before
Commitreturns. Async durably persists the transitions then applies the data-store side-effects on a background thread (already-applied side-effects are the common case for in-process inner stores).
- TransitionKind
The kind of write operation recorded by a transition.