feat: introduce ai-rel tag grammar for richer agent relationships#84
Draft
maximelb wants to merge 1 commit into
Draft
feat: introduce ai-rel tag grammar for richer agent relationships#84maximelb wants to merge 1 commit into
maximelb wants to merge 1 commit into
Conversation
Adds a new canonical tag vocabulary alongside the existing ai-team:/ai-agent:
identity and sends-to tags:
ai-rel:<scope>:<verb>:<kind>:<id>
where scope is a team name (or "standalone"/"global"), verb names the
relationship (role, sends-to, reads-from, writes-to, triggers-on, depends-on,
enriches), kind names the entity type on the other end (agent, sensor,
adapter, output, rule, hive, secret, case-tag, extension, team), and id is
the entity-specific identifier.
The grammar is rich enough to describe any relationship an agent has with
other things in the org, not just agent-to-agent hand-offs:
ai-rel:tiered-soc:role:agent:l2-analyst
ai-rel:tiered-soc:sends-to:agent:containment
ai-rel:tiered-soc:reads-from:output:siem-forward
ai-rel:tiered-soc:writes-to:case-tag:needs-malware-analysis
ai-rel:global:depends-on:secret:soc-l2-analyst
ai-rel:global:depends-on:extension:ext-cases
All 79 existing hive yaml files are migrated to carry the canonical
equivalents of their existing legacy tags. Legacy tags remain in place so
older consumers continue to work.
Documents the new grammar in the lc-deployer skill, including the legacy ->
canonical mapping table, authoring guidance for richer relationships, and the
reconstruction recipe for the flow graph. Updates multi-SOC merge/strip
procedures to respect both scopes.
Co-Authored-By: Claude Opus 4.7 (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
ai_agent/dr-generalhive record:ai-rel:<scope>:<verb>:<kind>:<id>.ai-teams/andai-agents/are migrated to carry the canonical equivalents of their currentai-team:/ai-agent:tags. Legacy tags remain in place so older consumers (e.g. the main webapp graph) continue to work.marketplace/plugins/lc-advanced-skills/skills/lc-deployer/SKILL.md(full verb reference, worked example, legacy → canonical mapping, authoring guidance, reconstruction recipe). Multi-SOC merge/strip procedures updated to scope by both tag families.ai_catalogue.yamlpointing readers at the grammar reference.Why
ai-team:…could express agent membership and agent-to-agent hand-off. That's it. There was no way to say "this agent reads from output X" or "this agent depends on secret Y" or "this agent triggers on case tag Z" in a structured, machine-readable form — so anything beyond the hand-off graph was invisible to any consumer that reads tags off live records.ai-rel:generalizes the scheme so any relationship an agent has with any other entity in the org can be declared as a single tag. The grammar is:<scope>tiered-soc,intel-team, …),standalonefor ungrouped agents,globalfor cross-scope refs (secrets, extensions)<verb>role,sends-to,reads-from,writes-to,triggers-on,depends-on,enriches<kind>agent,sensor,adapter,output,rule,hive,secret,case-tag,extension,team<id>plat:windows) or literal SIDs.Worked example —
tiered-soc/l2-analyst:Migration approach
limacharlie sync push), so the only thing to update is the yaml + the authoring documentation.ai-team:/ai-agent:keep working because those tags are untouched. New consumers should readai-rel:and fall back only when none are present.Test plan
git show HEAD -- ai-teams/tiered-soc/l2-analyst/hives/ai_agent.yaml,ai-agents/analyst/general-analyst/hives/ai_agent.yaml,ai-teams/bas-team/bas-executor/hives/ai_agent.yaml.limacharlie sync push --hive-ai-agent --hive-dr-generaland confirm the pushed records carry both tag families.ai-rel:tags and rebuilds the hand-off graph; confirm it matches the graph reconstructed from legacyai-team:sends-to:tags.🤖 Generated with Claude Code