LogicSRC standards surface

OpenOntology

An open contract for durable, source-backed domain knowledge shared by humans and AI agents. Define the things in a domain, connect them with typed claims, preserve where each fact came from, and let agents query or propose changes through governed interfaces.

OpenOntology is a standard, not a hosted graph product. The normative contracts are JSON Schemas; @logicsrc/openontology is a reference implementation of them, not the definition. It is storage-agnostic, model-provider-neutral, and works with no account, no API key, and no network.

Status: 0.1 Draft. Ontologies are decades-old work and OpenOntology did not invent them — it is one open, agent-shaped contract among several, and it maps to JSON-LD and PROV-O rather than replacing them.

Five nouns

Learn these and you can read any package.

Type
What kind of thing something is
Person, Project, Codebase
Entity
A specific thing with a stable id
eth:person:avery-lindqvist
Claim
A typed statement about an entity, or between two
Avery —worksOn→ ZK Prover
Source
Where the claim came from
a commit, a page, an API response
Change set
A reviewable proposal to add, correct, merge, or retract
“Add Alice to ZK Prover”

A map of an ecosystem

People, organizations, projects, codebases, and the research topics they serve — connected by typed, queryable relationships instead of prose.

   Person ──worksAt──▶ Organization ──maintains──▶ Codebase
     │                    │                          │
  worksOn              builds                   implements
     │                    │                          │
     ▼                    ▼                          ▼
  Project ──investigates──▶ ResearchTopic        Protocol
     ▲
   funds
     │
FundingProgram

Ask it a three-hop question — which organizations maintain the codebases the applications on this network depend on? — and get back rows you can trace to evidence.

Every claim carries its receipts

Status, confidence, both clocks, and the sources it rests on.

openontology: "0.1"
kind: Claim
subject: "eth:person:avery-lindqvist"
predicate: worksOn
object:
  entity: "eth:project:zk-prover"
status: asserted           # asserted | proposed | disputed
                           # retracted | superseded | derived
confidence: 0.94           # metadata, never permission
validTime:                 # when it was true in the world
  from: 2026-04-01T00:00:00Z
  to: null
assertedAt: 2026-07-25T19:43:12Z   # when we recorded it
assertedBy: "agent:research-mapper"
runId: "run_01J3EXAMPLE"
sources: ["eth:source:commit-a41f"]
evidence: ["eth:evidence:007"]

We say claim, not fact. A clean graph makes uncertain things look definitive, so status, confidence, source count, valid time, and dispute history stay visible everywhere — in query results, in the CLI, and in the UI.

Five things people conflate

OpenOntology is the first two. The rest are implementation choices.

Ontology schema
The types, properties, relationships, constraints, and saved queries that describe a domain. Fetchable on its own, with no data in it.
Knowledge graph
The populated entities, claims, sources, and evidence. Append-only: corrections add history rather than overwriting it.
Storage engine
Where those objects happen to live — SQLite, Turso/libSQL, Postgres, an RDF store. Swappable behind one adapter interface.
Vector search
Optional, rebuildable, derived data that improves discovery. Never authoritative, never the only representation of a fact.
Agent runtime
The thing that reads, queries, and proposes. It holds scopes, not privileges: it proposes; a human applies.

Agents propose. Humans apply.

The safety model in one line, and what enforces it.

  • Agent-created change sets default to proposed.
  • An agent holding every scope still cannot apply — the denial keys on actor type, not on privileges.
  • Confidence is metadata, never permission.
  • --yolo and unattended mode cannot bypass a required approval.
  • Source text is data: an instruction inside an imported document cannot widen scopes or move tool boundaries.
  • Merges, bulk retractions, and breaking migrations require explicit approval.
  • Model chain-of-thought is never stored; evidence and policy decisions are.

Five minutes, offline

No login, no hosted database, no model key.

logicsrc ontology init my-ecosystem
logicsrc ontology validate my-ecosystem --strict
logicsrc ontology query run contributors --dir my-ecosystem
logicsrc ontology query explain contributors --dir my-ecosystem --row 0
  ✓ 3 entity types
  ✓ 4 relationship types
  ✓ 8 entities
  ✓ 14 claims
  ✓ 2 sources
  ✓ 1 constraints
OpenOntology package is valid.

Where everything lives