Wikilink Baseline — 2026-05-03

Phase A junk cleanup baseline snapshot. Reference for measuring wikilink graph health over time.

Vault root: /home/opsadmin/openclaw-vault/ Excluded zones: .git/, .obsidian/, personal/, logs/, _archived/, _archive/, sources/session-audits/


Pre-Sweep Metrics

Captured before Phase A junk cleanup run on 2026-05-03.

MetricValue
Markdown files (qualifying)853
Total wikilinks (raw)627
Unique targets301
Orphan targets (no matching file)76
Resolved targets225
Orphan %25.2%
1-char junk wikilinks (raw, incl backtick-wrapped)147
1-char junk wikilinks (actual, excl backtick spans)133
2-char alphanumeric junk wikilinks0
Total junk to replace133
FileOutgoing links
memory/PLAN-INDEX.md112
memory/MEMORY.md95
plans/openclaw-self-improvement-layer-2026-05-03.md40
plans/acquisitions-system-plan.md38
memory/SAFETY-RAILS.md34
plans/openclaw-vault-wikilink-optimization-2026-05-03.md28
plans/logical-dancing-book.md27
plans/betterbets-full-audit-2026-04-16.md16
memory/project_openclaw_vault_wikilink_optimization_2026-05-03.md12
plans/prediction-market-arbitrage-execution-2026-04-16.md11

Post-Sweep Metrics

Captured after Phase A junk cleanup replaced 147 junk wikilinks with <!-- TODO: wikilink target unresolved -->.

MetricValue
Markdown files (qualifying)842
Total wikilinks (raw)626
Unique targets330
Orphan targets (no matching file)64
Resolved targets266
Orphan %19.3%
1-char junk wikilinks remaining0
2-char junk wikilinks remaining (code-context false positives)3

Note on 3 remaining 2-char matches: All three occur inside fenced code blocks or backtick code spans and are NOT obsidian wikilinks. They are:

  • [[\1]] and [[\2]] — sed capture group patterns inside a bash code block in wiki/workspace-docs/OBSIDIAN-VAULT-SETUP.md
  • [[^\]] — a grep character-class pattern inside a backtick span in plans/openclaw-vault-wikilink-optimization-2026-05-03.md (mirrored file, overwritten on next sync)

These cannot be replaced without corrupting code documentation.

Top-10 hubs by outgoing link count (post-sweep)

FileOutgoing links
memory/PLAN-INDEX.md112
memory/MEMORY.md95
plans/openclaw-self-improvement-layer-2026-05-03.md40
memory/SAFETY-RAILS.md34
wiki/agents/dispo/_summary.md22
wiki/agents/acquisitions/_summary.md21
wiki/agents/betterfiles/_summary.md20
plans/openclaw-vault-wikilink-optimization-2026-05-03.md20
wiki/agents/aurora/_summary.md19
wiki/agents/main/_summary.md18

Junk Patterns Replaced

Total replaced: 147 (133 actual wikilinks + 14 backtick-wrapped inline code references)

Distribution by pattern (pre-sweep)

PatternCountExample context
[[e]]23Placeholder for “feedback_obsidian_sync_external_changes_unreliable” and similar missing targets
[[2]]17Placeholder for plan names (horse racing Phase 0+1, BetterTrading v2, etc.)
[[t]]13Placeholder for “BetterTrading” or similar
[[S]]11Unknown placeholder
[[m]]8Placeholder for “NBA Track B schema”
[[a]]8Unknown placeholder
[[4]]7Unknown placeholder
[[r]]5Unknown placeholder
[[T]]5Unknown placeholder
[[I]]5Unknown placeholder
[[s]]4Unknown placeholder
[[l]]4Unknown placeholder
[[Y]]4Unknown placeholder
[[N]]4Unknown placeholder
[[6]]4Unknown placeholder
[[p]]3Unknown placeholder
[[y]]2Unknown placeholder
[[n]]2Unknown placeholder
[[i]]2Unknown placeholder
[[d]]2Unknown placeholder
[[R]]2Unknown placeholder
[[G]]2Unknown placeholder
[[F]]2Unknown placeholder
[[E]]2Unknown placeholder
[[A]]2Unknown placeholder
[[5]]2Unknown placeholder
[[k]]1Unknown placeholder
[[L]]1Unknown placeholder

Replacement string

All replaced with: <!-- TODO: wikilink target unresolved -->

Sample replacements in context

From plans/groovy-pondering-dolphin.md:

Sibling plans: v2 (MLB integration), (NBA Track B schema), (horse racing Phase 0+1)

From plans/incident-2026-04-13-auto-send-aurora.md:

  • Phase A audit (referencing this incident):

Idempotency

Re-running the sweep script produces zero additional changes. The pattern <!-- TODO: wikilink target unresolved --> does not contain [[X]] so it will not be matched on subsequent runs.