用途:指导开发者安全修改 PostHog 的 TaxonomicFilter 组件。该组件是用户选择事件、属性、动作、群组、人群等分析对象的统一选择器,代码位于 frontend/src/lib/components/TaxonomicFilter/,是几乎所有分析与回放配置的入口。
主要能力与要点: 一、三条护栏:降低用户实际常选项目排序属于回归,即使测试全通过;排序、提升、position-0 变更需人工明确签字,不能由代理单独决定。 二、双界面:一个特性开关 TAXONOMIC_FILTER_MENU_REBUILD 在 legacy-pill(经典选择器含分类下拉)与 rebuild-menu(基于 headless/ 的重写版)间切换。rebuild 是并行重实现,行为变更通常要同时落到两处,否则实验分支会发散。 三、搜索是主选择路径:约 65% 选择来自搜索,约 34% 选择率,邮件与 URL 占前八搜索词一半以上。修改搜索、加载、分页或结果展示前需阅读 references/performance.md,确认计划边界且可选请求不延迟结果。 四、遥测是契约:共享事件带 surface 属性(legacy-pill / rebuild-menu),新增属性需两边同步,重命名或静默改用途最危险。 五、镜像变更:group 定义、排序、分页、数据仓库配置、遥测等在两套实现中各有一份,靠注释而无 lint 或测试保证一致。类型枚举与提升属性等为真正共享,仅改一次。
使用方式:修改前阅读相关 references(架构、常见陷阱、调用点、测试模式、性能),判断是否需跨变体镜像,改动标签或群组时测试两个界面,确认共享遥测负载一致,涉及排序或提升需人工签字。测试命令:hogli test frontend/src/lib/components/TaxonomicFilter/。
限制:rebuild-menu 为内部 opt-in 实验,仅在 TaxonomicPopover.tsx 与 TaxonomicPropertyFilter.tsx 两处包裹器中启用,且 TaxonomicPopover 仅在 newMenuSupportsCallSite 条件成立时渲染重建版。未获资料部分(如具体收费、平台支持等)暂未提供。