Skip to content

Domain Model⚓︎

This document defines the core concepts of the Decision Memory System (DMS). It ensures that everyone speaks the same language when using or building the system.

This page defines the nouns of the system. It does not describe workflow or collaboration rules.


Domain Relationship Diagram⚓︎

flowchart TD Topic["Topic"] Topic --> Choice["Choice"] Topic --> Decision["Decision"] Topic --> Outcome["Outcome"] Topic --> Lesson["Lesson"] Choice --> Reason["Reason"] Decision --> Expectation["Expectation"] Outcome --> Review["Review"] Review --> Lesson Reason -. informs .-> Decision Expectation -. compared with .-> Outcome Lesson -. reused in .-> Topic classDef topic fill:#E3F2FD,stroke:#90CAF9,color:#123,stroke-width:1px; classDef option fill:#FFF9C4,stroke:#FBC02D,color:#333,stroke-width:1px; classDef record fill:#E8F5E9,stroke:#81C784,color:#333,stroke-width:1px; classDef review fill:#F3E5F5,stroke:#BA68C8,color:#333,stroke-width:1px; class Topic topic; class Choice,Reason option; class Decision,Expectation,Outcome record; class Review,Lesson review;

Core Entities⚓︎

Topic⚓︎

A Topic is the "container" for one specific question or problem. It describes what a person or team is thinking about.

  • Examples: "What car should I buy?" or "Which database should the team use?"
  • Role: Holds all the records that users add about that thought: Choices, Reasons, Decisions, Expectations, Outcomes, Reviews, and Lessons.

A Topic is not a stage.
A Topic contains records and moves through stages over time.

Example:

  • Topic: "Should we migrate to Postgres?"
  • Topic stage: Considering
  • Records inside it: Choices, Reasons, a later Decision, Outcome, and Lesson

Choice⚓︎

A Choice is one of the available options we are considering for a Topic.

  • Examples: "Electric Car" vs. "Hybrid" or "Postgres" vs. "MongoDB."
  • Role: Users usually add two or more choices before making a decision.

Reason⚓︎

A Reason explains why a Choice is good or bad.

  • Types:
    Pro (A point in favor)
    Con (A point against)
  • Role: Reasons help us weigh our options honestly.

Decision⚓︎

A Decision is the act of picking one Choice at a specific time.

A Decision includes:

  • The Pick: Which choice was selected.
  • The Context: What was happening when we picked it.
  • The Confidence: How sure did we feel (1-100%)?
  • The Expectation: What did we think would happen next?

Expectation⚓︎

An Expectation records what the user believed would happen after making the Decision.

  • Role: Expectations give us a fair baseline for later review. They capture success criteria, timing, and key assumptions.

Outcome⚓︎

An Outcome is what actually happened after the decision was made.
* Role: By comparing what we thought would happen to what actually happened, we find the truth.

Review & Lesson⚓︎

A Review is a "look back" at a decision. A Lesson is the wisdom we take away from that look back.

  • Review: "We picked the Electric car, but charging at home was harder than we thought."
  • Lesson: "Always check the electrical panel before buying an EV."

Metadata & Attributes⚓︎

Confidence⚓︎

This tracks how sure the decision-maker felt at the moment of deciding. Looking back at "Confidence" helps reveal patterns like overconfidence or hesitation.

Scope⚓︎

This defines the default visibility boundary and who is eligible to participate in the Topic.

Private (Only explicitly invited people; typically just the creator at first)
Team (Team members may be auto-added as Observers)
Organization (Organization members may be auto-added as Observers)
Public (Everyone may view as an Observer)


Next Steps⚓︎