mcpField
A
adr-verify

adr-verify

github.com/ruvnetTesting & quality80.0k688 installsUpdated today
Repository

About adr-verify

adr-verify checks the integrity of a persisted ADR graph after import, for teams maintaining architecture decision records. It finds dangling references, supersede cycles, and status mismatches, and can act as a fail-closed CI gate in strict mode.

Key features

  1. 01Detect dangling ADR references
  2. 02Find supersede cycles
  3. 03Check ADR status consistency
  4. 04Emit Markdown or JSON
  5. 05Fail on issues in strict mode

Use cases

  1. 01Check graph integrity after adr-index
  2. 02Block problematic records in CI
  3. 03Verify before an ADR-related release
  4. 04Identify deleted records needing reindexing

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ruvnet/ruflo --skill adr-verify

After installing, type/adr-verifyin Claude Code to confirm it loaded.

Details

From the project README

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 cycles — ADR-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

CodeMeaning
0Graph healthy (or dangling refs / status mismatches present in non-strict mode)
1Supersede 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

Comments

Markdown supported