trvon
4c3eb3d018
refactor: dedup retry helpers + test fixtures
...
- isTransientMetadataError + MetadataTelemetry: 2 copies (grep/search)
-> shared service_utils.hpp
- grep_service local string_contains -> shared features::string_contains
- ArtifactGuard: 5 identical copies in corruption tests -> shared
tests/common/sqlite_corruption.h
retryMetadataOp loops stay split (async coroutine vs sync sleep - real
difference). annotateResultRelations/applyFileTypeFilters/formatSnippet
deferred: behavior parity question, not mechanical dedup.
2026-08-01 00:12:32 -04:00
trvon
903e29ab55
test(metadata): add corruption fixture + suites: page smash (header
...
+ cell tail, not free space), torn WAL, truncation, crash snapshot,
salvage row-by-row fallback, writer promise draining, pool behavior.
Runs green on libsql and stock sqlite.
2026-07-01 20:11:03 -04:00