Dependency Analysis
RTMX provides powerful dependency analysis tools to understand how your requirements relate to each other.
Commands Overview
Section titled “Commands Overview”| Command | Description |
|---|---|
rtmx deps | Show dependency graph sorted by blocking impact |
rtmx cycles | Detect circular dependencies |
rtmx reconcile | Check and fix dependency reciprocity |
Dependency Graph
Section titled “Dependency Graph”The rtmx deps command shows all requirements sorted by how many other requirements they block:
rtmx depsOutput shows:
- ID: Requirement identifier
- Deps: Number of dependencies this requirement has
- Blocks: Number of requirements blocked by this one
- Description: Truncated requirement text
Filtering
Section titled “Filtering”rtmx deps --phase 1 # Filter by phasertmx deps --category CORE # Filter by categoryrtmx deps --req REQ-001 # Show specific requirementCycle Detection
Section titled “Cycle Detection”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 cyclesIf 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 cycleby removing one dependency.A healthy project shows:
✓ NO CIRCULAR DEPENDENCIES FOUND
The dependency graph is acyclic (DAG). This is ideal forrequirements management.Reciprocity Check
Section titled “Reciprocity Check”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 violationsrtmx reconcile --fix # Auto-fix violationsCritical Path Analysis
Section titled “Critical Path Analysis”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 requirementsFocus effort on completing these first to unblock the most downstream work.
Best Practices
Section titled “Best Practices”Keep Dependencies Minimal
Section titled “Keep Dependencies Minimal”Each dependency is a potential blocker. Only add dependencies that are truly necessary.
Avoid Deep Chains
Section titled “Avoid Deep Chains”Long dependency chains (A → B → C → D → E) create fragile projects. If any link breaks, everything downstream is blocked.
Phase Dependencies
Section titled “Phase Dependencies”Use phases to create natural dependency boundaries:
REQ-PHASE2-001,...,phase=2,dependencies=REQ-PHASE1-FINALRegular Health Checks
Section titled “Regular Health Checks”Run dependency analysis as part of CI:
- run: rtmx cycles- run: rtmx reconcileIntegration with Backlog
Section titled “Integration with Backlog”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