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.
- LinksFileLock
Advisory lock over a links database, for consumers that open the same database file from more than one process.
- LinksUniquenessAndUsagesRepointingResolver<TLinkAddress>
Keeps every doublet unique: an update that would duplicate an existing link merges into it instead, re-pointing every link that used the merged-away address at the surviving one.
- 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).
- PersistentTransformationDecorator.PersistentTransformationQuery
The two halves a trigger query parses into.
- QueryConstants
Constants used in query processing for pattern matching and link notation.
- TransactionsDecorator
The
uint-addressed transactions decorator used by theclinkCLI.
- TransactionsDecorator<TLinkAddress>
Decorator that records every
Create/Update/Deleteas a reversible Transition<TLinkAddress> 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
- StorageRevision
Cheap fingerprint of a database file, used to answer "has anyone else written since I last looked?" without reparsing the database.
- Transition<TLinkAddress>
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<TLinkAddress>
A live transaction handle. Disposal without commit rolls back automatically (R10).
- ITransactionsLinks<TLinkAddress>
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).
- LockMode
Requested sharing mode for a LinksFileLock.
- TransitionKind
The kind of write operation recorded by a transition.