Entities Live
The record schema, and why decay is per type
This is the one block on this page that is live: the graph below is emitted at the end of every composed board, then enriched at every decision session. Eight entity types, six relations in the active voice, a confidence score and a source on every node.
- Entities
BoardDecision Assumption Constraint Value Observation Method Outcome
- Relations
INFLUENCED_BY SUPPORTS CONTRADICTS RESULTED_IN WILL_TEST REVOKED (specified, not yet emitted)
- Sources
user_stated inferred_from_* instrument_* composed_by_rule awaiting_review
- Source on every entity
- You can always tell what you said from what we inferred, and from what a rule composed.
- Decay per type, not global
- An assumption fades, half-life around fifteen months. An observation fades faster. A value does not decay at all: it is revoked by event. The REVOKED relation is specified for that and is not emitted by the engine yet. A constraint does not decay either: it expires.
- The root is the board, not a decision
- The constraints, values and assumptions set at composition describe how you decide, not one particular decision: they hang off the board. A
Decision is born at each session and attaches to it. - Outcome is first class
- Created the moment a decision is recorded, confidence zero, status pending, with a WILL_TEST edge to the load-bearing assumptions. At composition there is none: nothing is waiting to resolve yet. A record without outcomes is a write-only journal.
Real payload, cut to five nodes: the composition, then one session Live
{
"schema": "fivepeers.decision-graph/v3",
"entities": [
{ "id": "board_1", "type": "Board", "label": "Board de Atelier Vernon",
"confidence": 1, "source": "composed_by_rule", "decay_lambda": 0 },
{ "id": "constraint_2", "type": "Constraint", "label": "Capital is the binding constraint",
"confidence": 0.6, "source": "inferred_from_domain_risk", "decay_lambda": 0, "expires": "event_driven" },
{ "id": "assumption_3", "type": "Assumption", "label": "Acting on current information beats the cost of waiting",
"confidence": 0.55,"source": "inferred_from_decision_style", "decay_lambda": 0.0016 },
{ "id": "decision_9", "type": "Decision", "label": "Whether to hire a Head of Sales now or wait",
"confidence": 1, "source": "user_stated", "decay_lambda": 0 },
{ "id": "outcome_10", "type": "Outcome", "label": "(pending) result of this decision",
"confidence": 0, "source": "awaiting_review", "decay_lambda": 0 }
],
"relations": [
{ "from": "constraint_2", "type": "INFLUENCED_BY", "to": "board_1", "confidence": 0.6 },
{ "from": "decision_9", "type": "INFLUENCED_BY", "to": "board_1", "confidence": 1 },
{ "from": "decision_9", "type": "RESULTED_IN", "to": "outcome_10", "confidence": 0,
"status": "pending", "review_due_days": 90 },
{ "from": "outcome_10", "type": "WILL_TEST", "to": "assumption_3", "confidence": 1 }
]
}