Files
rUv f9537a240b fix(ruflo-adr): skip .brain when walking for ADRs (#2911) (#2994)
* fix(ruflo-adr): skip .brain when walking for ADRs (#2911)

ruvnet-brain clones ~50 external repos under .brain/repo/clones/,
many carrying their own docs/adr/. Without .brain in SKIP_DIRS,
findAdrs() picked up hundreds of foreign ADRs alongside the
project's own — and since .brain sorts before docs, the project's
ADRs landed dead last in the walk order.

Co-Authored-By: RuFlo <ruv@ruv.net>

* fix(ruflo-adr): smoke step 22 should not hard-code the test-file count

Was `-eq 3`, breaking every time a new *.test.mjs file is added to
__tests__/ even when the new tests themselves pass. `-ge 3` keeps the
"regression tests exist and run" guarantee without re-breaking on
growth — caught by this PR's own new test file (skip-brain-dir-2911).

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-08-12 15:31:06 -04:00
..

ruflo-adr

ADR lifecycle management -- create, index, reconcile, supersede, and link Architecture Decision Records to code.

Overview

Manages Architecture Decision Records through their full lifecycle (proposed, accepted, deprecated, superseded). ADRs are stored as markdown files in docs/adr/ and indexed in AgentDB with causal edges tracking supersedes/amends/depends-on relationships. Includes compliance checking that scans git diffs for ADR violations, and reconciliation (adr-reindex) for ADRs deleted from disk (#2666).

Installation

claude --plugin-dir plugins/ruflo-adr

Agents

Agent Model Role
adr-architect sonnet ADR lifecycle management, code-ADR linking via grep/blame, AgentDB graph storage

Skills

Skill Usage Description
adr-create /adr-create <title> Create a new ADR with sequential numbering and AgentDB registration
adr-index /adr-index Build or rebuild the ADR index and dependency graph in AgentDB (add/update only — never removes)
adr-review /adr-review [--branch BRANCH] Review code changes against accepted ADRs for compliance violations
adr-verify /adr-verify Read back adr-patterns + adr-edges namespaces, surface dangling refs / supersede cycles / status mismatches; exits 1 on cycles
adr-reindex /adr-reindex Reconcile a deleted ADR file: drop-and-rebuild adr-patterns + adr-edges from what's on disk right now

Commands (7 subcommands)

# Lifecycle
adr create <title>
adr list
adr status <adr-id> <new-status>
adr supersede <old-id> <new-id>

# Compliance
adr check                    # Scan recent git changes for ADR violations
adr graph                    # Show ADR dependency graph
adr search <query>           # Semantic search across ADRs

ADR Lifecycle

proposed --> accepted --> deprecated
                    \--> superseded by ADR-XXX

Relationships tracked as causal edges: supersedes, amends, depends-on, related.

Compatibility

  • CLI: pinned to @claude-flow/cli v3.6 major+minor.
  • Verification: bash plugins/ruflo-adr/scripts/smoke.sh is the contract.

Namespace coordination

This plugin owns the adr-patterns AgentDB namespace. It defers to ruflo-agentdb ADR-0001 §"Namespace convention" for naming rules. Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.

adr-patterns follows kebab-case <plugin-stem>-<intent> per the convention. The plugin uses it for semantic ADR search and for cross-project pattern transfer (via hooks_transfer in ruflo-intelligence).

Verification

bash plugins/ruflo-adr/scripts/smoke.sh
# Expected: "22 passed, 0 failed"

Architecture Decisions

  • ruflo-agentdb — namespace convention owner; backing store for the ADR graph
  • ruflo-ddd — document domain decisions as ADRs
  • ruflo-sparc — Architecture phase (Phase 3) produces ADRs
  • ruflo-migrations — schema change decisions recorded as ADRs
  • ruflo-jujutsu — ADR-aware diff analysis on PRs
  • ruflo-intelligence — hooks_transfer ships ADR patterns across projects

License

MIT