19 Commits

Author SHA1 Message Date
Aqr-K
bcbf79f030 fix(media): preserve recognition and rule mutation identities (#7144)
* fix(media): preserve recognition and rule mutation identities

* test: cover typed classification facts with alias policies

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 07:33:27 +08:00
jxxghp
6d4ce83837 fix(types): clear host mypy debt and prevent typing regressions
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。

修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
DDSRem
e0642eafa7 chore(types): reduce v3 host mypy debt (#7057)
* chore(types): clear AniList endpoint mypy debt

* chore(types): clear Douban endpoint mypy debt

* chore(types): clear recommendation endpoint mypy debt

* chore(types): clear subscription notification mypy debt

* chore(types): clear SDK string compatibility mypy debt

* chore(types): ratchet v3 host mypy across remaining files

* chore(types): reduce v3 host mypy debt and retire ledger

* chore(types): reconcile host snapshot with upstream HTTP pool

* test(types): cover host paths exposed by mypy cleanup
2026-10-18 09:37:49 +08:00
Qinghe Li
85b367527e fix(scraper): align built-in NFO results with text contract (#7049)
* fix(scraper): return NFO text from built-in providers

* test: cover type migration boundaries

* fix: silence dynamic import lint diagnostics

* test: keep coverage policy stable for nfo repair

* fix: preserve merged scraper documentation during conflict repair

---------

Co-authored-by: Derrors <derrors@local>
Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-17 19:53:06 +08:00
DDSRem
2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
970634859b refactor(types): expose actual IMDb NFO byte output 2026-10-17 00:41:52 +08:00
jxxghp
fc0101a64e fix(imdb): handle null seasons response 2026-09-19 17:38:36 +08:00
jxxghp
9724305a03 fix(imdb): handle null episode fields 2026-09-14 12:42:54 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
dd2a4b22e1 fix(imdb): handle null optional title fields 2026-09-02 22:59:07 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
3f7c89654d refactor(modules): unify catalog source decisions 2026-08-29 20:05:21 +08:00
jxxghp
92e745fc97 refactor(architecture): split chain owners and close runtime boundaries 2026-08-28 22:26:19 +08:00
jxxghp
9dbe424c3d refactor(config): retire RuntimeSettingsCompat host usage 2026-08-26 15:55:21 +08:00
jxxghp
df2ce103e1 fix(architecture): move media auxiliary mixin into _base package
media_auxiliary 作为模块共享 Mixin 放在 app/modules 顶层会被视为
业务模块,导致 anilist/bangumi/douban/imdb/themoviedb 跨模块直接
依赖,违反模块间禁止导入的架构约束。移入模块共享样板包
app/modules/_base(模块发现跳过)并同步依赖基线。
2026-08-26 14:07:08 +08:00
jxxghp
e02418bace feat(media): aggregate aliases from enabled metadata sources 2026-08-26 13:45:03 +08:00
jxxghp
ba193cce08 fix(imdb): register async cache cleanup 2026-08-23 15:29:42 +08:00
jxxghp
4641db7f5b refactor: route metadata module settings through runtime 2026-08-23 03:01:29 +08:00
jxxghp
1a7c3cfff8 feat(media): add native IMDb source module 2026-08-22 11:22:59 +08:00