Context
M5 was originally planned with streak-based habit tracking. This conflicts with the new core promise "No gamification, ever — you track your habits, not how often you open the app".
Streaks are gamification by definition: they punish interruptions, create artificial urgency, and optimize for app opens rather than genuine user value.
Decision
Streaks in M5 are replaced entirely by three non-gamification alternatives:
1. Adherence Rate (primary KPI)
Instead of "12-day sport streak", show: "Sport: 71% of the last 4 weeks"
- Honest, does not break on a single missed day
- No guilt-trip framing
- Formula:
count(days_with_tag) / total_days_in_window * 100
- Configurable window: 7 / 14 / 28 / 90 days
2. Calendar Heatmap (visual representation)
- Reuse existing M2 tag-frequency heatmap component
- No number, no "you failed" moment
- Visual frequency display only
- GitHub-contribution-graph style but without any streak counter
3. Correlation Contribution Score (long-term value)
- Show how strongly a habit contributes to insight quality: "Sport is your strongest mood predictor (r=0.72)"
- Pulled from M3/M8 insight engine output
- The real reason why consistent tracking matters — no artificial motivation needed
Impact on M2 Entry-Streak Widget
The M2 entry-streak widget is already implemented. It should be relabeled (not removed):
- Old: "Streak: 12 days" (gamification framing)
- New: "Tracking consistency: 12 of last 14 days" (neutral, data-quality framing)
- Rationale: this is directly linked to the confidence scale from the insight engine — more consistent data = better insights. That is the honest reason to keep tracking.
Acceptance Criteria
References
- Core promise: "No gamification, ever — you track your habits, not how often you open the app"
- ADR-0012: M2/M5 streak semantics (to be updated)
- M3 Insight Engine (correlation contribution data source)
- M2 Entry-Streak widget (relabeling only, no schema change)
Context
M5 was originally planned with streak-based habit tracking. This conflicts with the new core promise "No gamification, ever — you track your habits, not how often you open the app".
Streaks are gamification by definition: they punish interruptions, create artificial urgency, and optimize for app opens rather than genuine user value.
Decision
Streaks in M5 are replaced entirely by three non-gamification alternatives:
1. Adherence Rate (primary KPI)
Instead of "12-day sport streak", show: "Sport: 71% of the last 4 weeks"
count(days_with_tag) / total_days_in_window * 1002. Calendar Heatmap (visual representation)
3. Correlation Contribution Score (long-term value)
Impact on M2 Entry-Streak Widget
The M2 entry-streak widget is already implemented. It should be relabeled (not removed):
Acceptance Criteria
build/reduce, nevergood/badReferences