Thesis & Framework · Loose Coupling vs. Systems of Record

The Incumbents Are Coming — Loosely Coupled, Not Locked In

Seema Amble names a real coupling problem: each application may describe the same customer, contract, or transaction differently. This collection argues RDF/Linked Data already answers it — and points at agent-rdf-memory, openly published at github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory, as the non-hypothetical proof.

KG curated by the kg-generator skill on behalf of Kingsley Uyi Idehen.

Synopsis

Two Sources, One Architecture

Seema Amble's “The Incumbents Are Coming” argues that AI makes systems of record more valuable, not less — incumbents can control data/action access and push their own agents forward, and Claudeforce shows what that looks like: Claude as the front door to the job while Salesforce still owns the CRM data and actions. But she is explicit that each application may describe the same customer, contract, or transaction differently, and that the customer's job to be done is bigger than any one record.

agent-rdf-memory is a shared knowledge graph openly published at github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory, with a live copy driving this very session: a dozen-plus independently-vendored AI agent harnesses read and write ONE Turtle-file graph through a common vocabulary and globally dereferenceable IRIs, with zero bespoke per-vendor integration code. This collection doesn't just summarize Seema's thesis — it names the coupling problem she describes and shows a running, non-hypothetical example of the architecture that already answers it, mapped onto her own four-tier agent hierarchy, and honest about what loose coupling does NOT solve.

The Coupling Problem

Naming the Coupling Problem in Seema's Own Terms

Incumbent systems of record — Salesforce's CRM schema, Docusign's contract model, Atlassian's issue model, Klaviyo's campaign model — are each a closed, proprietary, tightly-coupled data model. A general agent reaching across them via MCP has to reconcile a different representation of the same real-world thing per app, at integration time, per app, forever.

“Each application may describe the same customer, contract, or transaction differently”

Claudeforce

Salesforce and Anthropic's integration letting a user work with Salesforce CRM data and actions from inside Claude without opening Salesforce.

Docusign's Iris

Docusign's contract-review product, applying a legal team's playbook — bounded by Docusign's own contract schema.

Atlassian's Rovo

Atlassian's product aiming to resolve and route requests across Atlassian's own issue-tracking products.

Klaviyo's Composer

Klaviyo's product that builds marketing campaigns and assesses marketing performance.

The Loose-Coupling Alternative

agent-rdf-memory: A Running, Non-Hypothetical Example

A dozen-plus independently-vendored model harnesses all read and write ONE shared Turtle graph using a common vocabulary — schema.org plus a small local ontology — with globally dereferenceable HTTP IRIs for every entity. A brand-new agent vendor onboards by reading the SAME files everyone else reads — zero bespoke per-agent integration code, zero schema negotiation.

Claude Code

Reads and writes the shared agent-rdf-memory graph.

DeepSeek V4 Pro

Reads and writes the shared agent-rdf-memory graph.

Grok 4.3 + Grok CLI

Reads and writes the shared agent-rdf-memory graph.

GLM-5.1 / GLM-5.2

Reads and writes the shared agent-rdf-memory graph.

Kimi K2.6

Reads and writes the shared agent-rdf-memory graph.

MiniMax

Reads and writes the shared agent-rdf-memory graph.

Big Pickle / OpenCode

Reads and writes the shared agent-rdf-memory graph.

GPT-5 Chat Codex

Reads and writes the shared agent-rdf-memory graph.

List every model harness sharing the agent-rdf-memory graph
PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?harness ?name WHERE {
  GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/incumbents-are-coming-rdf-loose-coupling-meshup-claude_sonnet_5-1.ttl> {
    ?harness rdf:type <https://linkeddata.uriburner.com/DAV/demos/daas/incumbents-are-coming-rdf-loose-coupling-meshup-claude_sonnet_5-1.ttl#ModelHarness> ;
             schema:name ?name .
  }
}
ORDER BY ?name

Every harness above is a live GRAPH row — not a claim in prose. Run live query

Agent Hierarchy

Mapping the Comparison onto Seema's Own Four-Tier Agent Hierarchy

For each of Seema's own tiers — distinguished by how much autonomy and judgment each requires — here is what RDF's loose coupling concretely changes, relative to the tightly-coupled incumbent-record model.

1

Retrieval

Retrieval assistants find information, summarize documents, answer questions, and draft responses — Seema's own definition of the least autonomous tier.

Loose-coupling answer: SPARQL federated queries (SERVICE) join across systems by shared IRIs instead of N bespoke API connectors per source.
2

Process

