Task · GCI-0096

Add cost attribution, included-allowance, DPM reconciliation and seat utilisation panels

Description

Loop13 assessment gaps 2, 3, 4 and 7: attributed families (attribution label values never become our labels), org usage against included* allowances (zero included is valid), vendor grafanacloud_instance_billable_usage / org_metrics_billable_series / included_dpm_per_series against the rate-card DPM model, and billable against active users for Grafana, IRM and plugins. Panels only over grafanacloud-usage.

Acceptance Criteria

Definition of Done

Implementation Plan

Root static seam map shows the showback edge serializes a shared writer, not a data/code consumer. Showback stopped and parked; remove that engineering edge, preserve original AC and ceilings, process one dashboard writer. Add raw vendor families with explicit unverified unit/window and no invented conversion; keep modeled and vendor figures distinct. Gate/CR then independent review and exact integration proof.

Loop24 resume packet: preserve accepted panels. Billing-only candidate in bin/dashboards.py _cost_context: grafanacloud_org_grafana_plugin_users, no sum/rate/increase/x30/currency or active-seat ratio; explicit latest applicable rated-month/proration/subscription quantity, calendar-month consumer range with lastNotNull and observation freshness. Included allowance remains separate. Before implementation obtain positive deployed source witness and authoritative exact plugin-active metric/expression with matching subscription eligibility, trial exclusion, period/proration, parent-child scope and cross-stack deduplication. Generic rolling30d active logins are not that cohort. Missing comparison remains unavailable.

Implementation Notes

Loop13: 2 change-and-verify cycles (initial implementation plus final source-name qualification narrowing), 0 review-repair rounds, CR connection outage charged0. Safe partial candidatea92258eb8157736a85865740179c4902a594c247 accepted/landed with independent exact archive/artifact/promtool PASS, final completed CodeRabbit0findings. Composed just check2192passed2skipped13364subtests; CI37465449908 exactSHA required leaves success. AC2/3 satisfied; fullAC1 remains unchecked because plugin billable-vs-active exact metric/unit/window/cohort unavailable. Explicit unavailable plugin comparison is not completion. Resume source witness; preserve landed panels and ceilings. Customer names/readback/browser/performance unverified.

Loop24 research accepted, no implementation attempt or AC completion. Pinned vendor producer and public user-pricing evidence establish billing-side current-month rated quantity, not matched plugin-active people. Root robk HTTP200/no-warning 35d roster and count_over_time reads plus calendar-month range returned no plugin samples; Loki reload control was present. Zero seats not inferred. Remaining blocker: positive deployed plugin source and matched active/cohort contract. Attempts: 0 implementation this loop; retain prior2. Evidence /Users/rob/repos/grafana-cloud-org-insights/codex/loop24-evidence/seats/lane.md and /Users/rob/repos/grafana-cloud-org-insights/codex/loop24-evidence/root/usage-probe.json.

2026-10-13 reconciliation: the plugin billing-side contract is no longer wholly unknown. It is a current rated-month, subscription-qualified quantity that can be prorated and fractional, with separate included quantity and monetary overage. It is not a generic distinct-person count. Full AC1 remains open because the approved probe has no positive plugin samples and no matched active-user cohort with the same eligibility, subscription weighting, period and deduplication. Preserve landed panels, prior two implementation cycles and the explicit unavailable comparison. Updating the research record does not authorize an unsupported utilization ratio.

2026-10-14 owner explicitly withdrew the missing plugin billable-versus-active-user comparison. Accepted cost attribution, included allowance, DPM reconciliation and existing seat panels are preserved. Original AC1 required all four families including that comparison; revised scope retains its explicit unavailable notice and does not treat billing quantities as distinct people.

Final Summary

Owner withdrew the unmatched plugin active-seat comparison on2026-10-14. Preserved accepted raw attribution/allowances/DPM/seats panels and unavailable notice; focused assembled-dashboard seat-contract test passed1,2801deselected. Prior full gate/CI evidence retained; no implementation change or new deployment needed.

View the source file on GitHub