Description
GCI-0092 gap 5. Classify from a live source (plugin catalogue signature or plan metadata), never a literal list; add an Enterprise rollup.
Acceptance Criteria
- #1 usage_plugin_adoption and usage_datasource_inventory classify Enterprise plugins from live catalogue metadata, with no literal plugin list in code
- #2 An Enterprise rollup view (stacks, configured datasources by plugin) is published; an unavailable catalogue leaves the classification absent, never ‘not enterprise’
- #3 Contract test reads a real catalogue response fixture captured from two plugins
Definition of Done
- #1 just test
- #2 just tf-validate
- #3 just check-identifiers and just no-em-dashes both return clean
Implementation Plan
Classify real public catalogue metadata discovered from fresh inventory; root supplies process-edge and compose/hydration wiring after adoption seam integration; preserve missing classification without new metric or input-age series.
Implementation Notes
Loop12:2 implementation attempts,0 review-repair rounds; sourcefoundation thenfullintegration. Knownresume889 failed deletedcwd, sameprotocolfreshrole retry0attempt. Landed735fb7bbf6e2d2d0128ead0c8d6ca3d239273fc4; source43exacttests andreal2publicfixtures, fullintegration75exacttests/render/generator93views, CRcomplete0/reviewerPASS1f09. Cleanprelanding2148passed2skipped12855subtests and CI37365483067 success. Firstcomposed700s deadline cancelledidentifier scan exitnullNOTpass, infraretry1 sameSHA completegreen413s allchecks/guards unchanged. Currentpublicstatusenterprise/active classification isnullable/coveragequalified, notinstalled-version licence oractiveuse. Existingstack_detail provenance, no newinputs/input-age/metricseries. Successfulrecord-only metadata joins, no fakehealthy detail. Evidence /Users/rob/repos/grafana-cloud-org-insights/codex/loop12-evidence/L-enterprise/.
Final Summary
Configured datasource inventories and measured Enterprise catalogue rollup now use explicit current public metadata with unknown coverage preserved. Full source->T2scan->composition->derivedhydration->assembleddashboard exercised offline; publicAPI2plugin behavior verified, no customer deployment or browser proof.