用途:将 PostHog 中已位于 products/<name>/ 的产品迁移到 façade+contract 隔离架构,参考 Visual review 实现;不负责把代码从 posthog/、ee/ 等共享目录搬出,那需先完成。
主要能力与流程:先读 products/architecture.md、products/README.md、docs/internal/monorepo-layout.md、类型系统与 MCP、安全指南,并参考 visual_review 的 facade、presentation、logic 与测试文件。用 hogli product:maturity、hogli product:lint、hogli product:isolate:scan 获取基线;扫描输出按类型列出跨边界引用、核心耦合数、严格 lint 预检、视图模块薄厚信号与盲区,--json 输出机器可读配方。按步骤建立导入图、归类调用、定义契约面、在 backend/facade/contracts.py 建冻结 dataclass、在 facade/api.py 建薄 façade、迁移调用方、把展示层改为经 façade 访问。
约束与注意:facade 保持薄,业务规则放 logic.py;事务边界放 facade 或 logic;不跨边界返回 ORM 模型;contracts 不导入 Django/DRF;查询按 team_id 过滤;不要给 Team 加产品字段;视图端点加 schema 注解;序列化器或视图变更影响 API schema 时用 hogli build:openapi 重新生成。扫描只读 backend.* 导入,测试基础设施、backend 外表面、无外部数据消费者、产品自有 HogQL 系统表等耦合需额外排查。存在 ignore_imports 条目时不得启用 backend:contract-check。工具不适用时应扩展工具而非静默绕开。
适用场景:产品仍处于 fresh、mid-sweep、mid presentation-wave 等阶段,需要按团队切片做迁移时。限制:资料未提供具体收费、平台与完整操作步骤,缺失信息暂未提供。