A generous event is one that arrives with twenty properties because someone was afraid of asking again later. It looks industrious in a pull request. Six months later it is a second product: undocumented enumerations, a boolean that means three things, and a string that sometimes holds a JSON blob because iOS and Android could not agree.
Property Stewardship exists because I grew tired of marking these catalogues as if they were accidents. They are not accidents. They are a failure of refusal. The person who added extra_context was trying to be kind. Kindness in App Analytics is a liability if nobody owns the type.
We teach a dull test. For each property, name the decision it would change this quarter. If you cannot name one, it does not ship. “We might want it for a model” is not a decision; it is a rumour about a future team. That team, if it arrives, can ask for a new event with a dual-write window. They should not inherit a junk drawer.
There is a cost besides storage. Generous events slow QA, confuse identity joins, and make a board paper impossible because every chart needs a footnote about nulls. Students in the five-week seat often cut a third of the dictionary and feel unprofessional. They are not. They are filing.
If your console encourages “send everything”, treat that encouragement as a vendor’s business model, not as pedagogy. The house prefers a thin event that can be defended in a letter.