You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Knowledge-graph / graph-memory section in all seven READMEs, covering
entities, typed relations, evidenced edges, triples, entity resolution and
multi-hop traversal — including what sage-wiki does not do (temporal
validity fields are stored but unqueried; there is no automatic
contradiction detection).
README benchmark and eval summaries now report real measurements: the
memory benchmarks (LOCOMO 92.0%, LongMemEval 93.3%, BEAM 0.691 with gpt-5
judging) and the quality/perf eval (87.4% median across 10 real wikis).
Fixed
Both checkpoint readers retry transient Windows failures, via one shared
helper. Fixing only the compile-state reader moved the CI failure to the
batch-state reader — same test, same error, different path — so both now go
through readStateFileRetrying and a test asserts it.
The transient-error predicate now matches the message Windows actually
emits.ERROR_SHARING_VIOLATION reads "The process cannot access the file
because it is being used by another process" — containing neither "sharing
violation" nor "access is denied", and Go does not map it to fs.ErrPermission. The predicate checked only those, so the most common
Windows contention error fell through as fatal in both the rename retry and
the new read retry.
Postgres migration tests no longer depend on a pre-migrated database. TestMigrationV3/V4/V5 clone the base database and then simulate a
downgrade, but did so before creating any schema — so they only passed
against a long-lived developer database that had accumulated the schema
from earlier runs, and failed on every fresh CI Postgres with relation "relations" does not exist. They now create the schema first.
CI: the Postgres job now creates the pgvector extension explicitly. It
had never passed since being added — sage-wiki refuses to CREATE EXTENSION
itself by design, and the image's initdb hook was not reliably creating it,
so every pg test failed with "relation does not exist".
Compile-state reads now retry transient Windows file-sharing failures.
The write half of this contract already retried (writeFileAtomicUnique via isTransientRenameError), but reads did not — so a concurrent writer
holding the handle surfaced as "The process cannot access the file because
it is being used by another process" and aborted the caller outright. Same
family as the v0.2.2 manifest-lock fix, different code path; present in
v0.2.2 and earlier, not a regression.