Skip to content

Dependency Analysis

RTMX provides powerful dependency analysis tools to understand how your requirements relate to each other.

CommandDescription
rtmx depsShow dependency graph sorted by blocking impact
rtmx cyclesDetect circular dependencies
rtmx reconcileCheck and fix dependency reciprocity

The rtmx deps command shows all requirements sorted by how many other requirements they block:

rtmx deps

Output shows:

  • ID: Requirement identifier
  • Deps: Number of dependencies this requirement has
  • Blocks: Number of requirements blocked by this one
  • Description: Truncated requirement text
rtmx deps --phase 1 # Filter by phase
rtmx deps --category CORE # Filter by category
rtmx deps --req REQ-001 # Show specific requirement

Circular dependencies create impossible situations where A depends on B, and B depends on A. The rtmx cycles command uses Tarjan’s algorithm to detect these:

rtmx cycles

If cycles exist, you’ll see:

CIRCULAR DEPENDENCIES DETECTED
Cycle 1:
REQ-AUTH-001 → REQ-AUTH-003 → REQ-AUTH-001
Recommendation: Review these requirements and break the cycle
by removing one dependency.

A healthy project shows:

✓ NO CIRCULAR DEPENDENCIES FOUND
The dependency graph is acyclic (DAG). This is ideal for
requirements management.

Dependencies should be reciprocal: if A depends on B, then B should list A in its blocks field. The rtmx reconcile command checks this:

rtmx reconcile # Check for violations
rtmx reconcile --fix # Auto-fix violations

The critical path identifies which requirements, if delayed, would delay the entire project. Requirements with high “Blocks” counts are on the critical path.

rtmx deps | head -10 # Top 10 blocking requirements

Focus effort on completing these first to unblock the most downstream work.

Each dependency is a potential blocker. Only add dependencies that are truly necessary.

Long dependency chains (A → B → C → D → E) create fragile projects. If any link breaks, everything downstream is blocked.

Use phases to create natural dependency boundaries:

REQ-PHASE2-001,...,phase=2,dependencies=REQ-PHASE1-FINAL

Run dependency analysis as part of CI:

- run: rtmx cycles
- run: rtmx reconcile

The rtmx backlog command uses dependency analysis to prioritize work. Requirements that block many others appear first, ensuring you tackle high-impact items early.

rtmx backlog # Prioritized by blocking impact