Repository navigation
Description
Retired on 2026-10-29: the v3.0.0 milestone is the canonical work list. Its description preserves this tracker's release gates, including the binding-pin and CI gate before tagging. All native child relationships were detached; individual issues retain their existing states and milestones. The original review below is historical context, not current release status.
Goal
Make Minigraf stable and fast enough to be the only copy of important data. This issue tracks the work found in a full review on 2026-09-26. The review covered issues, releases, main and v3, CI results, nightly fuzz, property, crash and benchmark runs, dependents, and traffic.
Summary of findings
- A known silent data-loss bug (bug: same-transaction multi-valued facts read back as ONE value, differing between EAVT and AEVT; a batched retract can leave retracted values visible #371, bug: EavtKey and AevtKey missing value bytes causes silent data loss when batching multi-valued facts #287) is in the current v2.x release line. The fix ships only in v3.0.0. The issues were closed when the fix merged to
v3, so the open issue list does not show the bug. save()is not crash-atomic (save() is not crash-atomic: new fact pages overwrite old index pages before header commit #374). There is no public verify or repair tool (Add index integrity check (verify) and public rebuild-indexes-from-fact-pages #373).- About nine correctness bugs in storage, index and query code since June. Most were found by
temporal_reasoning, not by the test suite. - The nightly suites are green, but they do not cover the code paths where those bugs shipped:
- The SIGKILL test checks only that the file opens. It does not check that the data is correct.
- The property tests are in-memory only. They write one fact per transact.
- The fuzz corpus starts from the seed files every night.
- Benchmark regression alerts have been muted since Benchmark regression - 2026-06-30 #301.
- Fact pages and B+tree pages have no per-page checksums.
- Docs disagree about stability and support.
Sub-issues
Sub-issues are attached below. Existing issues that belong here: #371 (reopened), #373, #374, #375, #315, #379, #306 (#310 closed as its duplicate).
Done when
- No known data-loss or data-visibility bug is open in a released version.
- Crash, model-based and golden-file tests run on every release. They check that committed data is correct, not only that the file opens.
- Benchmarks at 100K–10M facts are published, with a stated performance envelope.
- The durability guarantees and the support policy are written down, and every doc agrees with them.
- Before tagging v3.0.0, every binding repo's
v3branch is bumped to the current corev3commit and its CI passes. This catches behaviour changes merged since the last pin, such as API-019/API-020 and theWriteTransactionstatement order from fix: reject empty valid-time windows; last statement wins in a transaction (#436, #477) #480, before the release cascade.
Activity
177 remaining items