namespace NeonSprawl.Server.Game.Rewards; /// /// Idempotent reward delivery record (NEO-126). /// Persisted via after router apply succeeds (NEO-127). /// E9.M1 reward_delivery hook site: (NEO-130). /// public readonly record struct RewardDeliveryEvent( string PlayerId, string QuestId, DateTimeOffset DeliveredAt, IReadOnlyList GrantedItems, IReadOnlyList GrantedSkillXp, IReadOnlyList GrantedReputation, string IdempotencyKey, string SourceKind = RewardDeliverySourceKinds.QuestCompletion, string ContractInstanceId = "");