GMEOW Agentic Module

What This Slice Covers

This slice owns 5 terms and contributes 2 mapping or projection rows. Use it when its terms match the native fact you want to preserve; use the linkage tables to see how those facts leave GMEOW for consumer vocabularies.

Dependencies

Consumers

Local Map

agentic map

Examples

Agent Trajectory

# SPDX-FileCopyrightText: 2026 Blackcat Informatics® Inc. <paudley@blackcatinformatics.ca>
# SPDX-License-Identifier: CC-BY-4.0
#
# Worked example: one agent turn as auditable provenance — a model
# invocation requests two tool calls; the entity the second call produced
# links BACK via gmeow:wasGeneratedBy (P5: no forward output property).
# Large payloads ride as content digest literals (the verbatim-or-digest
# doctrine); ordering is temporal (gmeow:atTime), not a TBox link.

@prefix gmeow: <https://blackcatinformatics.ca/gmeow/> .
@prefix ex:    <https://blackcatinformatics.ca/gmeow/examples/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .

ex:assistant a gmeow:SoftwareAgent ;
    rdfs:label "assistant model agent"@en .

ex:webSearch a gmeow:SoftwareAgent ;
    rdfs:label "web search tool"@en .

ex:storeClaim a gmeow:SoftwareAgent ;
    rdfs:label "memory store_claim tool"@en .

ex:invocation-7 a gmeow:ModelInvocation ;
    rdfs:label "turn 7 model invocation"@en ;
    gmeow:usedModel ex:assistant ;
    gmeow:samplingTemperature "0.2"^^xsd:decimal ;
    gmeow:atTime "2026-06-12T17:03:10Z"^^xsd:dateTime ;
    gmeow:eventTemporalFrame gmeow:temporalFrameUTCGregorian .

ex:call-7-1 a gmeow:ToolCall ;
    rdfs:label "turn 7, call 1: search"@en ;
    gmeow:calledByInvocation ex:invocation-7 ;
    gmeow:usedTool ex:webSearch ;
    gmeow:toolArguments "{\"query\": \"GTS deterministic encoding spec\"}" ;
    # Large result: the digest IS the value (gmeow:contentDigest convention).
    gmeow:toolResult "blake3:9f64a747e1b97f131fabb6b447296c9b6f0201e79fb3c5356e6c77e89b6a806a" ;
    gmeow:atTime "2026-06-12T17:03:11Z"^^xsd:dateTime ;
    gmeow:eventTemporalFrame gmeow:temporalFrameUTCGregorian .

ex:call-7-2 a gmeow:ToolCall ;
    rdfs:label "turn 7, call 2: store a memory note"@en ;
    gmeow:calledByInvocation ex:invocation-7 ;
    gmeow:usedTool ex:storeClaim ;
    gmeow:toolArguments "{\"text\": \"the GTS spec mandates RFC 8949 deterministic encoding\"}" ;
    gmeow:toolResult "{\"ok\": true}" ;
    gmeow:atTime "2026-06-12T17:03:14Z"^^xsd:dateTime ;
    gmeow:eventTemporalFrame gmeow:temporalFrameUTCGregorian .

# The produced entity links BACK to the call that wrote it (P5).
ex:note-2200 a gmeow:Document ;
    rdfs:label "stored memory note"@en ;
    gmeow:wasGeneratedBy ex:call-7-2 ;
    gmeow:wasAttributedTo ex:assistant .

Terms

Classes

Term Label Definition
gmeow:ToolCall Tool Call One invocation of a tool by an agent: the tool agent (gmeow:usedTool), the requesting model invocation when known (gmeow:calledByInvocation), and the verbatim...

Properties

