Document server-side name cap and hidden-rune rejection

This commit is contained in:
Lars Nolden
2026-09-14 12:31:03 +02:00
parent b7e5bf26cc
commit 16daa01647
+9 -2
View File
@@ -172,7 +172,12 @@ response records high, medium or low confidence. Imports never auto-apply a
low-confidence category: the row keeps the kind-specific unclassified low-confidence category: the row keeps the kind-specific unclassified
category with merchant and confidence recorded. Analyse previews show the category with merchant and confidence recorded. Analyse previews show the
low-confidence suggestion unselected for review. Transactions exposes a low-confidence suggestion unselected for review. Transactions exposes a
Needs review filter for low-confidence or fallback rows. Needs review filter for low-confidence or fallback rows. A model-proposed
merchant name is dropped (the row keeps its validated category and tags)
when it is identifier-shaped, longer than 100 characters, or contains
control or format code points such as bidirectional overrides and
zero-width characters, which could visually spoof the review UI; proposed
taxonomy names are rejected under the same hidden-rune rule.
Categories and tags have editable hints. Categories -> Propose taxonomy sends Categories and tags have editable hints. Categories -> Propose taxonomy sends
up to 300 grouped, redacted transaction samples, then shows proposed up to 300 grouped, redacted transaction samples, then shows proposed
@@ -701,7 +706,9 @@ The grammar is version-one strict: extension/split fields are not accepted yet.
Future format extensions require an explicit parser migration. Future format extensions require an explicit parser migration.
Stable category IDs survive renaming and moving; assigned categories must remain Stable category IDs survive renaming and moving; assigned categories must remain
leaves. Built-in roots and fallback leaves are protected. Move assigned records leaves. Registry display names (category, tag, merchant, instrument) are
capped at 200 characters server-side, matching every UI form. Built-in roots
and fallback leaves are protected. Move assigned records
to another leaf before adding children to their former category. Category to another leaf before adding children to their former category. Category
merges migrate referenced transactions/defaults; tag merges deduplicate links; merges migrate referenced transactions/defaults; tag merges deduplicate links;
tag deletion removes all affected links after UI confirmation. Merchant merging tag deletion removes all affected links after UI confirmation. Merchant merging