Extending SPDX

September 10, 2026 ยท View on GitHub

SPDX 3.0 is one of the three normative AgBOM serializations in v0.1.0. The canonical AgBOM document is the source of truth; SPDX output is derived deterministically from it. The mapping rules live in inspect/format-mapping.json.

Component-type mapping

Each canonical component becomes one SPDX software_Package or Service node. Relationships (DEPENDS_ON, DESCRIBES, USES) reflect the agent_capability/tool/mcp_server graph.

Canonical typeSPDX classNotes
modelai_AIPackageSPDX 3.0 AI profile node for model artifacts.
mcp_serverServiceEndpoint reachable via MCP.
a2a_peerServiceCross-agent endpoint; agent_card_ref flows into externalRef.
toolsoftware_PackageAgent-callable code unit.
knowledge_sourceServiceDatastore or search endpoint.
memory_storeServiceLong-lived state store.
agent_capabilitysoftware_PackageComposed capability; its tool/MCP/A2A dependencies become DEPENDS_ON relationships.

Relationships

ACS edgeSPDX relationship
agent_capability.tools[]agent_capability USES tool
agent_capability.mcp_servers[]agent_capability USES mcp_server
agent_capability.a2a_peers[]agent_capability USES a2a_peer
mcp_server.tools[]mcp_server CONTAINS tool
Root agent โ†’ all componentsagent DEPENDS_ON <component>

Status

Working draft. The full SPDX 3.0 JSON-LD profile bindings are evolving alongside SPDX's AI profile work.