Context
Dogfood 2026-08-03, two related observations sharing the graph-export diagnostic output pipe:
(a) Unresolved breakdown is opaque. Summary reports only a total (23445 unresolved). Cannot distinguish "external library calls / test noise / ast-inherent" without manual grep + python.
(b) Test files not excluded → 81% unresolved noise. The resolved/unresolved ratio is drowned by test-library calls (screen/expect/jest).
Verified state
The data already exists on each edge: resolution_qualifier (resolved/ambiguous/unresolved) + dst_raw. It's just not aggregated in the summary — cli_graph_export.py:108-118 only counts ambiguous/unresolved totals.
Proposed fix
(a) Breakdown. In the graph-export summary, bucket unresolved edges by pattern — e.g. external-library calls / this.-member / bare-token / test-framework objects. Lets the user tell "config problem (tests not excluded)" from "ast ceiling" at a glance.
(b) Hint, not gate. On graph-export, if unresolved > ~70%, emit a WARNING: "high unresolved ratio — may include test files; consider excluding them in .codeindex.yaml". Prompt, do not auto-exclude. Aligns with the product principle (remind + suggest, don't auto-fallback, keep user control). Do NOT make setup wizard default-exclude tests (that would be an unrequested gate — see no_gate_from_dogfood).
Related
Same feedback group: graph-export reliability & diagnostics (dogfood 2026-08-03). Shares the graph-export summary/diagnostic pipe with the 0-entity fail-loud fix.
Context
Dogfood 2026-08-03, two related observations sharing the graph-export diagnostic output pipe:
(a) Unresolved breakdown is opaque. Summary reports only a total (
23445 unresolved). Cannot distinguish "external library calls / test noise / ast-inherent" without manual grep + python.(b) Test files not excluded → 81% unresolved noise. The resolved/unresolved ratio is drowned by test-library calls (
screen/expect/jest).Verified state
The data already exists on each edge:
resolution_qualifier(resolved/ambiguous/unresolved) +dst_raw. It's just not aggregated in the summary —cli_graph_export.py:108-118only counts ambiguous/unresolved totals.Proposed fix
(a) Breakdown. In the graph-export summary, bucket unresolved edges by pattern — e.g. external-library calls /
this.-member / bare-token / test-framework objects. Lets the user tell "config problem (tests not excluded)" from "ast ceiling" at a glance.(b) Hint, not gate. On graph-export, if unresolved > ~70%, emit a WARNING: "high unresolved ratio — may include test files; consider excluding them in
.codeindex.yaml". Prompt, do not auto-exclude. Aligns with the product principle (remind + suggest, don't auto-fallback, keep user control). Do NOT make setup wizard default-exclude tests (that would be an unrequested gate — seeno_gate_from_dogfood).Related
Same feedback group: graph-export reliability & diagnostics (dogfood 2026-08-03). Shares the graph-export summary/diagnostic pipe with the 0-entity fail-loud fix.