Generic, extensible signals for the agentic Conversation Event field group#2207
Open
rbuck23 wants to merge 2 commits into
Open
Generic, extensible signals for the agentic Conversation Event field group#2207rbuck23 wants to merge 2 commits into
rbuck23 wants to merge 2 commits into
Conversation
0927403 to
a28b0d3
Compare
Contributor
Author
|
@anandphatak This is the PR I mentioned in slack. @clubycoder has reviewed. Can you review next? |
a28b0d3 to
32be55e
Compare
Adds a sibling xdm:attributesMap (meta:xdmType: map) to the agentic Conversation Event field group, keyed by signal id, with an inlined typed signal value: an xdm:type discriminator plus xdm:values[] of stringValue / numberValue / booleanValue / confidence / qualifiers. Producers can emit new signal types without a schema change. The legacy xdm:attributes container (subjects/intents/tones/sentiment) is marked deprecated but retained for backward compatibility, so the change is non-breaking / additive. Adds conversation-event.example.4 demonstrating the map form with both standard signals (subjects, intents, tones, sentiment) and producer-defined ones (language, keywords, topics). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32be55e to
1013ecb
Compare
Adds an optional xdm:metadata field (meta:xdmType: map, string->string) as a sibling of xdm:qualifiers on each xdm:values[] entry, giving producers a place for extensible per-value metadata (e.g. context around a signal value) that does not fit xdm:confidence or xdm:qualifiers. Reuses XDM's xdm:experienceExtras map precedent. Additive/non-breaking. example.4 updated to demonstrate it on the topics signal. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #2206
Adds a generic, extensible
xdm:attributesMapto the agentic Conversation Event field group so producers can emit new conversation signals without a schema change. Non-breaking / additive — the existingxdm:attributessignals (subjects/intents/tones/sentiment) are deprecated but retained for backward compatibility.Motivation
Today
xdm:signals[].xdm:attributesis a closed set of four named signal types. Every new signal (language, urgency, topic, PII detection, …) needs a schema edit. Agentic/conversational producers emit an open-ended, producer-specific set of derived signals, so a map keyed by signal id is a better fit.Changes
components/fieldgroups/agentic/conversation-event.schema.jsonxdm:attributesMap—meta:xdmType: "map"keyed by signal id; value is an inlined typed signal envelope (xdm:typediscriminator +xdm:values[]ofstringValue/numberValue/booleanValue/confidence/qualifiers).xdm:typeis a hard enum, fully documented inmeta:enum.xdm:attributescontainer (meta:status: deprecated+ description), retained for backward compatibility.components/fieldgroups/agentic/conversation-event.example.4.jsonlanguagesignal to show extensibility.Validation
npm test— 2408 passingnpm run lint— clean (prettier)npm run validate— +1 new pass (example.4), zero new failures vs themasterbaseline (862/58 with this change vs 861/58 on a clean tree; the 58 are pre-existing, unrelated)npm run incompatibility-check— cleanBreaking changes
None. The change is additive; the legacy
xdm:attributesfields are deprecated, not removed.