软件工程
找出可移除的依赖和抽象
基于证据的删除审计,找出成本高于价值的依赖或抽象,并提出不改变必要行为的已测试简化方案。
流程
按这个顺序做。
- 界定必须保留的行为、仓库修订、支持环境,以及使依赖或抽象值得检查的成本信号。
- 盘点直接和传递依赖包、封装器、接口、适配器、生成代码和配置,再追踪调用方与运行时入口。
- 用现有测试、构建、类型检查、性能或运营度量、安全证据和已知支持限制建立基线。
- 检查动态使用、传递影响、兼容性和迁移成本后,将候选项分类为可删除、可替换、保留或未知。
- 在隔离分支或 worktree 中原型化最小安全删除,运行聚焦和周边检查,并将行为与资源使用和基线比较。
- 选择删除、替换、推迟或保留,记录迁移说明、回滚、依赖更新以及有意失去的能力。
- 发布删除清单,附候选证据、测试结果、决策负责人、后续工作和未解决风险,不要仅凭搜索就宣布死代码。
先准备
猫会向你要的输入。
- 仓库与支持环境
- 行为与兼容性要求
- 依赖与抽象清单
- 测试、构建与性能基线
路由器 + 一份 playbook
先路由。只选一份。
Cat Paw 每次任务只加载一份 playbook,不合并多份。先走这个路由器;其余路径是此 workflow 可检查的候选。
- 路由器:
minimal-code-pack skills/minimal-code-pack/dependency-abstraction-removal-audit/SKILL.md
界限
界限跟着提示一起走。
- 开始前核实实际工具、账号、权限和工作区;绝不声称拥有不可用的工具、账号、来源或能力。
- 私有代码、产物、实时探测或非公开数据使用 Latch/target-workspace;如果无法访问,就在边界停止并报告阻塞,不要用猜测替代。
- 任何有后果的外部行动前先暂停并取得明确批准;返回证据、未解决风险、假设以及仍等待批准的行动。
完成代表
一个可核对的终点。
经过测试的删除审计识别安全简化,保留必要行为,记录每个候选项的基线与决策,并暴露未解决风险。
来源
这个流程从哪来。
- github.com/DietrichGebert/ponytail/tree/e3ba2aa6f1e6f0bc4d69eb09c9f0d0a93af56156/
- docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review
- docs.npmjs.com/cli/v11/commands/npm-uninstall
来源确立 workflow 的模式。如有 Reddit 或社区帖子,视为实务轶事,不是普遍事实。