Files
g3/analysis/deps/layers.observed.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

8.2 KiB

Observed Layering

Scope: Changes in commits b6d2582..9443f933 (10 commits)

Layer Structure

Observed from dependency direction (higher layers depend on lower):

┌─────────────────────────────────────────────────────────────┐
│  Layer 4: Binaries / Entry Points                           │
│  ┌─────────────┐  ┌─────────────┐                          │
│  │  g3-cli     │  │   studio    │                          │
│  └─────────────┘  └─────────────┘                          │
└─────────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│  Layer 3: Orchestration                                     │
│  ┌─────────────┐                                           │
│  │ g3-planner  │                                           │
│  └─────────────┘                                           │
└─────────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│  Layer 2: Core Engine                                       │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                     g3-core                          │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐   │   │
│  │  │ skills  │ │ tools   │ │ prompts │ │ context │   │   │
│  │  └─────────┘ └─────────┘ └─────────┘ └─────────┘   │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│  Layer 1: Infrastructure                                    │
│  ┌─────────────┐ ┌─────────────┐ ┌───────────────────────┐ │
│  │ g3-config   │ │g3-providers │ │ g3-computer-control   │ │
│  └─────────────┘ └─────────────┘ └───────────────────────┘ │
│  ┌─────────────┐                                           │
│  │g3-execution │                                           │
│  └─────────────┘                                           │
└─────────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│  Layer 0: External Assets                                   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  skills/research/  (SKILL.md, g3-research script)   │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  prompts/system/   (native.md, etc.)                │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

Layer Assignments (Changed Files)

Layer File Evidence
4 g3-cli/src/lib.rs Entry point, depends on g3-core
4 g3-cli/src/agent_mode.rs Uses g3-core::Agent
4 g3-cli/src/interactive.rs Uses g3-core::Agent
4 g3-cli/src/project_files.rs Uses g3-core::skills, g3-config
4 studio/src/main.rs Binary entry point
4 studio/src/sdlc.rs Orchestrates g3 agents
2 g3-core/src/lib.rs Core library root
2 g3-core/src/skills/mod.rs Skills subsystem
2 g3-core/src/skills/parser.rs SKILL.md parsing
2 g3-core/src/skills/discovery.rs Skill directory scanning
2 g3-core/src/skills/prompt.rs XML prompt generation
2 g3-core/src/skills/embedded.rs Compile-time embedding
2 g3-core/src/skills/extraction.rs Script extraction
2 g3-core/src/prompts.rs System prompt generation
2 g3-core/src/tool_definitions.rs Tool schema definitions
2 g3-core/src/tool_dispatch.rs Tool routing
1 g3-config/src/lib.rs Configuration structs
0 skills/research/SKILL.md External skill definition
0 skills/research/g3-research External skill script
0 prompts/system/native.md System prompt template

Layer Violations

None detected in the changed files.

All dependencies flow downward (higher layer → lower layer).

Skills Module Internal Layering

Within g3-core/src/skills/:

┌───────────────────────────────────────┐
│  mod.rs (coordinator, re-exports)     │  Layer 2.3
└───────────────────────────────────────┘
              │
              ▼
┌───────────────────────────────────────┐
│  discovery.rs, prompt.rs, extraction  │  Layer 2.2
│  (use parser.rs and/or embedded.rs)   │
└───────────────────────────────────────┘
              │
              ▼
┌───────────────────────────────────────┐
│  parser.rs, embedded.rs (leaf nodes)  │  Layer 2.1
│  (no internal dependencies)           │
└───────────────────────────────────────┘

Derivation Method

Layers derived mechanically from:

  1. Cargo.toml [dependencies] sections
  2. use statement analysis
  3. mod declaration hierarchy
  4. include_str! compile-time references

No semantic interpretation applied.