Files
g3/analysis/deps/graph.summary.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

3.3 KiB

Dependency Graph Summary

Scope: Changes in commits b6d2582..9443f933 (10 commits)
Generated: 2025-02-05

Metrics

Metric Count
Crates (total) 8
Crates (changed) 4
Files (changed) 29
Files (added) 8
Files (deleted) 2
Files (modified) 19
Crate-level edges 12
File-level edges 21

Changed Crates

Crate Path Role
g3-core crates/g3-core Core engine, skills module added
g3-cli crates/g3-cli CLI interface, skills integration
g3-config crates/g3-config Configuration, SkillsConfig added
studio crates/studio Multi-agent workspace, SDLC changes

Entrypoints

Entrypoint Type Evidence
g3-cli/src/lib.rs Library root pub fn run()
studio/src/main.rs Binary fn main()
g3-core/src/lib.rs Library root Re-exports skills module

Top Fan-In Nodes (most depended upon)

Node Fan-In Dependents
g3-core/src/skills/parser.rs 3 discovery.rs, prompt.rs, mod.rs
g3-core/src/skills/embedded.rs 3 discovery.rs, extraction.rs, mod.rs
g3-core/src/skills/mod.rs 3 lib.rs, prompts.rs, project_files.rs
g3-config/src/lib.rs 2 g3-core (crate), g3-cli (crate)
g3-cli/src/project_files.rs 2 lib.rs, agent_mode.rs

Top Fan-Out Nodes (most dependencies)

Node Fan-Out Dependencies
g3-cli (crate) 5 g3-core, g3-config, g3-providers, g3-planner, g3-computer-control
g3-core/src/skills/mod.rs 5 parser.rs, discovery.rs, prompt.rs, embedded.rs, extraction.rs
g3-core/src/skills/discovery.rs 2 parser.rs, embedded.rs
g3-cli/src/project_files.rs 2 g3-core::skills, g3-config::SkillsConfig
studio/src/main.rs 3 sdlc.rs, git.rs, session.rs

Major Structural Changes

Added: Skills Module (g3-core/src/skills/)

New module implementing Agent Skills specification:

g3-core/src/skills/
├── mod.rs        # Module root, re-exports
├── parser.rs     # SKILL.md YAML frontmatter parser
├── discovery.rs  # Skill directory scanning
├── prompt.rs     # XML prompt generation
├── embedded.rs   # Compile-time embedded skills
└── extraction.rs # Script extraction to .g3/bin/

Internal dependency flow:

mod.rs
  ├── parser.rs (Skill struct)
  ├── discovery.rs → parser.rs, embedded.rs
  ├── prompt.rs → parser.rs
  ├── embedded.rs (standalone)
  └── extraction.rs → embedded.rs

Removed: Research Tool (hardcoded)

  • g3-core/src/pending_research.rs (540 lines deleted)
  • g3-core/src/tools/research.rs (710 lines deleted)

Added: Research Skill (external)

  • skills/research/SKILL.md (144 lines)
  • skills/research/g3-research (338 lines, bash script)

Research functionality moved from hardcoded tool to external skill.

Modified: SDLC Pipeline

  • State storage moved from analysis/sdlc/ to .g3/sdlc/
  • Added merge-to-main on successful completion
  • Worktree preserved on failure for debugging

Extraction Limitations

  • Dynamic imports not detected (none expected in Rust)
  • Test-only dependencies not distinguished from production
  • Conditional compilation (#[cfg(...)]) not analyzed
  • External crate dependencies (from crates.io) not enumerated