3d6cc959e3
* fix: defer eager observation-index build to first model call * fix: add mtime-keyed cache to list_observation_documents to avoid re-parsing unchanged files * fix: return a copy of the cached document list and strengthen the deletion test * fix: copy cached document list on read and write to prevent caller mutations * fix: split global and project cache to avoid duplicate parsing and cross-project invalidation * fix: bump mtime explicitly in cache modification test for Windows NTFS resolution * fix: bound project observation cache with LRU eviction * fix: deduplicate path logic and strengthen cache typing * fix: group cache tests under TestObservationCache with autouse fixture and fix f-string interpolation * fix: reject non-positive observation cache cap in config validation * fix: cache resolved observation docs and config cap to avoid repeated work * fix: use st_mtime_ns and st_size in cache signature for NTFS reliability * test: clear EVOSCIENTIST_MAX_CACHED_PROJECTS in test env cleanup fixtures * test: cover per-file observation cache semantics * fix: replace layered observation caches with per-file parse cache * fix: serialize observation parse cache transactions