feat(tui): stumble mode — resurface stale entries card by card

Card-by-card walkthrough of entries untouched for 30+ days.
Prevents write-mostly decay by bringing old entries back to attention.

- S from list triggers stumble, loads entries where modified_at < 30d
- Single-card view with markdown body, glyph, tags, age indicator
- Actions: n skip, d dismiss, ! pin, p promote, m absorb, esc exit
- Progress indicator: stumble [3/12]
- After promote/absorb from stumble, returns to deck (not list)
- "All caught up" screen when deck exhausted
- DB: add ModifiedBefore to ListParams, modified_at sort column
This commit is contained in:
2026-05-20 16:40:40 -04:00
parent 388ae88d4a
commit a567b2ce73
8 changed files with 311 additions and 3 deletions
+2
View File
@@ -33,6 +33,7 @@ type keyMap struct {
FocusRight key.Binding
Tab key.Binding
ToggleRail key.Binding
Stumble key.Binding
}
var keys = keyMap{
@@ -66,4 +67,5 @@ var keys = keyMap{
FocusRight: key.NewBinding(key.WithKeys("l"), key.WithHelp("l", "focus detail")),
Tab: key.NewBinding(key.WithKeys("tab"), key.WithHelp("tab", "focus cycle")),
ToggleRail: key.NewBinding(key.WithKeys("ctrl+b"), key.WithHelp("ctrl+b", "toggle tag rail")),
Stumble: key.NewBinding(key.WithKeys("S"), key.WithHelp("S", "stumble")),
}