Let manual corrections outrank the model's own precedent
History rows now carry a source label: manual edits and merchant rules are the user's decisions, ranked ahead of equally similar rows the model classified itself and guaranteed slots in a full history window. Without the distinction, precedent fed the model its own uncorrected answers as majority evidence, so a correction never won against the rows it was meant to fix. Both system prompts state that user entries outrank ai entries. Alias write-back on manual merchant links and the per-merchant usual category already learned locally; this closes the loop for categories and tags.
This commit is contained in:
@@ -431,6 +431,8 @@ Classification spaces request starts by at least **three seconds**, including su
|
||||
|
||||
**Analyse** classifies up to **10 transactions per request**, sending the registry and history once per batch instead of once per row, so a thousand-row backfill costs on the order of a hundred paced requests rather than a thousand. Providers cap the complexity of strict output schemas at undocumented budgets; when a request is rejected outright the batch halves automatically and the run remembers the size that works. Imports still classify row by row as statements arrive.
|
||||
|
||||
The classifier learns from you in three ways. Manually linking a merchant records the counterparty as that merchant's alias, so the next occurrence classifies locally without a provider request. Each request carries up to 40 rows of your own precedent, and your manual corrections are marked as the user's decisions, ranked ahead of the model's earlier answers, and never crowded out of the window — one correction outweighs any number of uncorrected AI classifications of the same payee. A merchant's most-used category across your journal is also sent as its usual category.
|
||||
|
||||
**AI classification → Analyse** runs in the background: the page shows how many transactions have been analysed, proposed changes, and every per-transaction failure as it happens, with a **Stop** button that abandons the run without writing anything. You can navigate away and return; the run keeps building and the page re-attaches to it. A run that has produced no successful result and fails **three times in a row with the same error** stops early and reports that error — a wrong key or an unsupported model surfaces within seconds instead of repeating across the whole range.
|
||||
|
||||
## Data, backups, and recovery
|
||||
|
||||
Reference in New Issue
Block a user