Skip to content

Add Conversation Topics record class with nested topic taxonomy (agentic) - #2247

Open
rbuck23 wants to merge 8 commits into
adobe:masterfrom
rbuck23:feature-topic-hierarchy-fieldgroup
Open

Add Conversation Topics record class with nested topic taxonomy (agentic)#2247
rbuck23 wants to merge 8 commits into
adobe:masterfrom
rbuck23:feature-topic-hierarchy-fieldgroup

Conversation

@rbuck23

@rbuck23 rbuck23 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #2249

Adds an experimental, record-based Conversation Topics class (classes/agentic/conversation-topics) that models a conversation record carrying a nested topic taxonomy classification. Non-breaking — purely additive; ships as meta:status: experimental.

Motivation

Conversation/agentic data carries derived signals. Modeling the conversation as a record (time-invariant) lets it be composed into a schema and used as a reference/lookup dataset, with the topic taxonomy nested under conversationTopicTaxonomy.signals.topic.taxonomy so it travels with the conversation record.

Changes

  • components/classes/agentic/conversation-topics.schema.json — new experimental record class (meta:extends data/record), self-contained ("fat class"). Structure:
    xdm:conversationTopicTaxonomy
      └─ xdm:signals
          └─ xdm:topic
              └─ xdm:taxonomy
                  ├─ xdm:level1  (root)
                  ├─ xdm:level2
                  ├─ xdm:level3
                  ├─ xdm:level4
                  └─ xdm:level5  (deepest)
    
  • components/classes/agentic/conversation-topics.example.1.json — class example.

(Supersedes the earlier two-file split — the agentic/topic class and agentic/topic-hierarchy field group were removed in favor of this single record class.)

Validation

  • npm test — 2417 passing, 0 failing
  • npm run lint — clean (prettier)
  • npm run validate — zero new failures vs the master baseline (remaining errors are pre-existing and unrelated to this file)
  • npm run incompatibility-check — clean (additive only)

Breaking changes

None.

🤖 Generated with Claude Code

Randy Buck and others added 2 commits August 26, 2026 17:56
Introduce an experimental record-based agentic/topic class (keyed by
xdm:topic) and an agentic/topic-hierarchy field group (xdm:L1-xdm:L5) so
a topic taxonomy can be modeled as an AEP lookup (reference) dataset and
joined to conversation/agentic data. Additive only; both start as
meta:status experimental. Follows the existing record-class + lookup
pattern (weather/paid-media).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collapse the previous two-file split (agentic/topic class + agentic/
topic-hierarchy field group) into one self-contained fat record class,
agentic/conversation, that extends data/record. It models a conversation
record with nested conversation.signals.topic.hierarchy.level1-3. Still
additive and experimental.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rbuck23 rbuck23 changed the title Add Topic class and topic-hierarchy field group for lookup datasets Add Conversation record class with nested topic hierarchy (agentic) Aug 27, 2026
Randy Buck and others added 3 commits August 27, 2026 12:02
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the conversation record from a class to a field group under
fieldgroups/agentic. It no longer extends data/record; instead it sets
meta:intendedToExtend to context/experienceevent and composes @context,
matching the sibling conversation-event field group. Structure is
unchanged: conversation.signals.topic.hierarchy.level1-5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
For the conversation field group to be usable on a record/lookup dataset
it must attach to a record class. Add a minimal agentic/conversation
record class (extends data/record, keyed by xdm:conversationID) and point
the field group's meta:intendedToExtend at it instead of experienceevent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rbuck23 rbuck23 changed the title Add Conversation record class with nested topic hierarchy (agentic) Add Conversation field group + record class for a topic-hierarchy lookup (agentic) Aug 27, 2026
Drop the field group + record-class pair and go back to one self-contained
fat record class, agentic/conversation, extending data/record, with the
nested conversation.signals.topic.hierarchy.level1-5 structure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rbuck23 rbuck23 changed the title Add Conversation field group + record class for a topic-hierarchy lookup (agentic) Add Conversation record class with nested topic hierarchy (agentic) Aug 27, 2026
Rename the top-level wrapper xdm:conversation to xdm:conversationTopicTaxonomy
(camelCase per convention) and xdm:hierarchy to xdm:taxonomy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@clubycoder clubycoder left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 after rename

@@ -0,0 +1,15 @@
{

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename from conversation to conversation-topics

"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$id": "https://ns.adobe.com/xdm/classes/agentic/conversation",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename from agentic/conversation to agentic/conversation-topics

"meta:status": "experimental",
"description": "A conversation record capturing derived conversation signals, including a topic taxonomy classification. Record-based (time-invariant) so it can be composed into a schema and used as a lookup/reference dataset.",
"definitions": {
"conversation": {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename from conversation to conversation-topics

"$ref": "https://ns.adobe.com/xdm/data/record"
},
{
"$ref": "#/definitions/conversation"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename from conversation to conversation-topics

Address @clubycoder review: rename the class artifact from
agentic/conversation to agentic/conversation-topics (files, $id, title,
definitions wrapper, and $ref). Property keys are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rbuck23

rbuck23 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @clubycoder! Done in 6005289 — renamed agentic/conversationagentic/conversation-topics across the files, $id, title, the definitions wrapper, and the $ref. Property keys are unchanged. Marking ready for review.

@rbuck23
rbuck23 marked this pull request as ready for review August 28, 2026 21:51
@rbuck23 rbuck23 changed the title Add Conversation record class with nested topic hierarchy (agentic) Add Conversation Topics record class with nested topic taxonomy (agentic) Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a Conversation record class with nested topic taxonomy (agentic)

2 participants