Drift & coverage
Portfolio compass
Coverage map by vendor, tag, and watch type — plus gap lists and 30-day drift hotspots (CP-5.1).
Auth
Bearer API key (dg_live_…) or trial session header. Unauthenticated requests return an empty compass (totalWatches: 0).
Response (200)
{
"coverage": {
"byVendor": [{ "vendor": "Stripe", "category": "payments", "watchCount": 2, "watchTypes": ["api"] }],
"byWatchType": [{ "watchType": "mcp", "count": 3 }],
"byTag": [{ "tag": "prod", "count": 4 }]
},
"gaps": {
"neverRun": [{ "watchId": "…", "name": "…", "driftStatus": "never_run", "daysSinceCheck": null }],
"staleChecks": [],
"error": []
},
"hotspots": [{ "watchId": "…", "name": "…", "breakingCount30d": 2 }],
"summary": { "totalWatches": 5, "vendorCount": 3, "gapCount": 1 }
}
Gap semantics
- neverRun — no successful check yet
- staleChecks — last check older than 30 days
- error —
drift_status: check_error
Guide
Operator workflow: Portfolio Compass guide.