Preserve semantic reader after failed generation rebuild

This commit is contained in:
karl committed 2026-10-12 23:54:26 +02:00
1 parent b3ebd7a894
commit 07840dd5ed
6 files changed
+171 -34

No files matched your search

+4 -1
View File
@@ -118,7 +118,10 @@ dispatches supported CPU SIMD kernels with portable fallback. The Cargo config
contains the Windows NK_DYNAMIC override required for static NumKong linkage.
Staging vectors and a real HNSW graph are persisted with an ANN blob SHA256.
Activation is atomic. Failed rebuilds preserve the active generation; the next
Activation is atomic. Failed rebuilds preserve the active generation and the
same search session's reader policy, including failures acquiring the build
lock, starting a generation, publishing it or discarding failed staging. The
original failure remains visible if cleanup also fails. The next
rebuild reclaims abandoned staging under a cross-process lock. Search uses a
consistent read snapshot.
+10
View File
@@ -7,6 +7,16 @@ and `SEARCHI_FORCE_CPU=1`.
## Current integration checkpoint (2026-10-12)
The subsequent rebuild-policy fix passes the Windows workspace suite (93
passed, 12 explicitly ignored) and strict service Clippy. A separately executed
genuine Google CPU regression verifies that the same reader retains its
supplier-contract result after lock, begin, activation and cleanup failures,
in both text-only and media-policy directions, and that retry succeeds.
SQLite triggers inject storage failures; actual Google document vectors supply
the searchable generation. No synthetic relevance vectors or media decoding
are used in that test. The additional ignored test accounts for the changed
default-suite ignore count.
The reliability checkpoint passes 93 workspace tests on Windows and 93 on
native Linux (Ubuntu 24.04 under WSL); each explicitly ignores 11 optional
integration tests. Linux uses its native Rust toolchain and an isolated ext4