Commit Graph

58 Commits

Author SHA1 Message Date
Aqr-K
d51320103c fix: make local setup and bundled skill operations recoverable (#7150)
* fix: make local setup and bundled skill operations recoverable

* test: verify user updates with real transaction runners
2026-10-23 06:49:13 +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
jxxghp
2d73cbc43e docs: drop process records and internal implementation docs
Keep only install, usage, development-workflow and architecture-boundary
documents; remove the one-off refactor plans, audits and ledgers that had
already served their purpose.

- delete docs/refactor plus the agent API surface audit generator and its
  drift-only tests; the fixed route registry remains the source of truth
- delete internal implementation notes (agent, music, notification, transfer,
  subscription activity, docker startup, V3t runtime governance)
- delete site adapter capture/release shims and the ADR records; external
  links point at MoviePilot-Site-Collector instead
- keep docs/architecture-overview.md and gate its dependency and event
  figures against the generated fixtures
- drop doc-only assertions from the architecture baseline test and retarget
  remaining references at code and rule documents
2026-10-18 14:24:49 +08:00
jxxghp
b12c112fe1 chore(types): gate mypy debt as exceptions and require zero new files
mypy 门禁此前只表达“只降不增”,没有把存量债务和新增文件分开:拆包迁移按目录前缀
继承额度,同包后来新增的文件可以吸收旧文件剩余额度;本地缺 types-* 桩包时,
import-untyped 与派生的 no-any-return 会被计成债务增长。

调整后口径分三层:mypy.ini 严格清单必须零错误;基线登记文件是存量例外,按文件 +
错误码设上限;基线未登记的新文件必须零诊断。

- 迁移登记改为 Migration(sources, targets),额度只转给逐一登记的接收文件。
- classify_counts 返回 RatchetDiff,新增文件、存量增长、待固化低水位分组输出。
- 缺少 types-* 时直接报环境错误并要求 uv sync --locked,不写入基线。
- 删除 7 个已消耗的迁移组,其旧路径已不在基线中。

验证:tests/test_mypy_gate.py 与 tests/test_architecture_ci.py 26 passed;
changed-file Pylint 10.00/10;Ruff ratchet、结构复杂度、mypy 严格清单与
mypy ratchet(2881 项存量)通过。
2026-10-18 13:46:37 +08:00
DDSRem
2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
a92c4b597f ci: expand app coverage and async blocking gates 2026-10-17 06:52:51 +08:00
freeman
f3ad81b39e style: apply safe ruff auto-fixes and exempt startup late imports
Run `ruff check app tests scripts --fix` with the configured rule set
(E4/E7/E9/F/I): import sorting (I001), f-strings without placeholders
(F541), lambda/variable/unused-import cleanups that ruff marks safe.
Nine files whose only ruff debt sits next to pre-existing pylint
import-resolution errors (lazy exports, sys.path script imports) or
whose "unused" imports are reached through attribute access by tests are
left untouched so the changed-file pylint gate and the benchmark tests
stay green; their diagnostics remain in the baseline.

app/startup/lifecycle/__init__.py and app/main.py import business
modules after cache composition, import-path and stdio setup on purpose
(the source comments document the contract), so declare E402
per-file-ignores for them instead of adding per-line noqa.

Ruff ratchet watermark drops from 498 to 100; sync the baseline fixture
and the optimization checklist figure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 13:29:09 +08:00
jxxghp
7e43ea9676 ci: replace line budgets with structural complexity gates 2026-09-30 07:36:53 +08:00
jxxghp
b99b4fe2c3 chore(architecture): 同步模块路径与质量门禁 2026-09-16 00:12:16 +08:00
Aqr-K
61aa3cd649 refactor(sdk): 插件契约基类迁入 SDK 并由 Compat 承接旧包根符号 (#6701) 2026-09-15 07:01:00 +08:00
jxxghp
8072b7d78f Refactor application architecture and compatibility boundaries 2026-09-13 12:53:00 +08:00
jxxghp
d32d17568a fix(runtime): apply configuration changes without restart 2026-09-11 00:12:05 +08:00
jxxghp
ec1a878a32 fix(agent): auto-load gateway skill before API calls 2026-08-31 18:42:25 +08:00
jxxghp
5cd5780d36 fix(architecture): harden complexity and concurrency gates 2026-08-30 12:15:21 +08:00
jxxghp
f7ca7e5172 ci(architecture): close complexity and concurrency blind spots 2026-08-30 11:40:36 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
b658f7c2c0 refactor(startup): isolate chain composition 2026-08-29 18:10:10 +08:00
jxxghp
305f8e007c refactor(startup): isolate outbox composition 2026-08-29 17:21:51 +08:00
jxxghp
b4547cf043 refactor(startup): isolate configuration and database composition 2026-08-29 16:20:04 +08:00
jxxghp
cff5eef539 test(architecture): freeze agent llm plugin ABI 2026-08-29 13:19:55 +08:00
jxxghp
13c4a71f42 refactor(media): split chain into governed package 2026-08-29 09:28:00 +08:00
jxxghp
7941fd921d refactor(chain): split download orchestration package 2026-08-29 06:41:15 +08:00
jxxghp
8460e72c42 refactor(scheduler): split runtime owners and preserve plugin ABI 2026-08-28 23:17:45 +08:00
jxxghp
92e745fc97 refactor(architecture): split chain owners and close runtime boundaries 2026-08-28 22:26:19 +08:00
jxxghp
2fe39d856c refactor(architecture): invert application adapter boundaries 2026-08-28 18:45:47 +08:00
jxxghp
aa8751f775 refactor: close transactional boundary debt batch 2026-08-28 10:36:12 +08:00
jxxghp
1133557849 refactor(architecture): unify event facts and policy 2026-08-27 09:56:27 +08:00
jxxghp
86157be2a9 test(architecture): prove event consumers 2026-08-27 09:17:43 +08:00
jxxghp
47f0de745c test(architecture): govern direct egress 2026-08-27 07:28:42 +08:00
jxxghp
e1483e85dc test(architecture): record direct adapter imports 2026-08-27 05:56:38 +08:00
jxxghp
265d3c6d1a fix(quality): close coverage ratchet 2026-08-26 22:10:23 +08:00
jxxghp
6062b06610 fix(quality): close type and lint ratchets 2026-08-26 21:55:01 +08:00
jxxghp
3ba4027d84 feat(events): expose typed payload snapshots 2026-08-25 22:32:33 +08:00
jxxghp
b914e8b6e4 refactor: strengthen architecture CI gates and runtime contracts 2026-08-25 17:02:29 +08:00
InfinityPacer
d58c8d2b17 feat: 完善数据库备份管理与版本读取 (#6450) 2026-08-25 16:05:45 +08:00
jxxghp
17a23c47df feat(ci): add mypy error ratchet gate 2026-08-25 06:59:18 +08:00
jxxghp
63cc2c8d4d refactor: unify runtime facade governance 2026-08-24 12:26:49 +08:00
jxxghp
d694cd081c refactor: own cross-thread background tasks 2026-08-24 05:33:50 +08:00
jxxghp
99c915b93a refactor: separate config debt from boundaries 2026-08-24 01:19:32 +08:00
jxxghp
59f020f226 refactor: enforce background task ownership 2026-08-23 20:17:28 +08:00
jxxghp
9f3be0ea4b refactor: restore architecture governance gates 2026-08-23 20:17:28 +08:00
InfinityPacer
97fb7e6526 chore: sync database worker branch with upstream v3 2026-08-23 04:48:50 +08:00
jxxghp
48e3eb08ec refactor: finish startup settings migration 2026-08-23 03:31:10 +08:00
InfinityPacer
fc677a2bba feat(database): bound async configuration writes 2026-08-23 02:29:40 +08:00
InfinityPacer
f85087cafc test: 强化 async 阻塞门禁真实性 (#6398) 2026-08-22 19:28:48 +08:00
jxxghp
7bc5e01afd refactor: expand async and type safety gates 2026-08-22 13:21:52 +08:00
jxxghp
5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp
1b253510e1 ci: block new async blocking calls 2026-08-21 22:29:19 +08:00
jxxghp
dd246fe045 ci: enforce complexity reduction ratchet 2026-08-21 22:23:37 +08:00
jxxghp
c0b31bddb6 refactor: register event delivery contracts 2026-08-21 21:29:52 +08:00