Skip to content
Back to skills

Dag Cycle Analysis

ASecurity

Analyze undirected cycle structure within a valid DAG using the source paper's orientation and contraction method. Use for cycle-basis analysis with explicit graph and reduction choices. NOT for directed feedback loops, workflow deadlocks, or runtime resilience claims.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
toolsgonodeapiperformancedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 16 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add curiositech/port-daddy --skill dag-cycle-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dag Cycle Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dag Cycle Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/curiositech-dag-cycle-analysis-port-daddy/badge)](https://www.skillsdirectory.com/skills/curiositech-dag-cycle-analysis-port-daddy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
license: Apache-2.0
name: dag-cycle-analysis
description: Analyze undirected cycle structure within a valid DAG using the source paper's orientation and contraction method. Use for cycle-basis analysis with explicit graph and reduction choices. NOT for directed feedback loops, workflow deadlocks, or runtime resilience claims.
metadata:
  category: Agent & Orchestration
  tags:
    - dag
    - cycle-detection
    - graph-theory
    - validation
    - algorithms
---

# Hierarchical Cycle Analysis

**Skill ID**: `hierarchical-cycle-analysis`  
**Domain**: Complex systems, network science, information architecture  
**Source**: Vasiliauskaite, Evans & Expert — "Cycle Analysis of Directed Acyclic Graphs"

## Method boundary and source correction

This method starts from an undirected cycle basis and restores direction from
explicit ordering metadata for a valid simple DAG. A directed feedback witness
invalidates that premise and belongs to SCC/directed-cycle diagnosis first.
Record whether analysis uses the original DAG or its transitive reduction: the
reduction preserves reachability but changes the underlying cycle space, and an
MCB need not be unique. The four paper images follow its orientation and
wedge-contraction procedure; they do not prove resilience, payload fusion, or
runtime safety. Keep this Apache-2.0 bundle's license unchanged.

## Description

This skill applies rigorous cycle-theoretic methods to understand the hidden organizational structure of hierarchical systems. It reveals how systems that appear "acyclic" (DAGs) actually contain rich cyclic structure that determines their information-processing capabilities, and provides frameworks for distinguishing functional differences that topology alone cannot capture.

## Activation Triggers

Load this skill when:
- Analyzing hierarchical systems (org charts, citation networks, task dependencies, software architectures)
- Someone claims a system is "acyclic" or "has no loops"
- Trying to understand why two similarly-structured hierarchies behave differently
- Diagnosing bottlenecks or failure modes in information flow
- Evaluating whether structural metrics actually capture functional differences

## Core Mental Models

### 1. DAG = Undirected Graph + Directional Metadata

Every DAG decomposes into two separable elements:
- An **undirected substrate** containing the actual topology (cycles, connectivity)
- **Directional metadata** derived from an ordering constraint (time, causality, hierarchy, dependency)

"Acyclic" only means directions respect the ordering — it does NOT mean the underlying structure lacks cycles. The same undirected structure + different metadata = different information processing.

### 2. The Four-Class Cycle Taxonomy

After path-wedge contraction, all cycles belong to exactly four classes:

| Class | Structure | Information Role | Present in TR-DAG? |
|-------|-----------|------------------|-------------------|
| **Feedback Loop** | All neutral nodes | Recirculation, refinement | No |
| **Shortcut** | Transitively reducible | Redundant path, acceleration | No |
| **Diamond** | Unitary antichains | Resilient alternatives, robustness | **Yes** |
| **Mixer** | Non-unitary antichain | Multi-source integration | **Yes** |

In transitively-reduced DAGs, **only diamonds and mixers exist** — the fundamental organizing structures of hierarchies. See `diagrams/03_erDiagram_four-class_cycle_taxonomy_with.md` for a detailed ER view with functional attributes.

### 3. Transitive Reduction as Truth-Seeking

TR removes shortcuts (informationally redundant), preserves diamonds (genuinely different paths), and reveals mixers (true integration points). Apply when distinguishing essential from accidental complexity. **Warning**: shortcuts may optimize latency — informational redundancy ≠ functional uselessness.

### 4. Antichains as Hierarchical Coordinates

An antichain is a set of nodes with no ordering relationship — incomparable, parallel, at the "same level." Cycle antichain structure determines class: unitary → Diamond; non-unitary → Mixer.

### 5. The Topology-Metadata Gap

Purely topological metrics (node count, edge count, clustering) **cannot distinguish DAGs with different functional behaviors**. Always combine topological metrics (cycle count, size) with metadata metrics (height, stretch, balance, antichain structure).

## Decision Points

### Algorithm Selection Tree

See `diagrams/01_flowchart_hierarchical_cycle_analysis_de.md` for a visual rendering of this decision tree.

```mermaid
flowchart TD
  A[Directed graph and ordering metadata] --> B{Simple acyclic DAG?}
  B -->|no| X[Report directed witness or SCC; repair premise]
  B -->|yes| C{Choose original graph or transitive reduction}
  C --> D[Extract underlying undirected graph]
  D --> E[Compute a recorded cycle basis]
  E --> F[Restore orientation and contract eligible neutral wedges]
  F --> G[Report paper class as structural descriptor]
  G --> H[Validate domain interpretation separately]
```

### Stopping Criteria

- **Stop iterating** when TR converges (no more transitive edges to remove)
- **Stop analysis** when all cycles classified into four classes
- **Stop decomposition** when undirected substrate + metadata separated
- **Escalate to domain review** when interpretation would attach functional or policy meaning to a structural descriptor.

## Failure Modes

### Topology Blindness
**Symptom**: Two hierarchies have identical node/edge counts but behave differently  
**Diagnosis**: Analyzing structure without considering ordering metadata  
**Detection Rule**: Degree distributions match but information flow differs  
**Fix**: Decompose into undirected graph + metadata, compute metadata-derived metrics

### Acyclic Confusion
**Symptom**: Claiming "no cycles exist" in hierarchical system  
**Diagnosis**: Confusing directional constraint-compatibility with topological absence  
**Detection Rule**: Someone says "it's a DAG so no loops"  
**Fix**: Extract undirected substrate to reveal hidden cyclic structure

### Cycle Conflation
**Symptom**: Counting all cycles as equivalent structural features  
**Diagnosis**: Missing functional differences between diamonds vs mixers  
**Detection Rule**: Analysis treats 3-node triangle same as 6-node mixer  
**Fix**: Apply path-wedge contraction, classify into four classes

### Over-Reduction
**Symptom**: System performance degrades after applying transitive reduction  
**Diagnosis**: Removing shortcuts that were functionally valuable despite being informationally redundant  
**Detection Rule**: TR improves "structural metrics" but worsens latency/reliability  
**Fix**: Distinguish informational redundancy from functional optimization

### Antichain Ignorance
**Symptom**: Cannot explain why parallel nodes behave differently  
**Diagnosis**: Missing hierarchical coordinate system, treating all "same level" nodes as equivalent  
**Detection Rule**: Surprised by different behaviors at "same hierarchical level"  
**Fix**: Compute antichain decomposition, analyze cycle organization by level

## Worked Examples

### Example 1: Organizational Chart Analysis

**Scenario**: Two companies with identical reporting structures (30 nodes, 35 edges) but different decision-making speeds.

**Step 1 — Decomposition**:
```
Company A: Extract undirected substrate → 12 cycles found
Company B: Extract undirected substrate → 12 cycles found
```
Topology identical → analyze metadata.

**Step 2 — Classification**:
```
Company A after TR: 8 diamonds, 2 mixers
Company B after TR: 4 diamonds, 4 mixers
```

**Step 3 — Metadata Analysis**:
```
Company A: diamonds at height 2-4 (mid-hierarchy resilience), mixers at height 6-7
Company B: diamonds at height 1-2 (low-level redundancy), mixers at height 3-8
```

**Insight**: Company B's distributed mixers create more integration overhead but higher adaptability. Company A's concentrated senior mixers create bottlenecks but faster routine decisions.

**Novice miss**: Counts total cycles (12 each) and concludes structures identical.

### Example 2: Software Architecture Comparison

**Scenario**: Microservice dependency graphs with similar complexity metrics but different deployment reliability.

**Step 1 — Cycle Detection**: System X: 45 cycles; System Y: 47 cycles.

**Step 2 — TR + Classification**:
```
System X: 15 diamonds (data layer, height 1-3), 8 mixers (API gateway, height 5-6)
System Y: 8 diamonds (scattered all layers), 12 mixers (business logic, height 3-4)
```

**Step 3 — Antichain Analysis**: System X: 6 antichains (well-layered). System Y: 3 antichains (more cross-cutting concerns).

**Diagnosis**: System X better for read-heavy workloads; System Y better for complex transactional workflows.

## Quality Gates

**Analysis Complete When**:
- [ ] DAG decomposed into undirected substrate + directional metadata
- [ ] All cycles classified into exactly four classes (feedback/shortcut/diamond/mixer)
- [ ] Antichain structure computed and hierarchical coordinates established
- [ ] Both topological metrics and metadata metrics (height, stretch, balance) calculated
- [ ] Transitive reduction applied and convergence verified
- [ ] Diamond vs mixer distinction mapped to functional requirements
- [ ] Integration points (mixers) and resilience points (diamonds) documented

**Ready for Implementation When**:
- [ ] Specific cycle classes linked to system requirements (resilience needs → diamond preservation)
- [ ] Optimization targets defined (remove shortcuts vs preserve alternatives)

## Reference Documentation

| File | Load When... |
|------|--------------|
| `dag-decomposition-for-hierarchical-reasoning.md` | Formally separating topological structure from ordering constraints |
| `four-cycle-classes-information-processing.md` | Classifying specific cycles by information-processing role |
| `transitive-reduction-information-minimization.md` | Simplifying hierarchy to essential structure |
| `antichains-and-hierarchical-coordinates.md` | Understanding hierarchical positioning, identifying parallel nodes |
| `metadata-localizes-topology.md` | Two systems have similar topology but different behavior |
| `minimal-cycle-basis-as-mesoscopic-descriptor.md` | Characterizing overall system organization |
| `failure-modes-hierarchical-analysis.md` | Diagnosing why standard graph metrics aren't working |
| `when-does-dag-analysis-apply.md` | Determining if this framework fits your problem |

Full trigger-indexed list: [references/INDEX.md](references/INDEX.md)

## Bundled Assets

| Directory | Index | Contents |
|-----------|-------|----------|
| `diagrams/` | [diagrams/INDEX.md](diagrams/INDEX.md) | Decision tree flowchart, cycle taxonomy mindmap, four-class cycle ER diagram |
| `references/` | [references/INDEX.md](references/INDEX.md) | Eight deep-reference files on decomposition, cycle classification, TR, antichains, metadata, MCB, failure modes, and applicability |

## NOT-FOR Boundaries

**Do NOT use this skill for**:
- **Real-time dynamic graphs**: Use `temporal-graph-analysis` instead
- **Undirected networks**: Use `community-detection` instead
- **Weighted optimization**: Use `network-flow-algorithms` instead
- **Stochastic processes**: Use `markov-chain-analysis` instead

**Delegate when**:
- **Graph size >10K nodes**: Use `distributed-graph-algorithms`
- **Real-time constraints**: Use `streaming-dag-validation`
- **Complex temporal dynamics**: Use `temporal-motif-analysis`

**Framework applies only when**:
- Clear ordering constraint exists (time, causality, hierarchy, dependency)
- System can be meaningfully represented as DAG
- Cycles represent structural relationships, not algorithmic artifacts
- Static analysis sufficient (system not rapidly evolving)

## Shibboleths

**Has NOT internalized** this framework:
- Uses "acyclic" and "has no cycles" interchangeably without qualification
- Compares hierarchies using only node/edge counts and clustering coefficients
- Treats all cycles in a network as the same kind of structure
- Cannot explain the difference between a diamond and a mixer
- Assumes transitive reduction is always desirable or always preserves function

**Has internalized** this framework:
- Immediately asks "what's the ordering constraint?" when shown a DAG
- Distinguishes substrate topology from directional metadata
- Recognizes that cycle classification requires path-wedge contraction
- Can point to specific diamonds/mixers and explain their information-processing role
- Combines topological and metadata metrics when comparing systems
- Knows when this framework's assumptions break down (`when-does-dag-analysis-apply.md`)

Files in this skill

  • SKILL.md12.3 KB
  • _book_identity.json3.8 KB
  • _raw_response.md89.8 KB
  • diagrams/01_flowchart_hierarchical_cycle_analysis_de.md2.4 KB
  • diagrams/02_mindmap_cycle_taxonomy_&_information_a.md2.1 KB
  • diagrams/03_erDiagram_four-class_cycle_taxonomy_with.md1.9 KB
  • diagrams/INDEX.md1 KB
  • references/INDEX.md1.3 KB
  • references/antichains-and-hierarchical-coordinates.md13.8 KB
  • references/dag-decomposition-for-hierarchical-reasoning.md6.8 KB
  • references/failure-modes-hierarchical-analysis.md13.9 KB
  • references/four-cycle-classes-information-processing.md9.5 KB
  • references/metadata-localizes-topology.md14.1 KB
  • references/minimal-cycle-basis-as-mesoscopic-descriptor.md14.5 KB
  • references/transitive-reduction-information-minimization.md10.4 KB
  • references/when-does-dag-analysis-apply.md1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…