# WG Meeting: 2025-02-11 ## Agenda - Build is broken - Risk level change pull request - [stream_id character set](https://github.com/openid/sharedsignals/issues/229) - Other issues - Open PRs ## Attendees - Atul Tulshibagwale (SGNL) - Yair Sarig (Omnissa) - Thomas Darimont (OIDF) - Shayne Miel (Cisco) - Colton Chojnacki (Beyond Identity) - James Slocum (Beyond Identity) - Martin Gallo (Individual) - Tushar Raibhandare (Google) - Brian Soby (AppOmni) - Apoorva Deshpande (Okta) ## Notes ### Build is broken - Ruby is not found - possibly removed from GitHub ### Risk level change pull request - New pull request merged ### Stream_id character set - Atul marked it as v1Final - (Shayne) we should mention that it is "recommended" to preserve backward compatibility ### Other issues - Tushar still working on [stream ttl pull request](https://github.com/openid/sharedsignals/pull/222) ### Open PRs - [events_supported in metadata](https://github.com/openid/sharedsignals/issues/224) - (Yair) Is there an obligation / commitment that you are going to allow the event to a receiver? - (Apoorva) Should we provide a precedence order to 'events_supported' in the metadata versus the 'events_supported' in the stream configuration - (James) In a headless way, a receiver has no way to know what events are available to them before creating the stream - (Apoorva) Should we deprecate the `events_supported` in the response to the stream configuration calls? - (Atul) Too drastic? - (Shayne) It's OK to do it since we are not putting a timeline - (Apoorva) Should we say 'not recommended for new implementations' instead? - (Shayne) Should we say "should not" instead of "not recommended", we have used that language in the backwards compatibility section - (Thomas) `events_supported` in metadata will leak implementations to other implementers. - (James) We might be conflating two use cases, because by the time a receiver has the stream, they already know which events they want. - (Apoorva) Making it headless was not the aim. We have said that discovery is a shakehand between two consenting parties. - (Atul) There could be events that a transmitter supports which are not in the `events_supported` list in the metadata - (Thomas) This will work - (Apoorva) So this is still not headless - (Atul) For some use cases it is headless, for those not mentioned in the `events_supported`, it is not. - (Shayne) We need to call out that in the spec. - (Apoorva) So are we saying that the stream configuration response will have all events supported? - (James) yes, we should say that - (Shayne) The spec says that `events_delivered` is a subset of `events_supported` and `events_requested`, but those two are optional - (Tushar) What is the use case for having `events_supported` outside the stream if not all event types are there? - (James) It's to be agnostic to the implementer, so a transmitter can advertise which events it supports - (Shayne) more optionality is more incompatibility - (James) Good point about the subset of optional fields being nonsensical - (Yair) If the metadata is a singular endpoint for the whole transmitter, it might be valuable, but otherwise it is not - (Atul) What will break if we don't add this capability - (James) It prevents receivers from discovering transmitter capabilities - (Yair) If we want this to be viable, then we need more than just events_supported. - (Apoorva) Yes, e.g. authn and authz - (James) Many things have been left out of this spec, authn/authz, but there are ways one can design a transmitter to do that outside the spec - (Shayne) It is designed for existing business cases. People are implementing around current business cases. This change would be adding a "made up" business case - (James) If we use existing business cases as the model, then is the "tail wagging the doc" - (Atul) We could start with new use cases and see what we need to achieve that - (Tushar) Even in the headless case, the receiver knows all the event types it supports, and the Tx can just respond with the ones it supports. - (Atul) Should we defer to after v1Final? - (Apoorva, Yair, Tushar) yes - (Thomas) What is the expected behavior of a transmitter when the receiver specifies `events_requested` types that does not include any that the transmitter supports - (Yair) `events_delivered` will be empty in that case in the resulting stream - (Shayne) The receiver can still update the stream configuration and add the events it wants - (Thomas) This works, perhaps this should be explicitly listed in the spec, it might work better than adding it in the metadata - (Brian) I'd rather have an endpoint where this can be discovered. ## Action Items - (James) to update the `events_supported` PR to - add the deprecation language to the `events_supported` field in the stream configuration response. - note that transmitters may support more events than those mentioned in `events_supported`