Good call, agreed. Pushed c5f9fca: family_categories no longer bootstraps; it returns the family's existing categories, so import is non-destructive. A family with no categories now just gets uncategorised transactions, and matching resumes once they set categories up themselves. Added a processor test asserting nothing is created during import.
FWIW I had lifted the bootstrap behaviour from PlaidAccount::Transactions::Processor, which does the same thing, so you may want the same non-destructive treatment there for consistency.
Also folded in CodeRabbit's nitpick in the same commit: word-boundaried the and stripping in the matcher normalization so it no longer eats and inside a word.
Originally posted by @threatsurfer in #2487 (comment)
Good call, agreed. Pushed c5f9fca:
family_categoriesno longer bootstraps; it returns the family's existing categories, so import is non-destructive. A family with no categories now just gets uncategorised transactions, and matching resumes once they set categories up themselves. Added a processor test asserting nothing is created during import.FWIW I had lifted the bootstrap behaviour from
PlaidAccount::Transactions::Processor, which does the same thing, so you may want the same non-destructive treatment there for consistency.Also folded in CodeRabbit's nitpick in the same commit: word-boundaried the
andstripping in the matcher normalization so it no longer eatsandinside a word.Originally posted by @threatsurfer in #2487 (comment)