Architecture brief
The backbone is a property graph.
A small alphabet of typed nodes and edges — everything else is free. Schema lives in the head; properties live in the body. Both can grow.
The graph in one picture
Real nodes from the vault · nodes carry properties, edges carry roles · planned items shown dashed
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.
Node types (~11)
Person
Professional
Institution
Trust
Vehicle
Will
Asset
Account
Concept
Source
Analysis
Edge types (~12)
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: "胡丹"
dob: 1981-05-10
citizenship: [CN, MT, GD]
tax_residency: "NRA"
itin: "992-88-9912"
cv_risk: "elevated"
malta_passport_expiry: 2035-01-17
tao_qing_address: "??"
+ 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
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
C · engineering
Engine-level change
- Add a new query primitive
- Change the rule-engine model
- Restructure storage layer
- Change the LLM tool surface