refactor(architecture): 修复模块依赖违规并强化架构守护

- 字幕编排上移 DownloadChain.download_site_subtitles,SubtitleModule 仅保留站点链接解析
- TransferChain.recommend_name 上移 TV episodes_info 获取,filemanager 模块不再导入 TmdbChain
- endpoint 穿透修复:WXBizMsgCrypt3 迁至 adapters/external/wechat_crypt.py;
  music/tmdb 缓存管理、listenbrainz 常量、TMDbException、WechatClawBot 辅助统一经 chain 包装
- RuleParser 与 builtin_rules 合并为 application/filter_rules.py;
  fsproxy/fsworker 迁至 adapters/system/
- chain/__init__.py 删除 qbittorrentapi/transmission_rpc 导入,消除后端协议类型泄漏
- 架构守护测试新增三项检查:模块间隔离、入口层穿透、下载器 SDK 泄漏
- 文档同步:05-architecture.md 记录 DB/Oper 聚合例外与迁移文件位置,AGENTS.md 更新所有权表
This commit is contained in:
jxxghp
2026-08-16 04:59:17 +08:00
parent f7e39a47c6
commit 02f0dd0b9a
37 changed files with 630 additions and 450 deletions
+1 -1
View File
@@ -114,7 +114,7 @@ class LocalDirectoryWatcher:
# 经代理后超时会抛 OSError,由上层判定为挂载级故障并转入隔离
# 延迟导入:filemanager 包的 __init__ 会拖入整条 chain 依赖,
# 模块级导入会破坏 monitor 包的轻量加载
from app.modules.filemanager.fsproxy import fsproxy
from app.adapters.system.fsproxy import fsproxy
info = fsproxy.stat(self._watch_path)
if not info["is_dir"]:
raise NotADirectoryError(f"监控路径不是目录: {self._watch_path}")