Issue #133 — "feat: import graph visualization for hermes-agent" Adds scripts/import_graph.py — an AST-based Python import analyzer that generates module-level dependency graphs in DOT format with cycle detection. **Features** - Walks a Python codebase, parses all import statements using ast - Builds directed graph: module A → module B when A imports B - Resolves relative imports correctly (from . import X, from ..pkg import Y) - Distinguishes local packages from stdlib/third-party - Detects circular dependencies — DFS cycle finder with detailed paths - Exports DOT (Graphviz) for rendering to PNG/SVG - CLI: path, --output, --cycles-only, --render-png, --render-svg **Smoke tests** — tests/test_import_graph.py (3 passing) - test_import_graph_creates_dot: validates DOT output on real repo - test_import_graph_excludes_site_packages: handles noisy dirs cleanly - test_import_graph_cycles_only_flag: --cycles-only exit codes **Usage on hermes-agent** ```bash # Generate DOT python3 scripts/import_graph.py /path/to/hermes-agent --output hermes_imports.dot # Only check for cycles python3 scripts/import_graph.py /path/to/hermes-agent --cycles-only # Render PNG (requires graphviz) python3 scripts/import_graph.py /path/to/hermes-agent --render-png ``` Next: run on actual hermes-agent checkout to get the full graph. Closes #133
Compounding Intelligence
Turn 1B+ daily tokens into durable, compounding fleet intelligence.
The Problem
20,991 sessions on disk. Each one starts at zero. Every agent rediscover the same HTTP 405 is a branch protection issue. The intelligence from a million tokens of work evaporates when the session ends.
The Solution
Three pipelines that form a compounding loop:
SESSION ENDS → HARVESTER → KNOWLEDGE STORE → BOOTSTRAPPER → NEW SESSION STARTS SMARTER
↓
MEASURER → Prove it's working
Architecture
Pipeline 1: Harvester
Reads finished session transcripts. Extracts durable knowledge: facts, pitfalls, patterns, tool quirks. Stores in knowledge/.
Pipeline 2: Bootstrap
Before a session starts, queries knowledge store for relevant facts. Assembles compact 2k-token context. Injects into session so it starts with full situational awareness.
Pipeline 3: Measure
Tracks whether compounding is happening. Knowledge velocity, error reduction, hit rate, task completion. Daily report proves the loop works.
Directory Structure
├── knowledge/
│ ├── index.json # Machine-readable fact index
│ ├── global/ # Cross-repo knowledge
│ ├── repos/{repo}.md # Per-repo knowledge
│ └── agents/{agent}.md # Agent-type notes
├── scripts/
│ ├── harvester.py # Post-session knowledge extractor
│ ├── bootstrapper.py # Pre-session context loader
│ ├── measurer.py # Compounding metrics
│ └── session_reader.py # JSONL parser
├── metrics/
│ └── dashboard.md # Human-readable status
└── templates/
├── bootstrap-context.md
└── harvest-prompt.md
The 100x Path
Month 1: 15,000 facts, sessions 20% faster
Month 2: 45,000 facts, sessions 40% faster, first-try success up 30%
Month 3: 90,000 facts, fleet measurably smarter per token
Each new session is better than the last. The intelligence compounds.
Issues
See all issues for the full roadmap.
Epics:
- EPIC 1: Session Harvester (#2)
- EPIC 2: Knowledge Store & Bootstrap (#3)
- EPIC 3: Compounding Measurement (#4)
- EPIC 4: Retroactive Harvest (#5)