Process agents carry out rule-based work like updating records or routing approvals, using limited judgment to interpret the task, and act.

Loose-coupling answer: Provenance (schema:author, schema:dateModified, PROV-O-style actedOnBehalfOf) comes for free from the graph model instead of being re-implemented as custom audit logging inside every application.
3

Policy

Policy agents apply the rules in an organization's playbooks, precedents, and thresholds to ambiguous cases — like Docusign's Iris applying a legal team's playbook.

Loose-coupling answer: A playbook or threshold rule set expressed once — as SHACL shapes, or as the schema:HowToStep sequences this repository already uses — is reusable across any record shaped by the same vocabulary, instead of Iris being a closed model that only ever applies inside Docusign's own contract schema. Illustrated by Docusign's Iris.
4

Principal

Principal agents make judgment calls about what the organization should do, often with open-ended tradeoffs around strategy, risk, and resources.

Loose-coupling answer: A job that crosses applications and companies is exactly what a graph of dereferenceable IRIs is for: the job's real entities — the contract, the customer, the decision — can be described once and referenced FROM every system that touches them, rather than re-keyed by each system's private primary key.
Horses for Courses

Loose Coupling Is an Enabling Property, Not a Fixed Solution

Loose coupling isn't a single algorithm competing with Harvey's Tenet for the same job — it's the property that lets you pick whichever component actually fits, horses for courses. Harvey's Tenet is one such horse, covered next, alongside the one loose coupling already saddles.

How Harvey Manufactured the Curriculum

Harvey post-trained an open-weight model, Tenet, using synthetic data, public legal data, and human-expert-created data — without starting from customer data. It created roughly 1,750 legal-task environments, each simulating a partner-assigned matter, complete with documents and tools and an expert rubric of about 50 specific criteria for a high-quality result. A graph of dereferenceable IRIs doesn't compete with this — it's simply a different horse, suited to a different part of the job, covered next.

Where They Meet

Where the Axes Actually Meet: The Beyond LLM Wiki Pattern

The Beyond LLM Wiki pattern is the other horse — proof that loose coupling's pick-the-right-component property isn't just theoretical. It's already running inside agent-rdf-memory itself.

Beyond LLM Wiki

What Kingsley Idehen calls a Beyond LLM Wiki is the Semantic Web extension of Andrej Karpathy's LLM Wiki idea (feed in documents, get back a structured, explorable wiki). The extension: don't stop at Markdown prose — let the wiki become a living, queryable knowledge graph, continuously enriched by AI agents rather than written once and left to rot.

This isn't hypothetical — you're reading a live instance of it right now, and it isn't the only one. The URIBurner DaaS Weblog and the OpenLink Software Weblog run the identical encounter-document, generate-KG, deploy-to-weblog workflow live, over two independently deployed WebDAV folders — proof the pattern scales past a single one-off collection.

Tacit Knowledge

The notes, corrections, and judgment calls knowledge workers leave behind across Discuss threads, Slack, and Teams — distilled into first-class graph entities.

Explicit Knowledge

An organization's formal procedures and best-practices documents per expertise domain — feeding the same graph directly.

Both land as dereferenceable HowTo and Action entities, not paragraphs of prose a model has to re-read cold every time. agent-rdf-memory's own howto/ corpus — grown, this session included, from mistakes corrected across a dozen-plus model vendors — is exactly this in production: every new agent task-processing turn re-consults the same graph before acting, recursively, the way this very session did before writing a word of this collection.

Weight-Level Loop

Harvey's Tenet changes a model's weights, post-trained on a manufactured curriculum of roughly 1,750 expert-rubric'd task environments — Seema's learning loop.

In-Context Loop

The Beyond LLM Wiki pattern changes an agent's behavior in-context, on every turn, with zero weight changes, by recursively retrieving structured procedural knowledge from a graph that keeps growing.

That's a real learning loop — just not the one Seema describes. Both answer the same question — how does the system get better after each job — and loose coupling is exactly what lets you saddle either horse, or both at once, on the same substrate without re-architecting anything.

Comparison

Incumbent Record + General Agent vs. RDF Loose Coupling

Eight dimensions, including where the two models don't compete at all (the last row).

