Skip to content

Domain Model⚓︎

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

Simple Language

These terms describe the "Why" and "How" of thinking before we turn them into technical code.


Domain Relationship Diagram⚓︎

flowchart LR
    Topic["📁<br/>Topic"] --> Exploration["💡<br/>Explore"]
    Exploration --> Decision["🏁<br/>Decide"]
    Decision --> Expectation["📈<br/>Expect"]
    Expectation --> Outcome["📉<br/>Observe"]
    Outcome --> Review["🧐<br/>Review"]
    Review --> Lesson["🎓<br/>Learn"]

    %% Feedback Loop
    Lesson -.-> Topic

    %% Styling
    classDef step fill:#f7f7ff,stroke-width:0px,color:#333,font-weight:bold,rx:10,ry:10;
    class Topic,Exploration,Decision,Expectation,Outcome,Review,Lesson step;

    %% Color Progression
    style Topic fill:#E3F2FD
    style Exploration fill:#FFF9C4
    style Decision fill:#E8F5E9
    style Expectation fill:#F1F8E9
    style Outcome fill:#FFF3E0
    style Review fill:#F3E5F5
    style Lesson fill:#D1C4E9

    %% Line Styling
    linkStyle default stroke:#DDD,stroke-width:2px;

Core Entities⚓︎

Topic⚓︎

A Topic is the "container" for a specific question or area of concern. It describes what we are thinking about.

  • Example: "What car should I buy?" or "Which database should the team use?"
    • Role: Holds all the choices, reasons, and decisions related to that thought.

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: You usually have 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?

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 we felt at the moment of deciding. Looking back at "Confidence" helps us see if we are often too brave or too worried.

Scope⚓︎

This defines who is "in the room" for this Topic.
Personal (Just me)
Team (My immediate group)
Organization (The whole company)


Lifecycle⚓︎

Every Topic moves through these stages to turn a question into wisdom:

  1. Framing — Defining the question.
  2. Exploring — Adding Choices and Reasons.
  3. Deciding — Picking a path and setting expectations.
  4. Observing — Waiting for the result to happen in the real world.
  5. Reviewing — Comparing the result to the plan and writing the Lesson.
  6. Archived — Closing the Topic so it remains a permanent memory.

The Goal

This flow ensures that thinking doesn't just stop when a choice is made. It forces us to finish the loop and actually learn from what happened.


Guiding Thought⚓︎

DMS is a system for capturing how we think, not just what we do. It preserves the "Why" so that the future version of you (or your team) is smarter than the current version.


TODO⚓︎

  • Define "Confidence" levels (e.g., Low, Medium, High) for easier filtering.
  • Create a "Lesson Library" view to see lessons across all Topics.