Skip to content

feat(semantic): add agent-system vocabulary seed — JSON-LD [T0-3] - #232

Merged
mdheller merged 1 commit into
mainfrom
feat/t0-3-agent-system-vocabulary
Jul 31, 2026
Merged

feat(semantic): add agent-system vocabulary seed — JSON-LD [T0-3]#232
mdheller merged 1 commit into
mainfrom
feat/t0-3-agent-system-vocabulary

Conversation

@mdheller

Copy link
Copy Markdown
Contributor

Implements T0-3. Adds semantic/agent-system-vocabulary.jsonld (6 terms, each @type/rdfs:label/rdfs:comment) + validator into make validate.

Verification

  • python3 tools/validate_agent_system_vocabulary.pyOK: agent-system vocabulary valid; 6 terms defined with @type + rdfs:label + rdfs:comment (...)
  • make validateOK: validate

Acceptance criteria

  • Valid JSON-LD
  • All six terms with @type, rdfs:label, rdfs:comment
  • Namespace consistent with semantic/ patterns
  • make validate passes

Closes #231

Vocabulary seed for the agent-system domain (base ns
https://spec.sourceos.dev/vocab/agent-system#): six terms — AgentClass,
PermissionFlag, ManagedSpace, SeamDefinition, CapabilityException,
BundleIdentity — each with @type/rdfs:label/rdfs:comment. Anchors the
urn:srcos:agent-passport:* namespace; realized as OWL/SHACL in ontogenesis (T1).

- semantic/agent-system-vocabulary.jsonld
- tools/validate_agent_system_vocabulary.py: asserts all six terms present and
  complete (empty label/comment rejected).
- Makefile: validate-agent-system-vocabulary wired into validate.

make validate green. Closes #231
Copilot AI review requested due to automatic review settings July 31, 2026 03:59
@mdheller
mdheller merged commit d8a5e44 into main Jul 31, 2026
8 checks passed
@mdheller
mdheller deleted the feat/t0-3-agent-system-vocabulary branch July 31, 2026 04:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements Issue #231 (T0-3) by adding a seed JSON-LD vocabulary for the agent-system domain under the https://spec.sourceos.dev/vocab/agent-system# namespace and wiring a dedicated validator into the repository’s make validate workflow.

Changes:

  • Added semantic/agent-system-vocabulary.jsonld defining the six required terms with @type, rdfs:label, and rdfs:comment.
  • Added tools/validate_agent_system_vocabulary.py to enforce required terms/fields and basic namespace invariants.
  • Integrated the new validator into Makefile via validate-agent-system-vocabulary and included it in the validate aggregate target.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
tools/validate_agent_system_vocabulary.py New Python validator to enforce required term presence/completeness for the agent-system JSON-LD vocabulary seed.
semantic/agent-system-vocabulary.jsonld New JSON-LD vocabulary seed defining the required six agent-system terms in the specified namespace.
Makefile Adds a validate-agent-system-vocabulary target and includes it in make validate.

Comment on lines +35 to +44
def main() -> int:
try:
doc = json.loads(VOCAB_PATH.read_text(encoding="utf-8"))
except (OSError, json.JSONDecodeError) as exc:
fail(f"{VOCAB_PATH.name} is not valid JSON: {exc}")

ctx = doc.get("@context")
if not isinstance(ctx, dict) or ctx.get("agentsys") != BASE_NS:
fail(f"@context must map agentsys -> {BASE_NS}")

Comment on lines +56 to +63
term = node_id.split(":", 1)[1]
missing = REQUIRED_FIELDS - set(node)
if missing:
fail(f"term {term} is missing required field(s): {sorted(missing)}")
for field in ("rdfs:label", "rdfs:comment"):
if not str(node.get(field, "")).strip():
fail(f"term {term} has an empty {field}")
seen[term] = node
Comment thread Makefile
@@ -1,8 +1,11 @@
.PHONY: validate validate-resource-contract validate-measurement validate-value-type validate-source-locator validate-sourceos-repo-manifest validate-mesh-action-registry validate-control-plane-examples validate-nlboot-examples validate-lattice-data-governai-examples validate-ops-history-examples validate-runtime-observability-examples validate-interpretability-examples validate-lifecycle-boundary-examples validate-svf-contracts validate-sync-cycle-receipts validate-onboarding-examples validate-runtime-causality-examples validate-agentic-os-examples validate-triparty-examples validate-labor-market-examples validate-supply-chain-risk-examples validate-reasoning-examples validate-mpcc-event-examples validate-knowledge-nugget-examples validate-semantic-action-examples validate-epistemic-kernel-examples validate-ab-update-examples validate-device-service-examples validate-duplicate-schema-ids validate-lawful-dispatch-receipt validate-architectural-building-block validate-agent-passport-examples validate-seam-definition-examples validate-measurement
.PHONY: validate validate-resource-contract validate-measurement validate-value-type validate-source-locator validate-sourceos-repo-manifest validate-mesh-action-registry validate-control-plane-examples validate-nlboot-examples validate-lattice-data-governai-examples validate-ops-history-examples validate-runtime-observability-examples validate-interpretability-examples validate-lifecycle-boundary-examples validate-svf-contracts validate-sync-cycle-receipts validate-onboarding-examples validate-runtime-causality-examples validate-agentic-os-examples validate-triparty-examples validate-labor-market-examples validate-supply-chain-risk-examples validate-reasoning-examples validate-mpcc-event-examples validate-knowledge-nugget-examples validate-semantic-action-examples validate-epistemic-kernel-examples validate-ab-update-examples validate-device-service-examples validate-duplicate-schema-ids validate-lawful-dispatch-receipt validate-architectural-building-block validate-agent-passport-examples validate-seam-definition-examples validate-agent-system-vocabulary validate-measurement
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(semantic): add agent-system vocabulary seed — JSON-LD [T0-3]

2 participants