Stamp feature_qualified_name in GSM billable event metadata
What does this MR do and why?
Adds a feature_qualified_name key to the metadata of the two GitLab Secrets Manager billable events (SecretsReadEmitter and SecretsStoredEmitter), set to the event type (secrets_read / secrets_stored). The GSM event types use the same strings as the CustomersDot flow-type ids, so stamping the event type is enough for correct classification.
CustomersDot derives the billing product from the first /-segment of Metadata.feature_qualified_name. Because GSM events never set this field, the product resolved to an empty string, product-scoped burndown never activated, and trial customers' usage was charged to the overage wallet instead of the secrets_manager_trial wallet — trial credits were never consumed and customers accrued real overage debt. This MR is the GitLab-side hardening; the primary fix (falling back to EventType in the product derivation) lands separately in CustomersDot. Specs for both emitters were updated to assert the new metadata key.
No new feature flag: the emitters are already gated behind the existing default-off flags secrets_manager_emit_secret_read_events and secrets_manager_emit_secret_stored_events.
References
How to set up and validate locally
Run the specs for both emitters:
bundle exec rspec ee/spec/lib/secrets_management/billable_events/secrets_read_emitter_spec.rb ee/spec/lib/secrets_management/billable_events/secrets_stored_emitter_spec.rb