PENGO Workbench
Workbench / Patterns / Circular Dependency

PAT-0250

Circular Dependency

A structural condition where two or more elements depend on each other in a closed loop without an independent base condition or declared resolution mechanism.

Primary Lenses

LEN-0150

Conflict Lens

Detects mutually incompatible constraints, claims, states, or declarations that cannot be simultaneously satisfied.

Lens Application

The Conflict Lens is a strong inspection mechanism for Circular Dependency because it highlights where each element’s required condition depends on another incompatible or unresolved requirement. It helps reveal whether the loop contains competing declarations, blocked satisfaction paths, or no stated mechanism for breaking the dependency.

Inspect For

  • Elements that require each other before either can proceed
  • Constraints that cannot be satisfied in the same dependency loop
  • Missing base condition or declared resolution mechanism
  • Conflicting claims about which element is prior or controlling

Avoid

Treat incompatibility signals as prompts for closer inspection, not a final determination that Circular Dependency has been established.

LEN-0250

Propagation Lens

Traces how structural declarations, effects, or state changes propagate across boundaries or stages.

Lens Application

The Propagation Lens is a strong inspection mechanism for Circular Dependency because it follows how dependency signals move across elements, stages, or boundaries and whether they loop back into prior conditions. It helps surface where propagation relies on its own downstream effects rather than a stable base, external constraint, or declared resolution mechanism.

Inspect For

  • Effects that return to their own source condition
  • Dependency chains with no independent starting point
  • State changes that require downstream confirmation to proceed
  • Boundary crossings that reintroduce the same requirement

Avoid

Treat loop behavior as an inspection signal, not confirmation that Circular Dependency has been established.

Secondary Lenses

LEN-0230

Normalization Lens

Transforms structurally equivalent variants into a canonical form to prevent false divergence.

Lens Application

The Normalization Lens applies indirectly to Circular Dependency by helping collapse equivalent dependency expressions, naming variants, or structural representations into a canonical form. This can make repeated loops, mirrored dependencies, or disguised equivalences easier to notice, while not by itself establishing whether the loop is problematic.

Inspect For

  • Equivalent elements represented under different names
  • Dependency loops hidden by formatting or terminology differences
  • Repeated structures that normalize to the same cycle
  • Missing canonical base or resolution marker

Avoid

Treat normalized similarity as an inspection signal, not sufficient evidence that Circular Dependency has been established.

Primary Issue Matches

Supporting Issue Matches