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