feat(scanner): Track CUE package dependency edges - #146
Conversation
|
Reviewed in depth (adversarial pass, all failure claims demonstrated end-to-end with a built binary). The guard rails are well conceived — module-prefix fail-closed resolution, external/no-module imports honestly unresolved, and the 1. BLOCKING — CUE presence disables the #123 fallback and fabricates
|
6ca2832 to
d552101
Compare
Complied
Not fully complied
Additional changes
|
|
Verified and merged. Re-ran all three blocking scenarios against a binary built from the new head: with ast-grep hidden, a Go+CUE repo now recovers Go edges through the fallback with honest partial provenance alongside Generated by Claude Code |
What does this PR do?
Adds bounded support for CUE package dependencies:
.cuefiles and includes them in the tree, skyline, colors, and dependency graph.cue.mod/module.cueroots in monorepos; external imports, suffix-only matches, and imports without a declared module remain unresolved.Why it matters
CUE files were previously invisible to Codemap's language-aware dependency output. Codemap now reports CUE package edges within the repository without executing CUE or presenting external imports as repository dependencies.
CLI / MCP surface
No new CLI commands, arguments, or MCP tools. Existing surfaces now behave as follows:
codemap --deps <path>includes resolved CUE package imports within the repository.get_dependenciesreturns the same resolved edges.Coverage provenance notes
CUE edges are reported from the
cue-importssource. White-box tests cover lexical extraction, module detection, filter cloning, module-scoped resolution, and the no-CUE path. Black-box tests cover the public file-graph API and rendered edges for nested modules and caller-selected filters. External imports and imports without a declared CUE module are not reported as resolved repository edges.Developed with carefully directed, manually reviewed AI assistance.
Co-Authored-By: GPT-5.6 Sol codex@openai.com