SDC_Agents
Purpose-scoped agents that turn the data already in your datastores into validated, signed SDC4 artifacts in open formats, and deliver them where they are needed. Without anyone hand-writing XML, RDF, or GQL.
What It Does
Your data is already somewhere: SQL tables, CSV exports, JSON documents, MongoDB collections. SDC_Agents read it where it lives, map its columns to published SDC4 components, generate validated instances in several open formats at once, sign them, and route the result to wherever it has to go.
Each agent is narrowly scoped and does one job. They hand work to each other through
inspectable files in .sdc-cache/ rather than opaque in-memory calls, so you can
read what happened at every step. Each toolset is also exportable as an
MCP server, so non-agent clients can call the same tools directly.
The pipeline
- Catalog
- - discover published SDC4 schemas and components, and download their artifacts.
- Introspect
- - read-only extraction of a datasource's structure. SQL, CSV, JSON, MongoDB.
- Mapping
- - map source columns onto semantic components.
- Generator
- - produce XML instances, RDF, JSON-LD, HTML and XSD from one source.
- Validation
- - deterministic XSD 1.1 validation, then a cryptographic signature. Not a probabilistic check.
- Distribution
- - route the artifact package to a triplestore (Fuseki or GraphDB, over the SPARQL Graph Store Protocol), Neo4j, a REST API, or the filesystem.
- Knowledge
- - ingest supporting context into a local vector store.
- Assembly
- - assemble data models, with a human review gate that shows the cost before anything is committed.
What it is not
Worth stating plainly, because this category attracts overclaiming.
- It does not "put your graph into any database." RDF is one of several output formats, and the supported delivery targets are Fuseki, GraphDB, Neo4j, REST and the filesystem. Anything else goes through REST or a SPARQL endpoint like everyone else.
- It does not make the runtime governance decision. PERMIT, DENY and INDETERMINATE verdicts with their receipts come from sdcgovernance, which is a separate engine. SDC_Agents generate, validate, sign, distribute, and keep the lineage.
- It does not author your meaning. Your domain experts define the components. The agents put your data into them.
Purpose isolation
No single agent holds both datasource access and network access. Datasource access is read-only. The design fails closed, every tool call lands in an append-only audit log, and lineage is tracked across datasources with schema-drift detection and compliance reports in JSON, Markdown and HTML. The architecture is aligned to IEEE 7000-2021.
Editions
Two are open source and on PyPI. The third is licensed, because it ships into environments that cannot reach a package index at all.
| Base | SMB | Sovereign | |
|---|---|---|---|
| For | Enterprise | Personal and small business | Air-gapped and regulated |
| Package | sdc-agents | sdc-agents-smb | Licensed distribution |
| License | Apache 2.0 | Apache 2.0 | Proprietary |
| LLM | Gemini | Local, via Ollama | Local, via Ollama |
| Backend | SDCStudio | SDCStudio | Local SDCStudio Sovereign |
| Outbound network | Yes | Yes | None |
The Sovereign edition is never published to a public package index, by design. If you need it, get in touch.
Install
Python 3.11 or newer.
# Enterprise edition, cloud LLM
pip install sdc-agents
# SMB edition, local LLM via Ollama
pip install sdc-agents-smb
Both are Apache 2.0. Source, changelog and the full product requirements document are on GitHub.