Skip to content

About

Open Human Context: a standard for person-held context, permissions and agent interoperability.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Open Human Context

A person changes. Their goals conflict. Their memory is selective. Their understanding of themselves is revised. Sometimes they lose access to their own ways of coping with what is happening.

Russian original: «Человек сам меняется. Его цели противоречивы. Его память избирательна. Его представления о себе пересматриваются. Иногда он теряет доступ к собственным способам справляться с происходящим.» The English wording is provisional, and this is its single canonical form (glossary entry tagline); see STATUS.

  1. Preserve experience. Evolve interpretations. This principle governs OHC's data architecture.
  2. Help humans remember what they know when they need it most. This principle describes what agents can build on OHC. The behaviour itself is outside the standard.

OHC records representations and permissions; it does not establish who a person is, decide for them, or provide psychological or medical help.

documentation: read overview: read format: 0.1.0-draft checks spec license: Apache-2.0 docs license: CC BY 4.0

Public draft 0.1.0-draft.3 · format 0.1.0-draft. Published in openhumancontext/specification. The normative specification, schemas, examples and reference tools use Apache-2.0; explanatory documentation and the glossary use CC BY 4.0. See license scope and maturity and limits.

OHC develops as a standalone standard in the Open Human Context organization, with room for independent tools for describing, reviewing and sharing human context. TARA Institute supports its development alongside TARA Protocol and Open Digital Employee. Each standard keeps its own repository and versioning.

What OHC is

Open Human Context (OHC) is an open, file-based format for the context a person shares with the agents and services that work with them. It does not describe who a person "really is". Instead, it keeps records about a person, each with its origin:

  • the primary sources they rest on;
  • the experiences those sources tell of;
  • how those experiences were understood at the time and later;
  • what is stated about the person now;
  • the frameworks of description through which anything was read;
  • the ways of coping that were tried, and whether they helped;
  • the permissions under which any of it may be used.

The person holds the context or chooses who holds it. Agents receive projections under the person's permission, propose changes and report back. The person can confirm, correct, contest, export and erase.

OHC is the person-side companion of Open Digital Employee (ODE). ODE describes a digital employee and its authority. OHC describes a person's context and the permissions under which it may be read. An ODE package never contains a person's context. It references the person’s grant; projections are fetched under it and checked at use.

Try the three standards together: OHC + TARA + ODE guide, complete synthetic package and worked example. The binding targets ODE v0.4.0-draft.2; passing file checks does not verify consent or runtime behaviour.

What OHC is not

OHC is not:

  • a psychological theory or a "true model" of a person;
  • a diagnosis or a clinical record (health appears only as pointers);
  • agent behaviour: recognising states, deciding when to remind, methods of help;
  • an authorization or delegation system (authority to act stays in ODE policies or the runtime);
  • a score or ranking of a person;
  • a hosted service, a registry service or a certification programme;
  • a transport or identity protocol.

L0 in five minutes

One file with a subject and a few claims is a conforming context. This is the complete minimal example, examples/ilse-minimal/context.json. Ilse is fictional.

{
  "format": "ohc.context",
  "specVersion": "0.1.0-draft",
  "id": "urn:ohc:example:ilse:context",
  "version": "1",
  "subject": {"id": "urn:ohc:example:ilse", "displayName": "Ilse (fictional)"},
  "synthetic": true,
  "claims": [
    {"id": "c-1", "facet": "goal", "text": "Finish the Dutch B1 course by June 2027.", "origin": "declared", "assertedBy": "subject", "recordedAt": "2026-10-09T08:00:00Z", "horizon": "focus", "valid": {"until": "2027-07-01"}, "synthetic": true},
    {"id": "c-2", "facet": "boundary", "predicate": "time-window", "text": "No work messages after 19:00 on weekdays.", "origin": "declared", "assertedBy": "subject", "recordedAt": "2026-10-09T08:00:00Z", "horizon": "foundation", "synthetic": true},
    {"id": "c-3", "facet": "preference", "predicate": "format", "text": "Short written summaries before calls.", "origin": "declared", "assertedBy": "subject", "recordedAt": "2026-10-09T08:00:00Z", "synthetic": true},
    {"id": "c-4", "facet": "state", "predicate": "availability", "text": "Travelling; slow replies.", "origin": "declared", "assertedBy": "subject", "recordedAt": "2026-10-09T08:00:00Z", "horizon": "state", "valid": {"from": "2026-10-09", "until": "2026-10-13"}, "synthetic": true},
    {"id": "c-5", "facet": "goal", "predicate": "career", "absence": {"code": "not-chosen", "intentional": true}, "origin": "declared", "assertedBy": "subject", "recordedAt": "2026-10-09T08:00:00Z", "synthetic": true}
  ]
}

Each claim has six required fields: id, facet, text (or absence), origin, assertedBy and recordedAt. The last claim is an intentional absence: Ilse chose not to set a career goal, and that choice is kept rather than filled in. No grant is needed at this level. With no grant, nothing is disclosed to anyone but the subject.

