Issue-1640: Create delegation object and add it into ai_operation profile#1665
Issue-1640: Create delegation object and add it into ai_operation profile#1665Aniak5 wants to merge 4 commits into
delegation object and add it into ai_operation profile#1665Conversation
Schema Description ReviewAutomated suggestions for improving description clarity for LLM consumption. These are advisory — not required changes. Looking at the current PR state compared to my previous review: Previous Review Status✅ All previous suggestions have been addressed: The descriptions for Current ReviewSuggestions
SummaryThe delegation object descriptions are now much clearer after addressing the previous technical jargon. Only minor refinements needed: replacing "this action" with "this AI operation" for domain specificity, and aligning dictionary terminology with the resolved object descriptions. |
Introduces the delegation object describing a durable authorization context issued by a principal to an autonomous agent, adds the delegation and issuer_uid dictionary attributes, and adds an optional delegation attribute to the ai_operation profile so data-plane actions can be linked to the delegated authority under which they were performed.
Address the automated description-review feedback on PR ocsf#1665: - ai_operation.delegation: clarify "this action" as "this AI operation" - issuer_uid: align dictionary wording with the object-level description ("trusted system component" instead of "trusted boundary")
72389d7 to
a50d6ab
Compare
|
I like the direction here. One consideration is that the object is currently described as a principal-to agent authorization context, but the fields only capture I’d also suggest making the core object wording less AI-specific. Delegation is broadly useful across cybersecurity events: OAuth delegated consent, cloud STS/AssumeRole, service-account automation, sudo/setuid/impersonation, scheduled jobs, SOAR/RPA actions, and AI agents. The One additional placement thought: adding delegation only to ai_operation is fine for AI work, especially if #1641 broadens that profile coverage. But for general cybersecurity use, the natural long-term home may be actor.delegation or a generic delegated-authority profile, not only ai_operation. |
Summary
Introduces a
delegationobject describing the durable authorization context under which an autonomous AI agent acts, and makes it consumable from data-plane events via theai_operationprofile. This is the authorization-context layer of the agentic-AI work tracked in #1640, complementing the agent-identity work in #1641.A delegation is the grant a principal issues to an agent ("act on my behalf, within these bounds"). It persists independently of any single trace, session, or workflow instance, so the same delegation can be referenced across many events. Delegations reference a parent, forming a directed acyclic graph (DAG) that supports lineage queries across multi-agent compositions (re-delegation, sub-agent spawning).
What this adds
objects/delegation.json— thedelegationobject:uid(required) — stable identifier for the delegation, minted by a trusted boundary (gateway/orchestrator) rather than asserted by the agent. All events under this delegation share it.parent_uid(optional) — parent delegation, for re-delegation / sub-agent spawning. The transitive closure of parent references forms the ancestry DAG.created_time(recommended) — when the delegation was issued.issuer_uid(recommended) — the trusted boundary that minted the delegation; supports binding-integrity checks and correlates withmetadata.product.uidon the corresponding delegation lifecycle event.profiles/ai_operation.json— adds an optionaldelegationattribute so any AI-bearing data-plane event (tool call, file op, process launch, etc.) can be linked to the authority it was performed under. Enables queries like "show me everything this delegation did."dictionary.json— adds thedelegation(typedelegation) andissuer_uidattributes.uid,parent_uid, andcreated_timealready exist and are reused.Scope notes
delegationobject and its data-plane wiring. The lineage-graph objects (delegation_node,delegation_lineage) and control-plane events (delegation_activity,agent_activity) are deliberately out of scope here, since they depend on theai_agentobject from Addai_agentobject and extendai_operationprofile coverage #1641. They can follow once that lands.