
Ah. The refinement session. I appreciate these. A cat who grooms carefully is a cat who cares. Entry #13 understands this.
Three UX gaps closed: decisions reviewed before history tracking began now show how many reflections weren't captured; the 'Record what happened' button moved from buried-at-bottom to a sticky footer that's always visible; work queue cards now show how many times you've reflected on each decision.

4 polish moves. Small? Yes. Invisible to most? Also yes. Do they matter? Ask anyone who notices the difference. Here:
- +GapIndicator component in thread view: shows 'N earlier reflections not recorded' when legacy reviews exist
- +Thread meta row now shows total review_count instead of only the new decision_reviews rows
- +Sticky footer replaces inline 'Record what happened' button — always visible for resolved decisions without an outcome
- +Work queue DecisionCard now shows reflection count inline: '2× · in 3 days'

Why spend time on polish? This is always the right question. The answer is always the same, and always worth saying:
These three changes are all about honesty and discoverability. The gap indicator is the most principled: a thread that shows an empty reflections section while review_count is 4 is lying by omission. Naming the gap is better than hiding it. The sticky footer solves a real problem — the 'Record what happened' button was the last thing in a long timeline, invisible unless you scrolled past your own history. Making it a persistent footer means the CTA is always visible when it matters. The reflection count on work queue cards changes what the card communicates: '2× · in 3 days' signals that this decision has a history, not just a pending review. It's one step toward surfacing that history before the next review — the next design question is whether tapping a card with history should go to the thread first rather than jumping straight into the review sheet.

Entry #13, complete. The story didn't stop here — keep reading. I'll see you in the next one. ...mrrp.