The data model.
Everything Team0 knows is stored as individual statements in one graph per workspace. Each statement knows what it is about, who said it, where it came from, when it was true, when it was learned, and how much it should be believed.
Two primitives.
The whole model is entities and statements. Entities are the things in your world. Statements are everything said about them, including the relationships between them.
- Entities are the nodes
- A person, organisation, project, deal, topic, thread or event. The same real person seen in email, meetings and your calendar is one entity, not three.
- Statements are everything else
- Each statement is a subject, a typed predicate and an object. When the object is another entity, the statement is an edge: Mara works at Northpeak. When it is a value, it is a fact about the subject.
subject Mara Levin the record it is about predicate owns typed, from the controlled vocabulary object Northpeak renewal another record (an edge) or a value concerns [Mara, Daniel, Northpeak] every record it touches holder Daniel whose view this is source email · message reference the exact object it came from evidence "Mara is taking Northpeak…" the supporting passage true from Wednesday clock 1: when it became true learned Wednesday 08:14 clock 2: when Team0 learned it lane trusted trusted · evidence · candidate superseded_by — set when a newer belief wins invalidated_at — set when it is retired, never deleted
Three ways things connect.
A graph is only useful if the right things meet. Team0 links entities in three independent ways.
- 01Typed edgesA statement whose object is another entity: works at, reports to, introduced by, client of. Directed and typed.
- 02Shared statementsOne statement concerns every entity it mentions. “Yogev met Tal through Yorai” links all three, even without an explicit edge.
- 03Identity mergeThe same person arriving from different sources collapses into one record by deterministic key, so every source’s statements hang off one node.
Two clocks.
Every statement carries when it became true in the world and, separately, when Team0 learned it.
A meeting on Monday can be learned on Wednesday. A deadline can be stated in June for a date in September. Keeping the two apart lets Team0 answer “what was true then” and “what did we know then” as different questions, order statements by when they were actually said rather than by the date they mention, and replay what any answer would have been at any point.
This is bitemporal in substance. Retirement is recorded as a single stamp rather than a closed validity interval, and nothing is overwritten.
Three lanes of belief.
Not everything Team0 reads deserves to be believed. Every statement lands in exactly one lane, and the lanes cannot mix.
- Trusted
- Statements Team0 can assert as current, from sources and relationships the vocabulary recognises with enough precision.
- Evidence
- Searchable receipts: the email, the transcript line, the message. They can be found and cited, but they can never become belief through deduplication or repetition.
- Candidate
- Statements Team0 isn’t sure of: unfamiliar relationships, low-precision extractions, things said by an agent. Kept, visible, and never presented as fact.
An ontology held as data.
The controlled vocabulary lives in a registry, not in database tables. Adding a new source adds statements, not schema.
- 01
Cardinality drives supersession
Each relationship is declared single-valued or multi-valued. Works at is single-valued, so a new employer replaces the old one. Knows is multi-valued, so a new contact is added beside the others.
- 02
Category drives relevance
Each relationship belongs to a category with its own recency half-life. An opinion stays relevant for months; a scheduling detail does not.
- 03
Unknown relationships fail closed
A relationship the vocabulary doesn’t know resolves through reviewed synonyms or lands as a candidate. Extraction can never invent a trusted relationship type.
- 04
The vocabulary can grow, with a human in the loop
New attribute types can be proposed automatically from what is observed, but they stay inert until a person promotes them.
Whose view is it?
A statement has a subject (what it is about) and, for views, a holder (who holds the view). They are different things.
“Bob prefers Dropbox”, said in a group chat, is Bob’s view about tools, not your preference. Team0 records the holder separately and marks whether a view is your own, a third party’s, or unclear. Your own preferences inform how Team0 understands you; other people’s opinions stay attributed to them and are never presented as yours.
Compared with a second brain or memory layer.
| A typical second brain or memory layer | Team0 | |
|---|---|---|
| Unit of storage | Text chunks or free-form memories | Typed statements with subject, predicate, object and the records they concern |
| Time | A creation timestamp | When it became true and when it was learned, separately |
| Belief | Everything stored is equally retrievable | Trusted, evidence and candidate lanes that cannot mix |
| Attribution | The source document, sometimes | The exact source object, the supporting passage, and who holds the view |
| Change | New memories pile up beside old ones | Superseded and retired statements, kept in history with what changed them |
| New sources | New collections or indexes | New statements in the same graph; no schema change |
Keep reading.
- OverviewThe World Model
- Entity resolutionOne person, one record, carefully
- Truth maintenanceHow beliefs are retired, never deleted
- Trust and scopeWho said it, who may see it
- Understanding EngineFrom graph to a read an agent can use
- Memory vs understandingWhat a memory layer does, and what understanding adds
- The 31 problemsEverything you have to solve, in one list
Your agents will change. Your understanding shouldn’t.
Invite-only private beta.