From 2dde32ce86317546f7ba1cd328a5f6564bd003c3 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 4 Sep 2026 12:09:54 +0800 Subject: [PATCH] chore(architecture): refresh classification dependency baselines --- app/schemas/exports.py | 3 ++- docs/architecture-overview.md | 2 +- docs/architecture/optimization-checklist.md | 2 +- .../fixtures/architecture/dependency-baseline.json | 13 +++++++++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/schemas/exports.py b/app/schemas/exports.py index 3a1245dea..9813a95c0 100644 --- a/app/schemas/exports.py +++ b/app/schemas/exports.py @@ -93,6 +93,7 @@ SCHEMA_EXPORTS = { 'ClassificationImpactGroup': ('app.schemas.category', 'ClassificationImpactGroup'), 'ClassificationImpactRequest': ('app.schemas.category', 'ClassificationImpactRequest'), 'ClassificationMediaFacts': ('app.schemas.category', 'ClassificationMediaFacts'), + 'ClassificationMediaPreviewInput': ('app.schemas.category', 'ClassificationMediaPreviewInput'), 'ClassificationMediaType': ('app.schemas.category', 'ClassificationMediaType'), 'ClassificationMusicFacts': ('app.schemas.category', 'ClassificationMusicFacts'), 'ClassificationOperator': ('app.schemas.category', 'ClassificationOperator'), @@ -554,7 +555,7 @@ SCHEMA_CONFLICTS = { 'Field': ['app.schemas.agent', 'app.schemas.cache', 'app.schemas.category', 'app.schemas.common', 'app.schemas.context', 'app.schemas.dashboard', 'app.schemas.download', 'app.schemas.event', 'app.schemas.file', 'app.schemas.history', 'app.schemas.llm', 'app.schemas.mediaserver', 'app.schemas.message', 'app.schemas.mfa', 'app.schemas.music', 'app.schemas.notification', 'app.schemas.plugin', 'app.schemas.search', 'app.schemas.storage', 'app.schemas.openai', 'app.schemas.servarr', 'app.schemas.servcookie', 'app.schemas.site', 'app.schemas.subscribe', 'app.schemas.system', 'app.schemas.tmdb', 'app.schemas.token', 'app.schemas.transfer', 'app.schemas.user', 'app.schemas.workflow', 'app.schemas.mcp'], 'FileItem': ['app.schemas.event', 'app.schemas.file', 'app.schemas.transfer', 'app.schemas.workflow'], 'FilterRuleGroup': ['app.schemas.rule', 'app.schemas.system'], - 'JsonData': ['app.schemas.agent', 'app.schemas.common', 'app.schemas.context', 'app.schemas.dashboard', 'app.schemas.event', 'app.schemas.history', 'app.schemas.mediaserver', 'app.schemas.message', 'app.schemas.mfa', 'app.schemas.music', 'app.schemas.plugin', 'app.schemas.search', 'app.schemas.openai', 'app.schemas.servcookie', 'app.schemas.site', 'app.schemas.transfer', 'app.schemas.user', 'app.schemas.workflow', 'app.schemas.mcp'], + 'JsonData': ['app.schemas.agent', 'app.schemas.category', 'app.schemas.common', 'app.schemas.context', 'app.schemas.dashboard', 'app.schemas.event', 'app.schemas.history', 'app.schemas.mediaserver', 'app.schemas.message', 'app.schemas.mfa', 'app.schemas.music', 'app.schemas.plugin', 'app.schemas.search', 'app.schemas.openai', 'app.schemas.servcookie', 'app.schemas.site', 'app.schemas.transfer', 'app.schemas.user', 'app.schemas.workflow', 'app.schemas.mcp'], 'List': ['app.schemas.agent', 'app.schemas.context', 'app.schemas.event', 'app.schemas.history', 'app.schemas.mediaserver', 'app.schemas.message', 'app.schemas.monitoring', 'app.schemas.plugin', 'app.schemas.openai', 'app.schemas.subscribe', 'app.schemas.transfer', 'app.schemas.workflow'], 'Literal': ['app.schemas.agent', 'app.schemas.category', 'app.schemas.download', 'app.schemas.history', 'app.schemas.music', 'app.schemas.plugin', 'app.schemas.search', 'app.schemas.servcookie', 'app.schemas.subscribe', 'app.schemas.system', 'app.schemas.transfer', 'app.schemas.mcp'], 'LocaleHelper': ['app.schemas.dashboard', 'app.schemas.response'], diff --git a/docs/architecture-overview.md b/docs/architecture-overview.md index 3699d16bd..2eeb27f9b 100644 --- a/docs/architecture-overview.md +++ b/docs/architecture-overview.md @@ -755,7 +755,7 @@ flowchart LR | 指标 | 当前值 | |---|---:| | Python 模块 | 968 | -| 内部导入边 | 8,132 | +| 内部导入边 | 8,141 | | 非平凡 SCC | 1(精确 containment 的 TMDB 移植包环) | | Application / Chain 具体 Adapter 直连 | 0 / 0 | | Direct egress | 53(债务已清零,53 条精确 containment) | diff --git a/docs/architecture/optimization-checklist.md b/docs/architecture/optimization-checklist.md index 86ec7632d..a31f5b4f5 100644 --- a/docs/architecture/optimization-checklist.md +++ b/docs/architecture/optimization-checklist.md @@ -94,7 +94,7 @@ ARCH-201 至 ARCH-204 均达到实现、验证、提交、推送和远端门禁 | 指标 | 当前值 | 解释 | |---|---:|---| -| 宿主 Python 模块 / 内部依赖边 | 968 / 8,132 | `dependency-baseline.json` 当前快照 | +| 宿主 Python 模块 / 内部依赖边 | 968 / 8,141 | `dependency-baseline.json` 当前快照 | | 非平凡 SCC | 1 | 仅保留精确 containment 的 29 模块 TMDB 移植包环 | | 跨层 DB 边界债务 | 0 | Application、Chain、API、Agent、Runtime、Workflow 到 DB 的受控债务均为零 | | Model/Oper 事务债务 | 0 | 自建 Session、自动事务装饰器、直接 commit/rollback 等基线均为零 | diff --git a/tests/fixtures/architecture/dependency-baseline.json b/tests/fixtures/architecture/dependency-baseline.json index 0b6a0d7bb..250e59fab 100644 --- a/tests/fixtures/architecture/dependency-baseline.json +++ b/tests/fixtures/architecture/dependency-baseline.json @@ -1089,8 +1089,8 @@ "runtime_only": true } }, - "edge_count": 8132, - "edge_sha256": "33505d1acbf26b53533027ed633ec23f3b4c4ee24c242a02372c05493c2919ab", + "edge_count": 8141, + "edge_sha256": "f86580389ab2c9efd50914fdbd34004fbdc3e9b01ad06a537817415add7c3687", "edges": [ "app -> app.foundation", "app -> app.foundation.environment", @@ -2144,11 +2144,15 @@ "app.api.endpoints.classification -> app.application.classification.analysis", "app.api.endpoints.classification -> app.application.classification.configuration", "app.api.endpoints.classification -> app.application.classification.contract", + "app.api.endpoints.classification -> app.application.classification.execution", "app.api.endpoints.classification -> app.application.classification.runtime", "app.api.endpoints.classification -> app.application.history", + "app.api.endpoints.classification -> app.chain", + "app.api.endpoints.classification -> app.chain.media", "app.api.endpoints.classification -> app.schemas", "app.api.endpoints.classification -> app.schemas.category", "app.api.endpoints.classification -> app.schemas.response", + "app.api.endpoints.classification -> app.schemas.types", "app.api.endpoints.classification -> app.startup", "app.api.endpoints.classification -> app.startup.composition", "app.api.endpoints.classification -> app.startup.composition.context", @@ -3022,9 +3026,12 @@ "app.application.classification.analysis -> app.domain", "app.application.classification.analysis -> app.domain.classification", "app.application.classification.analysis -> app.domain.classification.evaluator", + "app.application.classification.analysis -> app.domain.classification.facts", "app.application.classification.analysis -> app.domain.classification.validation", "app.application.classification.analysis -> app.schemas", "app.application.classification.analysis -> app.schemas.category", + "app.application.classification.analysis -> app.schemas.context", + "app.application.classification.analysis -> app.schemas.music", "app.application.classification.catalog -> app.domain", "app.application.classification.catalog -> app.domain.classification", "app.application.classification.catalog -> app.domain.classification.fields", @@ -8066,6 +8073,8 @@ "app.schemas.agent -> app.schemas.common", "app.schemas.cache -> app.schemas", "app.schemas.cache -> app.schemas.types", + "app.schemas.category -> app.schemas", + "app.schemas.category -> app.schemas.common", "app.schemas.context -> app.schemas", "app.schemas.context -> app.schemas.category", "app.schemas.context -> app.schemas.common",