You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- structure: treat `.` as no filter in structureData() (#1)
- builder: invalidate embeddings when nodes are deleted during build,
warn about orphaned embeddings after rebuild (#2)
- embedder: change default model to minilm (public, no auth required),
catch auth/download errors with clear guidance (#3)
- embedder: split camelCase/snake_case identifiers in embedding text
for better search relevance (search quality note)
- export: add --min-confidence filter (default 0.5) to DOT/Mermaid/JSON
exports, filtering spurious low-confidence edges (#4)
- dogfood report: annotate all bugs as fixed
Impact: 8 functions changed, 8 affected
Copy file name to clipboardExpand all lines: generated/DOGFOOD_REPORT_v2.2.0.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,8 @@
42
42
43
43
**Fix:** Treat `.` (or current dir equivalent) as `null`/no filter in `structureData()`.
44
44
45
+
> **FIXED** — `structureData()` now normalizes the directory argument and treats `"."` as null/no filter. (`src/structure.js`)
46
+
45
47
### 2. Stale embeddings after rebuild (Medium severity)
46
48
47
49
- After an incremental `build`, embedding `node_id`s become orphaned (e.g. old IDs in 3077-range, new IDs in 4335-range)
@@ -52,6 +54,8 @@
52
54
53
55
**Fix:** Either preserve node IDs across rebuilds, invalidate embeddings when node IDs change, or warn the user to re-run `embed`.
54
56
57
+
> **FIXED** — Build now invalidates embeddings alongside nodes. Full builds clear the embeddings table entirely. Incremental builds delete embeddings for affected files before deleting their nodes (order matters — need node IDs to find them). After the build, any remaining orphaned embeddings trigger a warning: `"N embeddings are orphaned (nodes changed). Run codegraph embed to refresh."` (`src/builder.js`)
58
+
55
59
### 3. `embed` default model requires HuggingFace auth (Medium severity)
56
60
57
61
-`codegraph embed .` crashes with `Error: Unauthorized access to file` for the default `jina-code` model
@@ -61,6 +65,8 @@
61
65
62
66
**Fix:** Either default to a public model (e.g. `minilm`), auto-fallback to `minilm` on auth failure, or catch the error and provide a clear message with instructions.
63
67
68
+
> **FIXED** — Default model changed from `nomic-v1.5` (gated, requires HF_TOKEN) to `minilm` (public, 23MB, always works). Additionally, `loadModel()` now catches auth/download failures and prints a clear message with options (set HF_TOKEN or use `--model minilm`) instead of crashing with a raw stack trace. (`src/embedder.js`, `src/cli.js`)
69
+
64
70
### 4. Cross-language false positive in export (Low severity)
**Fix:** Export commands could support a `--min-confidence` filter, or the default export could exclude edges below a threshold (e.g. 0.5).
71
77
78
+
> **FIXED** — Added `--min-confidence <score>` option to the `export` command (default: 0.5). All three formats (DOT, Mermaid, JSON) filter edges by confidence at the SQL level. The 0.3-confidence false positive is excluded by default. Users can pass `--min-confidence 0` to include all edges. (`src/export.js`, `src/cli.js`)
79
+
72
80
## `--no-tests` Flag
73
81
74
82
Tested on `stats` and `map` — both correctly filter out test files:
@@ -80,3 +88,5 @@ Tested on `stats` and `map` — both correctly filter out test files:
-`search "build graph"` returned 15 results after fresh embeddings (top hit: 37.9% `test_triangle_cycle`)
82
90
- Search quality is reasonable but not ideal — `buildGraph` itself didn't appear in results for "build graph"
91
+
92
+
> **FIXED** — Embedding text now includes a readable split of the identifier name (e.g. `buildGraph` → `"function buildGraph (build Graph) in src/builder.js"`). This lets the model naturally associate "build graph" queries with `buildGraph` without needing hybrid search. camelCase, PascalCase, snake_case, and kebab-case are all handled. (`src/embedder.js`)
0 commit comments