---
yip: 1
title: Knowledge-graph and licensing types; base 1.1.0; meta-schema 1.0.1
status: Final
type: Schema
author: metakovan
created: 2026-06-19
---

# YIP-0001: Knowledge-graph and licensing types; base 1.1.0; meta-schema 1.0.1

## Motivation

Nine types proven in the PropertyBook application (an AI-native document &
knowledge manager) were general enough to belong in the shared schema: a
licensing/rights cluster and a parties-and-accounts knowledge-graph cluster.
Graduating them lets any yettagam application express ownership, rights, and the
who/what-it-relates-to graph the same way. This is the first concrete instance of
the [YIP process](yip-0000.md).

## Specification

New types:

**Licensing / rights**
- `license` (concrete, inherits `base`) — an archived license text, referenced by hash.
- `rights_grant` (concrete, inherits `base`) — who may do what with which content under which license.
- `taxonomy` (concrete, inherits `base`) — one immutable, additive-only version of a folder taxonomy.

**Knowledge graph**
- `entity` (abstract, inherits `base`) — a party (the "who").
- `entity_individual` (concrete, inherits `entity`).
- `entity_institution` (concrete, inherits `entity`).
- `account` (abstract, inherits `list`) — a node that lists its evidence and carries item state.
- `account_register` (concrete, inherits `account`) — non-financial stateful item.
- `account_ledger` (concrete, inherits `account`) — financial ledger with balance + reconciliation.

**Generalized out** of the originating application before graduating:
- `rights_grant.sensitivity_ceiling` (a site-specific S0–S5 ladder) → generic optional
  `classification_ceiling` (each site supplies its own scheme).
- `entity_institution.uen` (Singapore company id) → generic `registry_id` + optional
  `registry_scheme` (e.g. `SG-UEN`, `US-EIN`, `GB-CRN`).

## Version impact

- nine new types, each at `1.0.0`.
- `base` → **1.1.0** (adds `anchor_path`, the lookup-path up-pointer). `base/1.0.0` remains immutable.
- meta-schema → **1.0.1**: a property spec's `required` is an array of strings (the
  `1.0.0` boolean form was un-runnable under JSON Schema and was violated by the
  published types themselves); the meta-schema now recurses into nested
  `properties`/`items` and recognizes `enum`/`const`/`format`/`additionalProperties`.
  `ytype/1.0.0/schema.json` remains immutable.
- `ytypes/index.json` `version` → **1.1.0** (additive, backward compatible).

## Backward compatibility

Widening-only. All additions; no existing type lost a field, narrowed, or gained a
new required field. Apps pinned to schema `1.0.0` are unaffected and may adopt
`1.1.0` whenever they choose.

## Files

26 files: the nine type directories (versioned + `latest.ytype`), `base/1.1.0/`,
`ytype/1.0.1/schema.json`, and `ytypes/index.json`.

## Validation

All 26 published types validate against meta-schema 1.0.1 and are runnable JSON
Schemas. Implemented and merged via pull request #2.
