Overview
Specialist agent for storing, retrieving, comparing, and consolidating performance baselines.
Parent Issue
Part of #124 - Master performance profiling orchestrator
Responsibilities
1. Baseline Storage
## Storage format:
- Single JSON file per version (e.g., `baseline_2.2.4.json`)
- Consistent schema across all baselines
- Include metadata (commit, environment, timestamp)
- Store in `.claude/perf/baselines/` or project-specific location
2. Baseline Retrieval
## Retrieval capabilities:
- Find matching baseline for comparison
- Handle missing baselines gracefully
- Support version patterns (e.g., "2.x", "latest")
- Cache frequently accessed baselines
3. Comparison
## Comparison metrics:
- Calculate deltas (absolute and percentage)
- Flag significant regressions (>10% worse)
- Flag significant improvements (>10% better)
- Compare breaking points
- Track error rate changes
4. Consolidation
"I need one source of truth"
## Consolidation workflow:
1. Scan for scattered result files
2. Merge into single file per version
3. Remove intermediate/noise results
4. Preserve collapse markers (breaking points)
5. Document what was removed
Agent Definition
---
name: perf-baseline-manager
description: Stores, retrieves, and compares performance baselines
tools: [Read, Write, Glob, Grep]
model: haiku
---
Data Schema
{
"version": "2.2.4",
"commit": "abc123def",
"created_at": "2026-01-22T12:00:00Z",
"environment": {
"os": "linux",
"cpu": "AMD EPYC 7R32",
"memory_gb": 32,
"cluster": "elasticache-3-node"
},
"configurations": [
{
"scenario": "getset-100b-10kqps",
"clients": 5,
"qps": 10000,
"payload_bytes": 100,
"duration_seconds": 60,
"results": {
"p50": 0.45,
"p99": 2.1,
"errors": 0,
"actual_qps_pct": 99.8
}
}
],
"collapse_markers": [
{
"scenario": "batch-24kb-10kqps",
"clients": 10,
"breaking_point_qps": 7500,
"failure_mode": "p99 > 5000ms, 211k errors"
}
]
}
Output Format
{
"comparison": {
"baseline_version": "2.0.0",
"current_version": "2.2.4",
"scenarios_compared": 86,
"regressions": [
{
"scenario": "batch-24kb-10kqps-10c",
"baseline_p99": 125,
"current_p99": 7709,
"delta_pct": 6067,
"severity": "critical"
}
],
"improvements": [
{
"scenario": "getset-100b-10kqps-1c",
"baseline_p99": 2.96,
"current_p99": 1.89,
"delta_pct": -36,
"severity": "notable"
}
],
"unchanged": 45,
"breaking_point_comparison": {
"baseline": "13k QPS",
"current": "10k QPS",
"regression": true
}
}
}
Files to Create
plugins/perf/agents/perf-baseline-manager.md
lib/perf/baseline-store.js
lib/perf/baseline-comparator.js
Success Criteria
Overview
Specialist agent for storing, retrieving, comparing, and consolidating performance baselines.
Parent Issue
Part of #124 - Master performance profiling orchestrator
Responsibilities
1. Baseline Storage
2. Baseline Retrieval
3. Comparison
4. Consolidation
Agent Definition
Data Schema
{ "version": "2.2.4", "commit": "abc123def", "created_at": "2026-01-22T12:00:00Z", "environment": { "os": "linux", "cpu": "AMD EPYC 7R32", "memory_gb": 32, "cluster": "elasticache-3-node" }, "configurations": [ { "scenario": "getset-100b-10kqps", "clients": 5, "qps": 10000, "payload_bytes": 100, "duration_seconds": 60, "results": { "p50": 0.45, "p99": 2.1, "errors": 0, "actual_qps_pct": 99.8 } } ], "collapse_markers": [ { "scenario": "batch-24kb-10kqps", "clients": 10, "breaking_point_qps": 7500, "failure_mode": "p99 > 5000ms, 211k errors" } ] }Output Format
{ "comparison": { "baseline_version": "2.0.0", "current_version": "2.2.4", "scenarios_compared": 86, "regressions": [ { "scenario": "batch-24kb-10kqps-10c", "baseline_p99": 125, "current_p99": 7709, "delta_pct": 6067, "severity": "critical" } ], "improvements": [ { "scenario": "getset-100b-10kqps-1c", "baseline_p99": 2.96, "current_p99": 1.89, "delta_pct": -36, "severity": "notable" } ], "unchanged": 45, "breaking_point_comparison": { "baseline": "13k QPS", "current": "10k QPS", "regression": true } } }Files to Create
plugins/perf/agents/perf-baseline-manager.mdlib/perf/baseline-store.jslib/perf/baseline-comparator.jsSuccess Criteria