Skip to content

Release v0.1.0

Release Date: 2026-05-18

Highlights

  • Communication graph analysis framework for email corpora with centrality, community detection, and visualization exports
  • Multi-format email ingestion (mbox, maildir) with identity resolution and thread reconstruction
  • Gephi (GEXF) and Neo4j (Cypher) export for graph visualization and querying

Features

Core Framework

  • Entity Model: Actor, Interaction, Message, and Thread types for representing communication networks
  • Weight Profiles: Configurable edge weighting with built-in profiles for influence, information flow, and coordination analysis
  • Storage Layer: In-memory store with JSON serialization and session persistence
  • Graph Abstraction: Integration with omniretrieve for graph operations

Email Ingestion

  • Mbox Adapter: Parse standard mbox files with MIME header extraction
  • Maildir Adapter: Recursive scanning of maildir directories
  • Thread Reconstruction: Automatic threading using References and In-Reply-To headers
  • Identity Resolution: SCIM-based actor management with alias merging and domain classification

Analysis Algorithms

  • Centrality Metrics: PageRank, degree (in/out/total), and betweenness centrality
  • Community Detection: Louvain algorithm with configurable resolution parameter
  • Temporal Analysis: Activity burst detection and pattern analysis
  • Path Analysis: Shortest paths, average path length, graph diameter, connected components
  • Bridge Detection: Identify actors connecting different communities
  • External Analysis: Boundary spanner identification and domain statistics

Export Formats

  • GEXF: Gephi-compatible format with centrality and community attributes
  • Neo4j Cypher: Schema creation and batched MERGE statements
  • JSON/CSV: Tabular export of analysis results

CLI

  • Pipeline Command: Combined ingestion and analysis in one step
  • Session Persistence: Save and resume analysis state across invocations
  • Identity Commands: List actors, view aliases, show resolution statistics
  • Configuration: YAML config files with environment variable overrides

Enron Corpus Support

  • Integration with enron-people package
  • Pre-curated identity data for key Enron employees
  • Known aliases for accurate identity resolution

Documentation

  • Comprehensive MkDocs site with Material theme
  • Getting started guides: installation, quickstart, Enron tutorial
  • User guide: CLI reference, configuration, analysis types, export formats
  • Reference: architecture overview, weight profiles, roadmap

Test Coverage

  • 191 tests across all packages
  • Unit tests for entity, identity, storage, analysis, adapter, and threading
  • Integration tests for end-to-end pipeline validation

Dependencies

Package Version Purpose
github.com/enrondata/enron-people v0.1.1 Enron identity data
github.com/spf13/cobra v1.10.2 CLI framework
github.com/spf13/viper v1.21.0 Configuration
github.com/plexusone/omniretrieve v0.2.0 Graph abstraction
github.com/jhillyerd/enmime v1.3.0 MIME parsing

Installation

go install github.com/grokify/commgraph/cmd/commgraph@v0.1.0

Quick Start

# Run full analysis pipeline
commgraph pipeline \
    --source=/path/to/emails \
    --format=maildir \
    --internal-domains=company.com \
    --profile=influence \
    --top=20

# Export for visualization
commgraph export gephi --output=graph.gexf