diff --git a/.gitignore b/.gitignore index dbc9ca24..2b6918c9 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,9 @@ .worktrees/ .parallel-context.md -# Session analytics data (generated by MCP server) -home/.claude/contrib/analytics/ +# MCP server runtime data (databases, logs) +home/.claude/contrib/agent-event-bus/ +home/.claude/contrib/agent-session-analytics/ # Zellij saved layouts (machine-specific snapshots, but keep default.kdl) home/.config/zellij/layouts/* diff --git a/docs/case-study.md b/docs/case-study.md index 5f0b30d5..8e3e5a3c 100644 --- a/docs/case-study.md +++ b/docs/case-study.md @@ -81,7 +81,7 @@ Add tools to `settings.json` only after repeated use. The permission prompt surf ```bash # Review permission denials weekly -session-analytics-cli permissions --days 7 --min-count 5 +agent-session-analytics-cli permissions --days 7 --min-count 5 ``` ### 8. Self-Play API Testing @@ -192,9 +192,9 @@ Three repositories power this case study: **[dotfiles](https://github.com/evansenter/dotfiles) (control plane):** Workflows, commands, hooks that propagate to all sessions instantly. -**[claude-event-bus](https://github.com/evansenter/claude-event-bus) (coordinate):** Cross-session communication via polling. +**[agent-event-bus](https://github.com/evansenter/agent-event-bus) (coordinate):** Cross-session communication via polling. -**[claude-session-analytics](https://github.com/evansenter/claude-session-analytics) (insight):** Mines session logs for patterns. +**[agent-session-analytics](https://github.com/evansenter/agent-session-analytics) (insight):** Mines session logs for patterns. ### Projects Under Development @@ -307,8 +307,8 @@ This document itself is an experiment result. Each Repository Details section wa | Repository | PRs (open/merged) | Issues (open/closed) | LoC | +/- Lines | |------------|-------------------|----------------------|-----|-----------| | dotfiles | 0/114 | 5/51 | 6K Shell | +6.4K/-3.8K | -| claude-event-bus | 0/41 | 7/22 | 6K Python | +6.1K/-3.0K | -| claude-session-analytics | 0/30 | 4/19 | 12K Python | +19.0K/-1.8K | +| agent-event-bus | 0/41 | 7/22 | 6K Python | +6.1K/-3.0K | +| agent-session-analytics | 0/30 | 4/19 | 12K Python | +19.0K/-1.8K | **Projects Under Development:** @@ -327,12 +327,12 @@ _Data available since December 30, 2025 (when session logging began via the sess | Metric | Value | Source | |--------|-------|--------| -| Sessions | 258 | `session-analytics-cli sessions --days 17` | -| Tool invocations | 33,073 | `session-analytics-cli frequency --days 17` | -| Input tokens | 10.0M | `session-analytics-cli tokens --days 17` | -| Output tokens | 10.9M | `session-analytics-cli tokens --days 17` | -| Cache read | 9.7B | `session-analytics-cli tokens --days 17` | -| Cache creation | 658M | `session-analytics-cli tokens --days 17` | +| Sessions | 258 | `agent-session-analytics-cli sessions --days 17` | +| Tool invocations | 33,073 | `agent-session-analytics-cli frequency --days 17` | +| Input tokens | 10.0M | `agent-session-analytics-cli tokens --days 17` | +| Output tokens | 10.9M | `agent-session-analytics-cli tokens --days 17` | +| Cache read | 9.7B | `agent-session-analytics-cli tokens --days 17` | +| Cache creation | 658M | `agent-session-analytics-cli tokens --days 17` | | Cache ratio | 15:1 | cache_read / cache_creation | **Regenerate:** `~/.claude/contrib/repo-stats.sh --days 17 --session-stats` diff --git a/home/.claude/agents/status-report.md b/home/.claude/agents/status-report.md index 1587f518..f8273834 100644 --- a/home/.claude/agents/status-report.md +++ b/home/.claude/agents/status-report.md @@ -30,8 +30,8 @@ gh issue list --state open --limit 20 --json number,title,labels ``` # Lightweight analytics - avoid heavy per-session data -mcp__session-analytics__analyze_trends(days=1) # Aggregate stats, not per-session -mcp__session-analytics__get_permission_gaps(days=1, min_count=3) +mcp__agent-session-analytics__analyze_trends(days=1) # Aggregate stats, not per-session +mcp__agent-session-analytics__get_permission_gaps(days=1, min_count=3) mcp__event-bus__list_sessions() mcp__event-bus__get_events(limit=10) ``` diff --git a/home/.claude/commands/session-dump.md b/home/.claude/commands/session-dump.md index e901d935..af55f28e 100644 --- a/home/.claude/commands/session-dump.md +++ b/home/.claude/commands/session-dump.md @@ -37,7 +37,7 @@ session_id = current_session.session_id ### 3. Get Messages ``` -mcp__session-analytics__get_session_messages( +mcp__agent-session-analytics__get_session_messages( days=1, limit=, session_id= diff --git a/home/.claude/contrib/README.md b/home/.claude/contrib/README.md index a944d921..4a753694 100644 --- a/home/.claude/contrib/README.md +++ b/home/.claude/contrib/README.md @@ -10,8 +10,8 @@ MCP servers store their data under subdirectories here: | Directory | MCP Server | Purpose | |-----------|------------|---------| -| `analytics/` | [session-analytics](https://github.com/evansenter/claude-session-analytics) | Session log analysis and workflow insights | -| `event-bus/` | [event-bus](https://github.com/evansenter/claude-event-bus) | Cross-session communication and coordination | +| `agent-session-analytics/` | [agent-session-analytics](https://github.com/evansenter/agent-session-analytics) | Session log analysis and workflow insights | +| `agent-event-bus/` | [agent-event-bus](https://github.com/evansenter/agent-event-bus) | Cross-session communication and coordination | ## Scripts @@ -19,7 +19,7 @@ MCP servers store their data under subdirectories here: ## Session Analytics CLI -The `session-analytics-cli` provides command-line access to workflow insights. Key commands: +The `agent-session-analytics-cli` provides command-line access to workflow insights. Key commands: | Command | Description | |---------|-------------| @@ -34,12 +34,12 @@ The `session-analytics-cli` provides command-line access to workflow insights. K **Usage:** ```bash -session-analytics-cli [--days N] [--project PATH] +agent-session-analytics-cli [--days N] [--project PATH] ``` **Examples:** ```bash -session-analytics-cli frequency --days 7 -session-analytics-cli agents --days 3 -session-analytics-cli failures --days 1 +agent-session-analytics-cli frequency --days 7 +agent-session-analytics-cli agents --days 3 +agent-session-analytics-cli failures --days 1 ``` diff --git a/home/.claude/contrib/compute-api-cost.sh b/home/.claude/contrib/compute-api-cost.sh index 4d7c0a50..9ce4c688 100755 --- a/home/.claude/contrib/compute-api-cost.sh +++ b/home/.claude/contrib/compute-api-cost.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# compute-api-cost.sh - Calculate estimated API costs from session-analytics data +# compute-api-cost.sh - Calculate estimated API costs from agent-session-analytics data # # Usage: compute-api-cost.sh [--days N] [--json] # @@ -33,7 +33,7 @@ usage() { cat </dev/null; then - cli_path="session-analytics-cli" - elif [[ -x "$HOME/Documents/projects/claude-session-analytics/.venv/bin/session-analytics-cli" ]]; then - cli_path="$HOME/Documents/projects/claude-session-analytics/.venv/bin/session-analytics-cli" - elif [[ -x "$HOME/.local/bin/session-analytics-cli" ]]; then - cli_path="$HOME/.local/bin/session-analytics-cli" + if command -v agent-session-analytics-cli &>/dev/null; then + cli_path="agent-session-analytics-cli" + elif [[ -x "$HOME/Documents/projects/agent-session-analytics/.venv/bin/agent-session-analytics-cli" ]]; then + cli_path="$HOME/Documents/projects/agent-session-analytics/.venv/bin/agent-session-analytics-cli" + elif [[ -x "$HOME/.local/bin/agent-session-analytics-cli" ]]; then + cli_path="$HOME/.local/bin/agent-session-analytics-cli" else - echo "Error: session-analytics-cli not found" >&2 - echo "Install from: https://github.com/evansenter/claude-session-analytics" >&2 + echo "Error: agent-session-analytics-cli not found" >&2 + echo "Install from: https://github.com/evansenter/agent-session-analytics" >&2 exit 1 fi diff --git a/home/.claude/contrib/repo-stats.sh b/home/.claude/contrib/repo-stats.sh index d25780cf..443e69f9 100755 --- a/home/.claude/contrib/repo-stats.sh +++ b/home/.claude/contrib/repo-stats.sh @@ -16,7 +16,7 @@ DAYS=30 SESSION_STATS=0 OWNER="evansenter" LOCAL_DIR="$HOME/Documents/projects" -DEFAULT_REPOS="dotfiles gemicro claude-event-bus claude-session-analytics rust-genai" +DEFAULT_REPOS="dotfiles gemicro agent-event-bus agent-session-analytics rust-genai" REPOS="" # Check for scc @@ -24,10 +24,10 @@ HAS_SCC=$(command -v scc >/dev/null 2>&1 && echo "1" || echo "0") # Check for session-analytics CLI SESSION_CLI="" -if [[ -x "$HOME/Documents/projects/claude-session-analytics/.venv/bin/session-analytics-cli" ]]; then - SESSION_CLI="$HOME/Documents/projects/claude-session-analytics/.venv/bin/session-analytics-cli" -elif command -v session-analytics-cli >/dev/null 2>&1; then - SESSION_CLI="session-analytics-cli" +if [[ -x "$HOME/Documents/projects/agent-session-analytics/.venv/bin/agent-session-analytics-cli" ]]; then + SESSION_CLI="$HOME/Documents/projects/agent-session-analytics/.venv/bin/agent-session-analytics-cli" +elif command -v agent-session-analytics-cli >/dev/null 2>&1; then + SESSION_CLI="agent-session-analytics-cli" fi # Parse arguments @@ -56,11 +56,11 @@ while [[ $# -gt 0 ]]; do echo " --days N Look back N days (default: 30)" echo " --owner NAME GitHub owner (default: evansenter)" echo " --local-dir DIR Local repos directory (default: ~/Documents/projects)" - echo " --session-stats Include Claude Code session analytics" + echo " --session-stats Include Agent Session Analytics" echo "" echo "If repos are specified, uses those instead of defaults." echo "Uses 'scc' for accurate LoC if installed and repos exist locally." - echo "Uses 'session-analytics-cli' for session stats if available." + echo "Uses 'agent-session-analytics-cli' for session stats if available." exit 0 ;; *) @@ -430,7 +430,7 @@ if [[ "$SESSION_STATS" == "1" ]]; then echo "" echo "### Session Analytics" echo "" - echo "_session-analytics-cli not found. Install from claude-session-analytics repo._" + echo "_agent-session-analytics-cli not found. Install from agent-session-analytics repo._" else echo "" echo "### Session Analytics" @@ -505,6 +505,6 @@ if [[ "$SESSION_STATS" == "1" ]]; then "$(printf '─%.0s' $(seq 1 $((sw2 + 2))))" echo "" - echo "_Source: session-analytics-cli (last ${DAYS}d)_" + echo "_Source: agent-session-analytics-cli (last ${DAYS}d)_" fi fi diff --git a/home/.claude/settings.json b/home/.claude/settings.json index 4838ca19..6d8fe91d 100644 --- a/home/.claude/settings.json +++ b/home/.claude/settings.json @@ -90,8 +90,8 @@ "Bash(uv:*)", "Bash(agent-event-bus-cli:*)", "Bash(~/.local/bin/agent-event-bus-cli:*)", - "Bash(session-analytics-cli:*)", - "Bash(.venv/bin/session-analytics-cli:*)", + "Bash(agent-session-analytics-cli:*)", + "Bash(.venv/bin/agent-session-analytics-cli:*)", "Bash(sqlite3:*)", "Bash(launchctl:*)", "Bash(claude:*)", @@ -118,7 +118,7 @@ "Bash(touch:*)", "Bash(rg:*)", "Bash(PYTHONPATH=*:*)", - "Bash(*/session-analytics-cli:*)" + "Bash(*/agent-session-analytics-cli:*)" ], "defaultMode": "default" },