Check it with the reference checker (Python 3.9+ and jsonschema):

python3 tools/check.py examples/ilse-minimal --level L0 --json

The checker reports which defaults it applied (the conformance level, sensitivity, admission, endorsement and epistemic status). The quickstart walks through writing such a file with a person.

Who can read and write OHC tomorrow

Consumer Minimum to adopt What it gains
A personal agent (including persistent, person-bound agents) Write L0 with the person, as their instrument (CONTEXT-01). Read under a read grant to its own Party. Propose under suggest (and infer for its own readings), and reconcile with the person in batches (CONTEXT-09). Keep the consumer obligations C-1…C-12. A record of what the person said and decided that the person can inspect, correct and take to another agent. The agent's own model stays proposals until the person decides; OHC does not make it portable as fact.
A GUM-style system Run the GUM importer: observations become Source, propositions become proposed inferred Claim, and raw rows are kept in ext["gum.import"]. A split between declared and inferred content, consent, and the lineage that GUM ≥0.1.11 no longer keeps.
A context router in the style of Loyal Agents Map Preference ↔ Claim and PermissionGrant ↔ Grant. Keep the READ ⊂ SUGGEST ⊂ WRITE ladder, but flip the default to deny. A typed schema for goals, boundaries, relationships and states behind the same MCP tools.
An ODE digital employee Declare the person's grant as an externalDependencies entry plus extensions["ohc.binding"]. Fetch projections under it at run time; never pin one. ODE's deferred person seam is filled without adding a new ODE kind.

Details: interoperability guide, GUM binding, ODE binding, MCP binding.

Modules

Module Contents Maturity in 0.1 Where
core Context, Subject, Party, Claim, Relation, Source, Episode, Interpretation, Tension, Review, Proposal, Tombstone; status axes, time, freshness, absence, disclosure, derived labels, layer rules normative-draft SPECIFICATION §1–§11
governance Grant, Event, Projection, ContextLock; grant evaluation, step-up, erasure, obligations normative-draft (usable at any level; required at L2) SPECIFICATION §12–§16
lenses Lens, Instrument, Mapping and Playbook registry documents; LensAdoption, AssessmentRecord, ModelView shapes and rules normative-draft; catalog entries experimental LENSES.md; per-person records in SPECIFICATION §10.5–§10.7
instrument-import Bringing a test result from the report the person holds: the instrument import block, imported results, the agreement screen normative-draft INSTRUMENT-IMPORT.md
practices Practice, Outcome normative-draft SPECIFICATION §17
patterns Pattern experimental SPECIFICATION §18
recall RecallCue experimental SPECIFICATION §19
inner-system Part and part relations experimental SPECIFICATION §20
health-ref HealthRef (a FHIR pointer only) experimental SPECIFICATION §21
exchange 16 message formats experimental EXCHANGE.md
binding.gum GUM import and export normative-draft for GUM compatibility claims bindings/GUM.md
binding.ode ODE Tier 0 binding normative-draft for ODE binding claims bindings/ODE.md
binding.mcp MCP tools, including a gumcp-compatible tool experimental bindings/MCP.md

Three conformance levels: L0 Minimal (a manifest and a claim or an episode), L1 Grounded (grounds, hashes, reviews, layer rules) and L2 Governed (package form, event chain, grants, projections, lock).

Start here

  1. Read the overview (на русском).
  2. Write a minimal context, or start from an experience, or bring a test result to your agent (на русском).
  3. Read the specification, then the lens module and the exchange messages.
  4. Explore five fictional people: Ilse (L0), Mara (L1, episode-first, with a persistent study companion), Noa (L2, episode-first), Kofi (GUM import, an assessment import and an ODE employee) and Tove (L2, bringing a test result to her agent through her own window). The viewer renders each context, and each grantee's view, as static HTML.
  5. Check scope, maturity and what is not tested.

For agents: start with AGENTS.md and the consumer obligations.

What is included

  • A normative specification, JSON Schemas, controlled-vocabulary catalogs and a type catalog.
  • A lens module with 16 catalog entries, instrument entries, population-level mappings and one basic playbook per entry; the instrument import module.
  • Bindings for GUM, ODE and MCP, and informative composition notes with crosswalks to other standards.
  • An EN/RU glossary.
  • Five synthetic examples, a static viewer, read-only reference tools (a checker, converters and a temporal query tool) and a reference holder that plays the person's window in the terminal.
  • Agent procedures CONTEXT-01…CONTEXT-10, and per-lens recipes in docs/lenses/.
  • Change history, contribution guidance and a generated release manifest that records files, licences, hashes and checks.

Maintainers and licensing

Copyright 2026 Taras Pustovoy and contributors. See contributors and license scope. This is the Open Human Context specification, an experimental draft for review. It has not been published.


Copyright 2026 Taras Pustovoy and contributors. Licensed under CC-BY-4.0.

About

Open Human Context: a standard for person-held context, permissions and agent interoperability.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages