changelog

{data.name} Sami Fouad made a commit to samifouad/zega

Merge remote-tracking branch 'origin/main' into codex/r2-local-publish

Verified
+2,768 -470
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Rebuild browser WASM with the start check and the atomic writes from main

Verified
+2 -2
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Merge remote-tracking branch 'origin/main' into claude/hnsw-search-width-26

Conflicts:

browser/pkg/zega_wasm_bg.wasm

browser/wasm-source.json

Verified
+2,766 -468
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Merge remote-tracking branch 'origin/main' into claude/path-finding

Conflicts:

zega/src/graph/mod.rs

Verified
+1,036 -416
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Merge pull request #34 from zegadb/claude/wal-before-memory-32

Make every write statement all-or-nothing behind the WAL (closes#32)

Verified
+1,036 -415
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Require the toward Point on the start of an A* path

The straight-line check on roads leaving the start was skipped when the start had no Point. The checker now requires the field on the start's type, and at run time a start without its Point is an error.

Verified
+74 -10
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Make every write statement all-or-nothing behind the WAL

A statement's writes now go through a journal: they apply under the graph lock, are appended to the WAL as one entry, and are taken back (graph, indexes, unique lookups, id counters) if the statement fails or the WAL refuses the entry. No reader sees a write the WAL did not accept, and a reopen agrees with the session.

  • Cypher statements and ZQL mutations, loads, connect_schema and the delete APIs share one path (journal::atomically). ZQL no longer clones the whole graph per mutation.
  • A multi-write statement is one Operation::Statement WAL entry under one CRC, so a crash or failure part-way replays none of it. Single writes keep their old bytes; old WALs still decode.
  • A failed WAL sync now truncates the unsynced entries (whose callers are told they failed) and poisons the WAL, in flush-every and group commit.
Verified
+1,036 -415
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Rebuild browser WASM from the adaptive search width engine

Verified
+4 -4
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Adapt the HNSW search width to the query instead of a fixed ef of 768

The search starts at max(k, 32) and doubles until two successive widths return the same top k. The base-layer search is resumable, so a wider pass continues the narrower one and scores each vector at most once per query. Once half of the live vectors are scored, the search finishes as an exact scan reusing those scores, so it never costs more than a scan.

Adds a 20,000 x 32 test that bounds recall and vectors scored per query, and ignored 10k/100k and 1M benchmarks reporting recall, fraction of N, latency, build time and relative contrast. Refs#26.

Verified
+367 -151
Sep 24

{data.name} Sami Fouad made a commit to samifouad/zega

Rebuild browser WASM with path finding

Verified
+110 -5
Sep 24