mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-11-04 22:36:34 +08:00
docs(architecture): close residual audit goal
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
| RES-002 | `DELIVERED`(R2) | 复杂度门禁漏扫私有方法、类/文件和 Scheduler;原生并发清单不完整 | `f7ca7e517`、`5cd5780d3`:完整宿主 AST、canonical owner/count、低水位与零增长门禁已落地 |
|
||||
| RES-003 | `DELIVERED`(R3) | Outbox after_commit 失败只有内存 pending 标记,重启不可恢复 | `9d06f91bb`:持久 intent、唯一 handler、claim/fencing、重启回放、幂等和失败观测完整闭环 |
|
||||
| RES-004 | `DELIVERED`(R4) | Startup initializer 与插件市场存在多套 Transport/Adapter/Manager 构造 | `7f5b8b469` 至 `046b0b305`:构造回收到 composition,兼容门面消费同一 owner,canonical 无重复正式实现 |
|
||||
| RES-005 | `ACTIVE`(R5) | 审计声明、机器门禁、CI 与远端交付状态需要重新校准 | 文档与事实源一致;专项、锁定全量、Pylint、架构/兼容门禁和 GitHub CI 闭环,远端 `0/0` |
|
||||
| RES-005 | `DELIVERED`(R5) | 审计声明、机器门禁、CI 与远端交付状态需要重新校准 | 当前文档、生成 fixture 与规则一致;锁定全量 `7684 passed, 9 skipped`,Application/Domain 覆盖率为 `81.77%` / `81.03%`,Pylint `10.00/10`、架构/兼容、真实启动和最终 exact-head GitHub CI 闭环,远端 `0/0` |
|
||||
R2 门禁现已完整覆盖私有、dunder、任意控制流嵌套方法、类、文件与
|
||||
`app/scheduler/`;`concurrency.py` 扫描完整宿主源码,按 canonical import/alias、
|
||||
TaskGroup、可证明的 loop/executor 来源和词法 owner 聚合数量。新增 owner、数量增长以及
|
||||
@@ -43,10 +43,13 @@ MoviePilot V3 已经形成较清晰的模块化单体:`foundation`、`domain`
|
||||
4. **治理事实源**:依赖、SCC、Adapter、egress、Event、复杂度、类型、Ruff、生命周期和兼容基线
|
||||
已进入机器门禁;`app/plugins/**` 始终排除,插件兼容只由 SDK/Compat 承接。
|
||||
|
||||
本轮非取消项已经全部交付。canonical `SearchChain` 类型债务与架构测试导入边界分别由
|
||||
`4575b11d8`、`c204e2e97` 清零;精确 head `c204e2e97` 的 Unit Tests `33269394727` 与
|
||||
Pylint `33269394716` 全绿。S0-S3、S5 及 ARCH-001、ARCH-101 至 ARCH-109、ARCH-201 至
|
||||
ARCH-204 均达到实现、验证、提交、推送和远端门禁闭环;S4/ARCH-110/111 按维护者决定保持取消。
|
||||
本轮非取消项已经全部交付。原战略目标的 canonical `SearchChain` 类型债务与架构测试导入边界分别由
|
||||
`4575b11d8`、`c204e2e97` 清零;残余审计目标又由 `87269610e`、`d50177f45`、
|
||||
`f7ca7e517`、`5cd5780d3`、`9d06f91bb` 以及 `7f5b8b469` 至 `046b0b305` 结清 System、
|
||||
复杂度/并发、Outbox 和 composition 缺口。最终锁定全量为 `7684 passed, 9 skipped`,Pylint
|
||||
`10.00/10`,真实启动与健康探针通过。S0-S3、S5 及 ARCH-001、ARCH-101 至 ARCH-109、
|
||||
ARCH-201 至 ARCH-204 均达到实现、验证、提交、推送和远端门禁闭环;S4/ARCH-110/111 按维护者
|
||||
决定保持取消。
|
||||
|
||||
## 2. 范围与证据边界
|
||||
|
||||
@@ -63,8 +66,8 @@ ARCH-204 均达到实现、验证、提交、推送和远端门禁闭环;S4/AR
|
||||
- 检查依赖图、SCC、Module/Event Contract、事务/configuration 基线。
|
||||
- 对文件、类、方法长度及类型/覆盖率治理范围做静态统计。
|
||||
- 运行架构、复杂度、异步阻塞、TaskRegistry owner、service locator、Ruff 和 mypy ratchet。
|
||||
- 运行 CI 同构架构测试 `197 passed`、锁定全量测试 `7659 passed, 9 skipped`,并以精确 head
|
||||
GitHub Actions 结果复核 Unit Tests 与 Pylint。
|
||||
- 运行完整架构/兼容门禁、锁定全量测试 `7684 passed, 9 skipped`,并以精确 head GitHub Actions
|
||||
结果复核四个 Unit Tests 分片、Coverage Report、Architecture Contract Gate 与 Pylint。
|
||||
|
||||
本轮没有用生产流量做动态剖析;性能收益仍需由运行指标持续观察,但不再作为本轮架构交付的未完成项。
|
||||
|
||||
@@ -100,7 +103,7 @@ ARCH-204 均达到实现、验证、提交、推送和远端门禁闭环;S4/AR
|
||||
| 长方法 | 290 个超过 80 行 | AST 统计排除 `app/plugins/**`;65 个超过 150 行,21 个超过 250 行 |
|
||||
| 全量 mypy 历史债务 | 9,987 / 592 文件 | canonical `SearchChain` Facade 已补齐显式类型转发;strict frontier 当前覆盖 41 个文件,低水位只允许继续下降 |
|
||||
| Ruff 历史诊断 | 632 | 低水位门禁通过,但规则集只覆盖 `E4/E7/E9/F/I` |
|
||||
| 覆盖率低水位 | Application 81.61%,Domain 81.03% | Chain、Runtime、Agent、Adapter、Startup 未进入包级覆盖率门禁 |
|
||||
| 覆盖率低水位 | Application 81.77%,Domain 81.03% | Chain、Runtime、Agent、Adapter、Startup 未进入包级覆盖率门禁 |
|
||||
|
||||
### 3.3 热点文件
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
>
|
||||
> 兼容原则:新插件只使用 `app.sdk`;旧插件导入、符号和行为只由统一 Compat/Legacy 层承接。
|
||||
|
||||
## 0.1 当前追踪目标:G-ARCH-RESIDUAL(ACTIVE)
|
||||
## 0.1 当前追踪目标:G-ARCH-RESIDUAL(COMPLETE)
|
||||
|
||||
原 G-ARCH 的 S0-S3、S5 交付记录和 S4 `CANCELLED` 决定保持不变。基于 2026-08-30
|
||||
对 exact-head 的复核,另行建立本次追踪目标 `G-ARCH-RESIDUAL`,只收口审计已经明确的残余
|
||||
@@ -22,11 +22,17 @@
|
||||
| R2 复杂度与原生并发门禁 | `DELIVERED` | R0 | `f7ca7e517`、`5cd5780d3`:完整 AST、Scheduler、canonical alias、TaskGroup、稳定 owner/count 与低水位门禁落地;本范围新增债务为零 |
|
||||
| R3 Outbox after_commit 恢复语义 | `DELIVERED` | R0 | `9d06f91bb`:下载提交后通知、模块和字幕副作用改为同事务持久 intent,具备 handler、claim/fencing、重启回放、幂等与失败观测 |
|
||||
| R4 Startup/插件市场单一装配 | `DELIVERED` | R0 | `7f5b8b469` 至 `046b0b305`:市场 Transport/Package/Dependency/Health、Domain、网络、站点、Chain、缓存、资源、DoH 和 Workflow 构造归入 composition;Compat 复用同一 owner |
|
||||
| R5 验收与交付收口 | `ACTIVE` | R1,R2,R3,R4 | 路线图、优化清单、规则和机器门禁一致;专项与锁定全量测试、Pylint、架构/兼容门禁、GitHub CI 通过;`HEAD == origin/v3` 且 ahead/behind 为 `0/0` |
|
||||
| R5 验收与交付收口 | `DELIVERED` | R1,R2,R3,R4 | 路线图、优化清单、规则和机器门禁一致;锁定全量 `7684 passed, 9 skipped`,Application/Domain 覆盖率低水位为 `81.77%` / `81.03%`,Pylint `10.00/10`、架构/兼容门禁、真实启动和最终 exact-head GitHub CI 通过;`HEAD == origin/v3` 且 ahead/behind 为 `0/0` |
|
||||
|
||||
执行合同:任一时刻只允许一个 `ACTIVE` 叶子;每个叶子必须独立验证、显式提交和推送,
|
||||
并在交付前复核插件 ABI、canonical 旧实现/重复导出和 `app/plugins/**` 排除边界。
|
||||
|
||||
R5 以 2026-08-30 的精确代码头完成验收:四个 GitHub Unit Tests 分片和 Architecture Contract
|
||||
Gate 在运行 `33293899659` 中通过,Coverage Report 生成并上传同一份 `coverage.json`;该运行只因
|
||||
Application 低水位从 `81.61%` 提升到 `81.77%` 后尚未固化而失败。R5 使用相同 locked 命令在
|
||||
本地重新生成报告并写入整数计数,随后由最终文档/基线提交对应的 exact-head CI 复核。真实进程使用
|
||||
临时配置目录完成启动,`/health/live` 与 `/health/ready` 均返回 HTTP 200,并完成有序关闭。
|
||||
|
||||
## 1. 治理合同
|
||||
|
||||
### 1.1 Goal 层级
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"application": {
|
||||
"covered_lines": 12658,
|
||||
"percent": 81.61,
|
||||
"statements": 15511
|
||||
"covered_lines": 12918,
|
||||
"percent": 81.77,
|
||||
"statements": 15798
|
||||
},
|
||||
"domain": {
|
||||
"covered_lines": 3686,
|
||||
|
||||
Reference in New Issue
Block a user