fix(evidence): lock GC and preflight search ownership
This commit is contained in:
@@ -148,3 +148,10 @@ every configured search delegate, including default, mixed, pack, and non-Eviden
|
||||
Malformed or missing `metadata.workspace_id` is intrinsically rejected even for unbound direct
|
||||
callers; source discovery, vector operations, GC, files, and ACTIVE remain untouched. Focused tests,
|
||||
real Docker lifecycle, scoped Ruff/diff, and the full harness regression run pass.
|
||||
|
||||
Final lock/preflight follow-up: `CorpusPipeline.gc()` now acquires the corpus writer lock itself for
|
||||
ownership validation through vector/filesystem cleanup. The store lock is thread-reentrant so nested
|
||||
job retention is safe without weakening cross-thread/process exclusion; the CLI wrapper no longer
|
||||
double-locks. Search find/pack performs locked corpus ownership preflight immediately after config
|
||||
load, before DWH leasing, vector/searcher factories, embeddings, or schema work. Focused concurrency
|
||||
and fail-closed tests, real Docker lifecycle, scoped Ruff/diff, and the full harness pass.
|
||||
|
||||
Reference in New Issue
Block a user