2026-03-26-per-model-capabilities
Per-Model Capabilities Endpoint
Date: 2026-03-26 Phase: 078-per-model-capabilities Branch: automation/078-per-model-capabilities
What Shipped
GET /v1/models/:provider/:modelId/capabilities — returns catalog capabilities merged with production-reality metrics for a single model.
Why This Matters
Existing model APIs return what a model _claims_ to support. This endpoint returns what it _actually does_ in production: tool-call success rate, quality scores, latency percentiles, error rates. Agents can make informed routing decisions based on real data, not spec sheets.
Architecture
- Catalog data from
ModelEndpointRegistry(capabilities Set, context window, max output) - Production metrics from
ModelPerformanceTracker(7-day sliding window: reward, latency, error rate) - Live metrics from
ModelEndpointMetricsTracker(EWMA p95 latency, throughput) - Tool-call metrics from
ToolCallAggregator(Phase 077: success rate) - 5-minute in-memory cache per model key
Lockstep Checklist
| Surface | Status | Notes |
|---|---|---|
| API | Implemented | src/api/routes/model-capabilities.ts |
| Docs | Implemented | This ship log |
| SDK-TS | Implemented | client.models.capabilities(modelId, { window }) |
| SDK-PY | Implemented | sync + async capabilities(model_id, window=) |
| MCP | Implemented | br_model_capabilities tool |
| Tests | Implemented | 5 test cases |
| CLI | N/A | No user-facing commands |
| GTM | N/A | Internal intelligence feature |
| Dashboard | N/A | Future phase |