v2.1.1 — Concept-link robustness check
Robustness: warn on summaries missing wikilinks
`rebuild-index.sh` now validates that every compiled summary has at least one `[[wikilink]]` in its body. If a summary lacks wikilinks, a warning prints to stderr after the index rebuild — non-fatal, exit code is preserved.
Why
During compile, Claude can take shortcuts that populate `concepts_extracted:` in the YAML frontmatter without adding the corresponding `[[concept]]` links in the summary body. These summaries end up disconnected from the concept graph — they're technically "compiled" but contribute nothing to cross-referencing or queries that depend on wikilink traversal.
The check parses each summary's body only (frontmatter is stripped), so `concepts_extracted: [foo, bar]` metadata does not satisfy the check. A real `[[foo]]` link in the body is required.
Example output
```
Index rebuilt: 8 sources, 12 concepts, 3 outputs
Warning: 2 compiled summaries have no wikilinks to concepts:
- wiki/summaries/shortcut-paper-a.md
- wiki/summaries/shortcut-paper-b.md
These summaries are disconnected from the concept graph.
Fix: re-run /knowledge-vault:compile or /knowledge-vault:cleanup.
```
Behavior
- Warning only — exit code remains 0, no pipeline break
- Runs on every rebuild (compile, lint, cleanup, post-ingest) — wikilink drift is caught immediately
- Cost is negligible — regex scan over summary bodies, ~microseconds per file