Repository navigation
VivaceGraph 4.1.0 is a minor release: 98 changes since 4.0.1, no on-disk format change and no peer-protocol bump. 4.0.x stores open as they are. The full list is the [4.1.0] section of CHANGELOG.md.
New subsystems
graph-db/rules: claims as Prolog facts, rules as versioned producers that read a scope of stores and write their own, recursive rules (#304, #330, #331, #333).graph-db/query: a web-free guarded query runner with paging and engine-side classification of cost-unbounded functors (#322, #387).
Spacetime claims
- Edges under claims, the linking sweep and backfill,
claim-endpoint(#367, #369, #372, #373). - Runtime twins of the schema macros:
register-source,unregister-source,ensure-index,ensure-unique,:record-p(#378, #381). def-count-index, a per-prefix counting index that sees the transaction's own writes (#361).- Claim-family vocabulary, canonical
:check,claim-identity-keyand its inverse,validate-transactionandvalidate-writesexported (#301, #303, #320, #321, #327, #350). claims-touchingandclaims-by-producerpaginate and take:as-of/:as-of-epoch(#300, #302, #347); a transaction reads its own claim writes (#324).
Engine
- Node-local time travel:
with-as-ofand:as-of(#115). - A transaction sees its own writes through every index-backed read: spatial, vector segments, count index,
index-count,map-index-prefixes,index-range(#92 family); a snapshot read never answers a node from a later commit. - Scan-and-write transactions can opt out of the retry cliff (#92);
vector-searchtakes a:filterinside the top-K scan (#293);unique-lookupandreset-vector-segmentare public. - B+ tree: byte-exact page splits, one lock per update, cursors that cross leaves by key and no longer cons a page per level (#404, #405).
- Read/write statistics are sampled and in-memory id tables hash with a fixnum fold (#373).
Portability
- ECL and CCL run the whole matrix: fixnum-width id folds (#424), CCL writer starvation in the rw-lock shim (#118), timed
with-lock(#432), sparse shadow copies that read only the data extents (#434),%posix-allocated-size(#438), the sidecar reader (#436),rename-fileover a live segment (#427).
Tooling and docs
tests/run-suite.sh SUITE(#407),tests/load-examples.shwith its CI lane (#417), the fast tier on pull requests (#340),docs/codebase-notes.md, the transaction contract in manual Chapter 5, the release flow indocs/ci.md(#403).
Dependencies
graph-db/spacetimerequires cl-temporal-extent >= 0.3.0.