fix(study): make "Review first" clear the whole backlog, and say that it will #838

Merged
raisondetredev merged 1 commit from refs/pull/838/head into main 2026-08-12 14:05:50 +02:00
raisondetredev commented 2026-08-12 14:05:36 +02:00 (Migrated from codeberg.org)

"Review first" deliberately studies the due backlog across ALL tags — the
confirmation only appears because the tag filter is hiding due reviews, so
clearing the backlog has to mean the backlog the filter cannot see. Two
things around that decision were wrong.

The scope drop only lasted one batch. "Continue learning" re-resolved the
tag filter from scratch, so the guardrail re-fired on every slice: with a
430-card backlog at 20 per round that is the same dialog ~22 times, each
"Review first" restarting from the global pool, and the backlog never
clearing. A run-scoped flag now carries the drop across batches until no
due review is left, at which point the run hands itself back to the filter
rather than ending on an empty screen (and with nothing due being skipped,
the guardrail stays quiet). A fresh session start — including a mid-session
settings save — puts the filter back in charge.

Nothing said the filter was standing down. The dialog was silent about it
and the settings sheet kept showing the tags checked while the queue
ignored them, which is indistinguishable from a broken filter. The dialog
now states it up front, and the tag picker annotates itself for as long as
the run is unfiltered.

Signed-off-by: Tizian 「ティツィアーン」 raisondetredev@pm.me

"Review first" deliberately studies the due backlog across ALL tags — the confirmation only appears because the tag filter is hiding due reviews, so clearing the backlog has to mean the backlog the filter cannot see. Two things around that decision were wrong. The scope drop only lasted one batch. "Continue learning" re-resolved the tag filter from scratch, so the guardrail re-fired on every slice: with a 430-card backlog at 20 per round that is the same dialog ~22 times, each "Review first" restarting from the global pool, and the backlog never clearing. A run-scoped flag now carries the drop across batches until no due review is left, at which point the run hands itself back to the filter rather than ending on an empty screen (and with nothing due being skipped, the guardrail stays quiet). A fresh session start — including a mid-session settings save — puts the filter back in charge. Nothing said the filter was standing down. The dialog was silent about it and the settings sheet kept showing the tags checked while the queue ignored them, which is indistinguishable from a broken filter. The dialog now states it up front, and the tag picker annotates itself for as long as the run is unfiltered. Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
project-halkyon/halkyon-learn!838
No description provided.