Repository navigation
fix: restore identifier retrieval and preserve keyword cache data - #478
Conversation
|
Merge held during the requested source review. A new same-Indexer regression reproduced a structural-writer lifecycle bug at head78f1f7a: after replacing the keyword snapshot with tokenizer version2, coordinated indexing returned ready rather than InvalidArg. The existing tests covered a new reader, not writer reuse. The correction reloads the keyword snapshot under the existing mutation lease before the structural-mode/vector-store early return. Fresh/reused writer tests now cover both modes, explicit unsupported-version error, zero document embeddings, and protected DB/WAL/keyword/generation bytes. Source gate and exact corrected artifact qualification are pending; V8 receipts remain unchanged and are not relabeled. |
Helweg
left a comment
There was a problem hiding this comment.
Reviewed exact head c7d6894.
Two bounded static review slices covered native/cache/freshness and watcher/MCP lifecycle; parent also reviewed ranking/intent/contracts. The cache review found a P2 reused-structural-writer data-loss path. It is now corrected with non-mutating native version validation under the mutation lease, preserving pending keyword state needed after failed publication. Same-Indexer fresh/reused tests cover both modes and failed-save retry; the before-fix failure and rejected unconditional-reload attempt are retained.
No merge-blocking findings remain.88focused tests and the exact-head full gate pass (3101passed,7skipped); all15fresh CI checks are successful. An actual SDK MCP process with the final addon rejects future-version indexing and preserves protected bytes; source/native/map identity and child exit are verified.
Prior V8 studies remain supporting evidence at78f1f7a, not relabeled as this head. The prior offline V3/V4 checkpoint breach is explicitly disclosed: not retrospectively authorized; V4 supporting only; parent independently checked sealed inputs/runtime receipts.
Proceeding with the user's authorized squash merge, fenced to this exact head; no release/tag/plugin update.
|
Review and merge completed. Squash commit6bbdc6de939a10110c2fba61c50a9196a9a4c207 is main; its treee2bd9dbcdb6b8e05c40f5b732ebdee2dcb7c7bde exactly matches reviewed headc7d6894. The P2 reused-structural-writer defect was reproduced and repaired before merging;3101local tests, Rust/build/typecheck/lint, all15PR checks and final-native actual MCP data-protection proof passed. Automatic post-merge main CI is also successful: https://github.com/Helweg/open-codebase-index/actions/runs/41026721571 . No release/tag/publication, installed-plugin update, local checkout synchronization or source-branch deletion performed. Historical qualification limits and offline-auditor authorization caveat remain as documented. |
Final reviewed merge candidate
c7d6894 is the corrected candidate. The user explicitly authorized review and merge; no tag, publication or installed-plugin update is included.
Source review found a P2 lifecycle bug missing from V8 coverage: an already-used structural writer could overwrite an unsupported future keyword snapshot after freshness refresh. A new same-Indexer regression failed on78f1f7a with outcome ready instead of InvalidArg. The correction validates the persisted version under the existing mutation lease without replacing the active keyword map. A first unconditional-reload attempt broke failed-publication retry and was rejected; both failures remain preserved.
Corrected-head evidence
Private evidence: /tmp/ocbi-retrieval-repair-QsU27J/validation-v9/receipt.json and review-merge-v9/exact-head-review.json, same-writer-mcp-final/receipt.json, retained failing logs.
Provenance and limits
The broader V8 real-provider/mock/installed-upgrade/omp studies below describe78f1f7a and remain immutable historical supporting evidence, not re-labeled measurements or native hashes for this corrected head. Current-head proof is the focused regressions, full gate, fresh CI and actual rebuilt-native MCP scenario above. Ranking/body/coverage/install-hook limitations remain disclosed below. The three historical real-provider misses are not silently declared fixed by this safety correction.
Prior offline auditors V3/V4 ran before the worker consumed review/HOLD instructions. They were not retrospectively authorized. V4 is supporting evidence only; acceptance rests on independent sealed-input and actual-runtime receipt checks.
Preserved V8 qualification (superseded by the review correction)
Previously qualified for review on 78f1f7a. All unchanged acceptance gates pass on the exact final V8 artifact. No merge, tag, publication or installed-user-plugin update is performed by this qualification.
The earlier V7 genuinely failed installed default-hybrid future-cache rejection. Its commands, inputs and failure remain immutable; this PR repairs the shared freshness/coordinator shortcut and qualifies newly frozen V8 bytes, not relabeled V7 results.
Changes
keyword-index-unreadable, not healthy/current. Keep valid semantic retrieval available while preserving source/configuration/HEAD/compatibility precedence. Manual indexing cannot skip unsupported-format validation through the current-index shortcut.Exact final-source verification
cargo fmt --check,cargo clippy -- -D warnings,cargo test: PASSPublic CI: https://github.com/Helweg/open-codebase-index/actions/runs/40900758957
The strengthened real-native coordinated-cache regression failed before the fix. Its passing result also covers auto-index-enabled semantic readiness and stale-source precedence; 64 focused freshness/coordinator/cache tests passed. Final full tests and installed probes cover the final rebuild rather than stale native bytes.
Frozen artifact and evidence
11ca2b6848466d15daa38dc2b84507dfc147a7cfc0bd902a542ac7ce36741d6e.e331f44f197cefbff761323ef93b720fe32051dcca4f5874641f2843cb0e8259./tmp/ocbi-retrieval-repair-QsU27J/. Key records:validation-v8/receipt.json,real-gate-v8-audit.json,mock-verification-v8/report.md,upgrade-verification-v8/report.md,omp-verification-v8/host-summary.jsonand parent reviews.Limits and preserved failures
--ignore-scripts: install lifecycle hooks were not qualified. Cross-platform CI is separate evidence, not a claim that this consumer matrix ran on every OS.Original qualification and user checkout/native binary remain untouched. Installed plugin stays at 0.38.2; no provider/model/service, global configuration or auth edits were made.