musepi-find-simplifications · git:20261025.c9d4ac1 · 2026-10-25 · sha256 320e7c6eeb377348

musepi-find-simplifications git:20261025.c9d4ac1A

Immutable. This exact content never changes and is served at /api/v1/blob/320e7c6eeb377348.

---
name: musepi-find-simplifications
description: 在 MusePi 找有证据的简化点:无生产消费者的 API、重复事实表示、投机通用化、重复中央工具或 Bun/Node 内置的实现;输出可评审候选。
---

# 找 MusePi 简化点

把宽泛的“找简化”变成有证据的候选清单。优先少数证据扎实的删除、折叠或降级,不把“看着复杂”当结论。

## 先核对约束

按范围读取根 `AGENTS.md` 和 `.agents/rules/`。GUI/daemon 还要读 owning docs。`omp-plugins` 与 `musepi-extensions` 并存、CLI/TUI/GUI 共用扩展系统是既有边界;合并它们需要单独证据,不是默认低成本候选。

## 强候选

候选必须指向真实存在的成本,并回答“谁在生产环境消费”:

- 公开方法、事件、配置、helper、包、命令或测试产物没有生产消费者;只有测试/文档在钉住非契约行为。
- 两个表示镜像同一事实,尤其是持久事件与瞬态事件、GUI 与 daemon 状态。
- 每个实现都被迫支持、却没有消费者调用的接口。
- 独立包只服务测试/演示,或抽象只服务没有产品主人的投机场景。
- 不变量、回滚和特例测试只保护无人使用的 API。
- 手搓实现重复中央 helper、Bun 或 Node 内置,替换能删除实现及专属测试。
- 简化后的行为更合理、更容易解释,且兼容损失被明确接受。

拼写修正、一次 knip 输出或无调用点证据的“复杂”不算强候选。

## 调查

从最大的生产代码和生命周期成本开始,不停在未使用符号。可按 agent/session、daemon/GUI、扩展、LLM/工具、进程执行、包/脚本分域。只有用户明确授权子代理时才并行委托,否则在当前会话顺序调查。

对防御拷贝、冻结、校验器和回调捕获,追踪值的来源与下一所有者。进程、worker、持久文件和线解码器通常需要拥有自己的数据;同进程只读服务调用通常不需要投机拷贝。

复杂异步代码画出所有权和结算路径。重复表达同一存活/结算事实时,候选应指向一个事务或生命周期控制器;同步回滚、回调隔离、首终结仲裁、进程所有权和静默 dispose 仍是不同职责。

引入依赖也属于合法简化:核对精确覆盖表面、未覆盖语义、维护健康度、传递体积和引擎底线;内置能力优先。

## 产出

按“证据 → 位置 → 建议动作 → 影响”列出候选,说明消费者、兼容损失和验证方式。删除行为时保留契约级回归测试,并按 `.agents/rules/release.md` 更新 `packages/coding-agent/CHANGELOG.musepi.md`。是否实施、提交或合并由用户请求决定。