The parser filter only stops NEW junk from being persisted; vehicles whose trees were already fetched still had "Portal"/eu.nissan.biz rows in the DB, and persistAndBuildLegacyTree/buildCategoryTreeFromDb build from those rows. Filter dbCategories through isNavCrumbLink before buildTree in both, so the response self-heals for previously-persisted junk without a DB migration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>