Self-bust after a write: drop the folded single-id get entry by exact key
(all-mode correct — works in memory mode, where tag invalidation no-ops),
then the collection tag for every other cached search (the set is tiny, so
a coarse bust is cheap).
Optionalactive?: booleanFilter by enablement. Omit for both active and disabled programs.
Optionalids?: string[]Optionalpage?: numberOptionalpageSize?: numberOptionalq?: stringCase-insensitive substring match against name or the program id.
OptionalrouteFusionProgramIds?: string[]Filter by the exact RouteFusion program id(s).
Reads for the admin RouteFusion program registry. The table is a small, admin-curated reference set (a handful of rows) with no external mutations, so
searchreads through a Valkey cache tagged with one collection tag; the RouteFusionProgramAdminService writers bust it wholesale via RouteFusionProgramQueryService.invalidate.getfolds intosearch, so single-id reads are served from the same cache.