muse-agent-example/.agent/rules/模块依赖.md

2.1 KiB
Raw Blame History

模块依赖规则

权威合同:docs/系统架构/新版设计/总体架构.md;机械门禁:tests/架构/test_模块依赖.py + make 检查。

  1. 业务只经公共接口:跨模块调用只走目标模块 接口.py 暴露的用例及其所需类型;禁止导入其他模块的 存储.py、模型.py 内部符号,也不得经 __all__ 公开存储类。绝对/相对导入和别名遵循相同边界,业务模块不反向依赖编排或接入。
  2. 共享基础零反向依赖:src/muse/共享/、配置.py、资源加载.py 禁止导入业务模块。启动.py 是组合入口,可以选择并绑定具体实现,但不承载业务规则。
  3. 元数据不写业务值:S04 元数据只描述、校验和投影结构;业务实例值由拥有它的业务模块写入。
  4. 技能支持自包含:.agent/skills/ 支持项目无关的自包含操作说明与配套辅助工具/脚本;禁止向系统 sys.path 注入,禁止反向导入或依赖业务单体内部实现(src/muse/)。
  5. 接入与编排不操作私表:HTTP/CLI/主会话及编排禁止手写 SQL 或使用数据库游标;由所属模块的公开用例调用内部存储,不将 SQL 搬入新的跨模块捷径。
  6. 宿主不裁决正式内容:模型宿主(Pi/直接调用)只产候选与证据;作者确认与正式提交不在宿主层发生。
  7. 薄入口:python -m muse 与 CLI 分发入口只做参数解析与转交,不创建连接或写业务逻辑。具名适配器可管理已装配连接的事务范围以调用 S04 等事务参与者;连接凭据、用途和构造仍由基础设施统一处理,禁止手写 SQL。

违反任一条:先修依赖方向,再继续;不以"临时导入"放行。