DimensionIncumbent Record + General AgentRDF Loose Coupling
Schema ownershipEach incumbent (Salesforce, Docusign, Atlassian, Klaviyo) owns and controls its own private, proprietary data model; a general agent must adapt to each one separately.Schema is a small, shared, public vocabulary (schema.org plus a local ontology) that no single application owns — any party can extend it by adding a new predicate.
Cross-application identity resolutionThe same customer, contract, or transaction is represented differently in each system; reconciling identity across apps is manual, per-integration work.Every real-world entity gets one dereferenceable IRI (owl:sameAs links any duplicates); identity resolution is solved once at data-modeling time, not re-solved per integration.
Integration cost for a new data sourceOnboarding a new system of record means writing a new API connector, handling its auth, and mapping its private schema.Onboarding a new source means pointing it at the same shared files and vocabulary already in use — no bespoke connector code.
Data & agent portability (vendor lock-in)Claude can sit above Salesforce's data via Claudeforce, but the data and its actions stay owned and priced by Salesforce; switching systems of record means rebuilding every integration.The graph and its vocabulary are decoupled from any single vendor or application; any compliant reader or writer can use the same store without renegotiating access.
Provenance & audit trailEach application implements its own bespoke audit log for who changed what and why.Provenance (schema:author, schema:dateModified, PROV-O-style actedOnBehalfOf) is a property of the graph model itself — every write carries it automatically, reusable across every application on the graph.
ExtensibilityAdding a new capability usually means a new API version, new auth scopes, and a new integration to maintain.Adding a new capability usually means adding a new predicate to the shared vocabulary — existing data and readers are unaffected.
Cross-company / cross-party reachAn incumbent's automation is bounded by the record it owns; reaching outside data — a supplier's, say — still requires a bespoke agreement and integration, even with MCP.Dereferenceable IRIs let any two parties reference the exact same entity — a contract, a customer, a decision — from their own separate graphs without a private integration; the shared reference IS the interoperability.
Judgment & the learning loop (horses for courses)A vertical AI-native company earns deep judgment on ambiguous cases by seeing many examples of one job and building a manufactured curriculum — Harvey's Tenet — one horse suited to the judgment part of the job, independent of how its data happens to be stored.Loose coupling solves interoperability, identity, and schema ownership outright — and because nothing is hard-wired, it's exactly what lets you saddle the right horse for judgment too: the same graph substrate already carries a Beyond LLM Wiki pattern, recursively consulting structured HowTo/Action entities built from tacit and explicit knowledge on every agent turn. Horses for courses, not a boundary.
Incumbent Record + General AgentClaudeforce-style
Each incumbent (Salesforce, Docusign, Atlassian, Klaviyo) owns and controls its own private, proprietary data model; a general agent must adapt to each one separately.
The same customer, contract, or transaction is represented differently in each system; reconciling identity across apps is manual, per-integration work.
Onboarding a new system of record means writing a new API connector, handling its auth, and mapping its private schema.
Claude can sit above Salesforce's data via Claudeforce, but the data and its actions stay owned and priced by Salesforce; switching systems of record means rebuilding every integration.
Each application implements its own bespoke audit log for who changed what and why.
Adding a new capability usually means a new API version, new auth scopes, and a new integration to maintain.
An incumbent's automation is bounded by the record it owns; reaching outside data — a supplier's, say — still requires a bespoke agreement and integration, even with MCP.
A vertical AI-native company earns deep judgment on ambiguous cases by seeing many examples of one job and building a manufactured curriculum — Harvey's Tenet — one horse suited to the judgment part of the job, independent of how its data happens to be stored.
RDF Loose Couplingagent-rdf-memory-style
Schema is a small, shared, public vocabulary (schema.org plus a local ontology) that no single application owns — any party can extend it by adding a new predicate.
Every real-world entity gets one dereferenceable IRI (owl:sameAs links any duplicates); identity resolution is solved once at data-modeling time, not re-solved per integration.
Onboarding a new source means pointing it at the same shared files and vocabulary already in use — no bespoke connector code.
The graph and its vocabulary are decoupled from any single vendor or application; any compliant reader or writer can use the same store without renegotiating access.
Provenance (schema:author, schema:dateModified, PROV-O-style actedOnBehalfOf) is a property of the graph model itself — every write carries it automatically, reusable across every application on the graph.
Adding a new capability usually means adding a new predicate to the shared vocabulary — existing data and readers are unaffected.
Dereferenceable IRIs let any two parties reference the exact same entity — a contract, a customer, a decision — from their own separate graphs without a private integration; the shared reference IS the interoperability.
Loose coupling solves interoperability, identity, and schema ownership outright — and because nothing is hard-wired, it's exactly what lets you saddle the right horse for judgment too: the same graph substrate already carries a Beyond LLM Wiki pattern, recursively consulting structured HowTo/Action entities built from tacit and explicit knowledge on every agent turn. Horses for courses, not a boundary.
Retrieve every comparison dimension with its two model values
PREFIX schema: <http://schema.org/>
PREFIX cdx: <https://linkeddata.uriburner.com/DAV/demos/daas/ontology-terms#>
PREFIX x: <https://linkeddata.uriburner.com/DAV/demos/daas/incumbents-are-coming-rdf-loose-coupling-meshup-claude_sonnet_5-1.ttl#>

