The graph in one picture

Real nodes from the vault · nodes carry properties, edges carry roles · planned items shown dashed

spouse shareholder · 50% shareholder sole_shareholder co_owner settlor co_owner PERSON Dan Hu CN · MT · GD PERSON Chenwen Yuan CN · MT VEHICLE · PENDING BVI HoldCo subtype: BVI Business Co. VEHICLE Westworld BVI · Co. 1932683 ASSET 585 E Crescent subtype: real estate TRUST Trust 1500 五矿信托 · insurance

7 nodes · 7 typed edges · same shape scales to thousands

What's hard, what's free

Two different speeds of change in the same system

Fixed — the alphabet

~22 things. Lives in code. Changes rarely.

Person Professional Institution Trust Vehicle Will Asset Account Concept Source Analysis
party_of owns shareholder_of director_of beneficiary_of settlor_of trustee_of holds located_in derives_from cites supersedes
New type = code change. Intentional friction so the model stays coherent — you can't accidentally invent a "person-vehicle" hybrid.

Free — the vocabulary

Properties grow on the fly. New facts just become writes.

PERSON ·  subtype: principal
Dan Hu · 胡丹
name_zh"胡丹" conf 1.0
dob1981-05-10 conf 1.0 · passport
citizenship[CN, MT, GD] conf 1.0
tax_residency"NRA" conf 1.0
itin"992-88-9912" verified 2026-04-17 · conf 1.0
cv_risk"elevated" valid_from 2026-01-09 · conf 0.85
malta_passport_expiry2035-01-17 conf 1.0
tao_qing_address"??" last_verified 2019-02-27 · conf 0.30
+ add property...
New property, new subtype value, new instance, new edge — all are writes. Every property also carries confidence + valid_from / last_verified metadata, so the rule engine prefers fresh, high-confidence facts. See upgrades →

Cost of change

Most extension happens in A and B. C is rare and intentional.

A · just write
No change needed
  • Add an instance (person, asset, trust)
  • Add a fact (new property)
  • Add an edge between existing nodes
  • Add a new role on party_of edges
  • Add a subtype value ("HK Limited")
  • Update a status, tag a contradiction
free · LLM does it
B · config line
Declarative addition
  • Add a new node type
  • Add a new edge type
  • Add a new rule (predicate)
  • Add a new visualization template
  • Restrict an edge to specific node types
  • Add a new scenario benchmark
minutes · YAML / DSL
C · engineering
Engine-level change
  • Add a new query primitive
  • Change the rule-engine model
  • Restructure storage layer
  • Change the LLM tool surface
deliberate · hours+