fix: harden daemon and large-index recovery paths (#1562)
* fix: harden indexing recovery and daemon liveness * test: cover daemon and recovery review gaps * test: pin that a failure marker never blocks a later successful parse (#1557 retry-discard guard) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: danusha2345 <ewidusoc498@gmail.com> Co-authored-by: Colby McHenry <me@colbymchenry.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
danusha2345
Colby McHenry
parent
d8f2eeaddf
commit
81e1f4a92f
@@ -976,6 +976,14 @@ export class CodeGraph {
|
||||
}
|
||||
} catch { /* vocab is advisory — never fail a sync over it */ }
|
||||
|
||||
// A killed full index leaves this marker at `indexing`. Sync repairs
|
||||
// missing files, pending refs, and (on open) dropped indexes, so a
|
||||
// successful recovery must also close the metadata state (#1556).
|
||||
const fullReconcile = !options.paths || options.paths.length === 0;
|
||||
if (fullReconcile && this.getIndexState() === 'indexing') {
|
||||
try { this.queries.setMetadata('index_state', 'complete'); } catch { /* advisory */ }
|
||||
}
|
||||
|
||||
return result;
|
||||
} finally {
|
||||
// Mirror indexAll's teardown: stop the valve, then restore the
|
||||
|
||||
Reference in New Issue
Block a user