fix(evidence): retain referenced vector generations
This commit is contained in:
@@ -68,3 +68,22 @@ changed-file Ruff and `git diff --check` clean.
|
||||
|
||||
Final fresh evidence: Docker pgvector/HTTP/migration suites `48 passed`; full harness `680 passed,
|
||||
5 external L2 deselected`; changed-file Ruff and `git diff --check` clean.
|
||||
|
||||
## Integrated Task 5 dependency fixes
|
||||
|
||||
- GC now distinguishes filesystem retention from vector dependencies. ACTIVE and the newest
|
||||
`N-1` published manifests keep their directories; every exact generation in their
|
||||
`document_generations` maps remains vector-protected even after its old publication directory is
|
||||
evicted. Job-protected manifests receive the same dependency treatment.
|
||||
- The real four-publication Docker lifecycle now includes an unchanged document whose vectors come
|
||||
from the first generation. With retention `N=2`, only the final two publication directories remain
|
||||
while the first generation's vectors remain searchable from ACTIVE and survive restart/explicit GC.
|
||||
- Evidence lookup is always wrapped by the ACTIVE-aware searcher. With no corpus/ACTIVE, Evidence
|
||||
returns no rows and search packs cannot expose legacy vectors; non-Evidence kinds are unchanged.
|
||||
- Session artifact resolution holds the corpus writer lock, snapshots the active manifest once, and
|
||||
materializes bytes using that exact `manifest_id`, preventing a concurrent publish/retain-1 GC from
|
||||
changing or deleting the selected source generation.
|
||||
|
||||
Focused unit tests, the updated real Docker lifecycle, changed-file Ruff, and `git diff --check` pass.
|
||||
The final full harness invocation completed with exit code 0, including the concurrently added DWH
|
||||
JobRunner tests.
|
||||
|
||||
Reference in New Issue
Block a user