ADR Verify

Verifies ADR graph integrity by detecting dangling references, supersede cycles, and status mismatches. Exits with code 1 on cycles or in strict mode.

Sby Skills Guide Bot
DevelopmentIntermediate
108/29/2026
Claude Code
#adr#graph-integrity#verification#architecture-decision-records

Recommended for


name: adr-verify description: Read back adr-patterns + adr-edges namespaces, surface dangling refs / supersede cycles / status mismatches; exit 1 on cycles argument-hint: "" allowed-tools: Bash mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_retrieve

ADR Verify

Companion to adr-index. After import, reads the persisted graph and surfaces integrity issues:

  • Dangling refs — edge points at an ADR ID that doesn't exist in adr-patterns. Common cause: the referenced ADR is in a sibling repo or got deleted.
  • Supersede cyclesADR-A supersedes ADR-B and ADR-B supersedes ADR-A (or longer cycles). Always data corruption.
  • Status mismatches — an ADR is the source of a supersedes edge but its own status isn't Superseded. Usually a missed status update during a successor ADR's promotion.

What this skill cannot catch: an adr-patterns row for an ADR that was deleted from disk and has zero edges referencing it or from it — invisible to every check above (issue #2666). If the reported ADR count looks higher than what's actually on disk, run adr-reindex, not adr-verify again.

When to use

  • Right after adr-index to confirm the graph is healthy
  • In CI as a fail-closed gate (VERIFY_STRICT=1 exits 1 on any issue)
  • Before publishing an ADR-related release

Steps

node plugins/ruflo-adr/scripts/verify.mjs

Optional env:

  • VERIFY_FORMAT=json — JSON instead of markdown
  • VERIFY_STRICT=1 — exit 1 on ANY issue (default: only on cycles)

Exit codes

| Code | Meaning | |---|---| | 0 | Graph healthy (or dangling refs / status mismatches present in non-strict mode) | | 1 | Supersede cycle detected, OR strict mode + any issue present |

Cross-references

  • adr-index — populates the data this skill verifies
  • scripts/import.mjs — has its own dry-run validation; this skill is the read-back companion
  • adr-reindex — reconciles a deleted ADR that adr-verify cannot detect
Related skills