Skip to content

fix: describe graph reference gaps without declaring live code dead - #2223

Open
mvanhorn wants to merge 1 commit into
DeusData:mainfrom
mvanhorn:fix/1642-codebase-memory-mcp-reference-classification
Open

mvanhorn wants to merge 1 commit into
DeusData:mainfrom
mvanhorn:fix/1642-codebase-memory-mcp-reference-classification

Conversation

@mvanhorn

@mvanhorn mvanhorn commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Update FilterPanel.tsx so the section is titled "Reference coverage", the candidate count reads "N with no known inbound references", and the existing filter reads "Show only nodes with no known inbound references". Add a short explanation in that section: "No known inbound references does not prove code is unused. Static analysis may miss constructors, implicit or framework calls, and callbacks." Change the dead entry in STATUS_LEGEND in colors.ts to "No known inbound references", and clarify the nearby status comment while retaining its existing key and color.

The graph UI presents functions and methods with no known incoming CALLS, USAGE, or CALL_REFERENCE edges as definitively dead, even though constructors, runtime/framework dispatch, and callbacks can execute without those edges being extracted. The reporter found 50 false positives in 50 sampled nodes, and another user reproduced the constructor case on v0.10.8.

DeusData asked that the first fix remove false certainty at the presentation boundary and leave extraction improvements to separate graph-quality work. This PR is that first step. It does not repair missing graph edges, so it references the issue rather than closing it.

Refs #1642

Checklist

  • Every commit is signed off (git commit -s) - required, CI rejects
    unsigned commits (DCO, see CONTRIBUTING.md)
  • Tests pass locally (make -f Makefile.cbm test)
    Not run locally. CI currently fails on test / test-unix (macos-15-intel) and ci-ok; I am looking at that.
  • Lint passes (make -f Makefile.cbm lint-ci)
    Not run locally. CI lint / lint and lint / lint-mem both pass.
  • New behavior is covered by a test (reproduce-first for bug fixes)

@mvanhorn
mvanhorn requested a review from DeusData as a code owner September 16, 2026 08:06
@github-actions

Copy link
Copy Markdown

Thanks for opening this — it has been seen, and it is queued.

This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence.

Current review status: working through a backlog. 0.9.1-rc.1 is out, so the release freeze that held reviews is over — but it left a large queue of open pull requests behind it, and we are reading through them oldest-first. The background is in discussion #1144.

What that means for this PR, concretely:

  • It will not be closed for inactivity. No stale bot touches pull requests here.
  • It may still sit a while before a human reads it. That is on us, not on you.
  • Older PRs are read first, so a recent one is not being skipped — it is behind a queue.

Things that will genuinely speed it up whenever review does happen:

  • Keep it rebased on main — the tree is moving quickly right now, and a conflicting branch cannot be reviewed as the diff you intended.
  • Get CI green, or say which failures you believe are pre-existing.
  • Keep the change to one claim. Bundled features and refactors get split before they get merged, which costs you a round trip.
  • Every commit needs a sign-off (git commit -s) — CI enforces DCO.

If this fixes a bug, a reproduction we can run is worth more than a description of the symptom.

Thanks for contributing, and sorry in advance for the wait.

Fixes DeusData#1642

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
@mvanhorn
mvanhorn force-pushed the fix/1642-codebase-memory-mcp-reference-classification branch from 17a326a to 43620d3 Compare September 16, 2026 15:11
@DeusData DeusData added bug Something isn't working ux/behavior Display bugs, docs, adoption UX priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. labels Sep 19, 2026
@DeusData

Copy link
Copy Markdown
Owner

Thank you for improving this wording. Current UI labels say Dead code and Dead (0 callers), although an absent recorded caller is not proof that live code is unused. Please use Refs #1642 rather than an automatic closing reference: the wording improvement is useful, but it does not establish that the underlying edge-completeness concern is fixed.

@mvanhorn

Copy link
Copy Markdown
Contributor Author

Switched to Refs #1642 in the description, thanks. You are right that the wording change does not establish the edge-completeness concern is fixed, so it should not auto-close the report.

I also cleaned up the description while I was in there: a stray line from my own working notes had ended up in it, and the checklist was malformed. It now reflects the real state, including that CI is red on test-unix (macos-15-intel) and ci-ok, which I am looking at.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. ux/behavior Display bugs, docs, adoption UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants