# Dependency Graph Summary

## Overview

| Metric | Value |
|--------|-------|
| Total Crates | 10 |
| Total Source Files | 139 |
| Crate-Level Dependency Edges | 16 |
| File-Level Dependency Edges | 72 |

## Crate Inventory

| Crate | Type | File Count | Path |
|-------|------|------------|------|
| g3 | binary | 2 | . |
| g3-cli | library | 11 | crates/g3-cli |
| g3-core | library | 55 | crates/g3-core |
| g3-config | library | 3 | crates/g3-config |
| g3-providers | library | 9 | crates/g3-providers |
| g3-planner | library | 12 | crates/g3-planner |
| g3-execution | library | 2 | crates/g3-execution |
| g3-computer-control | library | 28 | crates/g3-computer-control |
| g3-console | binary+library | 18 | crates/g3-console |
| g3-ensembles | library | 5 | crates/g3-ensembles |

## Crate Dependency Structure

```
g3 (root binary)
├── g3-cli
│   ├── g3-core
│   │   ├── g3-providers
│   │   ├── g3-config
│   │   ├── g3-execution
│   │   └── g3-computer-control
│   ├── g3-config
│   ├── g3-planner
│   │   ├── g3-providers
│   │   ├── g3-core
│   │   └── g3-config
│   ├── g3-providers
│   └── g3-ensembles
│       ├── g3-core
│       └── g3-config
└── g3-providers
```

## Fan-In Analysis (Crates Depended Upon)

| Crate | Fan-In | Dependents |
|-------|--------|------------|
| g3-config | 5 | g3-cli, g3-core, g3-planner, g3-ensembles |
| g3-providers | 4 | g3, g3-cli, g3-core, g3-planner |
| g3-core | 3 | g3-cli, g3-planner, g3-ensembles |
| g3-cli | 1 | g3 |
| g3-planner | 1 | g3-cli |
| g3-ensembles | 1 | g3-cli |
| g3-execution | 1 | g3-core |
| g3-computer-control | 1 | g3-core |
| g3-console | 0 | (standalone) |
| g3 | 0 | (root) |

## Fan-Out Analysis (Crates Depending On Others)

| Crate | Fan-Out | Dependencies |
|-------|---------|-------------|
| g3-cli | 5 | g3-core, g3-config, g3-planner, g3-providers, g3-ensembles |
| g3-core | 4 | g3-providers, g3-config, g3-execution, g3-computer-control |
| g3-planner | 3 | g3-providers, g3-core, g3-config |
| g3-ensembles | 2 | g3-core, g3-config |
| g3 | 2 | g3-cli, g3-providers |
| g3-config | 0 | (leaf) |
| g3-providers | 0 | (leaf) |
| g3-execution | 0 | (leaf) |
| g3-computer-control | 0 | (leaf) |
| g3-console | 0 | (standalone) |

## Entrypoints

| Binary | Entry File |
|--------|------------|
| g3 | src/main.rs |
| g3-console | crates/g3-console/src/main.rs |

## High Fan-In Files (Within Crates)

| File | Fan-In | Role |
|------|--------|------|
| g3-core/src/ui_writer.rs | 10 | UI abstraction trait |
| g3-core/src/lib.rs | 8 | Core agent types (Agent, ToolCall, etc.) |
| g3-providers/src/lib.rs | 7 | Provider types (Message, MessageRole, etc.) |
| g3-config/src/lib.rs | 5 | Configuration (Config) |
| g3-core/src/utils.rs | 2 | Utility functions |
| g3-core/src/paths.rs | 2 | Path utilities |
| g3-core/src/webdriver_session.rs | 2 | WebDriver session management |
| g3-computer-control/src/types.rs | 5 | Type definitions |
| g3-console/src/models/mod.rs | 5 | Data models |

## Leaf Crates (No Internal Dependencies)

- g3-config
- g3-providers  
- g3-execution
- g3-computer-control
- g3-console

## Extraction Limitations

1. **Dynamic imports**: Conditional compilation (`#[cfg(...)]`) may hide platform-specific dependencies
2. **Macro-generated imports**: Imports generated by macros are not captured
3. **Re-exports**: Transitive re-exports through `pub use` are not fully traced
4. **Test dependencies**: Test-only dependencies (dev-dependencies) are included but not distinguished in file-level analysis
5. **Build scripts**: build.rs dependencies are not analyzed for import relationships
