The UI already shows 'empty' via print_plan_compact, so returning an empty string avoids duplicate output.
106 lines
3.0 KiB
Markdown
106 lines
3.0 KiB
Markdown
# Dependency Graph Summary
|
|
|
|
**Generated**: 2025-02-02
|
|
**Extraction Method**: Static import parsing via ripgrep
|
|
**Workspace**: g3
|
|
|
|
## Metrics
|
|
|
|
| Metric | Count |
|
|
|--------|-------|
|
|
| Total Nodes | 127 |
|
|
| Crate Nodes | 9 |
|
|
| File Nodes | 118 |
|
|
| Total Edges | 156 |
|
|
| Crate-level Edges | 14 |
|
|
| File-level Edges | 142 |
|
|
|
|
## Crate Dependency Structure
|
|
|
|
```
|
|
g3 (root binary)
|
|
├── g3-cli
|
|
│ ├── g3-core
|
|
│ ├── g3-config
|
|
│ ├── g3-planner
|
|
│ ├── g3-computer-control
|
|
│ └── g3-providers
|
|
├── g3-providers
|
|
|
|
g3-core
|
|
├── g3-providers
|
|
├── g3-config
|
|
├── g3-execution
|
|
└── g3-computer-control
|
|
|
|
g3-planner
|
|
├── g3-providers
|
|
├── g3-core
|
|
└── g3-config
|
|
|
|
studio (standalone binary)
|
|
└── (no internal g3 dependencies)
|
|
|
|
g3-config (leaf - no internal deps)
|
|
g3-execution (leaf - no internal deps)
|
|
g3-computer-control (leaf - no internal deps)
|
|
g3-providers (leaf - no internal deps)
|
|
```
|
|
|
|
## Entrypoints
|
|
|
|
| Entrypoint | Path | Type |
|
|
|------------|------|------|
|
|
| g3 | `src/main.rs` | Binary |
|
|
| studio | `crates/studio/src/main.rs` | Binary |
|
|
| g3-cli | `crates/g3-cli/src/lib.rs` | Library |
|
|
|
|
## Top Fan-In Nodes (Most Depended Upon)
|
|
|
|
| Node | Fan-In | Description |
|
|
|------|--------|-------------|
|
|
| `g3-core/src/lib.rs` | 18 | Core Agent, ToolCall types |
|
|
| `g3-core/src/ui_writer.rs` | 14 | UiWriter trait |
|
|
| `g3-cli/src/simple_output.rs` | 9 | SimpleOutput helper |
|
|
| `g3-cli/src/template.rs` | 6 | Template processing |
|
|
| `g3-core/src/paths.rs` | 6 | Path utilities |
|
|
| `g3-core/src/context_window.rs` | 5 | Context window management |
|
|
| `g3-cli/src/g3_status.rs` | 5 | Status formatting |
|
|
| `crate:g3-providers` | 5 | Provider abstractions |
|
|
| `crate:g3-config` | 5 | Configuration |
|
|
| `crate:g3-core` | 5 | Core engine |
|
|
|
|
## Top Fan-Out Nodes (Most Dependencies)
|
|
|
|
| Node | Fan-Out | Description |
|
|
|------|---------|-------------|
|
|
| `g3-cli/src/interactive.rs` | 11 | Interactive REPL |
|
|
| `g3-cli/src/agent_mode.rs` | 11 | Agent mode runner |
|
|
| `g3-cli/src/accumulative.rs` | 8 | Accumulative mode |
|
|
| `g3-cli/src/commands.rs` | 7 | CLI commands |
|
|
| `g3-core/src/tools/executor.rs` | 7 | Tool execution context |
|
|
| `g3-cli/src/autonomous.rs` | 5 | Autonomous mode |
|
|
| `g3-core/src/compaction.rs` | 4 | Context compaction |
|
|
| `g3-core/src/tool_dispatch.rs` | 4 | Tool routing |
|
|
|
|
## Crate File Counts
|
|
|
|
| Crate | Source Files | Test Files |
|
|
|-------|--------------|------------|
|
|
| g3-cli | 21 | 5 |
|
|
| g3-core | 32 | 33 |
|
|
| g3-providers | 12 | 4 |
|
|
| g3-planner | 7 | 4 |
|
|
| g3-computer-control | 12 | 1 |
|
|
| g3-config | 2 | 0 |
|
|
| g3-execution | 1 | 0 |
|
|
| studio | 3 | 0 |
|
|
|
|
## Extraction Limitations
|
|
|
|
1. **Dynamic imports not captured**: Any runtime module loading is not reflected
|
|
2. **Macro-generated imports**: Imports generated by macros may be missed
|
|
3. **Conditional compilation**: `#[cfg(...)]` gated imports are included regardless of target
|
|
4. **Re-exports**: Transitive re-exports through `pub use` are not fully traced
|
|
5. **Test files excluded from graph**: Test files (`tests/`) are not included in file nodes
|