Files
g3/analysis/deps/sccs.md
Dhanji R. Prasanna 028285825b Update dependency analysis artifacts
Refreshed static analysis of workspace dependency structure:
- graph.json: 10 crates, 17 crate-level edges, 95 files, 123 file-level edges
- graph.summary.md: Updated metrics and fan-in/fan-out rankings
- sccs.md: Confirmed no cycles (DAG structure intact)
- layers.observed.md: 5-layer hierarchy from binaries to infrastructure
- hotspots.md: Identified g3-config, g3-providers as high fan-in; g3-cli as high fan-out
- limitations.md: Documented extraction method constraints

Agent: euler
2026-01-12 20:32:16 +05:30

1.3 KiB

Strongly Connected Components Analysis

Method

Tarjan's algorithm applied to file-level dependency graph.

Edge types considered:

  • mod_declaration: Parent module declares child module
  • cross_crate_import: File imports from another crate

Results

No non-trivial SCCs detected.

The file-level dependency graph is acyclic. All mod declarations form a strict tree structure within each crate, and cross-crate imports follow the crate dependency DAG.

Crate-Level Cycle Analysis

The crate dependency graph was also analyzed:

g3 → g3-cli → g3-core → g3-providers
                      → g3-config
                      → g3-execution
                      → g3-computer-control
         → g3-planner → g3-core
                      → g3-providers
                      → g3-config
         → g3-ensembles → g3-core
                        → g3-config

No cycles detected at crate level.

The workspace forms a directed acyclic graph (DAG) with:

  • Leaf crates: g3-providers, g3-config, g3-execution, g3-computer-control, studio
  • Mid-tier crates: g3-core, g3-planner, g3-ensembles
  • Top-tier crates: g3-cli, g3

Implications

  • No circular dependencies exist
  • Build order is deterministic
  • Crates can be compiled in parallel respecting the DAG