Skip to content

Learning Graph Quality Metrics Report

Overview

  • Total Concepts: 110
  • Foundational Concepts (no prerequisites, other concepts depend on them): 8
  • Terminal Nodes (nothing depends on them, but have prerequisites): 57
  • Orphaned Nodes (completely disconnected, no edges): 0
  • Concepts with Dependencies: 102
  • Average Dependencies per Concept: 1.53

Graph Structure Validation

  • Valid DAG Structure: ✅ Yes
  • Self-Dependencies: None detected ✅
  • Cycles Detected: 0

Foundational Concepts

These concepts have no prerequisites:

  • 1: Pydantic BaseModel
  • 5: YAML File Format
  • 6: TOML File Format
  • 7: JSON File Format
  • 8: Env File Format
  • 9: Environment Variables
  • 10: Python Decorators
  • 99: LRU Cache Decorator

Dependency Chain Analysis

  • Maximum Dependency Chain Length: 7

Longest Learning Path:

  1. Pydantic BaseModel (ID: 1)
  2. Pydantic BaseSettings (ID: 2)
  3. MountainAshBaseSettings Class (ID: 13)
  4. Template Syntax (ID: 37)
  5. Field Name Placeholder (ID: 38)
  6. Template Resolution (ID: 39)
  7. Post Init Template Expansion (ID: 40)

Terminal Nodes Analysis

Terminal nodes are concepts that nothing else depends on but have prerequisites. They represent natural endpoints of learning paths — culminating or specialized concepts.

  • Total Terminal Nodes: 57 (51.8% of all concepts)
  • Healthy Range: 5-40% of total concepts

Concepts at the end of learning paths:

  • 14: Settings Model Config
  • 18: Object Setattr Bypass
  • 19: Settings Source Priority
  • 20: Env Prefix Override
  • 22: Multi Format File Loading
  • 27: Parameter Create Factory
  • 29: File List Union Strategy
  • 30: Scalar Last Wins Strategy
  • 31: Dict Deep Merge Strategy
  • 34: File Categorization
  • 36: Kwargs Normalization
  • 40: Post Init Template Expansion
  • 41: UPath Path Derivation
  • 42: Template Priority Rules
  • 43: Nested Template Resolution
  • 47: Kwargs Pass Resolution
  • 51: Secret Prefix Syntax
  • 52: Vault Provider
  • 53: SSM Provider
  • 54: Key Vault Provider

...and 37 more

Orphaned Nodes Analysis

Orphaned nodes are completely disconnected concepts with no inbound AND no outbound edges. These indicate a quality problem — every concept should connect to the graph.

  • Total Orphaned Nodes: 0

✅ No orphaned nodes detected. All concepts are connected to the graph.

Connected Components

  • Number of Connected Components: 1

✅ All concepts are connected in a single graph.

Indegree Analysis

Top 10 concepts that are prerequisites for the most other concepts:

Rank Concept ID Concept Label Indegree
1 80 AuthSpec Base Class 15
2 13 MountainAshBaseSettings Class 11
3 12 SecretStr Type 10
4 59 ParameterSpec Class 10
5 1 Pydantic BaseModel 9
6 23 SettingsParameters Class 8
7 56 ProfileDescriptor Class 6
8 71 Registry Class 6
9 44 Secrets Registry 5
10 39 Template Resolution 4

Outdegree Distribution

Dependencies Number of Concepts
0 8
1 56
2 40
3 5
5 1

Recommendations

  • ℹ️ High terminal node percentage (51.8%): Consider if some terminal concepts should be prerequisites for advanced concepts
  • ✅ DAG structure verified: Graph supports valid learning progressions

Report generated by learning-graph-reports/analyze_graph.py