Term Label Definition
gmeow:calledByInvocation called by invocation The model invocation that requested this tool call. Functional: one requesting invocation per call. Optional: a recording harness may not expose the invocation...
gmeow:toolArguments tool arguments The verbatim arguments payload presented to the tool (typically JSON), byte-faithful. For large payloads store a content digest literal instead ('blake3:…' — t...
gmeow:toolResult tool result The verbatim result payload the tool returned, byte-faithful — the PAYLOAD of the event, never a forward entity link: an entity the call produced links back vi...
gmeow:usedTool used tool The tool that was called — a SoftwareAgent (an MCP tool, a search service, a code runner). Deliberately no Tool subclass: tool-ness is the role the agent plays...

Linkages

Source Kind Profile Predicate/Relation Target Evidence
gmeow:ToolCall equivalence - skos:relatedMatch schema:Action gmeow-agentic.sssom.tsv; gmeow:eqAg002; confidence 0.6
gmeow:ToolCall equivalence - skos:relatedMatch wd:Q62270 gmeow-agentic.sssom.tsv; gmeow:eqAg001; confidence 0.5

Guide

The Agentic extension — the agent's actions as auditable provenance

The graphrag extension made the pipeline auditable; this slice makes the agent's actions auditable. A tool call is an event in the same provenance graph as the claims it produces: gmeow:ToolCall follows the ModelInvocation idiom exactly — a gufo:EventType under gmeow:Activity with one functional agent link and verbatim call payloads — so "which tool, called by which invocation, with what arguments, at what time?" is answerable after the fact, with no new provenance machinery (Principle 4).

The named consumer is Project Lillith's agentic mode (Principle 15), and the first live producer ships in this repo: the gmeow memory MCP triad records its own store_claim and revise_belief calls as ToolCall provenance, so the P14 memory flagship's actions are themselves grounded memory.

Deliberately thin: five terms. Trajectory aggregates (runs, episodes, plans) wait for a consumer that needs them; growth requires a new consumer, not modeling pleasure.

The call event

gmeow:ToolCall

One invocation of a tool by an agent — the ModelInvocation idiom one level down. A gufo:EventType under gmeow:Activity, so the temporal slice's clocks (gmeow:atTime) and the provenance slice's lineage (gmeow:wasGeneratedBy, gmeow:wasAttributedTo) apply unchanged. The doctrine that matters most is what ToolCall does not have: a forward output entity property. An entity the call produced — a stored claim, a written file, a minted node — links back via gmeow:wasGeneratedBy (Principle 5), exactly as a generated claim links back to its gmeow:ModelInvocation. A multi-tool turn is several ToolCalls, never one fat one (closed-world sh:maxCount twins gate every functional property).

gmeow:calledByInvocation

The model invocation that requested the call — the seam joining the action trajectory to the generation trajectory. Functional, and deliberately optional: a recording harness may not expose the invocation, and a ToolCall without one is still auditable provenance. The call's result feeding a later invocation is temporal ordering (gmeow:atTime), not a TBox link.

gmeow:usedTool

The tool that was called, mirroring gmeow:usedModel. The range is gmeow:SoftwareAgent and there is deliberately no Tool subclass: tool-ness is the role the agent plays in this call event, not an identity (roles classify, never reify — the Persona lesson). An MCP tool, a search service, and a code runner are SoftwareAgents that happen to be called. One tool per call, functional.

The payloads

gmeow:toolArguments · gmeow:toolResult

The verbatim, byte-faithful payloads of the call — what was asked and what came back. These record the payload of the event, never an entity link; gmeow:toolResult is the JSON the tool returned, not the thing it created. For large payloads the verbatim-or-digest doctrine applies: store a content digest literal ("blake3:…" — the gmeow:contentDigest convention from the sources slice) instead of the bytes; the digest is the value, resolvable from a content-addressed store, and the self-describing prefix keeps the two forms distinguishable. At most one arguments record and at most one result record per call — both optional (functional, with closed-world twins).

Cross-slice bridges

Alignments

gmeow:ToolCall is prov:Activity by inheritance through gmeow:Activity (the provenance alignment set). Wikidata's nearest stable entity is the mechanism, not the event (wd:Q62270, remote procedure call — relatedMatch). OpenAI function-calling, Anthropic tool_use, and MCP tool schemas are JSON specifications with no stable RDF namespace: bridging them is a projection concern (Lillith worked example Workflow Run Crate, the OpenLineage precedent), recorded as REFUSED cells in the mapping trailer rather than papered over.