Files
g3/analysis/deps/sccs.md
Dhanji R. Prasanna 38da6a56ef analysis: Update dependency graph for commits b6d2582..9443f933
Focused analysis on past 10 commits covering:
- New skills module in g3-core (parser, discovery, prompt, embedded, extraction)
- Research tool externalized to skills/research/ skill
- SkillsConfig added to g3-config
- SDLC pipeline state moved to .g3/sdlc/

Key findings:
- 4 crates changed, 29 files affected (8 added, 2 deleted, 19 modified)
- No dependency cycles detected
- Clean DAG structure in new skills module
- Cross-crate coupling via g3-core::skills and g3-config::SkillsConfig
- Compile-time coupling to skills/research/ via include_str!

Agent: euler
2026-02-05 14:02:44 +11:00

62 lines
1.6 KiB
Markdown

# Strongly Connected Components (Cycles)
**Scope**: Changes in commits `b6d2582..9443f933` (10 commits)
## Summary
| Metric | Count |
|--------|-------|
| SCCs with >1 node | 0 |
| Trivial SCCs (single node) | 29 |
## Analysis
**No dependency cycles detected** in the changed files.
The skills module has a clean DAG structure:
```
mod.rs (root)
├── parser.rs (leaf - no internal deps)
│ ▲
│ │
├── discovery.rs ──┬──► parser.rs
│ └──► embedded.rs
├── prompt.rs ─────────► parser.rs
├── embedded.rs (leaf - no internal deps)
│ ▲
│ │
└── extraction.rs ─────► embedded.rs
```
## Crate-Level Cycles
No cycles at crate level. Dependency direction:
```
g3-cli ──► g3-core ──► g3-config
│ │
│ └──► g3-providers
│ └──► g3-execution
│ └──► g3-computer-control
└──► g3-config
└──► g3-providers
└──► g3-planner ──► g3-core (creates potential for cycle)
```
**Note**: `g3-planner` depends on `g3-core`, and `g3-cli` depends on both. This is not a cycle but creates a diamond dependency pattern.
## Verification Method
Cycles detected by analyzing `use` statements and `mod` declarations:
- `use super::*` → parent module
- `use crate::*` → crate root
- `mod name` → child module
- `use external_crate::*` → cross-crate
No bidirectional edges found within the changed file set.