# Console Counters Prep — PREP-EXCITITOR-CONSOLE-23-002-DEPENDS-ON-23-001 Status: Draft (2025-11-20) Owners: Excititor WebService Guild Scope: Define the counter surfaces required for console delta cards, pending the `/console/vex` contract. ## Inputs still pending - Final `/console/vex` contract (23-001) including status buckets and justification categories. - Source-of-truth metrics/telemetry names from Policy Engine overlays (POLICY-ENGINE-30-001 once available). ## Proposed counter contract (to validate once 23-001 lands) - Endpoint: `GET /console/vex/counters?tenant_id=&component_purl=&advisory_id=&since=` - Response fields: - `total`, `affected`, `not_affected`, `under_investigation`, `mitigated`, `unknown` - `delta_since` (ISO-8601) and `window_seconds` - `evidence_refs[]` (DSSE hashes or linkset ids) optional - Metrics to emit: - Gauge `console_vex_active_total{tenant,status}` - Counter `console_vex_delta_total{tenant,status}` with `delta_since` label - Determinism: counters computed from immutable materialized views keyed by `(tenant, advisory_id, component_purl)`; avoid wall-clock beyond `since` parameter. ## Handoff Treat this as the prep artefact for PREP-EXCITITOR-CONSOLE-23-002-DEPENDS-ON-23-001. Update once status buckets are frozen in 23-001 and Policy metrics are published; then finalize endpoints and samples.