fix(update): run incremental graph rebuild, drop stale "not implemented" warning#310
Merged
Merged
Conversation
…ed" warning `java-codebase-rag update` did a Lance-only catch-up then unconditionally printed "AST graph (LadybugDB) incremental rebuild is not yet implemented", even though incremental graph shipped (67a76de) and `increment` already calls run_incremental_graph. The two commands share the word "update" but use different code paths; only the `increment` path (cli.py) was rewired — the installer's run_update index step was never updated. Now run_update mirrors `increment`: after run_cocoindex_update it calls run_incremental_graph, so both index layers stay current. The stale warning is removed entirely; on graph-step failure it prints a truthful, actionable message instead of claiming the feature is missing. The warning constant stays in cli.py for the legitimate `increment --vectors-only` opt-out path. Docs/help (cli --help, README, JAVA-CODEBASE-RAG-CLI.md) updated to describe update as artifact refresh + incremental Lance/graph catch-up, and to drop the false "prints graph staleness warning" line. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
java-codebase-rag updateran a Lance-only catch-up and then unconditionally printed:…even though incremental graph rebuild shipped in #284 (
67a76de) andincrementalready callsrun_incremental_graph. The two commands share the word "update" but live in different code paths, and only theincrementpath (cli.py:_cmd_increment) was rewired — the installer'srun_updateindex step (installer.py) was never updated.So the warning was a lie of omission on the
updatepath: the feature it claims is missing sits one function call away andupdatecould have used it. The warning is truthful only onincrement --vectors-only, where the graph step is deliberately skipped.Change
installer.run_updatenow mirrorsincrement:run_cocoindex_update→ Lance catch-up (unchanged)run_incremental_graph(...)→ graph rebuild (the call that was missing)…failed (exit N). Run java-codebase-rag reprocess) instead of claiming the feature is unimplemented._INCREMENT_WARNING_LINESstays incli.py— still the correct message forincrement --vectors-onlyand pinned bytest_cli_quiet_parity.py.Refs: completed proposal
propose/completed/INCREMENTAL-GRAPH-PROPOSE.md, tracking issue #73.User-visible behaviour changes
java-codebase-rag updatenow printsUpdating index (Lance + graph)...and no longer emits the "graph incremental rebuild is not yet implemented" warning on success.updatedoes slightly more work than before (graph catch-up, not just Lance) — the intended outcome; matchesincrement.update --help, README, anddocs/JAVA-CODEBASE-RAG-CLI.mdupdated to describeupdateas artifact refresh + incremental Lance/graph catch-up, and drop the false "prints graph staleness warning" line.No reindex / ontology / env-var impact
None. This only rewires which existing pipeline function
updatecalls. No schema, ontology, or embedding change.Tests
tests/test_installer.py::TestRunUpdate— addedrun_incremental_graphmock totest_install_then_update_cycle(update now invokes that step)..venv/bin/ruff check .— clean..venv/bin/python -m pytest tests/test_installer.py::TestRunUpdate tests/test_cli_quiet_parity.py -q→ 7 passed, 1 skipped (skip is cocoindex/bank-chat-gated).🤖 Generated with Claude Code