Add ai_tool object to the ai_operation profile for MCP primitive metadata - #1729
Open
Levaj2000 wants to merge 2 commits into
Open
Add ai_tool object to the ai_operation profile for MCP primitive metadata#1729Levaj2000 wants to merge 2 commits into
ai_tool object to the ai_operation profile for MCP primitive metadata#1729Levaj2000 wants to merge 2 commits into
Conversation
…data Adds a new ai_tool object (extending _entity) referenced optionally from the ai_operation profile, recording the AI capability invoked in an operation: primitive kind (tool/resource/prompt), stable capability identity, provenance (serving service + transport binding), declared MCP behavior hints (explicitly self-declared and unverified), and input/output schema fingerprints for contract-drift detection. Closes ocsf#1728. Verified against main with a local JSON parse of all three changed files; dictionary additions reuse existing entries where they exist (name, uid, namespace, service, fingerprint, uri, mime_type, version, is_readonly, transaction_uid, source/source_id). Signed-off-by: Teryl Taylor <terylt@ibm.com> Signed-off-by: Jeff Leva <120221487+Levaj2000@users.noreply.github.com> Co-authored-by: Jeff Leva <120221487+Levaj2000@users.noreply.github.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VbzWjrF29ixcTwVvpR8ntg
Schema Description ReviewAutomated suggestions for improving description clarity for LLM consumption. These are advisory — not required changes. Previous Review Status
SummaryAll three issues from the previous review have been addressed. The
|
Levaj2000
marked this pull request as ready for review
August 13, 2026 20:15
Levaj2000
requested review from
Aniak5,
davemcatcisco,
floydtree,
jasonbreimer,
mikeradka,
pagbabian-splunk and
zschmerber
as code owners
August 13, 2026 20:15
Per the schema description review: add the standard 'Other' clause to the type sibling, and the 'Other'/source-sibling note to source_id. Swap the three CHANGELOG references from issue ocsf#1728 to this PR, per the changelog convention. Signed-off-by: Jeff Leva <120221487+Levaj2000@users.noreply.github.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VbzWjrF29ixcTwVvpR8ntg
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.
Related Issue:
#1728
Description of changes:
Adds a new
ai_toolobject (extending_entity), referenced optionally from theai_operationprofile, recording the AI capability invoked in an operation — full rationale, field-by-field justification, and open questions are in #1728 (proposed by @terylt and @Levaj2000):objects/ai_tool.json(new): primitive kind (type_id: Tool/Resource/Prompt), stable capability identity (uid) vs. call correlation (transaction_uid), provenance (service+transport_id), binding (source_id: MCP/Function/Built-in), declared MCP behavior hints (is_readonly/is_destructive/is_idempotent/is_open_world— descriptions state they are self-declared and unverified), schema fingerprints reusing thefingerprintobject, resource fields (uri,mime_type), and MCP 2026-07-28 RC fields (cache_scope_id,cache_ttl,task_uid).profiles/ai_operation.json: adds the optionalai_toolattribute, with guidance that observed behavior wins over declared hints when derivingactivity_id.dictionary.json: 12 new entries (ai_tool,transport/transport_id,is_destructive,is_idempotent,is_open_world,input_schema_fingerprint,output_schema_fingerprint,cache_scope/cache_scope_id,cache_ttl,task_uid); everything else reuses existing dictionary entries.CHANGELOG.md: entries underUnreleased→ Added → Profiles / Objects / Dictionary Attributes.Single squashed commit authored by @terylt, co-authored by @Levaj2000, DCO signed-off by both.
Validation status (why this opens as draft): all three changed schema files parse as valid JSON and the diff applies cleanly to current
main; a localocsf-serverrun has not yet been performed — we'll do that (or lean on CI) before marking ready for review.Generated by Claude Code