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

1.6 KiB

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.