17d56d0e01
Clean break, no compatibility alias. Renames the product name, the CLI binary (`ccam` -> `agenthub`), the env var prefix (`CCAM_` -> `AGENTHUB_`), the Prometheus metric namespace (`ccam_*` -> `agenthub_*`), the tmux session prefix (`ccam-lane-<id>` -> `agenthub-lane-<id>`), the per-repo runtime profile directory (`.ccam/profile` -> `.agenthub/profile`), the lanes state root (`~/.claude/ccam-lanes` -> `~/.claude/agenthub-lanes`), the bundled plugins (`plugins/ccam*` -> `plugins/agenthub*`) and their slash commands (`/ccam-doctor` -> `/agenthub-doctor`, `/ccam:*` -> `/agenthub:*`). Because there is no alias, an existing install has to be updated by hand: rename its `.ccam/profile` directory and any `CCAM_*` variables, and reinstall the plugin under its new name. Two other name families are deliberately left alone here, since they are not just strings: the `Claude-Code-Monitor` repository/marketplace name, and the `agent-dashboard` npm package plus its `~/.claude/agent-dashboard` runtime directory, which holds the live database and needs a migration rather than a rename. Verified: server 1406/1406, client 459/459, `grep -i ccam` clean across tracked files, `openapi.yaml` regenerated (95 paths, unchanged count).
57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
---
|
|
description: >
|
|
Render the multi-agent orchestration DAG for a session — parent→child
|
|
subagent edges, tree depth, and fan-out — from the Agent Monitor workflow
|
|
intelligence API. Cross-checks the orchestration dataset against the raw
|
|
agent records and session detail. Use when visualizing how a session's agent
|
|
structure was organized.
|
|
---
|
|
|
|
# DAG Map
|
|
|
|
Render the subagent orchestration graph for one Claude Code session as a depth-ordered DAG.
|
|
|
|
## Input
|
|
|
|
The user provides: **$ARGUMENTS**
|
|
|
|
A session ID. If empty, fetch `GET /api/sessions?limit=1` and use the most recent session, stating which one you picked.
|
|
|
|
## Data Sources
|
|
|
|
| Endpoint | Returns |
|
|
|----------|---------|
|
|
| `GET /api/workflows/{sessionId}` | The `orchestration` dataset: DAG nodes (agent id, type, model, status, depth) and parent→child edges |
|
|
| `GET /api/agents` | Raw subagent records (`status`, `type`, `depth`, `parent`) to cross-check node/edge counts |
|
|
| `GET /api/sessions/{sessionId}` | Full session detail with nested `agents[]` to confirm the root and total agent count |
|
|
|
|
## Report Sections
|
|
|
|
### 1. Topology Summary
|
|
From `orchestration`: the root agent, total agent count, max depth, and max fan-out (most children under any one parent). Confirm the agent count against `/api/agents` filtered to this session.
|
|
|
|
### 2. Edge List
|
|
Every parent→child edge, grouped by depth, formatted as:
|
|
`depth d: parent[model] → child[type, status]`
|
|
Mark leaf agents (no children) and any orphan nodes (a `parent` that is not present in the node set).
|
|
|
|
### 3. Depth & Fan-out Table
|
|
| Depth | Agents at depth | Children spawned | Avg fan-out |
|
|
|-------|-----------------|------------------|-------------|
|
|
|
|
### 4. ASCII Tree
|
|
A simple indented tree rendering of the DAG, e.g.:
|
|
```
|
|
root [opus, completed]
|
|
├─ explore [sonnet, completed]
|
|
└─ code-review [sonnet, error]
|
|
└─ debugger [sonnet, completed]
|
|
```
|
|
|
|
## Output
|
|
|
|
- Render as Markdown tables plus one fenced ASCII tree block.
|
|
- Cite real node and edge counts from the API — never invent agents or edges.
|
|
- If a session has no subagents, say so plainly (single-agent session, depth 0) instead of fabricating a tree.
|
|
- If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.
|