SELECT ?dim ?name ?incumbent ?rdfSide WHERE {
  GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/incumbents-are-coming-rdf-loose-coupling-meshup-claude_sonnet_5-1.ttl> {
    ?dim a cdx:ComparisonDimension ;
         schema:name ?name ;
         x:incumbentApproach ?incumbent ;
         x:rdfApproach ?rdfSide .
  }
}
ORDER BY ?name

Every row of the table above is a live GRAPH query result. Run live query

HowTo

How Loose RDF Coupling Actually Works in agent-rdf-memory

1

Mint one globally dereferenceable IRI per real-world entity

Use a platform/authority priority ladder — LinkedIn or X for people, DBpedia or Wikidata for organizations — instead of a private per-application primary key. Any system can then reference the same entity without re-keying it.

2

Store every fact as an RDF triple in a small set of shared files

core.ttl, preferences.ttl, entities/*.ttl, howto/*.ttl, and sessions/*.ttl, using one common vocabulary — schema.org plus a small local ontology — rather than one schema per application.

3

Let a new agent vendor onboard by reading the same files

No bespoke per-vendor integration code, no schema negotiation, no adapter to write — a dozen-plus independently-vendored harnesses already do exactly this against agent-rdf-memory.

4

Record who changed what, and on whose behalf, from the graph model itself

schema:author, schema:dateModified, schema:accountablePerson, and prov:actedOnBehalfOf come for free from the graph — not from a custom audit log rebuilt inside every application.

5

Express a playbook or threshold rule once, as a reusable sequence

An ordered schema:HowToStep sequence, or a SHACL shape, expressed once against the shared vocabulary is reusable by any record shaped by that vocabulary — instead of being rebuilt inside every vendor's own schema.

6

Query across every system that shares the vocabulary with one federated query

A SPARQL SERVICE query joins across systems by shared IRIs in one request, instead of writing N bespoke API connectors, one per data source.

FAQ

Frequently Asked Questions

That AI makes systems of record more valuable, not less, because incumbents can control data/action access and push their own agents forward — but the customer's job to be done is bigger than any one record, leaving room for vertical AI-native startups that win through focus and a learning loop.

A partnership between Salesforce and Anthropic letting a user work with Salesforce CRM data and actions from inside Claude without opening Salesforce, with Claude as the front door while Salesforce still owns the underlying CRM data and actions.

Retrieval assistants, Process agents, Policy agents, and Principal agents — distinguished by how much autonomy and judgment each requires.

That each application may describe the same customer, contract, or transaction differently — pulling information across applications, even via MCP, has latency and no shared representation of the same real-world thing.

A shared Turtle-file knowledge graph in this repository that a dozen-plus independently-vendored AI agent harnesses all read and write, using one common vocabulary and globally dereferenceable IRIs — a concrete, running example of loose coupling.

By reading the same files — core.ttl, preferences.ttl, entities/*.ttl, howto/*.ttl, sessions/*.ttl — every other harness already reads: zero bespoke per-agent integration code, zero schema negotiation.

SPARQL federated queries (SERVICE) join across systems by shared IRIs instead of requiring N bespoke API connectors, one per data source.

Provenance (schema:author, schema:dateModified, PROV-O-style actedOnBehalfOf) comes for free from the graph model, instead of being re-implemented as custom audit logging inside every application.

A playbook or threshold rule set expressed once — as SHACL shapes, or schema:HowToStep sequences — is reusable across any record shaped by the same vocabulary, instead of being a closed model, like Docusign's Iris, that only ever applies inside one vendor's own schema.

A job that crosses applications and companies can be described once, as a graph of dereferenceable IRIs, and referenced FROM every system that touches it, rather than re-keyed by each system's private primary key.

Loose coupling was never meant to solve everything by itself — it's an enabling property, not a fixed algorithm. It's what lets you pick the right horse for a given part of the job: Harvey's manufactured curriculum (via its model Tenet) is one horse, changing model weights for judgment on ambiguous cases. The same graph substrate agent-rdf-memory runs on already saddles a second horse — a Beyond LLM Wiki pattern where tacit and explicit knowledge feed structured HowTo/Action entities that every future agent turn recursively re-consults, no training run required. Horses for courses, not a competition.

It post-trained an open-weight model using synthetic data, public legal data, and human-expert-created data, creating roughly 1,750 legal-task environments simulating partner-assigned matters, each with an expert rubric of about 50 specific criteria.

Salesforce's CRM (via Claudeforce), Docusign's Iris, Atlassian's Rovo, and Klaviyo's Composer.

Yes, at the in-context/behavioral layer: mistakes corrected in any session, across any of the dozen-plus model vendors sharing the graph, get written once as a schema:HowToStep and re-consulted by every future agent task-processing turn before it acts — a Beyond LLM Wiki pattern blending tacit knowledge (session corrections) and explicit knowledge (skill documentation). It does not change model weights the way Harvey's Tenet does; it changes what any agent reads before acting.

Glossary

Terms

Loose coupling

An architectural style where components interact through a small shared, public interface (here: a common RDF vocabulary and dereferenceable IRIs) rather than each other's private internals, so a new component can be added without renegotiating with every existing one.

Tight coupling

An architectural style where components depend directly on each other's private, proprietary internals — here, each incumbent's own CRM/contract/issue/campaign schema — so integrating a new one means bespoke, per-pair adaptation work.

System of record

The application an organization treats as the authoritative source for a given kind of data — Salesforce for CRM data, Docusign for contracts, Atlassian for issues, Klaviyo for campaigns.

Dereferenceable IRI

An HTTP(S) identifier that, when looked up, returns a structured description of the entity it names — the mechanism that lets any two systems reference the exact same real-world thing without a shared database.

owl:sameAs

An OWL property asserting that two different IRIs denote the identical real-world entity — the mechanism used to link a person's or organization's several platform identities into one resolvable identity.

SPARQL SERVICE federation

The SPARQL 1.1 Federated Query clause that lets one query reach across multiple named graphs or remote endpoints and join their results by shared IRI, in a single request.

PROV-O

The W3C Provenance Ontology, providing schema.org-compatible properties (prov:wasGeneratedBy, prov:actedOnBehalfOf) for recording who or what produced a piece of data and on whose behalf.

SHACL

The Shapes Constraint Language — a W3C standard for expressing validation rules and playbook-style constraints against RDF data once, reusable across any graph shaped by the vocabulary the shape targets.

Model Context Protocol (MCP)

Anthropic's open protocol letting a general-purpose agent like Claude call tools and pull data from external applications — the mechanism Seema notes still has to reconcile a different representation of the same thing per application.

Learning loop

Seema's term for the cycle that improves a model-plus-harness system after each job, using the agent's work, expert feedback, and outcomes to improve the next attempt. One horse for that job; the in-context learning loop a Beyond LLM Wiki pattern runs at the graph layer is another — one changes model weights, the other changes what a graph hands an agent before it acts, and loose coupling is what lets you run either, or both.

Vertical AI harness

The context, tools, workflows, and evals a vertical AI company builds around a model so it performs a specific cross-system job well — the thing Seema argues makes the learning loop possible.

agent-rdf-memory

This repository's shared Turtle-file knowledge graph, read and written by a dozen-plus independently-vendored AI agent harnesses through one common vocabulary and globally dereferenceable IRIs.

Claudeforce

Salesforce and Anthropic's integration letting a user work with Salesforce CRM data and actions from inside Claude without opening Salesforce.

Beyond LLM Wiki

Kingsley Idehen's extension of Andrej Karpathy's LLM Wiki idea (feed documents to a model, get back a structured wiki): don't stop at Markdown prose — let the wiki become a living, SPARQL-queryable knowledge graph, continuously enriched by AI agents from both tacit knowledge (worker notes and corrections) and explicit knowledge (formal procedures), and recursively consulted on every agent task-processing turn. agent-rdf-memory's howto/ corpus is a running instance.

Knowledge Graph Explorer 160 nodes · 386 links

Interactive graph visualization derived from the companion RDF. Click nodes to resolve, drag to explore. Graph data embedded from companion RDF at generation time.

Incumbents vs. Loose Coupling — Meshed Graph

Nodes: 0 Links: 0
Click SVG to activate zoom, click outside to release | Drag nodes to pin, double-click to unpin
Classes Properties Instances

Explore Knowledge Graph using SPARQL

Choose a named graph and query recipe, edit the SPARQL if needed, then open the encoded URIBurner query.

Run live query

SELECT uses text/x-html+tr. DESCRIBE and CONSTRUCT use text/x-html-nice-turtle, matching the SPARQL format guidance in the skill contract.