Break skills out of agents in agentic event field group; Expand Skills Schema - #2248
Draft
sandersonb wants to merge 3 commits into
Draft
Break skills out of agents in agentic event field group; Expand Skills Schema#2248sandersonb wants to merge 3 commits into
sandersonb wants to merge 3 commits into
Conversation
Deprecate the per-agent xdm:agenticExperience.xdm:agents[].xdm:skills[] array and add a parallel top-level xdm:agenticExperience.xdm:skills[] that owns the full, ordered list of skill invocations. Non-breaking: additive plus deprecation-only; the nested array is retained and marked meta:status deprecated. The new skills[] array is marked meta:status experimental while its shape settles. Each skill entry carries: - identity: skillID, skillInvocationID (unique per call), name, version - attribution: agentID (links to xdm:agents[].agentID), score, failed - blend keys: timestamp (order), sequenceNumber (optional explicit order); skillInvocationID is the de-dupe key - classification: skillSource, executionContext (soft enums w/ meta:enum) - reasoning: object with narration (free text); object form leaves room for structured reasoning members later Update agentic-event.example.1.json to model the parallel structure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address subagent-attribution feedback on adobe#2248: - Add xdm:invocationSource (main | subagent) so consumers can tell harness main-loop skills from subagent-invoked skills. - Clarify xdm:agentID: always the invoking agent (root/orchestrator for main loop, the subagent otherwise); it is the grouping key for ordering under parallel subagents. Drop the ambiguous "absent = none" wording. - Re-scope xdm:sequenceNumber to be monotonic within a single agent execution (not turn-global), since subagents run in parallel; consumers group by agentID then order by sequenceNumber, then timestamp. - Deliberately omit a task id: dedupe is skillInvocationID and branch grouping/ordering is agentID, so a task id is non-consumable noise in the customer-facing schema (kept in OTEL). Update example to show both invocationSource values and per-execution sequence numbering. Co-Authored-By: Claude Opus 4.8 <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 #2246
Non-breaking (additive + deprecation-only). Breaks skills out of agents in the agentic event field group: deprecates the per-agent
xdm:agents[].xdm:skillsarray and adds a parallel top-levelxdm:agenticExperience.xdm:skills[](markedexperimental) that owns the full, ordered list of skill invocations, with keys for downstream de-duplication and ordering. Draft for design review — see "Still open" below.Motivation
Skills are moving to a first-class, skills-centric model shared by Brand Concierge, the AO quality pipeline, and future consumers. The nested per-agent array can't express an ordered cross-agent call list, per-call reasoning, or the ordering/dedupe keys downstream blending needs — and nested arrays aren't addressable by the Dataset Blender (one
[]per path), so flattening is a prerequisite for blending.Changes
components/fieldgroups/agentic/agentic-event.schema.jsonxdm:agents[].xdm:skills(retained;meta:status: deprecated).xdm:agenticExperience.xdm:skills[](meta:status: experimental) with:skillID,skillInvocationID,name,versionagentID(->xdm:agents[].agentID),score,failedsequenceNumber(primary order),timestamp(secondary); dedupe key isskillInvocationIDskillSource,executionContext(soft enums withmeta:enum)reasoningobject carrying free-textnarrationcomponents/fieldgroups/agentic/agentic-event.example.1.json— models the parallel structure.Decisions
sequenceNumberthentimestamp; de-duplicate byskillInvocationID(confirmed with the Dataset Blender owner).reasoningis narration-only (string). Turn-level thinking metrics (token count / duration) stay turn-level — they don't belong per-skill.executionContextvalues areinline/forked.timestampis required-by-convention (documented), not a hard schema constraint, so partially-instrumented producers are not dropped at ingestion.See Slack room #tmp-coworker-reasoning-naration-schema (ask
bsandersto be invited if not, and desired)Still open (feedback welcome)
reasoning.narration(derived from thinking output; a truncated preview today)Validation
npm test- 2413 passingnpm run lint- cleannpm run validate- zero new failures vsmasterbaselinenpm run incompatibility-check- clean (exit 0)Breaking changes
None.