Validate Sibling Dependency Law (ADR-020) for Xentri architecture...
Enforces the Sibling Dependency Law ā a critical architectural constraint that prevents dependency spaghetti in the Xentri documentation hierarchy.
requires_interfaces can only reference siblings (nodes with same parent)Run this command to check for violations:
pnpm exec tsx scripts/validation/validate-dependencies.ts --path docs
Is Target a sibling of Source? (same direct parent)
ā
āā YES ā ā
VALID: Declare requires_interfaces directly
ā
āā NO ā Find common ancestor
ā
āā Ancestor already has access? ā ā
Use inherited_interfaces
ā
āā Ancestor lacks access?
ā
āā Can ancestor declare it? ā Bubble up the dependency
ā
āā Structural problem? ā Redesign required (or ADR exception)
# God-View depends on KPI-Center (both children of Pulse)
Source: docs/strategy/pulse/god-view/
Target: docs/strategy/pulse/kpi-center/
Result: VALID ā same parent (Pulse)
# God-View trying to depend directly on Shell
Source: docs/strategy/pulse/god-view/
Target: docs/platform/shell/
Result: INVALID ā different branches (Strategy vs Platform)
Resolution: Strategy must declare dependency on Shell; God-View inherits
# God-View using Core-API via Constitution-level declaration
Source: docs/strategy/pulse/god-view/
Target: docs/platform/core-api/
Context: Constitution (docs/platform/) declares IC-API-001
Result: VALID via inheritance
Claude will automatically invoke this skill when you:
requires_interfaces declarationsWhen a violation is detected:
See docs/platform/architecture/adr-020-sibling-dependency-law.md for complete specification including: