The Five Trees
Everything in Momental lives in one of five trees. Understanding the trees is understanding the product.
Why Trees?
Flat lists lose context. A decision means nothing without knowing what goal it serves, who made it, and what evidence it came from. Momental uses trees because context is hierarchical: a task belongs to an epic, which belongs to an objective, which belongs to a mission.
The five trees each answer a different question:
| Tree | Question it answers | Primary table |
|---|---|---|
| Strategy Tree | What are we doing and why? | strategy_nodes |
| Wisdom Tree | What do we know and believe? | atoms + bonds |
| Product Tree | What does the product do? | product_nodes |
| People Tree (internal) | Who are we? | people_nodes |
| People Tree (external) | Who do we serve and compete with? | external_people_nodes |
The Strategy Tree
The Strategy Tree is the backbone of Momental. Every piece of work - from a 10-year vision down to an individual task - lives here in a strict parent-child hierarchy.
flowchart TD
V["VISION<br/>Long-term aspirational state"]
M["MISSION<br/>How you achieve the vision"]
O["OBJECTIVE<br/>Qualitative OKR goal"]
KR["KEY_RESULT<br/>Measurable outcome"]
OP["OPPORTUNITY<br/>Customer problem"]
S["SOLUTION<br/>Validated approach"]
E["EXPERIMENT<br/>Validation test"]
EP["EPIC<br/>Large deliverable - weeks"]
T["TASK<br/>Individual work item"]
ST["SUBTASK<br/>Sub-component"]
V --> M --> O --> KR --> OP --> S --> E --> EP --> T --> ST
Each node type has a semantic role. You cannot place a TASK directly under a VISION - the hierarchy enforces strategic clarity. Work that can't be traced back to an OBJECTIVE probably shouldn't exist.
Worked Example
A real strategy tree tracing a single goal all the way to executable work:
flowchart TD V["VISION: Every company knows what it believes"] O["OBJECTIVE: Improve developer onboarding"] KR["KEY_RESULT: Time-to-first-value under 3 minutes"] OP["OPPORTUNITY: Developers abandon during auth setup"] EP["EPIC: Streamlined API key onboarding flow"] T1["TASK: Add API key copy button to dashboard"] T2["TASK: Write 3-minute quickstart guide"] V --> O --> KR --> OP --> EP --> T1 EP --> T2
The Wisdom Tree
The Wisdom Tree is your team's organizational memory. It stores everything your team knows - not as documents, but as discrete, searchable knowledge atoms connected by typed bonds.
Atoms follow a derivation chain. Raw observations become insights. Insights become decisions.
Decisions crystallize into principles. Each step is a separate atom, linked by a
DERIVES_FROM bond:
flowchart LR D["DATA<br/>Checkout abandonment is 67%"] L["LEARNING<br/>Users abandon when shipping costs appear late"] DE["DECISION<br/>Show shipping estimate before payment step"] P["PRINCIPLE<br/>No surprise costs - ever"] D -->|DERIVES_FROM| L -->|DERIVES_FROM| DE -->|DERIVES_FROM| P
This chain matters beyond organization. When a new DECISION arrives with no parent LEARNING, Momental flags a structural gap - a decision made without evidence. These gaps are surfaced automatically and assigned to agents for investigation.
For a deep dive into atoms, bond types, voice metadata, and conflict detection, see Knowledge Graph.
The Product Tree
The Product Tree maps what the product actually does, organized by domain. Unlike the Strategy Tree (which captures goals), the Product Tree captures capabilities - what a user can do in the product right now.
| Depth | Node type | Example |
|---|---|---|
| 0 | Product | "Momental" |
| 1 | Feature | "Conflict Detection" |
| 2 | Sub-feature | "Cross-Tree Conflicts" |
| 3 | Component | "8-Signal Ensemble" |
Domains: Core, Integrations, Platform, Analytics, Admin. Each node has a status:
live, beta, building, planned, or deprecated.
The People Trees
Momental maintains two people trees: one for your organization and one for the world outside it.
Internal (org chart)
flowchart TD T[TEAM: Engineering] T2[TEAM: Platform Squad] P1[PERSON: Sarah Chen, VP Eng] P2[PERSON: Mike Johnson, Staff Eng] T --> P1 T --> T2 --> P2
Seniority levels: 1=CEO, 2=C-suite, 3=VP, 4=Director, 5=Manager, 6=Individual Contributor.
When an atom is created, Momental attributes it to its author via voicePersonNodeId,
which feeds the expertise inference system - "Who is the expert on pricing?"
External (customers, competitors, partners)
The external tree organizes everyone outside your org: customers, competitors, partners, and analysts. Atoms from customer conversations link to external people nodes, so every claim from a customer is traceable back to who said it and when.
| Node type | Example |
|---|---|
| RELATIONSHIP_TYPE | CUSTOMER, COMPETITOR, PARTNER, ANALYST |
| ENTITY | "Acme Corp" |
| TEAM | "Acme Product Team" |
| PERSON | "John Smith, VP Product at Acme" |
Cross-Tree Connections
The trees are not isolated silos. Four mechanisms connect them:
flowchart TB
subgraph W["Wisdom Tree (Atoms)"]
A[Atom]
end
subgraph S["Strategy Tree"]
SN[Strategy Node]
end
subgraph P["People Tree"]
PN[Person Node]
end
A -->|treeNodeId: this knowledge applies to this goal| SN
A -->|voicePersonNodeId: this person said this| PN
PN -->|expertise table: derived from contributions| A
A -.->|cross_tree_conflicts: contradicts| SN
| Connection | Mechanism | What it means |
|---|---|---|
| Atom → Strategy Node | atoms.treeNodeId | This knowledge applies to this goal |
| Atom → Person | atoms.voicePersonNodeId | This person said this |
| Person → Knowledge | expertise table (computed) | This person is an expert on this topic |
| Atom ↔ Strategy Node | cross_tree_conflicts | This knowledge contradicts this goal |
Cross-tree conflicts are the most powerful signal in Momental. When an atom says "deprecate the free tier in Q2" and the Strategy Tree has a node saying "grow freemium users by 50%", that contradiction is detected automatically and routed to the team for resolution.