feat: truthful module/import facts across builtin and runtime plugins #31
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
Reference
h-dv/code-index#31
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Narrowed scope
The previous issue combined import completeness, unused-import analysis, git churn and stats history. They do not form one deliverable.
This issue now owns only extraction/schema work needed to make the module/import graph truthful across builtin and runtime plugins.
Stats/history measurement belongs to #45/#53. Churn/placement belongs, if justified by task benchmarks, in #35. Repository-wide unused-import productization is deferred until its false-positive classes have a separate user case.
Gaps
Module declarations
Capture graph-forming declarations currently absent or incomplete:
Distinguish declaration/import/module-load classes. An import row is evidence, not automatically a symbol dependency edge.
Per-binding imports
Represent grouped imports as independent bindings while retaining their shared source span:
This supports accurate reachability and per-binding provenance without pretending a module row is one edit site.
Runtime-plugin ABI
#76 import facts must support:
Language profiles select bounded normalization algorithms. Plugins cannot emit resolved target ids or custom import SQL.
Mixed-language files
Wrapper and embedded host components may both emit imports. Removal/rollback deletes only the relevant contribution. files.lang cannot determine import language.
Correctness constraints
Tests
Acceptance
Triage: P1 for graph correctness; split before implementation
This issue combines four unrelated data investments. Recommended split:
mod,require,require_relative, and per-binding imports. This directly improves graph truth, context selection, impact, cycles, and orphan analysis.Implement the import work before adding more graph-derived conclusions. Each extraction change needs upgrade/fresh-index equivalence and before/after resolution precision measurements.
feat: new-data prerequisites — mod-declaration imports, per-binding import split, churn, stats historyto feat: truthful module/import facts across builtin and runtime plugins