Decision
A Decision is the immutable record of a choice: its options, the choice, the reason, who decided, and the stakes.
A newer Decision supersedes it, and both stay on record.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
choice | text | required | What was chosen. |
reason | text | required | Why it was chosen. |
stakes | string | One of low, medium, or high, which sets the delay window. |
Object
{
"$id": "https: //api.sb/ tutorloop.com/ decisions/ decision_1",
"$type": "Decision",
"choice": "Example choice",
"reason": "Example reason",
"stakes": "low"
}Relationships
- A Decision has many Changes: every merged Change traces back to the Decision that authorized it.
changes, inverseimplementsDecision. - A Decision decides one Thing: a Decision records one choice about a Thing and stays on that Thing’s record forever.
decides, inversedecidedBy. - A Decision is made in one Meeting: a Meeting records Decisions, each with its options, choice and reason.
madeIn, inverseproduces. - A Decision records one Demand Budget: each Demand Budget is committed as one Decision, read again when it closes.
records, inverserecordedAs.
Lifecycle
| State | Meaning | Moves to |
|---|---|---|
standing (first) | It is the choice in force. | superseded by Decision.supersede |
superseded | A newer Decision replaced it; both stay on record with the reason for the change. | None: it ends here. |
Verbs
createCreates a Decision.POST /{namespace}/decisionsgetReturns one Decision by id.GET /{namespace}/decisions/{id}listReturns Decisions, newest first, one page at a time.GET /{namespace}/decisionssupersedeSupersede replaces a Decision with a newer one, keeping both on record with the reason for the change.POST /{namespace}/decisions/{decision}/supersede
A Decision is kept forever and never edited: it has no update or delete.
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Decision.create | Yes | Yes | Yes | No |
Decision.get | Yes | Yes | Yes | Yes |
Decision.list | Yes | Yes | Yes | Yes |
Decision.supersede | Yes | Yes | Yes | No |
Call it
Supersede the latest decision.Example
The Founder picks usage pricing over per-seat pricing. The Decision records both options, choice:, the reason ("Customers already pay per call"), and stakes of $40,000 a year.