Private
Public Access
0
0

fix(rag): log when index_file silently no-ops on missing file

Per Tier 1 addendum 3 (the 4th red flag): index_file had a silent
`if not os.path.exists(full_path): return` no-op. When the RAG
engine is misconfigured (e.g. stale active_project_path from a prior
test's project switch), the files are not found and index_file
silently returns. The user sees an empty collection with no
indication of why.

Fix: emit a stderr.write with base_dir, file_path, and cwd when the
file is not found. This makes the misconfiguration visible in the
subprocess log (tests/logs/sloppy_py_test.log) instead of invisible.

This would have made the "index_file not called" diagnostic trivial
during the 3-session investigation of test_rag_phase4_final_verify.

Note: the test still fails (RAG search returns 0 chunks) even with
the proper project switch + this log fix. The exact root cause of
the empty collection is still under investigation.
This commit is contained in:
2026-06-27 23:57:08 -04:00
parent 455c17ffb2
commit 49e8683fa8
+9
View File
@@ -335,6 +335,15 @@ class RAGEngine:
if os.path.exists(cwd_path):
full_path = cwd_path
else:
# Per Tier 1 addendum 3: log when index_file silently no-ops on a
# missing file. This makes misconfigured base_dir visible in the
# subprocess log instead of invisible (a real production bug that
# made this diagnostic chain 3 sessions long).
sys.stderr.write(
f"RAG index_file: file not found, base_dir={self.base_dir!r} "
f"file_path={file_path!r} cwd={os.getcwd()!r}\n"
)
sys.stderr.flush()
return
mtime_result = self._get_file_mtime_result(full_path)