Decision Tracking

Track development decisions, record outcomes, and learn from patterns

Decision Tracking helps you log important development decisions, record their outcomes, and learn from patterns over time.

Overview#

Track decisions to:

  • Remember context - Why was this decision made?
  • Record outcomes - Did it work? What happened?
  • Learn patterns - What decisions lead to success?
  • Get recommendations - What worked before in similar situations?

How It Works#

Decision Logged Outcome Recorded Pattern Learned ─────────────────────────────────────────────────────────── "Use PostgreSQL" ──▶ "Success" ──▶ "PostgreSQL works for user data" "Fast queries" well for user data" (confidence: 0.85)

Logging Decisions#

Via CLI#

Loading code block...

Decision Types#

TypeDescriptionExamples
architectureSystem design decisionsTech stack, patterns
databaseData model decisionsSchema, queries
securitySecurity-relatedAuth, encryption
performanceOptimization choicesCaching, indexes
uiInterface decisionsComponents, layout
dependencyLibrary choicesnpm packages
processWorkflow decisionsGit flow, deployments

Recording Outcomes#

When a Decision Works#

Loading code block...

When a Decision Fails#

Loading code block...

Outcome Statuses#

  • success - Decision worked as expected
  • partial - Partially successful, some issues
  • failure - Decision didn't work out
  • pending - Still evaluating

Getting Recommendations#

Ask for past decisions that worked:

Loading code block...

Impact Scoring#

Decisions are automatically scored by impact:

LevelScoreDescription
Critical5Major architectural decisions
High4Important feature decisions
Medium3Standard development choices
Low2Minor implementation details
Minimal1Trivial decisions

How Impact is Calculated#

Impact is calculated as: typeWeight x confidenceScore x outcomeMultiplier

  • typeWeight - Based on decision type (architecture = 1.5, security = 1.4, etc.)
  • confidenceScore - Your confidence when making the decision
  • outcomeMultiplier - Success = 1.2, Failure = 0.8

Viewing Decisions#

Recent Decisions#

Loading code block...

Pending Outcomes#

Loading code block...

Decision Statistics#

Loading code block...

Pattern Learning#

The system automatically learns from your decisions over time. It identifies success patterns (e.g., "PostgreSQL decisions succeed 90% of the time") and anti-patterns to avoid (e.g., "hardcoded secrets have a 100% failure rate").

Best Practices#

  1. Log decisions as you make them - Context is freshest immediately
  2. Be specific about reasons - Future you will thank present you
  3. Record outcomes promptly - Don't wait too long to evaluate
  4. Review patterns regularly - Learn from your history
  5. Include metrics when possible - Quantifiable outcomes are more useful

Performance#

Decision tracking uses an append-only strategy for fast writes:

  • O(1) write performance for logging decisions
  • O(1) write performance for recording outcomes
  • Periodic compaction keeps read performance optimal